Ethernet


Ethernet の基礎知識

媒体

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

その後、いろいろなケーブルを使う規格へと発展してきています。 過去および現在よく使われていた規格とケーブルの種類を 挙げておきます。

標準規格名 読み方 IEEE仕様名 承認年 速度 サポート媒体 備考
10Base5 テン ベース ファイブ 802.3 1983 10Mbps 50Ω同軸(thick) 最初のEthernet。80年代〜90年代初めまで主流。
10Base2 テン ベース ツー 802.3a 1988 10Mbps 50Ω同軸(thin) 80年代終り頃一瞬流行する。
10BaseT テン ベース ティー 802.3i 1990 10Mbps Category3 (内部線4本) 90年代に一気に主流に。現在でもたまに見ることがある。
100BaseTX ひゃく ベース ティーエックス 802.3u 1995 100Mbps Category5 (内部線4本) 2年前ならば主流
1000BaseT せん ベース ティー 802.3ab 1998 1Gbps Category5e (内部線8本) 現在、主流になりつつある

最初の製品は 10Base5 で 1980年に3Comから出荷されました。 初期は 10Base5 が主流でしたが、一瞬の10Base2の流行の後、 90年代にはオフィス環境では10BaseT でネットワークを 組むのが一般的となりました。 2000年ごろから急速に 100Base-TX が普及してきて、 100Base-TX が主流になりました。 2004年頃から1000Base-T 用の機器の値段が下落してきたので、 現在では1000Base-Tに主流が移りつつあります。

[Ethernet の名前の付け方]
    「伝送速度」  + 「伝送方式」  + 「伝送距離」か「ケーブル種類」

10Base5用ケーブルの主要特性


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

10Base5における通信方法

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


10Base5における衝突の検出

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

CSMA/CD

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

衝突の窓 (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フレームの送信は、

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

符合化方式

マンチェスタ符合化 --- 1ビット・セルを2分割し、前半をオリジナルの 補数、後半をオリジナルにする方式です。 10Base5, 10Base2, 10BaseT の時に使われていました。

プリアンブル

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

Ethernetアドレス(MACアドレス)

Ethernetフレームの中で、宛先や発信元を表すために 48bit の ビットパターンが使われています。これを 「Ethernetアドレス」 または「MACアドレス」と言います(MAC = Media Access Control)。 48bitのうち、上位24bitがベンダー(製造会社)固有の番号で、 下位24bitが各(Ethernet用)ハードウェア固有の番号となります。 これにより、特定のMACアドレスを持つ機器は世界中で1個しかないことが 保証されます。

48bitの全てのbitが1であるMACアドレスは特別で、Ethernet Broadcast Address と呼ばれます。これは同じEthernetに接続している全ての機器(の「MACアドレス」) を指定したことになります。


リピータ

リピータとは、2本のEthernetを接続するための装置(増幅機)です。 基本的に「一方のEthernetから来た信号を増幅して、他方のEthernetへ送り出す」 という動作を行います。

リピータは

という働きをします。 このときに時間遅れが生じたり、Ethernetフレーム間の間隔が 変ったりします。

そのため、Ethernetをリピータでつないで拡張するには限度があります。 フルリピータを1個,ハーフリピータを0.5 個と数えることにすると、 「Ethernet上のどの2つのノード間も合計 2 個以下のリピータしか 存在してはいけない」という規則があります。

ブリッジ

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

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

Ethernetで、衝突が起きる可能性能がある範囲を「コリージョン・ドメイン」 と言います。ブリッジがあるとそこで「コリージョン・ドメイン」は途切れます。 リピータでは途切れません。

Ethernetのブロードキャスト・フレームが伝わる範囲を 「ブロードキャスト・ドメイン」と言います。 リピータもブリッジはブロードキャスト・フレームも転送しますので、 「ブロードキャスト・ドメイン」はリピータやブリッジでは途切れません。

スイッチ

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

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

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

最近よく目にする「スイッチングハブ (switching HUB)」というのは、 「スイッチ」の一種です。


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 の両方を自動判別する スイッチングHUB が非常に安価(8 port 用で数千円)で入手 できるようになっています。 したがって100Base-TX でリピータHUBを使うことはまずないでしょう。 したがって、100Base-TXのリピータ規則は忘れても結構です。 ただし、10Base-T用の古いHUB(リピータハブ、ダムハブ)を使って ネットワークを構築するときは 10Base-Tのリピータ規則にはやはり気をつける必要があります。

スイッチングHUBはスイッチ(一種のブリッジ)ですが、 ポート毎にバッファがあるので一旦データを受け取ってから、 他のポートに転送することができるのです。 10Mbps と 100Mbps の自動変換が可能なのもこのためです。

スイッチングHUBはバッファが溢れそうになると、「半2重」通信の 場合はJam信号を出して送信を停止させます。

100BaseTX用のスイッチングHUBを使うと、接続されている機器(パソコン)が 対応していれば「全2重」(=送信と受信が同時にできる)で通信することも できます。 この場合は、送受が同時に起きることが衝突とはなりませんので、 スイッチングHUBのバッファが溢れそうになったら IEEE802.3xで 定められた「ポーズフレーム」を送ることで、送信を止めてもらいます。