目次
CSMA/CDとは
CSMA/CD(英:Carrier Sense Multiple Access/Collision Detection)は、直訳すると「衝突検出のある搬送波感知・多重アクセス方式」という意味で、イーサネット(Ethernet)で利用されている通信方式のひとつです。
「通信を監視し回線に空きがあれば通信を開始、仮に衝突が発生したら一定時間待機後に再送する」といった衝突を回避するための通信方式です。

スイッチの普及や「全二重通信」が広く採用されている現在のイーサネットLANでは、「送信」と「受信」が別チャンネル(※車で例えると「上り車線」と「下り車線」は別車線)であり、CSMA/CDにより衝突を回避する必要性はほとんどなくなりました。
そのため、10GbEthernetなど、イーサーネット規格の中でも比較的新しいものではCSMA/CDによる衝突検出をサポートしていません。

しかし、昔のイーサーネットは「送信」と「受信」が同一チャンネル(※車で例えると「上り車線」と「下り車線」が同じ車線)だったため、衝突が発生する可能性がありました。(半二重通信)
この問題を解決するために作られたのが「CSMA/CD」です。
スポンサーリンク
CSMA/CDの流れ
[手順1] ケーブル上に電気信号が流れていないか確認する(Carrier Sense)

通信を開始する前に、ケーブル上に電気信号が流れていないかを確認します。
[手順2] フレームを送信する(Multiple Access)

誰も回線を使っていないことが確認できたら、通信を開始します。
[手順3] 衝突を検知したら一定時間後に再送する(Collision Detection)

複数の通信が同時に行われた場合はそれを検知し、ランダムな時間待機してから再び送信手順を行います。
仮に衝突(コリジョン)が発生した場合、再試行までにランダムの数ミリ秒の間隔をあけて再送。他のコンピュータと全く同じ時間だけ間隔をあける確率は極めて低いため、再送時に再び衝突(コリジョン)が起こることは回避できるという仕組みです。