第 9 回 Ethernet

本日の内容


このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。

9-1. ALOHA から Ethernet へ

ALOHA ネットワークはハワイ大学のアブラムソンにより開発されました。 これは島々に分散するキャンパス同士をネットワーク接続するために考案され た無線ネットワークでした。 1972 年にハーバード大から Xerox のパロ・アルト研究所(PARC)に就職したメ トカーフはこの ALOHA ネットワークに着目し、ハワイ大に一ヵ月滞在した後、 ALOHA ネットワークを分析する博士論文を仕上げました。 その後、パロ・アルト研究所に戻ったメトカーフは世界初のパーソナルコン ピュータ ALTO のローカルエリア接続を任されました。 メトカーフは ALOHA ネットワークの効率を上げ、有線にした Ethernetを開発し、 ALTO に実装しました。 その後、メトーカーフは 3COM 社を興しました。

参考

Ether(エーテル) とはもともと 19 世紀まで考えられていた光(電磁波)を媒介 する物質です。 観測精度が上がって来た 19 世紀末、地球のどこで光の速さを測っても同じ速 さであることが分かって来ました(マイケルソン・モーリーの実験)。 これは単純に考えればエーテルと地球は同じ速度で動いていることを意味しま すが、地球は自転、公転をしてますし、宇宙的規模で存在していると思われて いたエーテルが地球だけに速度を合わせているというのは不自然な解釈です。 そのため、ローレンツは運動している物質は収縮するという仮説を立て、どこ で光の速さを測っても一定なのは地球が進行方向に縮んでいるからだと説明し ました(ローレンツ収縮)。

アインシュタインは、電磁気学では物体の運動にかかわり無く光の速さが決定す ると言う結論を受け、今までとは逆の発想を行いました。 光の速さが一定であるということを仮定して、そこからローレンツ収縮が起き ることを証明しました(特殊相対性理論)。 そして、エーテルが光を伝搬するのではなく、光は空間の性質で伝搬されるこ とがわかりエーテルが存在しなくていいことになりました。

参考

高速道路の渋滞情報のラジオの電波はどのようなアンテナから出ているのでしょ うか? 求められる性質として、高速道路以外にはなるべく届かず、しかも道路上では 10km 程度で一定以上の強さになってなければなりません。

一つの解決法としては、強くて指向性の強い電波ビームを高速道路に沿って発 射することです。 しかし、カーブやトンネルがあると不可能です。また、使用している周波数帯 が高々2MHz 以下なので、波長は 150m 以上になり、建造物などで簡単に回折 してしまいます。

実際に取られている方法は、高速道路に沿って同軸ケーブルを敷設し、一定間 隔で同軸ケーブルに穴を開けておきます。 放送電波を流すと同軸ケーブル中を電波が流れますが、途中の穴から電波が漏 れて行きます。 穴と車との距離は高々数十メートルなので漏れた微弱な電波で十分ラジオ放送 を聞くことができます。

9-2. Ethernet の規格

初期の Ethernet

一番最初の Ethernet は実験 Ethernet と呼ばれ、3Mbps でした。

次に DEC(今の HP) + Intel + Xerox の共同で作られた Ethernet は 10Mbps で DIX Ethernet と呼ばれました。

ここで、Local Area Network(LAN) や Metropolitan Area Network(MAN) など の規格を決めるため、IEEE(Institute of Electrical and Electronic Engineers 電気電子学会)に 802 委員会が設置されました。 そして、 802.3 委員会は Ethernet の標準化を担当しました。

IEEE 802.3 Ethernet

802.3 で標準化された Ethernet はほぼ DIX Ethernet と同様のものです。 媒体により 4 種類あります。

10Base5

10Base5 のトランシーバ 10Base5 ケーブル AUI ケーブル

最長 500m の 50Ωの同軸ケーブルを媒体として使います。両端に ターミネータと して 50Ωの抵抗(終端抵抗)で短絡します。 同軸ケーブルは比較的太いものなので、 Thick ケーブルとも呼ばれます。 同軸ケーブルには 2.5m 毎に印があり、その印のある位置にトランシー バを接続してホストと接続します。 トランシーバのアンテナにあたる部分は針になっています。 同軸ケーブルにドリルで穴を開け、針を刺し、芯線に接触するようにします。 これをバンパイアと呼びます。 受信信号をディジタルデータにしたものは AUI ケーブルと呼ばれ るものでホストに送られます。

10Base 5 は最長 500m まで利用できるので、建物内のバックボーンとして利 用されました。

10Base2

10Base 2

媒体として BNC ケーブルを使用します。これはオシロスコープな どで使用されるケーブルをそのまま使うものです。 ホストからはオシロスコープと同じコネクタが出ていて、これに T 型コネクタを接続します。 この T 型コネクタの接続されたコンピュータ同士を一直線状に BNC ケーブル で繋げていき、両端は 50Ωの終端抵抗を接続します。 BNC ケーブルはありふれたケーブルなので、初期の LAN として良く利用 されました。 BNC ケーブルは 50Ω の同軸ケーブルですが、線が細いのでThin ケーブルとも呼ばれます。

10Base 2 は最長約 200m (185m) で最大端末数は 30 台です。 比較的小規模のネットワークで利用されました。 但し、 10Base 2 は端末の追加時にネットワークを切断しなければならないこ とや、故障検出が難しいなどの欠点を抱えるため、今ではほとんど使用されて ません。

10Base T

媒体として同軸ケーブルではなく電話線などの用いられるカテゴリー 3 のよ り対線(Twisted Pair Cable)を使用します。 コネクタは RJ-45 という規格です。 HUBと呼ばれる集線装置とホストを一対一に接続するため、ホスト の追加で他のホストに影響を及ぼすことはありません。 一本の最長は 100m までです。

10Base 5 は一度引けば信頼性は高いですが、工事費用が嵩みます。 また、10Base2は気軽に設置できますが、トラブルが多いものでした。 10BaseTは安く、しかも信頼性が高いものとして、 Ethernet が大流行する担 い手になりました。 カテゴリー 3 のより対線は 8 芯のものを使いますが、実際は 4 本しか使い ませんので、既存の電話線をそのまま利用することもできます。

10Base F

媒体として光ファイバーを利用したものを 10BaseF と言います。 光ファイバーは絶縁体なので、落雷に強く、屋外配線に用いられます。

リピータ

リピータとは信号を物理的に増幅して転送する装置です。 Ethernet 同士を接続するのにもリピータが用いられました。 CSMA/CD ではコリジョンを検出するため、通信回線長に制限があります。 さらに、信号が通過できるリピータの段数も 4 段と定められています。

段数制限

10Base-T で用いられた HUB はリピータの原理に基づいているため、 HUB 同 士を接続するのにも段数に制限がありました。 直線的に接続する場合には明解ですが、 HUB により基幹ネットワークから 枝分かれするような場合、単純に上限が 4 段にはならない事に注意します。 木構造だと一番下のレベル同士の通信は一旦基幹の HUB を折り返す必要があ るので、 木の深さは 3 段以上にはできません。

IEEE 802.3u Fast Ethernet

Fast Ethernet は 100Mbps のベースバンドを持つネットワークで、現在最も ポピュラーなものです。 同軸ケーブルの規格は無くなりました。

100BaseT4

8 芯のカテゴリ 3 のケーブルを使い、2本4組として扱い、25Mbps の通信を 4 つ束ねることで 100Mbps の伝送速度を実現したものです。 そのため、同時に送受はできないので、半二重通信になります。 建物で既に付設されているカテゴリ 3 のケーブルを流用する時などに使用し ます。

100BaseTX

ネットワークシステム研

現在最も使われているネットワークです。 100Mbps 伝送可能な 8 芯のカテゴリ 5 のケーブルを使い、4 芯だけ使って通 信を行います。 但し、全二重通信を実現しているため、送信、受信とも 100Mbps のベースバ ンドを持つと言えます。

100BaseFX

光ファイバを用いたもの

スイッチング HUB

スイッチング HUBとは、相互のアドレスを検査して、媒体を共有 させず送受信を直接電子的なスイッチで接続するように働く HUB です。 回線同士を直結するので、送受信を全二重に行え、高速な伝送ができます。

リピータ HUB は送った信号が全てのポートに送られます。一方、スイッチン グ HUB では通信相手のポートにだけ信号が流れます。 したがって、空きポートから流れている信号を傍受できるのはリピータ HUB のみです。 通信の秘匿性はスイッチング HUB の方が高いです。 なお、通信量の調査や、パケットの観測をするには基本的にはリピータ HUB を利用する必要があります。 但し、設定可能なスイッチング HUB の中には全パケットを流す観測用のポー トを設定できるものもあります。

IEEE 802.3z ギガビット Ether

ギガビット Ether は基本的にはスイッチング HUB のみとなるので、通信が衝 突することはありません。 また、最小フレームが短いと最大線長も短くなってしまうので、内部的に 512 バイトに拡張されてます。

1000BaseT
250Mbps まで伝送可能な カテゴリ 5e ケーブルを使用し、100BaseT4 同様に 250Mbps の伝送を 4 本束ねて 1000Mbps とするもの。 ギガビットはこちらが一般的。
1000BaseTX
1000Mbps まで伝送可能なカテゴリ 6 ケーブルを使うもの。
1000BaseSX
マルチモード光ファイバを使い、550m までの伝送に使うもの。
1000BaseLX
シングルファイバ光ファイバを使い、 5km までの伝送に使うもの。
1000BaseSX

IEEE 802.3ae 10Gbit Ether

10Gbit Ether は一対多通信は行わず、基本的には Ether フレームを SONET/SDH などの光ファイバなどでシリアル通信をするものです。 すでに CSMA/CD のような考え方はありません。 どちらかというと Ethernet フレームを用いた ATM に近い構造です。 但し、パスなどの高級な制御はしません。スイッチングのみです。 しかし、最近撚り対線を使う 10GBase-T の規格が発表されました。 (特殊なカテゴリ 6 またはカテゴリ 7)

9-3. Ethernet のプロトコル

この章では 802.3 の 10Mbit の Ethernet についてのみ解説します。 それ以外の Ethernet はスイッチング HUB が主流のため、効率が良い時は直 結になっています。

データフォーマット

7バイト分の 0xAA=0b10101010 1バイトの 0xAB=0b10101011 6バイト 6バイト 2バイト 0〜1500バイト 0〜46バイト 4バイト
プリアンプル SFD 宛先 送信者 長さ データ パディング チェックサム

MAC アドレスの構造

MAC アドレスは 48 bit で、16 進数 2 桁ずつを - (ハイフン) で区切り 01-23-45-67-89-AB などと表します。 先頭 24 bit (16進で 6桁)はベンダーコードと呼ばれ、後ろ 24bit(16進6桁) はベンダー固有の通し番号になっています。 使用している機器の MAC アドレスを知りたい時は Windows では ipconfig -a、UNIX などでは ifconfig -aのコマンドを使います。

Ethernet のデータは 8bit ずつ下位から送らます(リトルエンディアン)。 最初に送られる 2 bit つまり 03-00-00-00-00-00 の位置のビットには特別な 意味があります。先頭 2 桁の下位 1 bit 目はグループビットと呼ばれ、on になっていると複数のホストとやりとりができます。 また下位 2 bit 目はローカルアドレスを意味し、 on となるアドレスは自由 に使えます。 そのため、これらの bit が ON になっている MAC アドレスには特別な意味が あります。 例えば、01-00-5E-00-00-00 から 01-00-5E-7F-FF-FF は IP のマルチキャス トに使います(00-00-5E は IANA のベンダーコード)。 これらは IANA に登録されてます (http://www.iana.org/assignments/ethernet-numbers)。 また FF-FF-FF-FF-FF-FF はブロードキャストアドレスです。

CSMA/CD

Ethernet は CSMA/CD と言われてます。 CS はキャリアセンスの略で、搬送波を検出した時は混信を避けるため信号を 送信しない仕組みを言います。 MA はマルチアクセスです。 CD はコリジョンデテクト、つまり通信の衝突を検知すると言うことです。 ケーブルを共有するのが MA であり、その中の信号を検知したら送信を行わな いのが CS です。 さらに、送信時に回線を監視し、混信を検知したら、それに対処するのが CD です。

通信にかかる時間

さて、送信者は送ったデータの衝突検知をどのようにすれば良いでしょうか? 送信者はデータを送ったあと、一定時間他の送信者が送信しなかったことを確 認するしかありません。 ここで送信データがネットワーク内に留まる時間をτ時間とします。 これはデータが端から端まで届く時間です。 時刻 0 に送信者 A がデータを送ったとすると、他の送信者 B が搬送波を検 知できないつまりそのデータに気づかずにデータを送ってしまうのは高々時刻 τの寸前までです。 つまり衝突が起きうるのは時刻 0 からτまでの間と言うことになります。 しかし、この衝突を A が検知するのは B の送ったデータが A に届いた時に なります。 これも高々τ時間かかります。 つまり送信したデータの衝突を監視しなければならない時間は 2τ時間とな ります。

送信者は 2τ時間より短い時間で送信が終ってしまうと、次の送信が可能になっ てしまいます。すると、衝突検知が複雑になってしまいます。 そこで、データは必ず 2τ 時間以上送ることを考えます。 したがって、次の式が成り立つと送信中だけ衝突検知すれば良いことになりま す。

最小パケット長 2 τ × 送信ビットレート

10Base5 ではリピータ 4 個接続で最長 2.5km になるのでリピータ通過時間を 考慮して 2τはおよそ 50μ秒と見積もられます。 10Mbps をかけると(最小パケット長)≧500bit となるので、高々 500/8 ≤ 64 バイトあれば条件を満たします。 そこで、 Ethernet のパケット長は最小 64 バイトになってます。

巾乗バックオフ

実際に衝突を検出してしまった時は再送をする必要があります。 しかし、衝突を起こすような回線に対して、瞬時に再送をすることは混乱を招 くだけです。 これは、衝突が起きるような状態と言うのはネットワークが混んでいることを 示しているので、混雑を避けるために通信速度を下げる必要があるからです。 そこで、巾乗バックオフという仕組みを使い混乱を起こさないよ うにします。

  1. 2τ時間毎に時刻を区切ります。区切られた時刻のことをスロット と呼ぶことにします。
  2. 衝突を検知したら始めに スロット0 かスロット1 かランダムに選びどち らかの時刻に再送します。
  3. 再び衝突を検知したら スロット0 からスロット3 までランダムに選びど れかの時刻に再送します。
  4. n回目衝突したらスロット0 からスロット 2 n - 1 までをランダムに選んで再送します。
  5. 10 回目以降はスロット数は 1024 個に固定して、ランダムに選びます。
  6. 16 回衝突したら送信エラーを発生し送信をあきらめます。

同時に k 個のホストランダムに 1 から k3を選ぶと、高い確率でそれぞれが別々の値を選ぶことが知られ てます。 したがって、選ぶ領域を指数関数的に増やせばすぐに衝突を起こさないスロッ トを発見できます。

9-4. スループット

スロット獲得確率

さて Ethernet のスループットを近似的に求めてみましょう。 局数 k が常にそれぞれ確率 p で送信していると仮定します。 ある局がスロットを獲得する確率は A = k p 1-p k-1 で表せます。 これは p=1/k の時に最大 Amax = 1- 1k k-1 になります。

送信が j スロット目で成功する確率は A 1-A j-1 となるので成功するまでの平均のスロット数は次で得られます。

j=1 j A 1-A j-1 = 1 A

送信までにかかる平均時間は 2 τ · 1 A となり、送信に成功した時にかかる時間を P とするとスループットは以下の ように求まります。

スループット = P P+ 2 τ · 1 A
Ethernet のスループット

10 Base の場合、最小の 64 バイト送るのに P=2τ 時間かかり、 最長の1500 バイトでは P= 2τ×1500/64 時間になります。した がって伝送効率は以下のようになります。

1 1 + 1 A スループット 1500 / 64 1500 / 64 + 1 A

これに 10Mbps をかけたものがスループットになります。 最適な確率分布でも 100% にはなりません。なお、スイッチング HUB を使用 した場合はパケットが衝突しないので、一旦つながれば 100% に近い効率が得 られます。


坂本直志 <sakamoto@c.dendai.ac.jp>
東京電機大学工学部情報通信工学科