IPアドレスとMACアドレスの可視化 — パケットが届くまで

「IPアドレスとMACアドレスって何が違うの?」——通信の一番の核心です。PC-A から別ネットワークの PC-B へデータを送る旅を1ステップずつ追うと、宛先IPは端から端まで一定なのに、宛先MACはルーター(ホップ)ごとに書き換わることが見えてきます。その橋渡しをするのが ARP です。「進む」を押して確かめてください。

🌐 ネットワーク1(192.168.1.0/24) 🌐 ネットワーク2(192.168.2.0/24) 💻 PC-A 192.168.1.10 MAC AA-AA 🔀 ルーター .1.1 R1-R1 .2.1 R2-R2 💻 PC-B 192.168.2.10 MAC BB-BB
ARPテーブル(IP→MAC)

いま何が起きているか

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参照モデルの可視化可視化一覧