ネットワークの基礎講座

イーサネット

イーサネット・フレームの構成


 

 

 


まずイーサネットに乗るフレームはどのようになっているのだろうか。フレームは頭から次のような構成となっている。ただしネットワーク上はビット列で伝送されるから、実際は各バイトの左のビットから送信される。ここで「左」といったのは、IEEEIETF(インターネットの技術グループでInternet Engineering Task Forceの略)とでバイトの表現が異なり、混乱を招くからである。同じことを言っているのにIEEEでは下のビット(LSB: Least Significant Bit)から、IETFでは上のビット(MSB: Most Significant Bit)から送信されるということになるからである。

 

プリアンブル

7バイト

10の交番ビット列信号で、イーサネット・レシーバがビット同期をとるのに使う(これはチップが生成するので、ソフトウエアは関与しない)

フレーム開始識別

1バイト

10101011なるビット列でフレームの頭を知るのに使われる。(これはチップが生成するので、ソフトウエアは関与しない)

宛先イーサネット・アドレス

6バイト

相手とするレシーバの唯一無二のイーサネット・MACアドレスである。イーサネット上の全端末に送出するブロードキャストのパケットの場合、宛先アドレスはオール1(Ethernet)か、第2バイト目が奇数か(802.3)である

送信元イーサネット・アドレス

6バイト

送信端末の唯一無二のイーサネット・MACアドレスである。

データの長さ(802.3)またはタイプ(Ethernet

2バイト

フレーム(プリアンブルとSFDを除く)のバイト長がはいる。1518以上の場合は上位層のタイプを意味する。例えば0x800IPパケットであることを示す

データ

461,500バイト

転送すべきデータがこの部分にはいる。最小46バイトとなるよう46バイト長以下のデータにはパッディングする。後述のように802.3ではこの部分の頭が更に追加ヘッダ情報が入る。

フレーム・チェック・シーケンス

4バイト

32ビットの巡回誤りチェックデータで、通常この部分はチップが生成する

 

プリアンブル(preamble)は7オクテット(バイト)で、10の繰り返し信号である。これをもとに、受信回路の位相同期系(PLS)がこの信号に同期して、到来パケットのビット列をきちんと受信できるようにする。

 

開始フレーム識別子(SFD: Start Frame Delimiter)は、'10101011'なる8ビットからなるビット列でプリアンブルの直後にあり、フレームの開始を示す(フレーム同期)ものである。

 

ところでMACアドレスとは何であろうか?

これは唯一無二の16進のシリアル番号で、ネットワーク上のイーサネット・デバイス(アダプタ、ブリッジ、ルータなど)を識別する為に附されるものである。イーサネット・デバイスにはこのアドレスは通常ソフトウエアで設定できるが、恒久的に製造メーカが設定するもので、ユーザが変更を加えてはならない。

 

MACアドレスがどうして唯一無二でなければならないかというと、ネットワーク上の自分宛のパケットを排他的にそのイーサネット・デバイスが取り出さねばならないからである。でないと2つのデバイス間の区別がつかなくなるからである。ネットワーク上のデバイスはそのネットワーク上のトラフィック(パケットの流れ)を監視し、各パケットから自分宛で受理すべきパケットを探す。総てのデバイスが同時に受理しなければならないブロードキャスト(放送)という特別な状態も存在する。

 

MACアドレスは6バイト(48ビット)長で通常12:34:56:78:90:ABなどのようにコロンで区切った16進で表現する。コロンは省略しても良いが、読みやすさと間違いを防ぐ為に通常区切りとして使用される。イーサネット・デバイスの各メーカは、自分が使えるMACアドレスの範囲を申請する。アドレスの最初の3バイトはメーカの識別に使われる。RFC-1700にはメーカ宛に割り当てられたアドレスの一覧の一部がリストアップされている。最新のリストはftp.lcs.mit.edu in pub/map/Ethernet-codesから取得できる。皆さんのコンピュータのOSWindowsで、かつLANに接続されていれば、以下の手順で皆さんのコンピュータのEthernetポートのMACアドレスを知ることができる。スタート/ファイル名を指定して実行(R)”winipcfg”を入力してOKボタンをクリック。Ethernetアダプタ情報が表示される。アダプタアドレスが知りたいMACアドレスである。表示されるそれ以外の情報は、今回の解説には関係ないので説明はしない。

 

ブロードキャスト・アドレスは総ての受信デバイスあてのアドレスで、802.3では2バイト目が奇数(1,3, ... FF)のものはすべてブロードキャスト・アドレスである。

 

データが46バイト以下のときはパッディングされるとか、最大1500バイトというけれど、それでは上位層が困るのではと心配されるかもしれない。これはMAC層にわたすデータグラムの長さの管理は上位層の責任となっており、IPの場合は下位層の最大伝送単位長(これをMTU: Maximum Transmission Unitという)に従ってIPパケットを分割してデータ・リンク層に渡す。

 

 

 

前節     目次     次節