MACアドレス
ネットワークインタフェースを識別するための48ビットのアドレス。データリンク層で、同じネットワーク内の通信相手を指定するのに使う。
イマシルちゃんの解説
パソコンやスマホのネットワーク部品には、工場で出荷されるときに番号が書き込まれてるんだ。
それがMACアドレス! 00-1A-2B-3C-4D-5E みたいに、16進数で表すよ。
前半の6けたは「どのメーカーが作ったか」、後半の6けたは「メーカーが割り振った通し番号」。
だから世界中でかぶらないようになってるんだね!
IPアドレスが「住所」だとすると、MACアドレスは「隣の家までの配達で使う表札」みたいなものだよ。
より深い解説
構造
MACアドレスは48ビット(6オクテット)で、前半と後半に分かれる。
| 部分 | 長さ | 内容 |
|---|---|---|
| OUI(Organizationally Unique Identifier) | 24ビット | IEEEがベンダに割り当てる識別子 |
| ベンダ割当て部 | 24ビット | 各ベンダが製品ごとに一意に割り当てる番号 |
表記方法は複数あり、いずれも同じ値を表す。
00-1A-2B-3C-4D-5E(ハイフン区切り)00:1A:2B:3C:4D:5E(コロン区切り)001A.2B3C.4D5E(ドット区切り、ネットワーク機器でよく使われる)
第1オクテットの特別なビット
第1オクテットの下位2ビットには特別な意味がある。
| ビット | 名前 | 0の場合 | 1の場合 |
|---|---|---|---|
| 最下位ビット | I/Gビット | ユニキャスト(個別) | マルチキャスト(グループ) |
| 下から2番目 | U/Lビット | グローバル(OUIに基づく) | ローカル(管理者が独自に設定) |
イーサネットでは各オクテットを最下位ビットから順に送信するため、I/Gビットはフレームの中で最初に送られるビットになる。スイッチは宛先アドレスの最初の1ビットを受け取った時点で、ユニキャストかどうかを判別できる。
スマートフォンなどがプライバシー保護のために使うランダムMACアドレスは、U/Lビットを1にしたローカルアドレスである。
特殊なアドレス
- ブロードキャストアドレス:
FF-FF-FF-FF-FF-FF。同じネットワーク内のすべての機器が受信する。ARP要求などで使われる。 - マルチキャストアドレス:I/Gビットが1のアドレス。IPv4マルチキャストは
01-00-5Eから、IPv6マルチキャストは33-33から始まるMACアドレスに対応づけられる。
フレームの中での役割
フレーム の先頭には、宛先アドレス、送信元アドレスの順にMACアドレスが入る。ベーシックフレーム ではそれぞれ6オクテットである。
- 宛先アドレス:どの機器が受け取るべきかを示す。スイッチはこれを見て転送先のポートを決める。
- 送信元アドレス:スイッチはこれを見て「このアドレスの機器はこのポートの先にいる」と学習し、MACアドレステーブルに登録する。
送信元アドレスには必ずユニキャストアドレスが入り、マルチキャストやブロードキャストが入ることはない。
IPアドレスとの関係
MACアドレスは同じネットワーク内(ルータを越えない範囲)の配送にだけ使われる。別のネットワークへ送る場合、宛先MACアドレスには最終宛先ではなくデフォルトゲートウェイ(ルータ)のMACアドレスを指定する。ルータを通過するたびに、宛先・送信元MACアドレスは書き換えられる。
IPアドレスからMACアドレスを求めるには、IPv4では ARP、IPv6では NDP(近隣探索プロトコル)を使う。