無線LANにおけるCSMA/CAとは
無線LANの通信規格であるIEEE802.11a/b/gでは、CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) という通信手順が採用されています。これは「通信開始前にチャネルが空いているか確認し、さらにランダムな待ち時間をおいてから送信することで衝突を避ける仕組み」です。
まず、CSMAとは「Carrier Sense(キャリア検出)」「Multiple Access(多重アクセス)」を意味し、複数の端末が同じ伝送媒体を共有する際に、通信可能かどうかを確認してから送信を開始する方式です。有線LANのCSMA/CD(衝突検出方式)と考え方は似ていますが、無線LANではフレーム衝突を検出できないため、衝突回避(Collision Avoidance)という仕組みを組み合わせています。
無線LANではフレーム送信の際に以下の手順が加わります。
- チャネルが空いているか確認する(キャリアセンス)
- 空いていると判断しても、すぐには送信せずDIFSと呼ばれる一定時間を待つ
- さらにランダムな待ち時間(バックオフ)を経て送信を開始
- 受信側はデータを受け取ったらSIFS後にAckを返す
このAckのやり取りによってデータの信頼性を高めています。
CSMA/CAで用いられる用語
- ビジー状態:電波が使用中の状態。逆に空いている状態をアイドル状態という
- バックオフ:衝突を避けるために設けられるランダムな待機時間
- DIFS:チャネルが空いたと判断するまでの待機時間
- SIFS:最短の待機時間。Ackフレームなどを送るときに使用する
IEEE802.11a/b/gはいずれも半二重通信であり、ある瞬間に通信できるのは1台の端末だけです。複数の端末が同時に接続しているように見えても、実際には順番に送受信が行われています。そのため端末数が増えると待ち時間が発生し、実効速度は低下します。
CSMA/CA with RTS/CTS
無線LAN特有の問題として「隠れ端末問題」があります。これは、ある端末同士が互いに存在を感知できずに同時に通信を始めてしまい、結果としてフレームが衝突する現象です。例えば遮蔽物や距離の影響で互いの電波が届かない場合に起こります。
この問題を解決するために用いられるのが CSMA/CA with RTS/CTS です。
- RTS(Request To Send):送信要求
- CTS(Clear To Send):送信許可
送信側はまずRTSを送って送信の意思を伝え、受信側がCTSを返すことで「今から送信してよい」と許可を与えます。このやり取りにより、周囲の端末も「通信が始まる」と認識し、衝突を防ぐことができます。
ただし、RTS/CTSフレームのやり取りが増える分、オーバーヘッドが発生しスループットは低下します。そのため、APによってはデフォルトで無効化されている場合もあります。近年の機器では環境に応じてRTS/CTSを自動的に有効化する機能も備わっています。
さらにRTS/CTSは隠れ端末問題だけでなく、IEEE802.11bと11gが混在する環境でも有効です。11b端末は11gのOFDM信号を理解できないため、11gが通信中でも気づかず送信してしまい衝突を引き起こします。RTS/CTSを利用することでこれを回避し、混在環境でも安定した通信が可能になります。
CSMA/CDとは
CSMA/CD(Carrier Sense Multiple Access with Collision Detection) は、イーサネットで採用されていたアクセス制御方式の1つです。初期のイーサネットLAN、特に10Base5や10Base2の同軸ケーブルを使ったバス型トポロジーや、半二重通信しか行えないハブを使ったスター型トポロジーで利用されていました。
しかし現在は、スイッチの普及と全二重通信の一般化により、CSMA/CDが動作する機会はほとんどなくなっています。CCNA試験では「歴史的な仕組みとして理解しておくもの」という位置づけです。
CSMA/CDの動作
CSMA/CDの動作を簡単に整理すると次のようになります。
- 端末はフレームを送信する前に、ケーブルが空いているかを確認する(Carrier Sense)
- 空いていればフレームを送信する(Multiple Access)
- 複数の端末が同時に送信して衝突が起きると(Collision Detection)、全端末がそれを検出する
- 各端末はランダムな時間(バックオフ)を待ってから再送する
この仕組みにより、1本のケーブルという共通の媒体を複数の端末で共有できるようになります。衝突が起きた場合、バックオフは最大15回まで繰り返され、16回目の失敗でフレームは破棄されます。
CSMA/CDの特徴
CSMA/CDは 半二重通信(half duplex) において利用される仕組みです。そのため、1つのネットワーク媒体上では「ある瞬間に通信できるのは1台の端末だけ」です。人が見ると複数のPCが同時に通信しているように感じますが、実際には非常に高速に順番で送受信を繰り返しています。
一方、全二重通信(full duplex) では送信と受信を同時に行えるため、CSMA/CDは不要です。現在のネットワークではスイッチと全二重通信が基本のため、衝突が発生する環境自体がほぼ存在しません。
IEEE802.11フレームフォーマットの概要
まず比較対象としてEthernetフレームを見てみましょう。Ethernetフレーム(DIX規格)の先頭には「プリアンブル」と呼ばれるビット列が付きます。これはフレームの開始を知らせるための同期信号ですが、フレームサイズには含まれないため、Ethernetフレームのサイズは64〜1518バイトとなります。
無線LANフレーム(IEEE802.11フレーム)は、IEEE802.11a/b/gのいずれも基本的に3つの構成要素で成り立っています。
- PLCPプリアンブル:フレーム先頭に付加される同期信号(物理層で付加)
- PLCPヘッダ:変調方式やデータ長などの情報を持つヘッダ(物理層で付加)
- PSDU:IEEE802.11ヘッダと実データを含む部分(データリンク層で付加)
IEEE802.11bにおける物理ヘッダの例
IEEE802.11bでは、PLCPプリアンブルには2種類があります。
- ロングプリアンブル:18バイト、物理ヘッダは常に1Mbpsで送信される
- ショートプリアンブル:9バイト、物理ヘッダは常に2Mbpsで送信される
ここで重要なのは、無線LANでは「物理ヘッダは常に低速で送信される」という規定がある点です。受信側はまずこの低速のヘッダを確実に受信することで、以降のデータ部分(MACフレーム)を正しい速度で受け取れるようになります。
IEEE802.11ヘッダ(MACヘッダ)
Ethernetフレームでは宛先アドレス・送信元アドレス・タイプの3項目しかありませんが、IEEE802.11フレームのMACヘッダには7項目のフィールドが含まれます。
- Frame Control:フレームの種類や送信元が無線か有線か、暗号化の有無などを示す
- 管理フレーム(ビーコンなど)
- 制御フレーム(Ack、RTS/CTSなど)
- データフレーム
- Duration/ID:通信に必要な時間を指定。RTS/CTSで利用される
- Address 1〜4:宛先MAC、送信元MAC、BSSID(APのMACアドレス)などを格納
- Sequence Control:シーケンス番号やフラグメント番号を保持
なお、Addressフィールドの内容はネットワーク構成により変化します。たとえばPCがEthernetフレームを送信してきた場合、APが必要に応じてIEEE802.11フレームのアドレス情報に変換し、無線LANに転送します。逆に無線から送られてきたフレームを有線LANへ転送する際は、IEEE802.11ヘッダからEthernetヘッダに書き換えが行われます。
フレームの種類と動作のポイント
IEEE802.11のフレームには大きく分けて3種類があります。
- 管理フレーム:APが送信するビーコン、プローブリクエスト、アソシエーション要求など
- 制御フレーム:RTS、CTS、Ack、PS-Pollなど
- データフレーム:実際のユーザーデータを運ぶ
このように無線LANのフレームはEthernetに比べて複雑であり、アドレスの数も最大4つまで持てる点が特徴です。これは無線LANが「有線と無線の橋渡し」を行うためであり、試験では「アドレスフィールドの意味」「フレームの種類」が頻出です。
無線LAN通信の流れ(概要)
無線LANがどのように接続され通信を開始するかを、有線LANと比較して整理してみましょう。
| 有線LAN | 無線LAN |
|---|---|
| 端末をLANケーブルでハブへ接続 | WLAN端末が周波数帯域を自動スキャン |
| ケーブルが正しく接続されリンクアップ | WLAN端末とAPがESSIDを確認 |
| – | WLAN端末とAPが認証を実施 |
| – | WLAN端末とAPがアソシエーションを実施 |
| Ethernetフレームをケーブルで伝送 | 暗号化されたIEEE802.11フレームを電波で伝送 |
| MACアドレスに基づいてそのまま転送 | APがIEEE802.11フレームをEthernetフレームに変換して転送 |
| ケーブルが抜ければ再接続 | 電波が届かなくなれば、範囲内へ移動 |
有線LANは物理ケーブルの接続によってリンクが確立しますが、無線LANは「周波数帯の探索 → ESSIDの一致確認 → 認証 → アソシエーション」というプロセスを経てから通信が可能になります。
無線LAN通信の流れ(詳細)
無線LAN通信で使われるIEEE802.11フレームには 管理フレーム・制御フレーム・データフレーム の3種類があります。このうち接続確立の手順で主に使われるのが管理フレームです。
- 周波数帯域のスキャン
APは約100ミリ秒ごとにビーコンフレームを送信しており、WLAN端末はこれを受信して利用可能なチャネルやESSIDを確認します。もし一定時間ビーコンが得られなければ、端末はプローブリクエストを送り、APからの応答で情報を取得します。 - ESSIDの一致確認
複数のAPがある場合、端末は全チャネルをスキャンし、最も信号の強いAPとの接続を試みます。通信中でもより強い信号のAPが見つかると再接続を試みることがあり、この挙動が多発すると通信が不安定になるケースもあります。 - 認証
WLAN端末とAPが互いに認証フレームを交換します。IEEE802.11規格としては「オープンシステム認証」と「シェアードキー認証」の2種類があります(ただし11iなどの高度な認証方式には当てはまりません)。 - アソシエーション
アソシエーションリクエストとレスポンスを交換して接続を確立します。これにより端末はAPの管理下に入ります。 - 暗号化通信
WEP、TKIP、CCMPなどの暗号方式を用いて、IEEE802.11フレームが暗号化され電波で伝送されます。 - フレーム変換
APは受信したIEEE802.11フレームをEthernetフレームに変換し、有線LAN側に転送します。ここでようやくデータフレームの通信が行われるようになります。
スキャンの種類
無線LANの接続開始時には2つのスキャン方式があります。
- パッシブスキャン:端末がAPからのビーコンを受信してESSIDを確認、その後認証に進む
- アクティブスキャン:ビーコンが得られない場合、端末がプローブリクエストを送信し、APのプローブレスポンスを受けて認証に進む
どちらの方式でも、その後の「認証 → アソシエーション → データ通信」という流れは共通です。
IEEE802.11eとは
IEEE802.11e は、無線LANでQoS(Quality of Service)を実現するために2005年に策定された規格です。特に音声通話や動画ストリーミングのようにリアルタイム性が求められる通信に対応するため導入されました。
IEEE802.11eで規定されている方式は2つあります。
- EDCA(Enhanced Distributed Channel Access):優先度の高いフレームを優先的に送信する方式
- HCCA(Hybrid coordination function Controlled Channel Access):優先度の高いフレームに専用の帯域を割り当てる方式
現状ではEDCAが主流であり、IEEE802.11eといえばEDCAを指すのが一般的です。
IEEE802.11e – EDCA
EDCAでは送信するパケットを4つのアクセスカテゴリ(AC)に分類し、それぞれの送信キューに格納します。その後、優先度に基づいて送信の順番が決められます。優先度の高いものから順に処理されるため、音声や動画が遅延なく処理されやすくなります。
分類されるアクセスカテゴリは次の通りです。
| 優先度 | AC | トラフィックの種類 |
|---|---|---|
| 1 | AC_VO | 音声(Voice) |
| 2 | AC_VI | 映像(Video) |
| 3 | AC_BE | ベストエフォート(通常のデータ) |
| 4 | AC_BK | バックグラウンド(低優先度の処理) |
EDCAの動作は次の4つのパラメータによって調整されます。
- CWmin / CWmax:送信待ち時間(コンテンションウィンドウ)の最小値/最大値。値が小さいほど優先度が高い。
- AIFS:フレーム送信間隔。短いほど優先度が高い。
- TXOP Limit:送信権を得てからチャネルを占有できる時間。一度に送れるフレーム数を決める。
例えば音声用のAC_VOは待ち時間を短く設定し、できるだけ早く送信できるように調整されます。一方、バックグラウンド通信は送信機会が少なくても問題ないため、待ち時間は長めに設定されます。
EDCAを利用するには、アクセスポイントだけでなく端末側の無線LANアダプタもEDCAに対応している必要があります。また、有線LAN側のQoS設定との整合性も重要になります。
IEEE802.11e – HCCA
HCCAはAPが中心となり、各端末に送信の許可を与えることでQoSを実現します。APは QoS CF-Poll という制御フレームを端末に送信し、そこに記載された時間(TXOP)の間だけ通信を許可します。
この方式ではAPが送信権を一元的に管理するため、衝突が発生せず、より厳密なQoS制御が可能です。ただし、APと端末の双方がHCCAに対応していなければならず、実装の難しさや対応機器の少なさから、実際の導入例はほとんどありません。
QoS導入の前に考慮すべき設計
無線LANにおけるQoSを考える際、まず基本となる設計で重要なのは「周波数の分離」です。例えば無線LANクライアントPCと無線IP電話が同じAPを使って同じ2.4GHz帯(802.11b/g)で通信していると、音声が劣化しやすくなります。
この場合、PCのデータ通信を5GHz帯(802.11a)、無線IP電話を2.4GHz帯に分けるだけで品質が改善されることが多いです。
しかし、PCと電話の両方が2.4GHzしか使えない場合や、優先度をさらに制御したい場合にIEEE802.11eを導入します。EDCAによる優先制御を適切に行えば、必要な品質を確保できます。
Ciscoの推奨値としては、1つのAPで同時に接続する無線IP電話は10〜15台程度に制限するのが妥当とされています。また、無線クライアントPCについても同程度の台数が目安です。
実際の設計では、SSIDごとの最大接続数の制限 や ロードバランス機能 を活用してAPの負荷を分散させることも重要です。ただし、音声通話用SSIDではロードバランスを有効化するとローミング遅延が発生するため無効化するのが一般的です。