MACアドレスとは

イーサネットは、同じネットワーク内のイーサネットインタフェース間でデータを転送するためのプロトコルです。そのためには、イーサネットのインタフェースを特定できなければいけません。そのためのアドレスがMACアドレスです。

48ビットのMACアドレスによって、イーサネットのインタフェースを特定できるようにしています。MACアドレスの48ビットのうち、先頭24ビットはOUI(Organizationally Unique Identifier)、そのあとの24ビットがシリアル番号という構成です。OUIはイーサネットインタフェースを製造しているベンダ(メーカ)の識別コードです。OUIは、以下のURLにまとめられています。

http://standards.ieee.org/develop/regauth/oui/oui.txt

シリアル番号は、各ベンダが割り当てています。MACアドレスはイーサネットインタフェースにあらかじめ割り当てられていて、基本的に変更できないアドレスで「物理アドレス」や「ハードウェアアドレス」と呼ぶこともあります。

イーサネットインタフェースによっては、MACアドレスを変更できるものもあります。

MACアドレスの表記

MACアドレスの表記は、16進数で行います。16進数なので「0」~「9」および「A」~「F」の組み合わせです。表記のパターンには、いろいろあるので少し紛らわしくなってしまうことに注意してください。

  • 1バイトずつ16進数に変換して「:」で区切る
  • 1バイトずつ16進数に変換して「-」で区切る
  • 2バイトずつ16進数に変換して「.」で区切る
図 MACアドレス

Ciscoの機器は2バイトずつ「.」で区切ってMACアドレスを表記することが多いです。

イーサネットでは、データを転送したいイーサネットインタフェースをMACアドレスによって識別しているということをしっかりと押さえておきましょう。また、MACアドレスはPCのイーサネットインタフェースだけではなく、レイヤ2スイッチなどのネットワーク機器のイーサネットインタフェースにもあります。つまり、すべてのイーサネットインタフェースにはMACアドレスが割り当てられています。

図 イーサネットインタフェースにはMACアドレスがある
  • 図ではMACアドレスの表記を簡略化しています。
  • 無線LAN(Wi-fi)のインタフェースにもMACアドレスがあります。

なお、PCのMACアドレスを確認したい場合は、Windows OSであればコマンドプロンプトから「ipconfig /all」のコマンドを入力します。

図 Windows OSでのMACアドレスの確認

特別な用途のMACアドレス

MACアドレスにはイーサネットインタフェースに設定されている以外に、特別な用途で利用するMACアドレスもあります。特別な用途のMACアドレスとして次の2つあります。

  • ブロードキャストのMACアドレス
  • マルチキャストのMACアドレス

ブロードキャストのMACアドレス

ブロードキャストのMACアドレスとは、同じネットワーク上のすべてのイーサネットインタフェースに対してデータの送信を行いたいときに利用するMACアドレスです。48ビットすべて「1」で、16進数表記では「FF-FF-FF-FF-FF-FF」です。ブロードキャストMACアドレスを宛先MACアドレスとすると、そのデータ(イーサネットフレーム)は同じネットワーク上のすべてのイーサネットインタフェースで受信されるようになります。

図 ブロードキャストのMACアドレス

ブロードキャストのMACアドレスを宛先MACアドレスに指定してデータを送信すると、データは適宜コピーされて同じネットワーク上全体に転送されて、そのネットワーク上のすべてのホストのイーサネットインタフェースで受信し、さらに上位のプロトコルの処理を行います。図ではクラウドで表現していますが、実際にはレイヤ2スイッチが転送します。レイヤ2スイッチのフラッディングと呼ばれる転送の動作でデータをコピーして同一ネットワーク全体へと転送します。

マルチキャストのMACアドレス

マルチキャストのMACアドレスは、同一ネットワーク内の特定のグループ宛てにイーサネットフレームを送信したいときに利用するMACアドレスです。MACアドレスの最初の1バイト目の最下位ビットをI/G(Individual / Group)ビットと呼び、I/Gビット「1」のMACアドレスがマルチキャストのMACアドレスです。

図 マルチキャストのMACアドレス

マルチキャストの特定のグループとは、いろいろなケースがあります。マルチキャストのグループの具体的な例として、以下が挙げられます。

  • 同じアプリケーションが動作しているホストのグループ
  • 同じルーティングプロトコルが動作しているルータのグループ

マルチキャストのMACアドレスが宛先MACアドレスに指定されたイーサネットフレームは、同じネットワーク内全体に転送されます。ただし、イーサネットフレームを受信するのは、マルチキャストのグループに所属しているイーサネットインタフェースだけです。マルチキャストグループに参加していないと、転送されてきたマルチキャストのイーサネットフレームを破棄して、上位のプロトコルの処理を行いません。

図 マルチキャストの転送の概要

I/Gビットが1になっているのがマルチキャストMACアドレスなので、マルチキャストのMACアドレスは、とてもたくさん存在しています。そのうち、IPv4のマルチキャストアドレスに対応するマルチキャストのMACアドレスとして、以下の範囲が予約されています。

01-00-5E-00-00-00 ~ 01-00-5E-7F-FF-FF

下位の23ビット分は、IPv4マルチキャストの下位23ビットをそのまま対応付けるようにしています。IPv4のマルチキャストアドレスのグループに参加したイーサネットインタフェースは、対応するマルチキャストMACアドレスが宛先となっているイーサネットフレームを受信できるようになります。

  • ブロードキャストとマルチキャストについて勘違いしがちです。ブロードキャストはマルチキャストの一部です。ブロードキャスト=「同じネットワーク上に接続されている」というマルチキャストグループ宛ての通信です。
  • IPv6マルチキャストアドレスに対応するマルチキャストMACアドレスは、33-33-00-00-00-00~33-33-FF-FF-FF-FFです。