Ethernetの基礎知識
媒体
Ethernetのには次の3種類がある。
以前は 10Base5 が主流であったが、(一瞬の10Base2の流行の後)
現在では(少なくとも計算機を直接接続する部分では) 10BaseT で
ネットワークを組むのが一般的になっている。
- 伝送速度(data rate): 10Mbps
- 名称: 10BaseX
- 10: 伝送速度 → 10 (Mbps)
- BASE: 伝送方式 → Baseband方式
- X: 伝送距離: 5→ 500m, 2→180m, T→100m

Yellow Cable の主要特性

10Base5 では媒体として 50Ωの同軸ケーブルを用いる。
ケーブル中央に銅またはアルミの導体があり、その回りを
絶縁体で囲みさらに外側にはシールド導体、そして絶縁ジャケットで
保護されている。
(現在ではいろいろな色のものがあるが)当初は黄色が主流だったので、
このケーブルを Yellow Cable と呼ぶ。
- トランシーバは2.5m間隔で取り付ける。
- 任意のステーション間でフル・リピータは2個まで
(ハーフリピータは0.5個と数える)。
- 伝送距離: 最大2.8km。
(500m同軸セグメント×3, 合計最大 1Km の光ファイバー・セグメント、
500メートルのトランシーバ・ケーブル×6)
CSMA/CD
CSMA/CD (Carrier Sense Multiple Access/ Collegion Detection) 方式
とは、競合によるメッセージの衝突を前提としており、チャネルの割り当て
機構に衝突を積極的に取り込んでいる
(これをコンテンション方式という。ポーリング方式の逆。)。
- Carrier Sense --- 同軸ケーブルに接続されたアクティブな
ステーションが全て同時に同軸ケーブル上の信号を「聞き取る」こと。
すなわち、各ノードがチャネル上のトラフィックを検出できる機能
(「話す前に聞く(listen-before-talking)」)のこと。
チャネル上に既にトラフィックがあれば送信を控える。
信号の伝播\footnote{同軸ケーブル上の信号伝播速度は約0.77c。}
には時間がかかる (propagation delay) ので衝突が起きる
可能性がある。
- Multiple Access --- チャネルが空いていて何もトラフィックが無い
ことを検出すれば、任意のノードが即座にメッセージを送信してもよい。
このとき、複数のステーションが一つの伝送チャネルにアクセスする
ことを許しているので「マルチプル・アクセス」という。
- Collegion Detection --信号が衝突したことを確実に知る、
送信ノードの能力・機能のこと。
送信しているノードは、送信中も
- 伝送チャネル上の電気信号の強さ(同軸ケーブルの場合)
- 受信チャネル上の他のノードからの送信信号
(送受信チャネルの分かれた point-to-point リンクの場合)
を監視することで、衝突検出を行なう。
衝突の検出
トランシーバは同軸ケーブルを電流源信号によって駆動しており、
論理値 0 または 1 がそれぞれ電流を 「流さない」または 「流す」
ことを表す。
1台のトランシーバは約40mAの電流を流し
(シールドを基準点にして同軸ケーブルの中心導体からトランシーバ
へと負の電流が流れる)、同軸ケーブルの中心導体とシールドの電位差は
約2Vになる。
2台のトランシーバが電流を流す場合は各々が 40mA を流すので、
電位差は約 4V に上昇する。
これによりトランシーバの受信回路が衝突を検出できる。
衝突の窓 (Collegion Window)
ホスト $host_1$がパケットを送出してからネットワークのすみずみにまで信号が
伝播するには一定の時間 t がかかる。
送信を開始した後に時間 t が経過すれば他のホストはパケットを
送出しないので衝突は起こらない。
衝突が起きた場合に衝突信号が返ってくる時間を考慮して、
信号が媒体を1往復する時間を T = 2t とすると、$host_1$ は
送信を開始してから時間 T が経過したあとは伝送チャネルは
host_1 が確実に占有したと判断できる。
この T を「衝突の窓 (Collegion Window) 」という。

衝突発生時の振舞い
- jam --- 衝突に関わった送信ノードは、他ノードが衝突を確実に
検出できるように一定時間 (32 bit 以上 48bit 未満)ジャム信号
(0x55...) を出し続ける。
- back off --- 衝突を検知すると、送信ノードは送信を中断し、
ある時間待ってから再び同じメッセージを送信する。
これを Truncated Binary Exponential Back-Off と呼び、
Back-Off Limit = 10, 再試行は16回までである。
休止時間は、
休止時間 = slot time × r
ただし 0 ≦ r < 2^{min(k,10)}
kは試行回数
で計算される。
- slot time --- 送信ノード自身も含む全てのノードがチャネル上の
衝突を確実に知るためには1回に送出されるパケットの大きさはある値
よりも大きくなければならない。この値を slot time という。
ネットワークの再遠隔ノード間を信号が1往復する伝播時間 (464 bit時間) と、
ジャム信号の最大時間 (48 bit時間) の合計以上にする必要があるので、
512 bit時間と規定されている。
ここで 「1 bit時間」とは 1bitを送るのに必要な時間のことである。
Etherne上の通信速度は 10Mbps であるので1bitを送るのに必要な時間は
1/10Mとなり、1bit時間=10^{-7} 秒 = 0.1 マイクロ秒となる。
ノードがパケットを送信し始めてから slot time が経過すればそのノードが
確実にチャネルを獲得したことになり、これ以降は他のノードはパケットを
送出しない(パケットの衝突は起こらなくなる)。
したがって、平均のパケットサイズが slot time よりどれだけ大きいかが
ネットワークの効率を決定する。
Ethernetフレーム
フレームの受信
Ethenet フレームは最小 64 octed, 最大 1518 octet となる。
受信ノードは carrier sense 信号を監視しており、これが
on から off になると1つのフレームが受信されたとみなす。
受信フレームが octet の整数倍でないと最も近い octet 整数に
まるめる。(普通はこの結果 FCS check error となる。)
64 octet 未満の場合はラント・エラー。1518 octet よりも大きいと
1518 octet で切る。
フレームの送信
Ethernetフレームの送信は、
- 他のどのノードも送信していない。
- 送信していればその終了後 $9.6 \mu sec$ 以上経過している
\footnote{フレーム間ギャップ。}。
という条件を満たした時に行なわれる。
条件を満たさない場合は、条件を満たすまでフレームの送信を控える。
トランシーバ
トランシーバはホストからの送信対信号を watchdog timer で監視し、
150 μsec を越えた連続信号が送られてくるとこれを物理チャネルに
送出しない。
(Ethernetが正常に機能する鍵である)信号衝突機構が機能している
ことを確認するために、ホストが送信を完了した直後の 9.6 μsec を
使って、トランシーバと送信ホストの間で衝突検出回路の動作確認を
行なう。
符合化方式
マンチェスタ符合化 --- 1ビット・セルを2分割し、前半をオリジナルの
補数、後半をオリジナルにする方式。
プリアンブル
物理的に信号立ち上がり時は不安定なので、データを送出する前に
チャネルを安定し同期をとる仕事が必要になる。
送信側はデータ送出に先だって 8 octet のプリアンブルを送り出す。
受信側はプリアンブルの際語 2bit に1が連続することを利用して
データの先頭を知る。
リピータ
- フル・リピータ --- 本体から2本のトランシーバ・ケーブルが出るタイプ。
- ハーフ・リピータ --- 1本のトランシーバ・ケーブルと光ファイバが
でるタイプ。(注) HUBも計算上はハーフ・リピータ扱いである。
リピータは、接続された2つのセグメントに対して双方向の増幅・
リタイミング機能を果たす。
片側のセグメント上のプリアンブルを含むデータ・フレームを
そのまま忠実に反対側セグメントに送出する。リピータ内部では一旦
マンチェスタ符合がデコードされ再びエンコードされて反対側に
送出される。
ただし、プリアンブル部はリピータが生成する。
リピートされるパケットに対する有効なキャリア・センス信号が
立ち上がった後、 6bit時間以内に 64bitのプリアンブル部を生成し
送出し直後にリピートすべきパケットを送出しなければならない。
物理層で MAC 副層を実現するハードウェア (LANCE チップ) では、
キャリア検知信号が off になってから次のフレームによるキャリア
検知信号が on になるまでに内部回路をリセットしなくてはならない。
現在の LANCE チップでは 10Mbps で 40bit時間は必要である。
これがフレームの間を 96bit時間あけるべしという規定の理由。
リピータをフレームが通化すると、リピータ内部のクロックで
再タイミングがとられるし、またフレームごとの中継時間の
ばらつきもある。
これらの要因を総合すると、リピータ通過時にフレーム間隔が
10bit時間現象する可能性がある。これにより「4(ハーフ)リピータ規則」
が決まっている。
10BaseT
10Base5 や 10Base2 においてはいずれも50Ω同軸ケーブルを敷設する
必要があった。
10BaseTは、既に建物に埋め込まれた電話用ツイストペア・ケーブルを
利用するために規定された。
- 2つのMAUが point-to-pointで接続される。
または、複数のMAUを内蔵したリピータからスター形状で対向の
DTE(またはリピータ)に接続される。
- 1つのセグメントは100mまで。
- 対向するMAUが「全2重」リンクで接続されているので、
TD回路で送信中にRD回路の入力を検出することで、衝突検出ができる。
