伝播遅延

伝播遅延と最大ケーブル長の関連

 イーサネットの最小フレームサイズは 32 ビットの CRC を含む、64 バイト= 512 ビットです。 イーサネットセグメントの最大ケーブル長は、10BASE5 では 500 メートル、10BASE2 では 185 メートルです。 この二つのことを知っていても、これら二つの事実に直接的な関連があるということはあまり知られていません。 ここでは最小フレーム長と最大ケーブル長の関連について説明します。


伝播遅延

 フレームサイズとケーブル長について説明する前に、銅線の信号伝播について理解する必要があります。 電気信号は銅線の中を、光の約3分の2の速度で伝わります。これが信号の伝播速度です。 イーサネットは1秒間に 10,000,000 ビットの速度で動作するので、 以下の計算によって1ビットは銅線の中のだいたい 20 メートル( 60 フィート)分を占めることがわかります。
 これからさらに最小サイズのイーサネットフレーム( 64 バイト= 512 ビット)はケーブルの 10,240 メートルを占めることがわかります。


最大ケーブル長との関連

 イーサネットコントローラがコリジョンを検出することができるのは送信中だけです。 イーサネットの NIC が送信を終わり、受信モードに切り替わると、 聞くことができるのはデータフレームの始まりを示す 64 ビットのプリアンブルだけになります。 イーサネットの最小フレームサイズは、銅線を伝播する電気信号の速度を元にして規定されているので、 イーサネットカードは送信モードのときにコリジョンの検出を保証しなければなりません。 送信地点からもっとも遠いところから折り返してもどってくるコリジョンの検出を保証するということです。

 たとえば、10BASE5 のケーブルがちょうど 500 メートル(規定されている最大の値)で、 ステーションAとステーションBがその両端に接続されているとします。

 ステーションAが送信を始めます。25 ビット分送ったところで 500 メートル離れたステーションBに信号が届くことになります。 ステーションBが、ステーションAの信号が届くぎりぎり前に送信しようとすると、 コリジョンは 25 ビット時間分後にステーションAに届きます。(ビット時間というのは1ビットが存在できる時間のことで、 銅線では 20 メートルと表すことができます。) ステーションAはコリジョンが届く前に 50 ビット分だけを送ることになります。 これはコリジョンの発生は 512 ビット以内という規定のずっと前になります。

 通常のコリジョンが 512 ビットより以前に起こるなら、レイトコリジョンが起こらないためには、 ステーションAはステーションBから 5000 メートル離れることもできます。512 ビットに 20 メートル/秒をかけたら、 10,240 メートルになるからです。ステーションAからステーションBへ信号が伝播するには 256 ビット、言い換えれば約 5000 メートルが許されます。 この計算によると、最大ケーブル長が 500 メートルであればレイトコリジョンは決して起こりません。 では、この冗長性は何のためにあるのでしょうか?

 この冗長性には二つの側面があります。イーサネットセグメントの最大ケーブル長は 500 メートルですが、 この長さは、IEEE 802.3 の仕様に抵触しない範囲で、リピータを4つ使って延長することができます。 このことは信号がステーションBに到達するまでに 2500 メートル、往復で 5000 メートルかかるかかるということを意味します。 もう一つの理由はイーサネットの発明者の注意深さによるものです。 一般的に言って、仕様は必要の倍は厳しくなっています。そうでないとエラーには対応できないからです。

 このこの中にイーサネットの一番の強さと弱さが隠されています。 必要ならば仕様を破って、ケーブルを長くしたり、たくさんのリピータを付けたりしても、正常な通信ができます。 これが強さです。 ネットワークが動作していても、レイトコリジョンによって悩まされ、どれが余分なケーブルで、 どれが余分なリピータかわからないということになります。これが弱さです。

 このように恐ろしい警告があるのですが、次のようにすることもできます(仕様破りのルールです)。