IPアドレスとMACアドレスの違いをやさしく図解 — 通信はどう届くのか
「IPアドレスとMACアドレス、何が違うの?」——ネットワーク学習で最初につまずく大きな山です。結論を先に言うと、IPアドレスは"最終的な届け先住所"、MACアドレスは"今から手渡す隣の相手"。この違いが分かると、パケットが実際にどう届くのかがスッと理解できます。動かして確かめたい人は IPアドレスとMACアドレスの可視化 もどうぞ。
結論:2つの「住所」は役割が違う
コンピュータには2種類の住所があり、それぞれ担当が分かれています。
| MACアドレス | IPアドレス | |
|---|---|---|
| 層(OSI) | 第2層(データリンク) | 第3層(ネットワーク) |
| 性質 | 物理アドレス(機器に固定) | 論理アドレス(設定で変わる) |
| 形 | 48ビット(例 00:1A:2B:3C:4D:5E) | 32ビット(例 192.168.1.10) |
| 届く範囲 | 同じネットワーク内の隣の機器まで | ネットワークをまたいで最終目的地まで |
| 通信での「宛先」 | 次のホップ(1つ先)ごとに書き換わる | 最終目的地。端から端まで一定 |
| 例え | 「今から渡す相手」の名札 | 封筒に書く「最終的な届け先住所」 |
宅配便で考えると一発でわかる
荷物を送るとき、封筒に書く宛先住所(=IPアドレス)は、発送から到着まで「相手の家」のまま一度も変わりません。でも、荷物を実際に手渡す相手(=MACアドレス)は、あなた → 集荷ドライバー → 配送センター → 配達員 → 受取人 と、そのつど変わっていきます。ネットワークでいう「配送センター」がルーターです。次の図が、通信でまったく同じことが起きている様子です。
MACアドレスとは — 機器に固定された「物理アドレス」
MACアドレスは、ネットワーク機器(NIC=LANカード)1つ1つに製造時から割り当てられた48ビットの固有番号です。00:1A:2B:3C:4D:5E のように16進数2桁を6個並べて書きます。前半24ビットはメーカーを表すOUI、後半24ビットが機器ごとの通し番号で、世界で重複しないように管理されています。役割は「同じネットワーク(同じスイッチの島)の中で、隣の機器へフレームを確実に届ける」こと。だから届く範囲はそのネットワーク内に限られます。
IPアドレスとは — 経路を決める「論理アドレス」
IPアドレスは、ネットワーク上の位置を表す論理的な住所で、設定で変えられます(DHCPで自動割り当てされることも多い)。役割は「ネットワークをまたいで、最終目的地までの道順(ルーティング)を決める」こと。IPアドレス自体の詳しい仕組み(プライベート/グローバル・サブネット)は IPアドレスの仕組み と サブネットマスク の記事で解説しています。
ARP — 「IPアドレスからMACアドレスを調べる」橋渡し役
ここで疑問が生まれます。フレームを送るには次に渡す相手のMACアドレスが必要ですが、私たちがふだん指定するのはIPアドレスです。この「IP → MAC」の変換を担うのが ARP(Address Resolution Protocol) です。
ARPの流れはシンプルです。①送信側が「192.168.1.1 を持っている人、MACアドレス教えて!」と、同じネットワーク全員に一斉に問い合わせ(ブロードキャスト)。②持ち主だけが「私です。MACは R1-R1 です」と応答。③送信側はこの対応を ARPテーブル に一定時間キャッシュし、次からは問い合わせを省略します。
重要なのは、宛先が別ネットワークにあるとき、ARPで聞くのは「最終相手のMAC」ではなく「デフォルトゲートウェイ(ルーター)のMAC」だという点。まずはルーターに渡すのが最初の仕事だからです。ちなみに逆方向(MAC→IP)を求めるプロトコルは RARP と呼ばれます(試験で対比されます)。
ルーターが1ホップで行う4つの処理
ルーターはフレームを受け取るたびに、次を行って次のネットワークへ渡します。
① 宛先MACが自分宛か確認 → 自分宛ならフレームを開ける。
② 宛先IPを見てルーティング → ルーティングテーブルで「次にどこへ送るか」を決定。
③ フレームを作り直す → IPヘッダはそのまま、送信元MAC=自分の出口インタフェース、宛先MAC=次のホップ(必要ならARP)。
④ TTLを1減らす → 0になったら破棄(無限ループ防止)。
この「IPヘッダは変えず、MACだけ書き換えて次へ渡す」の繰り返しで、パケットは世界中どこへでも届きます。経路選択そのものを手を動かして学ぶなら ルーティング構築パズル が、層とヘッダの関係は OSI参照モデルの可視化 がおすすめです。
スイッチとルーターの違い(どこで何を見るか)
「MACで転送する機器」と「IPで転送する機器」は別物です。ここも定番の混同ポイントです。
| L2スイッチ | ルーター(L3) | |
|---|---|---|
| 見るアドレス | MACアドレス(第2層) | IPアドレス(第3層) |
| 役割 | 同じネットワーク内で転送 | ネットワークをまたいで転送 |
| MACを書き換える? | いいえ(そのまま中継) | はい(1ホップごとに書き換え) |
スイッチは、どのポートの先にどのMACがいるかを自動で学習(MACアドレステーブル)して、宛先MACのポートだけにフレームを送ります。この「スイッチのMAC学習」は、L2をさらに深掘りする別テーマです。
ポート番号も加えると「誰の何宛か」が決まる
もう一段くわしくすると、ポート番号(第4層)が登場します。IPアドレスが「どのコンピュータか」を、ポート番号が「そのコンピュータのどのアプリ(サービス)か」を表します(例:HTTPS=443、メール送信=25)。宛先IP+宛先ポートで「どの端末のどのサービス宛か」が一意に決まり、1台の中で複数の通信を同時に区別できます。NAPT(IPマスカレード)がポート番号で機器を見分けるのも、同じ原理です。
基本情報技術者試験ではこう出る
「MACアドレスは第何層のアドレスか(→第2層)」「ARPの役割は(→IPアドレスからMACアドレスを求める)」「ルータがパケットを転送するとき書き換えるものは」が定番です。とくに「宛先IPアドレスは変わらず、宛先MACアドレスはルータを経由するたびに書き換えられる」という記述の正誤はよく問われます。RARP(MAC→IP)、L2スイッチはMACで・ルータはIPで転送する点、MACアドレスは48ビット・IPv4は32ビットという長さも押さえておきましょう。
よくある質問
Q. 同じネットワーク内(PC同士が直結)ならどうなる?
A. 宛先が同じネットワークなら、ルーターを通しません。ARPで相手PCのMACを直接調べて、そのMAC宛にフレームを送ります(宛先IPも宛先MACも相手PC)。ルーターをまたぐときだけ、途中でMACが書き換わります。
Q. IPアドレスとMACアドレス、なぜ両方必要なの?
A. 役割が違うからです。MACは「隣の機器へ確実に渡す」ため(局所的)、IPは「世界中のどこへでも道順を決める」ため(大域的)。MACだけでは世界規模の経路を管理できず、IPだけでは目の前のケーブルに信号を流せません。2つが協力して初めて通信が成り立ちます。
Q. MACアドレスは絶対に変わらないの?
A. 機器に焼き込まれた固有番号ですが、OSの設定で変更(MACアドレス偽装)することも可能です。基本は「機器固有・ネットワーク内で重複しない」ものと理解してOKです。近年はプライバシー保護のため、スマホがWi-Fi接続時にランダムなMACを使う機能もあります。
まとめ
IPアドレス=最終目的地(端から端まで一定・経路を決める)/MACアドレス=次に渡す隣の相手(1ホップごとに書き換わる)。その橋渡しをするのがARP(IP→MAC)。ルーターは「IPヘッダは変えず、MACだけ書き換えて転送」を繰り返します。この一本の筋が通れば、通信の全体像がぐっとクリアになります。
🔎 動かして確かめる:IPアドレスとMACアドレスの可視化で、PC→ルーター→PC へパケットが届くまでを1ステップずつ。宛先IPが一定・宛先MACが書き換わる様子と、ARPテーブルが埋まっていく様子を目で追えます。
関連ページ: IPアドレスの仕組み / ルーティング構築パズル / OSI参照モデル / IP/MACの可視化 / 記事一覧