
MACアドレスの役割
さて、いままで何度も「MACアドレス」という用語が登場したが、ここで改めて解説する。
MAC(Media Access Control)アドレスは、Ethernetでデータを通信する際に、送信元となる機器と宛先となる機器を識別するものだ。「物理アドレス(Physical Address)」と呼ぶこともあり、NIC(Network Interface Card)にあらかじめ割り当ててある。つまり、IPアドレスのようにユーザーが設定するものではなく、メーカーが工場出荷時に設定している値である。
実際に自分のPCのMACアドレスを見てみよう。Ethernetを使っている環境であれば、コマンドプロンプト画面で、「ipconfig /all」と入力すればよい(画面3)。
このように、MACアドレスは“:”で区切られた12桁の文字列からなっている(図2)。6バイト=48ビットを16進数で表記しているので、a~fのアルファベットを含むことがある。
前半の24ビットは「OUI(Organizationally Unique Identifier)」と呼ぶ。この値はIEEEが管理しており、NICメーカーごとに異なる値が割り当てられている。一般に、メーカーが同じなら先頭の24ビットは同じものとなっている。OUIがどのメーカーに割り当てられているかは、IEEEのWebページから検索できる。
残りの24ビットは、各メーカーが自由に設定できるもので、たいてい製造番号を兼ねることが多い。このようにして、MACアドレスは世界に1つしかないユニークな値となっている。
OUIをもう少し詳しく見ると、先頭の2ビットは特別な意味を持っている。これはIEEEが管理しておらず、メーカーが製品開発などに利用している。特に、1ビット目を1にすると、マルチキャストアドレスとして扱われる。
マルチキャストを説明する前に、ネットワーク上でデータを送信する方式について触れておく。
再びWiresharkのキャプチャ(画面1)を見てみよう。ここに、宛先MACアドレスがff:ff:ff:ff:ff:ffという特殊なMACアドレスがある。これはARPのように宛先MACアドレスが不明な場合、Ethernet上のすべての機器を宛先とする通信に利用する。これを「ブロードキャスト」と呼ぶ。それに対し、通常の1対1通信をユニキャストと呼んでいる。
このブロードキャストは、パケットは1つで済むものの、必要としない宛先のマシンにも負荷をかけてしまうという問題点がある。一方のユニキャストでも、受信者のぶんだけパケットを送信するため、ネットワークが混雑してしまう。
そこで「マルチキャスト」という仕組みが用意されている。マルチキャストでは、前述の通りMACアドレスをマルチキャストアドレスとして指定することで、複数のNICなど送信先となるグループを作成する。そして、グループごとに1つのパケットを送るため、ネットワークの負荷を軽減できる。
このMACアドレスは、セキュリティを向上する目的でも用いられている。これを「MACアドレスフィルタリング」といい、MACアドレスが固有であることを利用している。通信を許可する機器のMACアドレスをあらかじめ登録し、登録されたMACアドレスを持つ機器以外の通信を認めないというものだ。特に、無線LANアクセスポイントと子機との認証で利用されている。
ただしMACアドレスは、NICのドライバの仕様によっては、ユーザーが任意の値に変更可能なことがある。また、特殊なプログラムを使えば、任意の値にすることもできる。したがって、MACアドレスフィルタリングをセキュリティ対策の一環で使用することは万全とはいえない。

この連載の記事
- 第6回 IEEE802.1で実現するいろいろなLAN
- 第5回 銅線の限界に挑む10GBASE-Tの仕組みとは?
- 第4回 1GbpsのEthernetの実現手段を知ろう
- 第3回 Ethernetで通信をスムーズに行なう工夫とは?
- 第1回 Ethernetはどのように誕生したの?
- 入門Ethernet<目次>
- この連載の一覧へ