なぜセグメント内に1024台までなのか


図6 衝突を検出した時は衝突回数に応じて再送するタイミングを選んでいる
初回の衝突では待ち時間0(#0)と待ち時間1(#1)の2種類のタイミングの中からランダムに選択する。以下,2回目の衝突では待ち時間0~3(#0,#1,#2,#3)の四つ,3回目の衝突では待ち時間0~7(#0~#7)の八つ,といったように回数に二乗してタイミングの選択肢が増えていく。ただし,最大で1024スロット時間までになっており,10回目以降は常に1024個のタイミングから選択する。

[画像のクリックで拡大表示]

 最後は同一セグメント内の端末台数が,なぜ1024台に制限されているかを見てみましょう。この制限は,衝突した際にデータを再送する規定に関係しています。

 イーサネットで衝突を検出すると,そのフレームは再送することになります。このとき,衝突を何度も繰り返したのでは使い物になりません。そこで,イーサネットでは,再衝突を確率的に回避するためにTBEBアルゴリズム*と呼ぶ再送方式を使います。

 イーサネットでは,衝突が発生すると各端末は一定時間後に再送信します。この再送のタイミングをランダムにしてずらさないと,一度衝突が発生すると再送のたびに衝突してしまう可能性があります。タイミングをずらしても,運悪く再衝突する可能性はありますが,これをなるべく効率よく回避することを考えました。

 そのための具体的な再送タイミングの決定方法は図6[拡大表示]のようになっています。最初に衝突が発生した際には,待ち時間0(#0)と待ち時間1(#1)の二つの中から選択します。2回目の衝突では,待ち時間0(#0)~待ち時間3(#3)の四つの中から選択します。このように衝突を繰り返すたびに,再送するタイミングの選択肢を2倍ずつ増やしていき,衝突する確率を下げていきます。ちなみに,#0と#1のような一つの待ち時間の間隔は「スロット時間」と呼ばれ512ビット時間と規定されています。

 例えば,AとBという2台の端末からの通信が衝突した場合を考えてみましょう。この場合,1回目の再送で再衝突する確率は1/2になります。もし別のタイミングを選択したとすると,最初の#0のタイミングで送信を開始した端末Aからのフレームがネットワーク上で送信されることになります。もう一方の端末Bは1スロット時間だけ待った#1のタイミングで再送しようとしますが,すでにネットワーク上に端末Aのデータが流れています。それを検知するため,この時点ではデータの再送はせず,端末Aの送信完了を待って再送することになり,その結果として再衝突を避けられます。

 この方法で通常は1~3回の再送で再衝突を回避できます。万が一,運悪く衝突し続けたとすると,この方法で最大15回まで再送を続けます。ただし,再送のタイミングは最大でも1024個までしか増やしません。これは,それ以上増やしてしまうと,再送のための待ち時間が膨大になってしまうためです。つまり,10回目以降は常に1024個のタイミングの中から選んで再送することになります。

 といって,最初から1024個のタイミングの中から選択するのも,衝突のたびに多くの待ち時間を浪費するため無駄です。そこで,ここで説明したような方式をとることにしました。

 このように,再送のタイミングは最大でも1024個しか用意していません。そのため,もし1025台以上の端末が同時に信号を送って衝突すると,永久に送信ができないことになります。それで,同一セグメント内の端末数は最大で1024台までという制約を設けているのです。

寿命を終えたCSMA/CD

 CSMA/CDが本当に意味を持っているのは10Mビット/秒や100Mビット/秒のイーサネットでリピータ・ハブを使っている場合です。この場合は,CSMA/CDを正しく動作させるために,ネットワークの最大長や最大端末数などの制約を確実に守る必要がありました。

 しかし,速度が10倍の100Mビット/秒になると,最長距離は1/10の250mになります。これでは使いづらいので,信号を単純に伝達するリピータ・ハブではなくスイッチが登場して普及しました。ギガビットで同じ方式を使うと,最長距離はさらに1/10の25mになります。そのため,最小フレーム長を512バイトと8倍に拡張し,最長距離も8倍の200mにしました。フレームの互換性を保つために,無意味なデータを付加したり,複数のフレームを連結していました。

 このような工夫をしましたが,ギガビット・イーサネット向けプロセッサでは,いつの間にか送信と受信で通信路を共有する半2重通信*のサポートをやめてしまいました。この時点でCSMA/CDは事実上消滅したといってよいでしょう。送信と受信で別々の通信路を使う全2重通信ではCSMA/CDで通信を制御する必要はありません。10Gビット・イーサネットでは規格を審議する初期段階からCSMA/CDと決別しています。

 しかし,今回説明したようにイーサネットのフレーム構造を決定する上でCSMA/CDは今も大きな影響を及ぼしています。まさに,CSMA/CDはイーサネットのジュラシック・コードといえる存在なのです。


●筆者:岩崎 有平
アンリツ
IPネットワーク事業推進部 副事業推進部長
●筆者:福井 雅章
アンリツ
システムソリューション事業部 第1ソリューション開発部 プロジェクトチーム課長