CSMA/CA
出典: フリー百科事典『ウィキペディア(Wikipedia)』
CSMA/CAは Carrier Sense Multiple Access/Collision Avoidance(搬送波感知多重アクセス/衝突回避方式) の略称で、通信手順をそのまま名前にしたもの。無線LAN用の規格であるIEEE 802.11aやIEEE 802.11b、IEEE 802.11gにおいて、基本的な通信手順(通信プロトコル)として使われている。
実際の手順
- 搬送波感知(Carrier Sense)
- 通信を開始する前に、一度受信を試みることで現在通信をしているホストが他にあるかどうか確認する。
- 多重アクセス(Multiple Access)
- 複数のクライアントは同じ回線を共用し、他者が通信をしていなければ自分の通信を開始する。
- 衝突回避(Collision Avoidance)
- 搬送波感知の段階で通信中のホストが存在した場合、通信終了と同時に送信を試みると衝突する可能性が高い。そのため、他のホストの送信終了を検知した場合は自分が送信を開始する前にランダムな長さの待ち時間をとる。なお、永久に送信できない事態を防ぐため、この待ち時間は徐々に短くされてゆく。
CSMA/CDとの最大の違いは、CSMA/CDにおいては送信中に衝突を検出し、もし検出したら即座に通信を中止し待ち時間を挿入するのに対し、CSMA/CAは送信の前に待ち時間を毎回挿入する点である。 無線通信など信頼できる衝突検出の手段がない伝送路では、CSMA/CAが使用される。
問題点
A、B、C、の3台のホストにおいて、A⇔BとA⇔Cが通信でき、B⇔Cが通信できない場合はBとCが同時にAに対して送信を試みてどちらも失敗する可能性がある。これを「隠れホスト」と呼ぶ。 IEEE 802.11においては、RTS/CTSを用いることで隠れホスト問題を解決している。
送信前に必ず待ち時間が入るため、オーバーヘッドが生じる。