無線LAN 無線LANの仕組み その4
目次
CSMA/CA
先にも述べましたが、複数の無線LANクライアントが電波を共有して通信を行
うための媒体アクセス制御方式がCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)
です。CSMA/CAの仕組みは、CSMA/CDとよく似ています。そのプロセスは次の通りです。
1.キャリアセンス
データを送信しようとするとき、電波の周波数帯(チャネル)が利用されてい
るかどうかを確認します
- 電波が未使用:アイドル状態
- 電波が使用中:ビジー状態
- 他の機器が電波を利用している(ビジー状態)場合は待機します
- ビジー状態からアイドル状態に移行したあと、さらにIFS(Inter Frame Space)
時間待機します
2.ランダム時間待機(衝突の回避)
- キャリアセンスによって電波が未使用だと判断しても、すぐにはデータを
送信しません。 - 衝突を回避するために、さらにランダム時間(バックオフ時間)待機してキ
ャリアセンスを続けます。
3.データの送信開始
- バックオフ時間待機して、アイドル状態であることを確認してからデータ
を送信します。 - IPなどのレイヤ3のデータにIEEE802.11のヘッダを付加し、さらにその前
に物理層ヘッダを付加して転送します。 - 物理層ヘッダ:PLCP(Physical Layer Convergence Protocol)プリアンプル+PLCPヘッダ
有線LANのCSMA/CDであれば、メディアがアイドル状態であればデータの送信を
開始します。そのため、複数のホストがほぼ同じタイミングでデータを送信し
ようとすると、複数のホストがデータの送信を開始し衝突が発生します。もし、
衝突が発生した場合、共有メディア上のすべてのホストがその衝突を検出でき
ます。しかし、無線LANでは衝突の検出ができません。そこで、キャリアセン
スを行ってアイドル状態と認識しても、さらにランダムなバックオフ時間待機
することで、複数のホストの送信タイミングをずらして衝突が発生しないよう
に制御しています。
ただし、無線LANクライアントの位置関係や電波の遮蔽物などがあれば、キャ
リアセンスによりビジー状態を検出できないことがあります。すると、このよ
うな衝突回避が機能せず、衝突が発生してデータが壊れてしまうことがあります。
※上記のようなCSMA/CAの衝突回避の制御を行いながらも衝突が発生してしま
う問題を「隠れ端末問題」といいます。
さらに、無線LANの通信ではデータを受信したことを示す確認応答(ACK)を返し
ます。ACKによって、無線LAN区間のデータ通信の信頼性を高めています。デー
タを受信したら、次にそのデータに対するACKを返すために、ACKを送信すると
きのIFSは短いSIFS(Short IFS)になり、バックオフ時間はありません。
次の図は、CSMA/CAによるアクセス制御を示したものです。
上の図のようなCSMA/CAによるアクセス制御を見ると、実際にデータを送信し
ている時間が少ないことに気がつくでしょう。CSMA/CAのアクセス制御は、衝
突回避のためのバックオフ時間やACKによる確認応答などのオーバーヘッドが
非常に大きくなっています。また、無線LANの制御を行うための物理層ヘッダ
もオーバーヘッドです。
無線LANのスループット
上記のようなオーバーヘッドの影響で、無線LANでのスループットは規格上の
伝送速度の約50%です。具体的にIEEE802.11bのスループットの計算をしてみま
しょう。伝送速度は最大の11Mbpsとして、レイヤ3以上のデータ部分も最大の
1500バイトとして考えます。1500バイトのデータを送信するために必要な時間
を計算すれば、データ転送のスループットを計算できます。
IEEE802.11bでは、1つのフレームを送信するために必要な時間は次の図のよう
になります。
前のフレームとの間には、IFSとバックオフ時間空ける必要があります。IFSは
IEEE802.11bでは50μsです。またバックオフ時間はランダムですが、平均値は
310μsです。
フレームの前には、PLCPプリアンブルとPLCPヘッダという物理層の制御情報が
付加されます。この部分は1Mbpsで送信します。192ビットなのでこの部分で
192μs必要です。
そのあとにIEEE802.11ヘッダとレイヤ3以上のデータおよびFCSが続きます。デ
ータが1500バイトとすれば、全部で1536バイトです。この部分は11Mbpsで送信
するので、約1117μsです。
データを送信したらそのACKも必要です。ACKのフレーム間ギャップは小さく10μs
です。ACKにもPCLPプリアンブルやPLCPヘッダがありますが、IEEE802.11bでは
ACKの送信に203μs必要です。
1500バイトのデータを運ぶ1つのフレームを送信してそのACKを受信するまでに
全部で、約1882μsかかります。1882μsで1500バイトのデータを転送できるの
で、スループットは、次の計算式から求められます。
1500*8/(1882*10-6)≒6.4Mbps
IEEE802.11aでは、1フレーム送信に必要な時間は次の通りです。
IFSとバックオフ時間の平均:101.5μs
PLCPプリアンブルとPLCPヘッダ:20μs
データ部分:228μs
SIFS:16μs
ACK:24μs
合計:389.5μs
よって、スループットは約30.8Mbpsです。
上記のように無線LANにおいて、データ転送のスループットは規格上の最大伝
送速度の約50%となってしまうことがわかります。また、無線LANアクセスポイ
ントに複数の無線LANクライアントがアソシエーションしている場合は、複数
のクライアント全体で共有します。そして、平均のデータサイズが小さいアプ
リケーションを多用すれば、スループットはさらに低下します。
さらに、複数のクライアントの伝送速度が異なれば、低い伝送速度のクライア
ントがデータを送信している間はビジー状態になり、その時間が長くなります。
すると、その影響で全体のスループットが低下することもあります。アクセス
ポイントの設定で無線LANクライアントの伝送速度の最低値を設定することで、
低速なクライアントによるスループット低下の影響を小さくすることができま
す。
無線LANのネットワークを構築するときには、無線LANのクライアントの台数や
伝送速度の制限、利用するアプリケーションのデータサイズなども考慮するこ
とが重要です。