CSMA/CD (Carrier Sense Multiple Access/Collision Detection) は、共有バス トポロジが存在し、各ノード (コンピュータ) が同軸ケーブルで接続されていた初期のイーサネット テクノロジ/LAN で広く使用されていたメディア アクセス制御方法です。現在、イーサネットは全二重であり、トポロジはスター (スイッチまたはルーター経由で接続) またはポイントツーポイント (直接接続) のいずれかです。したがって、CSMA/CD は使用されませんが、依然としてサポートされています。
リンク上に「n」個のステーションがあり、すべてがそのチャネルを介したデータの転送を待機しているシナリオを考えてみましょう。この場合、すべての「n」個のステーションがリンク/チャネルにアクセスして、独自のデータを転送したいと考えます。問題は、現時点で複数のステーションがデータを送信している場合に発生します。この場合、異なるステーションからのデータに衝突が発生します。
CSMA/CD は、このプロトコルに従うさまざまなステーションが効果的な送信のためのいくつかの条件と衝突検出手段に同意する技術の 1 つです。このプロトコルは、データが破損することなく宛先に到達するように、どのステーションがいつ送信するかを決定します。
CSMA/CD はどのように機能しますか?
- ステップ 1: 送信者がデータ パケットを送信する準備ができているかどうかを確認します。ステップ 2: 伝送リンクがアイドル状態かどうかを確認します。
送信者は、伝送リンク/媒体がアイドル状態かどうかを常に確認する必要があります。このため、他のノードからの送信を継続的に検知します。送信者はリンク上でダミー データを送信します。衝突信号を受信しない場合は、リンクが現在アイドル状態であることを意味します。キャリアが空いており、衝突がないことを検知すると、データを送信します。それ以外の場合は、データの送信を控えます。ステップ 3: データを送信し、衝突を確認します。
送信者はリンク上でデータを送信します。 CSMA/CD は「確認」システムを使用しません。衝突信号を通じて送信の成功と失敗をチェックします。送信中にノードが衝突信号を受信すると、送信は停止されます。次に、ステーションはリンク上にジャム信号を送信し、フレームを再送信する前にランダムな時間間隔を待ちます。ランダムな時間が経過した後、再度データの転送を試み、上記のプロセスを繰り返します。ステップ 4: 伝播中に衝突が検出されなかった場合、送信側はフレーム送信を完了し、カウンタをリセットします。
ステーションはデータが衝突しているかどうかをどのようにして知るのでしょうか?
上記の状況を考えてみましょう。 A駅とB駅の2駅。
伝播時間: Tp = 1 時間 (信号が A から B に到達するのに 1 時間かかります)
At time t=0, A transmits its data. t= 30 mins : Collision occurs.>
衝突が発生すると、衝突信号が生成され、A と B の両方に送信され、ステーションに衝突について通知されます。途中で衝突したため、衝突信号もAとBに届くまでに30分かかります。
Therefore, t=1 hr: A & B receive collision signals.>
この衝突信号は、そのリンク上のすべてのステーションによって受信されます。それから、
衝突したのが私たちのステーションのデータであることを確認するにはどうすればよいでしょうか?
この場合、伝送時間 (Tt)> 伝播時間 (Tp) [概算]
これは、データの最後のビットをステーションから送信する前に、少なくとも一部のビットがすでに宛先に到着していることを確認する必要があるためです。これにより、リンクがビジー状態にならず、衝突が発生しなくなります。
ただし、上記は緩やかな境界です。衝突信号が私たちに戻ってくるまでの時間を費やしていない。このためには、最悪のシナリオを考慮してください。
上記のシステムをもう一度考えてみましょう。

At time t=0, A transmits its data. t= 59:59 mins : Collision occurs>
この衝突は、データが B に到達する直前に発生します。ここで、衝突信号が A に到達するまでに再び 59:59 分かかります。したがって、A は約 2 時間後、つまり 2 * Tp 後に衝突情報を受信します。
Hence, to ensure tighter bound, to detect the collision completely, Tt>>= 2 * 都市>>これは、システムが衝突が独自のデータによるものかどうかを検出するためにかかる最大衝突時間です。
送信されるパケットの最小長はどれくらいであるべきですか?
= 2 * Tp * リンクの帯域幅>>
パディングは、それほど長いパケットがない場合に役立ちます。上記の条件を満たすために、データの末尾に余分な文字を埋め込むことができます。
CSMA/CD の衝突検出には次の機能が含まれます。
- キャリアセンス: データを送信する前に、デバイスはネットワークをリッスンして、送信メディアが空いているかどうかを確認します。メディアがビジーの場合、デバイスはメディアが空になるまで待ってからデータを送信します。マルチアクセス: CSMA/CD ネットワークでは、複数のデバイスが同じ伝送メディアを共有します。各デバイスはメディアに平等にアクセスでき、メディアが空いていればどのデバイスでもデータを送信できます。衝突検出: 2 つ以上のデバイスが同時にデータを送信すると、衝突が発生します。デバイスが衝突を検出すると、ただちに送信を停止し、ジャム信号を送信してネットワーク上の他のすべてのデバイスに衝突を通知します。その後、デバイスはランダムな時間待機してから再度送信を試み、別の衝突の可能性を減らします。バックオフ アルゴリズム: CSMA/CD では、衝突後にデバイスがいつデータを再送信できるかを決定するためにバックオフ アルゴリズムが使用されます。このアルゴリズムでは、デバイスがデータを再送信する前にランダムな遅延を使用して、別の衝突が発生する可能性を減らします。最小フレーム サイズ: CSMA/CD では、送信が終了する前にすべてのデバイスが衝突を検出するのに十分な時間を確保できるように、最小フレーム サイズが必要です。フレームが短すぎる場合、デバイスは衝突を検出せずに送信を続行し、ネットワーク上のデータ破損につながる可能性があります。
CSMA/CD の利点:
- シンプルで広く使用されている: CSMA/CD はイーサネット ネットワークで広く使用されているプロトコルであり、そのシンプルさにより実装と使用が容易です。
公平性: CSMA/CD ネットワークでは、すべてのデバイスが伝送メディアに平等にアクセスできるため、データ伝送の公平性が保証されます。
効率: CSMA/CD を使用すると、不要な衝突を防止し、ネットワークの輻輳を軽減することで、伝送メディアを効率的に使用できます。
CSMA/CD の欠点:
- スケーラビリティの制限: CSMA/CD にはスケーラビリティの点で制限があり、多数のデバイスを備えた大規模ネットワークには適さない可能性があります。
衝突に対する脆弱性: CSMA/CD は衝突を検出できますが、衝突の発生を防ぐことはできません。衝突はデータの破損、再送信の遅延、ネットワーク パフォーマンスの低下につながる可能性があります。
帯域幅の非効率的な使用: CSMA/CD はランダム バックオフ アルゴリズムを使用するため、デバイスで継続的に衝突が発生すると、ネットワーク帯域幅の使用が非効率になる可能性があります。
セキュリティ攻撃に対する脆弱性: CSMA/CD はセキュリティ機能を提供しておらず、このプロトコルはパケット スニッフィングやスプーフィングなどのセキュリティ攻撃に対して脆弱です。
次を読む – CSMA/CD の効率