イーサネットによる通信を始めるには,データをMACフレームの形にしなければならない。これは,イーサネットでは不変のしくみである。だから,イーサネットを理解するには,MACフレームの中身がどうなっているのか,そしてそれはどのように作られるのかを押さえることが重要だ。このシーン1では,MACフレームを中心にイーサネットのしくみを見ていく。
シンプルな構造のMACフレーム
MACフレームはデータを運ぶ小包のようなものだ。中に入れるデータはどんなものでもかまわない。ただし,MACフレームに入れられるデータ・サイズの上限が1500バイトと決まっているので,MACフレームに合わせてデータを区切る必要がある。
MACフレームは,データを格納するデータ部の前後に制御情報が付いている。先頭に付く14バイトの「MACヘッダー*1」,データの後ろにくる4バイトの「FCS*2」である(図1-1)。このようにMACフレームは,三つの部分をつないだだけのとてもシンプルな構造をしている。
|
|
図1-1●MACフレームの構造 このMACフレームのフォーマットには2種類あり,この図では一般に使われている「DIX」(DEC,Intel,Xerox)と呼ばれる仕様を示した。もう一つには,このDIXがベースとなって作られた「IEEE802.3」と呼ぶフォーマットがある。 [画像のクリックで拡大表示] |
MACヘッダーに入っている情報でもっとも重要なものは「MACアドレス」である。図1-1にあるように,ここには二つのMACアドレスがある。一つはMACフレームを届ける相手を示す「あて先MACアドレス」,もう一つがMACフレームを送り出すパソコン自身を示す「送信元MACアドレス」である。
いずれのMACアドレスも,長さは48ビットの情報。前半の24ビットは「OUI*3」と呼ばれる番号で,LANアダプタのメーカー別に割り当てられている。後半の24ビットは,メーカーが個々のLANアダプタに個別に割り当てる。こうすることで,すべてのLANアダプタが世界中で唯一のMACアドレスを持つようにしてある。さらに,MACアドレスはROM(ロム)に書き込まれていて,勝手に変更できない。
最後尾に付くFCSは,受信側で受け取ったMACフレームが正しく届いたかどうかをチェックするためのビット列である。
あて先は個人向けと全員向けの2種
MACヘッダーの中身をもう少し詳しく見てみよう。
送信元MACアドレスは,送信側のパソコン自身のMACアドレスと説明したが,その実体はLANアダプタのROMに書き込まれているMACアドレスである。あて先として指定するMACアドレスは主に2種類*4。それは,(1)個々の相手を指定するアドレスと,(2)LANの全員にデータを送る場合に使うアドレス――である。
(1)の個々の相手を指定するMACアドレスは「ユニキャスト・アドレス」と呼ばれる。基本的には送信元のアドレスと同じで,相手のパソコンのLANアダプタに割り当てられたMACアドレスということになる。
もう一つの(2)のアドレスは,LANにつながるすべての端末に同報通信するときに使う「ブロードキャスト・アドレス」という特別なアドレス。48ビットすべてが「1」になっている。
MACヘッダーの最後には「タイプ」というフィールドがある。これは,このMACフレームで送っているデータがどんな上位プロトコルのものかを示す情報である。このおかげで,MACフレームのデータ部を取り出さなくても,イーサネットの上位プロトコルがわかるようになっている。
MACヘッダーには,あて先MACアドレス,送信元MACアドレス,タイプ――の三つの情報しかない。ほかのプロトコルのヘッダーと比べて,とても簡単な構造になっている。