CSMA/CD(Carrier Sense Multiple Access with Collision Detection)とは
CSMA/CD(搬送波感知多重アクセス/衝突検出)は、初期の
イーサネットで利用された、複数の端末が同じ通信回線を共有する際の通信制御方式です。特に、
同軸ケーブルを用いたバス型のネットワーク構成において、その効果を発揮しました。
CSMA/CDの概要
1970年代に開発されたALOHAnetを基に、
同軸ケーブル上で利用できるように改良されたものがCSMA/CDです。Xerox社の
ロバート・メトカーフ博士によって基礎理論が確立され、DEC、
インテル、Xeroxの3社が共同で仕様を策定しました。初期の
イーサネット規格である10BASE5や10BASE2などで広く採用され、複数の端末が同時にデータ送信を行うことで発生する衝突を検出し、再送する仕組みを提供しました。
ツイストペアケーブルが普及し、リピータハブを用いた半二重通信環境でも利用されましたが、1999年以降に1000BASE-Tが標準化されたことで、全二重通信が主流になり、
スイッチングハブでの制御が一般的になったため、CSMA/CDは使われなくなりました。現在では、
無線LANで用いられるCSMA/CAが同様の役割を担っています。CSMA/CDは送信中に衝突を検出すると即座に送信を中止するのに対し、CSMA/CAは送信前に一定時間の待機時間を設ける点が異なります。
CSMA/CDの通信手順
CSMA/CDは
データリンク層のMAC機能として実装され、半二重通信環境で動作します。初期の
イーサネットでは、複数の端末が1本の
同軸ケーブルに接続されていました。この環境では、全ての端末が送受信したデータを共有するため、宛先が自分のMACアドレスであるフレームのみを処理し、それ以外は破棄していました。そのため、端末同士の一対一の通信ではなく、一対多の通信方式が採用されていました。
もし、複数の端末が同時に送信を試みると、データの衝突が発生します。CSMA/CDでは、この衝突を回避するために以下の3つの機能が備わっています。
1.
キャリア検知(Carrier Sense): 通信を開始する前に、回線が使用中かどうかを確認します。もし、他の端末が通信中であれば、送信を待機します。
2.
多重アクセス(Multiple Access): 複数の端末が同じ回線を共有できます。回線が空いていることを確認できれば、自由に送信を開始できます。
3.
衝突検出(Collision Detection): 複数の端末が同時に送信を開始した場合、その衝突を検知し、送信を中断します。そして、ランダムな時間待機した後、再送を試みます。
各動作の詳細
キャリア検知では、各端末が常に回線の信号を監視し、他の端末が通信を行っていないかを確認します。回線が空いていれば、送信を開始します。
多重アクセスにより、複数の端末が回線を共有できます。
衝突が発生した場合、
衝突検出機能が働きます。物理層で信号の乱れを検知すると、ジャム信号が送信され、衝突を検知した端末は送信を中止します。そして、
衝突後の再送では、各端末はランダムな時間待機した後、再度送信を試みます。再送を試みる際にも衝突が発生する可能性がありますが、その際は待機時間を指数関数的に増加させる「TBEBアルゴリズム」が用いられます。
CSMA/CDとフレーム仕様
CSMA/CDの物理的な制約により、
イーサネットフレームには以下のような仕様が設けられています。
フレーム間ギャップ: フレーム送信後、次のフレームを送信するまでに96ビット時間(10Mbpsで9600ナノ秒)以上の待ち時間が必要です。これは、送信後のキャリア検知切り替えのための復帰時間として設けられています。
最小フレーム長: 送信中の衝突を確実に検出するため、フレームの最小長は64オクテットと定められています。これは、信号が通信路の端から端まで伝わる時間と、衝突が検出されるまでの時間を考慮して設定されています。
CSMA/CDの拡張機能
CSMA/CDは1Gbpsの半二重通信でもサポートされ、以下の拡張機能が追加されました。
キャリア・エクステンション: 1Gbps環境では、フレーム長が短すぎると衝突検出が難しくなるため、最小フレーム長を512オクテットにするために、必要に応じて無意味なデータを追加します。これにより、接続距離を延長できます。
バースト・モード: 短いフレームを連続して送信する際の効率を改善するために、最初のフレームにのみキャリア・エクステンションを付加し、以後のフレームには付加しない方式です。これにより、フレーム間ギャップを短縮し、伝送効率を向上させます。
CSMA/CDの特徴と欠点
CSMA/CDは1983年にIEEE 802.3規格として策定され、
イーサネットの代名詞となっていました。衝突が発生した際に、ランダムな時間だけ待機するというアルゴリズムは、再衝突の可能性を低減する効果があります。
しかし、ネットワークの利用率が高くなると、衝突が頻発し、帯域が飽和するという欠点があります。多数の端末が接続されている環境では、衝突が多発し、通信効率が低下する可能性があります。
まとめ
CSMA/CDは、初期の
イーサネットにおいて、複数の端末が効率的に通信を行うための重要な技術でした。しかし、高速なネットワークの普及に伴い、全二重通信や
スイッチングハブが主流となり、現在ではほとんど使われなくなっています。しかし、その基本的な考え方は、現在のネットワーク技術にも活かされています。
関連項目
CSMA/CA
多元接続
*
Controller Area Network