概要
CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)は、主に無線LAN(Wi-Fi)で使用されるMAC(Medium Access Control)プロトコルの一種で、送信前に電波の状況を確認し、衝突の可能性を低減する方式です。有線LANのCSMA/CDとは異なり、衝突検出ではなく衝突回避を重視します。
CSMA/CAは、送信ノードが電波を受信しているかを確認する(Carrier Sense)時点で開始されます。電波がない場合、送信は可能ですが、送信前に送信ノードは他のノードに送信開始を通知するために、短いランダムな時間(Distributed Interframe Space: DIFS)を待ちます。送信ノードは、送信開始前に送信要求(Request to Send: RTS)を送信し、受信応答(Clear to Send: CTS)を待つRTS/CTS機構を利用することで、隠れたノードによる衝突を減らすことも可能です。RTS/CTSを使用しない場合、ACKの再送信が必要になるため、オーバーヘッドが増加します。ACKの再送信は、電力や帯域幅を消費し、パフォーマンスに悪影響を及ぼします。
IEEE 802.11規格(Wi-Fi)で使用されています。特に、高密度な環境や、隠れたノード問題が発生しやすい環境で有効です。RTS/CTSの閾値は、ネットワーク環境やデバイスの性能に応じて調整できます。
RTS/CTS機構は衝突回避に役立ちますが、常に有効にする必要はありません。RTS/CTSの使用は、RTSとCTSの送信時間、受信時間、プロセッサの負荷など、オーバーヘッドを伴います。高密度環境以外では、RTS/CTSを無効にすることでパフォーマンスを向上させられる場合があります。閾値の設定が不適切だと、かえってパフォーマンスを悪化させる可能性があります。