イーサネットによる通信を始めるには,データをMACフレームの形にしなければならない。これは,イーサネットでは不変のしくみである。Part2では,MACフレームの中身がどうなっているのか,そしてそれはどのように作られるのかを見ていく。

 イーサネットによる通信を始めるには,データをMACフレームの形にしなければならない。これは,イーサネットでは不変のしくみである。だから,イーサネットを理解するには,MACフレームの中身がどうなっているのか,そしてそれはどのように作られるのかを押さえることが重要だ。

シンプルな構造のMACフレーム

 MACフレームはデータを運ぶ小包のようなものだ。中に入れるデータはどんなものでもかまわない。ただし,MACフレームに入れられるデータ・サイズの上限が1500バイトと決まっているので,MACフレームに合わせてデータを区切る必要がある。

 MACフレームは,データを格納するデータ部の前後に制御情報が付いている。先頭に付く14バイトの「MACヘッダー」,データの後ろにくる4バイトの「FCS」である(図1)。このようにMACフレームは,三つの部分をつないだだけのとてもシンプルな構造をしている。

図1●MACフレームの構造<br>このMACフレームのフォーマットには2種類あり,この図では一般に使われている「DIX」(DEC,Intel,Xerox)と呼ばれる仕様を示した。もう一つには,このDIXがベースとなって作られた「IEEE802.3」と呼ぶフォーマットがある。
図1●MACフレームの構造
このMACフレームのフォーマットには2種類あり,この図では一般に使われている「DIX」(DEC,Intel,Xerox)と呼ばれる仕様を示した。もう一つには,このDIXがベースとなって作られた「IEEE802.3」と呼ぶフォーマットがある。
[画像のクリックで拡大表示]

 MACヘッダーに入っている情報でもっとも重要なものは「MACアドレス」である。図1にあるように,ここには二つのMACアドレスがある。一つはMACフレームを届ける相手を示す「あて先MACアドレス」,もう一つがMACフレームを送り出すパソコン自身を示す「送信元MACアドレス」である。

 いずれのMACアドレスも,長さは48ビットの情報。前半の24ビットは「OUI」と呼ばれる番号で,LANアダプタのメーカー別に割り当てられている。後半の24ビットは,メーカーが個々のLANアダプタに個別に割り当てる。こうすることで,すべてのLANアダプタが世界中で唯一のMACアドレスを持つようにしてある。このMACアドレスはROM(ロム)に書き込まれていて,勝手に変更できない。

 最後尾に付くFCSは,受信側で受け取ったMACフレームが正しく届いたかどうかをチェックするためのビット列である。

あて先は個人向けと全員向けの2種

 MACヘッダーの中身をもう少し詳しく見てみよう。

 送信元MACアドレスは,送信側のパソコン自身のMACアドレスと説明したが,その実体はLANアダプタのROMに書き込まれているMACアドレスである。あて先として指定するMACアドレスは主に2種類。それは,(1)個々の相手を指定するアドレスと,(2)LANの全員にデータを送る場合に使うアドレス――である。

 (1)の個々の相手を指定するMACアドレスは「ユニキャスト・アドレス」と呼ばれる。基本的には送信元のアドレスと同じで,相手のパソコンのLANアダプタに割り当てられたMACアドレスということになる。

 もう一つの(2)のアドレスは,LANにつながるすべての端末に同報通信するときに使う「ブロードキャスト・アドレス」という特別なアドレス。48ビットすべてが「1」になっている。

 MACヘッダーの最後には「タイプ」というフィールドがある。これは,このMACフレームで送っているデータがどんな上位プロトコルのものかを示す情報である。このおかげで,MACフレームのデータ部を取り出さなくても,イーサネットの上位プロトコルがわかるようになっている。

 MACヘッダーには,あて先MACアドレス,送信元MACアドレス,タイプ――の三つの情報しかない。ほかのプロトコルのヘッダーと比べて,とても簡単な構造になっている。