Ethernet LAN(フレームとMACアドレス)

目次

イーサネットフレームとは何か

イーサネットフレームとは、LANの中でコンピュータ同士がやり取りする際に使われる「データの入れ物」のようなものです。インターネットで使う言葉では「パケット」と呼ばれますが、イーサネットでは「フレーム」という呼び方をします。

フレームにはいくつかの種類がありますが、特に重要なのが EthernetⅡフレーム(DIX仕様)IEEE802.3フレーム です。今日最も広く使われているのは EthernetⅡフレームで、一般的に「イーサネットフレーム」と言えばこちらを指します。TCP/IPの通信ではほぼ必ず EthernetⅡ が使われますが、古い環境(Netware や NetBIOS)では IEEE802.3 が登場することもあります。

フレームの構造

フレームは、手紙の封筒のようにいくつかの「欄」で構成されています。それぞれの欄には、誰宛てなのか、誰から送られたのか、どんな内容が入っているのかといった情報が書き込まれます。

フィールド説明
プリアンブルフレームの始まりを知らせるビット列。IEEE802.3では7バイトがプリアンブル、最後の1バイトがSFD。通信のタイミングを合わせる役割がある。
宛先MACアドレス送り先のコンピュータのMACアドレスが入る。ユニキャスト(1対1)、マルチキャスト(グループ宛)、ブロードキャスト(全員宛)がここで判別される。
送信元MACアドレス送信したコンピュータのNICのMACアドレス。
タイプ/長さEthernetⅡでは「タイプ」として上位層のプロトコルを識別(例: 0x0800=IPv4、0x0806=ARP)。IEEE802.3では「長さ」を示す。
データ実際の中身。46バイト以上1500バイト以下でなければならない。短い場合は「パディング」と呼ばれる0を追加する。
FCS受信データに誤りがないかをチェックするための領域。CRCという計算値が入る。

ここで試験に出やすいのは 最小64バイト・最大1518バイト というフレームサイズの規則です。もし64バイトに満たないと、衝突検出の仕組みが正しく働かないため、必ずパディングで調整されます。

タイプフィールドの代表例

タイプフィールドは「このフレームの中身は何の通信か」を知らせる大事な欄です。特に以下の値は試験で覚えておく必要があります。

タイプコードプロトコル
0x0800IPv4
0x0806ARP
0x86ddIPv6
0x8100VLAN(IEEE802.1Q)
0x8137IPX

IPv4(0x0800)、ARP(0x0806)、IPv6(0x86dd)は必ず覚えておきましょう。

MACアドレスとは

MACアドレスは、イーサネット機器に割り当てられた世界に一つだけの番号で、まるで「機器の指紋」のようなものです。PCのLANカード、スイッチ、ルータのポートなど、それぞれのネットワーク機器が持っています。

MACアドレスは48ビット(6バイト)でできており、16進数で表されます。例えば「00-17-94-xx-xx-xx」のように書かれ、上位24ビットはメーカーを示す ベンダーコード(OUI)、下位24ビットはメーカーが個別に割り当てる番号です。

例えば「00-17-94」を調べると Cisco Systems だと分かるように、OUIをたどることで機器のメーカーを特定できます。大企業は複数のOUIを持っているのが一般的です。

U/LビットとI/Gビット

MACアドレスの最初のバイトには特別な意味を持つビットがあります。

  • U/Lビット(7ビット目)
    0 の場合は「世界共通(グローバル)」、1 の場合は「ローカル(管理者が独自に設定可能)」を示します。通常は 0 です。
  • I/Gビット(8ビット目)
    0 の場合は「ユニキャスト(1対1の通信)」、1 の場合は「マルチキャストまたはブロードキャスト(1対多の通信)」を示します。

特に「FFFF.FFFF.FFFF」は全てのビットが1で、ブロードキャストアドレスとして使われます。また「0100.5E」で始まるアドレスはマルチキャスト用です。

この仕組みを覚えておくと、試験で「このMACアドレスはどんな通信を表しているか」と問われたときにスムーズに判断できます。

◆まとめスライド

目次