CSMA/CA方式(Carrier Sense Multiple Access with Collision Avoidance)とは無線LANを用いた通信の衝突を回避する技術のこと。
似たような技術にCSMA/CD方式がありますが、CSMA/CD方式は初期のイーサネットで利用されていた技術であり、今回解説するCSMA/CA方式は無線LANで利用されるという点で異なります。
このページでは、CSMA/CA方式とは何か?無線LAN通信の問題点とCSMA/CA方式の技術的な仕組みをネットワーク初心者向けにわかりやすく解説します。
情報セキュリティスペシャリスト試験/ネットワークスペシャリスト試験でも頻出の超重要知識です。ネットワークエンジニアを目指す方であれば知らないと恥ずかしい基本中の基本。是非最後までご覧ください。
参考 ネットワークとは?
CSMA/CA方式とは?
CSMA/CA方式(Carrier Sense Multiple Access with Collision Avoidance)とは無線LANを用いた通信の衝突を回避する技術/プロトコルのこと。
無線ネットワーク上では、データの衝突が発生した時にそれを直接検出するのは困難であるため、通信を行う前に媒体を監視し、他のデバイスとの衝突を回避するための待機時間を設けることで、効率的な通信を実現します。
簡単に説明をするとCSMA/CA方式は以下の仕組みでコンピュータ同士の適切な通信を実現します。
具体的な仕組みは↑の通りですが、このページではネットワーク初心者向けに「そもそもなぜこのような仕組みが必要になるのか?」という点を理解できるように、はじめに無線LAN通信の問題点:通信の衝突について解説します。
無線LAN通信:媒体共有型ネットワーク
世界中のありとあらゆるネットワークは、通信媒体(=LANケーブル等)の使い方によって以下の2つに分類することができます。
このうち今回紹介する無線LAN通信によるネットワークは媒体共有型ネットワークに分類されるのですが、媒体共有型ネットワークにおける大きな問題点が通信の衝突です。
媒体共有型ネットワークでは、例えば1つのコンピュータがデータを送ろうとした場合、もしまた別のコンピュータがデータを送っている最中だった場合、データ(=電気信号の波)同士が衝突(=コリジョン)してしまいます。
無線LANでは共有する媒体として「電波」を利用します。つまり、コンピュータDとコンピュータEが同時に電波を利用してデータを送ってしまうと、電波の乱れが発生し正常な通信が行えなくなるということです。
この衝突を回避するために利用される技術がCSMA/CA方式です。
CSMA/CA方式では、同時にデータを送信して通信の衝突が発生することが無いように以下の手順でデータを送付する仕組みです。
CSMA/CA方式①:Carrier Sense / Multiple Access
CSMA/CA方式では通信の衝突を回避するために、通信を開始する前に利用したい周波数帯(=電波)が利用されているかどうかを確認 (Carrier Sense) することで、複数端末によるアクセス (Multiple Access) を可能にします。
もしこのとき他の端末が通信を行っていることを検出した場合は一定時間待機します。
CSMA/CA方式② : Collision Avoidance
CSMA (Carrier Sense / Multiple Access) → 通信の検知を行うことで複数端末が同じ媒体を使うという仕組みだけでは、防ぐことができない障害があります。
それが、複数の端末が同時に通信を開始する場合の衝突です。
通信を開始する前に利用したい周波数帯(=電波)が利用されているかどうかを確認 (Carrier Sense) しても、その後ただちに通信を開始してしまうと、通信が衝突してしまいます。
これを回避する仕組みが Collision Avoidance です。Collision Avoidance 即ち、通信を行いたい端末はすぐに通信を開始するのではなく、各通信機器はランダムな時間だけ待機して通信を開始します。
各端末がランダムな時間だけ待機すれば通信の衝突は発生することはありません。
イーサネットであれば通信の衝突を検知することができるためランダムな時間だけ待機する必要はないのですが、無線LANの場合は電波を利用するため通信の衝突を検知することができません。
したがって、無線LANで用いられるCSMA/CA方式の場合は以下2ステップで構成されるのです。
CSMA/CA方式のメリット・デメリット
CSMA/CA方式は、無線ネットワークの特性を考慮して設計された通信プロトコルで、衝突を効果的に回避するメリットがあります。しかし、待機時間のオーバーヘッドや高トラフィック環境での性能低下などのデメリットも存在します。
最後に、CSMA/CA方式のメリット・デメリットを整理しておきます。
CSMA/CAのメリット
- 衝突回避
- 無線ネットワークでは衝突の検出が困難なため、衝突を回避するこの方式は非常に効果的。
- ネットワーク効率の向上
- 衝突の発生と再送が減少することで、ネットワークの効率が向上する。
- 柔軟性
- 無線の環境は変動が激しく、通信状態が常に変わる性質があるが、CSMA/CAはこのような環境でも比較的安定した通信を提供する。
CSMA/CAのデメリット
- 待機時間のオーバーヘッド
- 衝突を回避するための待機時間がオーバーヘッドとして働き、特にネットワークが混雑している時には通信の遅延が生じることがある。
- 高トラフィック環境での性能低下
- 多くのデバイスが通信しようとすると、衝突回避のための待機時間が増加し、全体的なネットワークの性能が低下する可能性がある。
- 複雑なプロトコル設計:
- CSMA/CDに比べて、CSMA/CAの方がプロトコル設計がやや複雑になる。
ネットワーク学習の決定版(ネットワークエンジニアを目指すなら必見!)
↑ページ数が多く誰でも手軽に読める内容ではありませんが、ネットワークエンジニアであれば、ほぼ全員が一度は読んだことがある超・有料書籍。是非一度読破しておきたい1冊のご紹介です。
読者特典> 0から学ぶネットワーク入門