イーサネットによる通信を始めるには,データをMACフレームの形にしなければならない。これは,イーサネットでは不変のしくみである。Part2では,MACフレームの中身がどうなっているのか,そしてそれはどのように作られるのかを見ていく。
イーサネットによる通信を始めるには,データをMACフレームの形にしなければならない。これは,イーサネットでは不変のしくみである。だから,イーサネットを理解するには,MACフレームの中身がどうなっているのか,そしてそれはどのように作られるのかを押さえることが重要だ。
シンプルな構造のMACフレーム
MACフレームはデータを運ぶ小包のようなものだ。中に入れるデータはどんなものでもかまわない。ただし,MACフレームに入れられるデータ・サイズの上限が1500バイトと決まっているので,MACフレームに合わせてデータを区切る必要がある。
MACフレームは,データを格納するデータ部の前後に制御情報が付いている。先頭に付く14バイトの「MACヘッダー」,データの後ろにくる4バイトの「FCS」である(図1)。このようにMACフレームは,三つの部分をつないだだけのとてもシンプルな構造をしている。
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アドレス,タイプ――の三つの情報しかない。ほかのプロトコルのヘッダーと比べて,とても簡単な構造になっている。