Ethernet


Ethernet の基礎知識

参考文献:

媒体

Ethernet は、1973年に米ゼロックスのパロアルト研究所で開発され、 1983年にIEEEで標準規格 802.3 として認められました。

Ethernetにおいてケーブルとして主に使われているのは次の種類です。

標準規格名 IEEE仕様名 承認年 速度 サポート媒体
10Base5 802.3 1983 10Mbps 50Ω同軸(thick)
10Base2 802.3a 1988 10Mbps 50Ω同軸(thin)
10BaseT 802.3i 1990 10Mbps 2組の100ΩCategory3
100BaseTX 802.3u 1995 100Mbps 2組の100ΩCategory5

最初の製品は 10Base5 で 1980年に3Comから出荷されました。 初期は 10Base5 が主流でしたが、一瞬の10Base2の流行の後、 10BaseT でネットワークを組むのが一般的となりました。 そしてさらに、ここ数年で急速に 100Base-TX が普及しました。

[10Mbps Ethernetの特性]

Yellow Cable の主要特性


10Base5 では媒体として 50Ωの同軸ケーブルを用います。 ケーブル中央に銅またはアルミの導体があり、その回りを 絶縁体で囲みさらに外側にはシールド導体、そして絶縁ジャケットで 保護されています。 (現在ではいろいろな色のものがありますが)当初は黄色が主流だったので、 このケーブルを Yellow Cable と呼びます。
以下の説明で「ノード(node)」という用語は「ネットワークに接続 されたコンピュータ」という意味で用いられています。

CSMA/CD

CSMA/CD (Carrier Sense Multiple Access/ Collision Detection) 方式 とは、競合によるメッセージの衝突を前提としている通信方式です。 チャネルの割り当て機構に衝突を積極的に取り込んでいます (これをコンテンション方式といいます)。

衝突の検出

トランシーバは同軸ケーブルを電流源信号によって駆動していて、 論理値 0 または 1 がそれぞれ電流を 「流さない」または 「流す」 ことを表しています。 1台のトランシーバは約40mAの電流を流し (シールドを基準点にして同軸ケーブルの中心導体からトランシーバ へと負の電流が流れる)、同軸ケーブルの中心導体とシールドの電位差は 約2Vになります。

2台のトランシーバが電流を流す場合は、各々が 40mA を流すので 電位差は約 4V に上昇します。 これによりトランシーバの受信回路が衝突を検出できます。

衝突の窓 (Collision Window)

ノード host1 がフレームを送出してからネットワークの隅々にまで 信号が伝播するには一定の時間 t がかかるとします。 すると、送信を開始した後にこの時間 t が経過すれば、もはや 他のノードはフレームを送出しませんから衝突は起こりません。 衝突が起きた場合に衝突信号が返ってくる時間を考慮して、 信号が媒体を1往復する時間を T = 2t とすると、host1 は 送信を開始してから時間 T が経過したあとは伝送チャネルは host1 が確実に占有したと判断できます。 この T を「衝突の窓 (Collision Window) 」といいます。


衝突発生時の振舞い


Ethernetフレーム

フレームの受信

Ethenet フレームは最小 64 byte, 最大 1518 byte となります。 受信ノードは carrier sense 信号を監視しており、これが on から off になると1つのフレームが受信されたとみなします。

受信フレームが byte の整数倍でないと最も近い byte 整数に まるめます(普通はこの結果 FCS check error となります。 64 byte 未満の場合はラント・エラー)。 1518 byte よりも大きい場合は1518 byte で切ります。

フレームの送信

Ethernetフレームの送信は、

という条件を満たした時に行なわれます。 条件を満たさない場合は、条件を満たすまでフレームの送信を控えます。

トランシーバ

トランシーバはホストからの送信対信号を watchdog timer で監視し、 150 μsec を越えた連続信号が送られてくるとこれを物理チャネルに 送出しません。 (Ethernetが正常に機能する鍵である)信号衝突機構が機能している ことを確認するために、ホストが送信を完了した直後の 9.6 μsec を 使って、トランシーバと送信ホストの間で衝突検出回路の動作確認を 行ないます。


符合化方式

マンチェスタ符合化 --- 1ビット・セルを2分割し、前半をオリジナルの 補数、後半をオリジナルにする方式。

プリアンブル

物理的に信号立ち上がり時は不安定なので、データを送出する前に チャネルを安定し同期をとる仕事が必要になります。 送信側はデータ送出に先だって 8 octet のプリアンブルを送り出し ます。 受信側はプリアンブルの最後 2bit に1が連続することを利用して データの先頭を検出します。

リピータ

リピータは、接続された2つのセグメントに対して双方向の増幅・ リタイミング機能を果たします。 片側のセグメント上のプリアンブルを含むデータ・フレームを そのまま忠実に反対側セグメントに送出します。 リピータ内部では一旦マンチェスタ符合がデコードされ再び エンコードされて反対側に送出されます。 ただし、プリアンブル部はリピータが生成します。

リピートされるフレームに対する有効なキャリア・センス信号が 立ち上がった後、 6bit時間以内に 64bitのプリアンブル部を生成し 送出し直後にリピートすべきフレームを送出します。

物理層で MAC 副層を実現するハードウェア (LANCE チップ) では、 キャリア検知信号が off になってから次のフレームによるキャリア 検知信号が on になるまでに内部回路をリセットしなくてはいけません。 現在の LANCE チップでは 10Mbps で 40bit時間は必要です。 これがフレームの間を 96bit時間あけるべしという規定の理由です。 リピータをフレームが通化すると、リピータ内部のクロックで 再タイミングがとられますし、またフレームごとの中継時間の ばらつきもあるので、 これらの要因を総合すると、リピータ通過時にフレーム間隔が 10bit時間減少する可能性があります。 これが「4(ハーフ)リピータ規則」の理由です。

ブリッジ

ブリッジは、Ethernet frame を一旦受け取ってから、 必要に応じてネットワークに転送します。

したがって、ブリッジを越えて衝突が起きることはありません。 つまりリピータの2段ルールはブリッジがあるとそこで切れる (一まとまりになる)ことになります。

スイッチ

最近流行の「スイッチ」も一種のブリッジですが、2個以上の インターフェイスを持ち、 インターフェイス間のトラフィックを並列に処理する点が 異なります。

しかも「スイッチ」では "cut through" (フレームを全部受け取ってから 転送するのではなく、宛先アドレスを読み終るとすぐに送りだし始める) 技術を使って遅延時間を最小にするのが普通です。

ただし、"cut through" 技術では、壊れたEthernet Frameも転送してしまう (宛先アドレスまでは正しいことが多いので)という欠点があります。 このため、多少遅延時間は増えますが64バイトまで受け取ってから 転送を開始する "adaptive cut through" 方式を採用するスイッチが 多くなってきています。


10BaseT

10Base5 や 10Base2 においてはいずれも50Ω同軸ケーブルを敷設する 必要がありました。 10BaseTは、既に建物に埋め込まれた電話用ツイストペア・ケーブル (category 3)を利用するために規定されました。


100Base-TX

Ethernet (10Mbps) と FastEthernet (100Mbps) の MAC (Medium Access Control)パラメータの比較
パラメータEthernetFastEthernet
slotTime512bit-times同左
InterFrameGap9.6μs(最小)0.96μs(最小)
attemptLimit16(試行)同左
backoffLimit10(指数)同左
jamSize32bits同左
maxFrameSize1518bytes同左
minFrameSize64bytes(512bits)同左
addressSize48bits同左
FastEthernetの100Base-TXではカテゴリー5のケーブルを用います。 また、100Base-TXのリピータ規則は次の通りです。 現在では 10 Mbps と 100 Mbps の両方を自動判別する Switching HUB が非常に安価(8 port 用で数千円)で入手 できるようになっています。 したがって100Base-TX でリピータを使うことはまずないでしょう。 100Base-TXのリピータ規則は忘れても結構です。 ただし、10Base-T用の古いHUBを使ってネットワークを構築するときは 10Base-Tのリピータ規則にはやはり気をつける必要があります。