ネットワークの基礎講座

イーサネット

イーサネットのアクセス制御


 

 

 


イーサネットのアクセスと再送制御は「キャリア検知多重アクセス/衝突検出」方式といい、英語ではCSMA/CD(Carrier Sense Multiple Access / Collision Detection)と書く。コンピュータがイーサネット上にメッセージを送信したいときは、まずネットワークが他のノード(端末、ブリッジ、ルータなど)によって使われていないか、つまり誰かがキャリアを送出していないかどうかを調べる(これがキャリア検知)。イーサネットに送り出された信号はケーブル上を上り下り双方向に伝播する。したがってネットワーク上の総てのノードに伝わる(これが多重アクセス)。総てのノードがこのメッセージを読むことが出来るけれども、自分宛のものでなければこれを無視するので、当該の宛先(MACアドレス)のノードだけが読み出すことになる。

 

「衝突」は、たまたま2つのノードが同時に送信を開始したら生じ得る。これは最初のノードが送信を開始したが、それが第2のノードに「使用中」として検出されない短い期間に第2のノードが送信を開始する場合である。どうしてそのような事態が発生するのかと思われる人がいるかも知れない。実際はデバイス毎にキャリアの検知能力が異なるであろうし、またネットワーク・トポロジの話をしなければならないが、100m離れたデバイスに相手からの10Mbpsのパケットが届き始めるのは相手が第3ビット目を送り終わった時点となる時間差があるからである。衝突が発生すると2つのパケットが重なり合って読出し不能の状態になる。更には衝突を検出した送信もとノードは「ジャム」といって32ビット長の特殊の妨害信号(同軸系では通常より高い信号電圧)を送信して該パケットを確実に読出し不能にする。衝突が発生したら、そのノードはランダムな時間待機する(2つが同じ時間をおいて再送信したらまた衝突が発生する確率が大である)。この待機/再送信のサイクル(待機時間はその度2倍される)を16回繰り返しそれでも駄目ならこれを上位層や管理面に報告する。

 

どうしてこのように徹底的に衝突検出を確たる物にしなければならないかは、歴史的な経過がある。当初のLAN10Base5(別名イエロー・ケーブルとも云った)というごつい同軸ケーブルが使用されていた。このケーブル一本が工場や研究所を這いまわり、長さが不足すればレピータという中継器を介して継ぎ足されていた。レピータは電気信号をそのまま増幅伝送するので、一番端同士(遠端)の端末に信号が届くには相当の遅延が生じる。送信元が衝突を知るのはその往復分(ラウンド・トリップ)である。この時間を50マイクロ秒(約1.5kmに相当)と定めたのである。この時間は10Mbpsでいえば500ビット(64バイト)である。このことからデータ部分が46バイトに満たなければパッディングしなければならないとされているのである。転送スピードが速くなってもこの規約は守らなければならない。

 

したがって、このメカニズムは、極端にトラフィックが大きくなって容量の限度に近くなると衝突により効率が低下する傾向がある。通常の場合は衝突による遅れやスループットの低下は問題になることはなかろう。

 


 

 

 

 


前節     目次     次節