はじめに
LAN内の通信では、IPアドレスだけでなくMACアドレスも使われます。どちらも通信相手を識別する情報ですが、担当する範囲と役割は異なります。
MACアドレスは、EthernetやWi-Fiなどのデータリンク層で、現在のリンク上にある通信相手を識別するために使われるアドレスです。フレームをどの機器へ届けるかを判断するときに利用されます。
この記事では、MACアドレスの役割、48ビットの表し方、アドレスの種類、IEEEによる割り当て、IPアドレスとの違いを解説します。
この記事で分かること
- MACアドレスが何を識別する情報なのか
- 48ビットのMACアドレスをどのように表すのか
- 個別/グループ、ユニバーサル/ローカルの違い
- IEEEによるMACアドレスの割り当て
- MACアドレスとIPアドレスの役割の違い
MACアドレスとは
MACアドレスは、データリンク層でフレームの送信元や送信先を識別するために使われるアドレスです。Ethernetではフレームに送信元MACアドレスと宛先MACアドレスが含まれ、スイッチは宛先MACアドレスを確認して転送先を判断します。
MACアドレスが担当するのは、インターネット全体の最終的な通信先を示すことではありません。ルーターを越える通信ではリンクごとにフレームが作り直され、送信元・宛先MACアドレスも次のリンクに合わせて変わります。
データリンク層がフレームやMACアドレスを使って通信する範囲は、「データリンク層とは?MACアドレスやフレームの役割を分かりやすく解説」で詳しく解説しています。
MACアドレスは48ビットで表す
Ethernetなどで一般的に使われるMACアドレスは48ビット、つまり6バイトで構成されます。人が確認するときは、48ビットを8ビットずつ6つに分け、各バイトを2桁の16進数で表すのが一般的です。
たとえば、次のように表します。
00-1A-2B-3C-4D-5E
この例では「00」「1A」「2B」「3C」「4D」「5E」がそれぞれ1バイトです。表記上はハイフンやコロンなどで区切られることがありますが、いずれも48ビットの値を読みやすく表したものです。
| 項目 | 内容 |
|---|---|
| 長さ | 48ビット |
| バイト数 | 6バイト |
| 表記 | 2桁の16進数を6組 |
| 主な用途 | データリンク層で送信元・送信先を識別する |
先頭オクテットの2つのビットで種類を区別する
48ビットMACアドレスでは、先頭オクテットの下位2ビットに特別な意味があります。1つは個別の宛先かグループ宛先かを示し、もう1つは世界的に一意となるよう管理されたアドレスか、ローカルで管理するアドレスかを示します。
個別(ユニキャスト)とグループ
I/G(Individual/Group)ビットが0なら個別のインターフェースを示すアドレス、1なら複数のインターフェースを対象とするグループアドレスとして扱われます。
通常、特定の1台へフレームを送るときは個別アドレスを使います。マルチキャストのように複数の受信者を対象とする通信ではグループアドレスが使われます。
ユニバーサルとローカル
U/L(Universal/Local)ビットが0なら、IEEEの割り当てを基に世界的な一意性を保つよう管理されるアドレスです。1ならローカルで管理するアドレスとして扱われます。
そのため、「MACアドレスは必ず製造時に機器へ固定された世界で一つの番号」と考えるのは正確ではありません。用途によっては、管理者やソフトウェアがローカルアドレスを設定することもできます。
IEEEによるMACアドレスの割り当て
IEEEの割り当てに基づくグローバルな48ビット識別子はEUI-48として管理され、IEEE Registration Authorityが組織へアドレスブロックを割り当てます。
よく知られているMA-Lでは、IEEEから割り当てられた24ビットのOUI(Organizationally Unique Identifier)に、組織が管理する24ビットを組み合わせて48ビットのEUI-48を作ります。このため、OUIを手掛かりに割り当て先の組織を調べられる場合があります。
ただし、現在のIEEEにはMA-LだけでなくMA-MやMA-Sもあります。すべてのMACアドレスを「先頭24ビットがメーカー、後半24ビットが製品ごとの番号」という固定構造で説明することはできません。また、ローカル管理アドレスではIEEEによる世界的な割り当てを前提にしないため、MACアドレスの一部だけからメーカーを判断できるとは限りません。
MACアドレスとIPアドレスの違い
MACアドレスとIPアドレスは、どちらも通信相手を識別するために使われますが、担当する層と通信範囲が異なります。
| 項目 | MACアドレス | IPアドレス |
|---|---|---|
| 主な層 | データリンク層 | ネットワーク層 |
| 主な役割 | 現在のリンク上でフレームを渡す相手を識別する | 複数のネットワークを越える通信先を識別する |
| ルーターを越える通信 | リンクごとにフレームの送信元・宛先が変わる | 通常は送信元・宛先IPアドレスを維持する(NATなどを除く) |
IPv4では、同じLAN内の相手や次のルーターへフレームを送るために、そのIPアドレスに対応するMACアドレスをARPで調べます。IPアドレスからMACアドレスを確認する仕組みは、「ARPとは?IPv4でIPアドレスからMACアドレスを調べる仕組みを解説」を参照してください。
MACアドレスはIPアドレスの代わりではなく、データリンク層とネットワーク層がそれぞれの範囲を担当することで通信を成り立たせています。
まとめ
MACアドレスは、EthernetやWi-Fiなどのデータリンク層で、現在のリンク上にある通信相手を識別するために使われるアドレスです。
- 一般的なMACアドレスは48ビット、6バイトで表す
- 先頭オクテットの2つのビットで、個別/グループとユニバーサル/ローカルを区別する
- グローバルなEUI-48はIEEEが割り当てるアドレスブロックを基に管理される
- MA-Lでは24ビットのOUIを使うが、現在はMA-MやMA-Sもある
- MACアドレスはリンク内、IPアドレスはネットワーク間という異なる役割を持つ
MACアドレスの値だけを暗記するのではなく、「どのリンクで、どの相手へフレームを渡すための情報か」を意識すると、IPアドレスやARP、スイッチの転送との関係を整理しやすくなります。