IPアドレスとMACアドレスの可視化 — パケットが届くまで
「IPアドレスとMACアドレスって何が違うの?」——通信の一番の核心です。PC-A から別ネットワークの PC-B へデータを送る旅を1ステップずつ追うと、宛先IPは端から端まで一定なのに、宛先MACはルーター(ホップ)ごとに書き換わることが見えてきます。その橋渡しをするのが ARP です。「進む」を押して確かめてください。
いま何が起きているか
IPアドレスとMACアドレス — 役割が違う2つの「住所」
コンピュータには2つの住所があります。混同しやすいですが、役割がはっきり違います。
| MACアドレス | IPアドレス | |
|---|---|---|
| 層 | 第2層(データリンク) | 第3層(ネットワーク) |
| 性質 | 物理アドレス(機器に固定) | 論理アドレス(設定で変わる) |
| 届く範囲 | 同じネットワーク内の隣の機器まで | ネットワークをまたいで最終目的地まで |
| 通信での宛先 | “次のホップ”(1つ先)ごとに書き換わる | 最終目的地。端から端まで一定 |
| 例え | 「今から渡す相手」の名札 | 封筒に書く「最終的な届け先住所」 |
宅配便に例えると分かりやすいです。封筒の宛先住所(IP)は最初から最後まで「PC-B」のまま。でも、荷物を実際に手渡す相手(MAC)は、あなた→配送センター→配達員→受取人と、そのつど変わります。ネットワークでいう「配送センター」がルーターです。
ARP — IPアドレスからMACアドレスを調べる
フレームを送るには“次に渡す相手のMAC”が必要ですが、私たちが指定するのはふつうIPアドレスです。そこで「このIPアドレスの持ち主、MACは何番?」と同じネットワークに一斉に尋ねるのが ARP(Address Resolution Protocol)です。持ち主だけが「私です、MACは○○」と応答し、その対応をARPテーブルに一定時間キャッシュします(毎回聞かなくて済むように)。上の可視化のARPテーブルが、これです。
ポイントは、宛先が別ネットワークのときにARPで聞くのは「相手のMAC」ではなく「デフォルトゲートウェイ(ルーター)のMAC」だということ。まずはルーターに渡すのが仕事だからです。
パケットが1ホップ進むたびに起きること
ルーターは、フレームを受け取るたびに次のことを行います。
① 宛先MACが自分宛か確認 → 自分宛ならフレームを開ける。
② 宛先IPを見てルーティング → ルーティングテーブルで「次にどこへ送るか」を決める。
③ フレームを作り直す → IPヘッダはそのまま、送信元MAC=自分の出口、宛先MAC=次のホップ(必要ならARP)。
④ TTLを1減らす → 0になったら破棄(無限ループ防止)。
この「IPヘッダは変えず、MACだけ書き換えて次へ渡す」の繰り返しで、パケットは世界中どこへでも届きます。経路を手を動かして体感するならルーティング構築パズル、層とヘッダの関係はOSI参照モデルの可視化もどうぞ。
ポート番号も加えると「誰の何宛か」が決まる
もう一段くわしくすると、ポート番号(第4層)も登場します。IPアドレスが「どのコンピュータか」を、ポート番号が「そのコンピュータのどのアプリ(サービス)か」を表します。例:Webは80/443、メール送信は25。宛先IP+宛先ポートで「どの端末のどのサービス宛か」が一意に決まり、これで1台の中で複数の通信を区別できます(NAPTがポートで機器を見分けるのも同じ原理)。
基本情報技術者試験ではこう出る
「MACアドレスは第何層か(→第2層)」「ARPの役割(IPアドレスからMACアドレスを求める)」「ルーターはパケットを転送する際に何を書き換えるか」が定番です。とくに「宛先IPアドレスは変わらず、宛先MACアドレスはルータを経由するたびに変わる」という記述の正誤はよく問われます。RARP(MAC→IP、ARPの逆)や、L2スイッチはMACで・ルータはIPで転送する点も押さえましょう。
よくある質問
Q. 同じネットワーク内(PC同士が直結)ならどうなる?
A. 宛先が同じネットワークなら、ルーターを通しません。ARPで相手PCのMACを直接調べて、そのMAC宛にフレームを送ります(宛先IPも宛先MACも相手PC)。ルーターをまたぐときだけ、MACが途中で書き換わります。
Q. MACアドレスは絶対に変わらないの?
A. 機器(NIC)に工場出荷時から焼き込まれた固有の番号ですが、OSの設定で変更(MACアドレス偽装)することも可能です。基本は「機器固有・ネットワーク内で重複しない」ものと理解してOKです。
Q. IPアドレスとMACアドレス、なぜ両方必要なの?
A. 役割が違うからです。MACは「隣の機器へ確実に渡す」ため(局所的)、IPは「世界中のどこへでも道順を決める」ため(大域的)。MACだけでは世界中の経路を管理できず、IPだけでは目の前のケーブルに信号を流せません。2つが協力して通信が成り立ちます。
もっとじっくり読みたい方は、記事版 IPアドレスとMACアドレスの違いをやさしく図解(保存版)もどうぞ。関連:ルーティング構築パズル / OSI参照モデルの可視化 / 可視化一覧