イーサネット(Ethernet)のしくみ(3) -イーサネット通信の基本-


イーサネット通信の基本

CSMA/CDの解説でも書いたようにイーサネットは一本の物理的な伝送路を複数のノードで共有する仕組みです。
あるノードから送信された信号は同じネットワークにあるすべてのノードに届きます。
しかしこれでは1対1の通信を行うことはできません。

1対1の通信を行うにはノード自身が送信元と宛先を認識しなければ行うことは出来ません。
ではイーサネットの世界での送信元、宛先は何を元に特定しているのでしょうか?

イーサネットでは「MAC(Media Access Control)アドレス」といわれる番号を使用して相手を特定しています。

MACアドレスはネットワークカードなどのROMに書き込まれている固有の番号で、IEEEが管理する3バイト(24bit)のベンダーコードと、各ベンダが管理する3バイト(24bit)のコードで構成された6バイト(48bit)の番号が設定されている。

記述する場合は、16進数で各byteの間にハイフン[-]、あるいはコロン[:]を付けて記述するのが一般的です。

たとえば、[00:11:22:33:44:55]や[00-11-22-33-44-55]って感じで。

このMACアドレスはそのハードウェア固有の番号なので世界で同じ番号は存在しません。
ですからこの番号を使って相手を特定できるわけですね。

もちろん今このページを見ているあなたのPCのネットワークカードにもMACアドレスはあります。

Windows2000の場合を例にとってMACアドレスを確認してみましょう。
まずコマンドプロンプトを立ち上げます。

ここで“ipconfig /all”コマンドを入力します。


  ※クリックすると大きな画像で見れます。

Physical Address の項目に書かれている部分がこのネットワークカードのMACアドレスになります。
※セキュリティ上、一部塗りつぶしています。

イーサネットがやり取りするデータの塊を「フレーム」と呼びます。

このフレームには実際のデータのほかにノードを識別するための送信元と宛先のMACアドレスや、フレームの正常性を確認する値などが含まれています。
このフレームは当然フォーマットが決められているのですが、実はこのフォーマットは1つではなく何種類かあります。

イーサネットフレームフォーマット

1つはXeroxとIntel、DECが共同して規格化したDIX-EthernetⅡ仕様のフォーマットで「EthernetⅡ」とよばれるイーサネット仕様です。
もう1つはIEEE802.3として規格化されたフォーマットでその名の通り「802.3」と呼ばれるイーサネット仕様があります。
2つの違いはEthernetⅡ仕様のフレームタイプのフィールドが「802.3」仕様では長さのフィールドとして決められています。

>

1つのフレームのサイズは最小で512バイト(64バイト)に決められている。
もしフレーム長が64バイトに満たないような場合は、データフィールドにダミーのデータ(パディング)を埋め込んで無理やり64バイトにします。

 

イーサネットのフレームサイズはなんで最小64バイト?

先ほどフレームサイズの最小サイズは64バイトと説明しましたが、なぜ64バイトなのでしょうか?

これはイーサネットで使用されているCSMA/CD方式が大きく関係している。
CSMA/CD方式でノードがコリジョン(衝突)を検出すると当然データの再送が行われます。
この再送にフレームサイズが関係してきます。

イーサネットではノードの間が最大に離れている場合でも全てのノードでコリジョン(衝突)の検出が出来なければいけません。

イーサネットの10Base5のケーブル長は規格で最大500mと決められています。
10Base5のケーブルどうしをリピータを使って接続すると総延長距離を伸ばすことが出来ます。
リピータを4台使うことにより最大2500mまで伸ばすことが出来ます。この2500m離れたノードどうしが通信を行って、コリジョン(衝突)が発生したとすると、お互いがそのコリジョン(衝突)を検出してジャム信号を送出します。

例えばイーサネット上で2500m離れた2台のノードAとBで、コリジョン(衝突)がノードBの間近で発生したとします。ノードBはすぐにコリジョンを検出してジャム信号を送出します。
しかしノードAは約2500m先で起こったコリジョンをすぐに検出することは出来ません。

ここでもし ノードBが送出したジャム信号が届く前にノードAのデータ送信が終了してしまったとすると。ノードAはデータの送信は正常に終了したと判断してしまいコリジョンを正しく検出することができません。

このようなコリジョンを「レイトコリジョン」といいます。レイトコリジョンを防ぐためには最大で往復5000mの距離を信号が伝わる間はデータの送信が終了してはいけないようにすれば良いわけです。

そこでイーサネットでは送信するフレームのサイズを最小で64バイト(512ビット)に定めました。
64バイトあれば2500m離れた場所でコリジョンが発生したとしてもデータの送信が終わらないうちにジャム信号を受け取れるわけです。

 

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: