ITの教科書検索

第2章 アドレスのしくみ|2-1|コース全体 19本中5本目

入門読了 約8分更新日 2026-09-27

MACアドレスとIPアドレスの違いと使い分け

IPアドレスは最終的な届け先を示し、途中で変わりません。MACアドレスは次に手渡す相手を示し、ルータを越えるたびに書き換わります。宅配便の例と図で比べます。

目次
  1. 住所と、次に渡す相手
  2. 比較表
  3. 宅配便で考える
  4. 転送のとき何が書き換わるか
  5. ARPの役割
  6. 自分の手元で確認する
  7. 練習問題

IPアドレスは「住所」、MACアドレスは「次に渡す相手」

IPアドレスは、通信の最終的な届け先や送り主を示す住所です。途中でどれだけ中継されても、データの小包であるパケットが目的地に届くまで変わりません。

MACアドレスは、区間ごとに、次にデータを手渡す相手を示すアドレスです。ルータを1つ越えるたびに書き換わります。宅配便の配送員が中継地点ごとに交代するのと同じです。

この区別が分かると、ルータを越える通信で何が書き換わるかを追えます。ARPやルーティングも、この2つのアドレスの使い分けを前提にした仕組みです。

MACアドレスとIPアドレスの比較表

項目MACアドレスIPアドレス(IPv4)
ビット数48ビット32ビット
表記16進数・コロン区切り
例:AC:DE:48:00:11:22
10進数・ドット区切り
例:192.168.10.25
転送中に変わるかルータを越えるたびに書き換わる(スイッチは書き換えない)宛先に届くまで変わらない
届く範囲同一ネットワーク内のみ有効ネットワークをまたいで有効
どの層か第2層(データリンク層)第3層(ネットワーク層)
誰が割り当てるか製造時にメーカーが割り当てる設定やDHCPで割り当てる

いちばんの違いは誰が割り当てるかです。MACアドレスは、機器の製造時に工場で書き込まれます。

先頭24ビットを見るとメーカーが分かり、この部分をOUIまたはベンダーIDと呼びます。

IPアドレスは、あとから自由に割り当てや変更ができます。割り当て方には、手で設定する方法と、IPアドレスなどを自動で配るDHCPがあります。

最近のスマホやPCには、接続するネットワークごとに別のランダムなMACアドレスを使う機能があります。この機能をMACアドレスランダム化と呼びます。店舗などでの位置追跡を防ぎ、プライバシーを保護するための仕組みです。

2つのアドレスが両方必要なのは、片方だけでは通信が成立しないからです。MACアドレスだけでは、どのネットワークの機器かが分かりません。IPアドレスだけでは、同じネットワーク内で次にどの機器へ渡せばよいかを特定できません。

そこで、最終的な宛先はIPアドレスで指定し、区間ごとの受け渡し相手はMACアドレスで指定します。

宅配便で考える

荷物を送るとき、伝票に書く宛先住所は最初から最後まで変わりません。これがIPアドレスです。

一方、荷物を実際に手で運ぶ配送員は、営業所を経由するたびに交代します。自宅から最寄りの営業所まで運ぶ人と、営業所間のトラック運転手と、最後に届ける配達員は別の人です。この配送員にあたるのがMACアドレスです。

通信にあてはめると、中継地点ごとに変わる配送員は次に渡す相手のルータに、最初から最後まで変わらない宛先住所は宛先IPにあたります。

パケットが転送されるとき、何が書き換わるか

まず、HTTPリクエストがEthernetフレーム(イーサネットで送るデータの単位)に組み立てられる様子を確認します。組み立ての流れはカプセル化の記事で説明しています。

STEP 1 / 5
HTTPリクエストアプリのデータ
アプリケーション層:データ
ブラウザが、GET /index.html HTTP/1.1 というHTTPリクエストを作りました。この時点では、まだただの文字列です。どこへどう届けるかの情報は何も付いていません。

ただし、上の図が示すのは、1つの区間でフレームが組み立てられる様子だけです。この1つの区間を1ホップと呼びます。

実際の通信では複数のルータを経由するので、区間ごとにEthernetヘッダが作り直されます。PCからサーバまで、ルータA・ルータBの2台を経由する例で確かめます。

宛先MAC=区間ごとに書き換わる 宛先IP=変わらない(点線でつながっている)宛先MACAA:AA:AA:AA:AA:02宛先IP203.0.113.50宛先MACAA:AA:AA:AA:AA:04宛先IP203.0.113.50宛先MACAA:AA:AA:AA:AA:06宛先IP203.0.113.50PCルータAルータBサーバ
PCからサーバまで、ルータAとルータBの2台を経由する例です。宛先IPは3区間とも同じ値で、図では点線でつないでいます。一方、宛先MACは区間が変わるたびに別の値に書き換わります。
区間送信元MAC宛先MAC送信元IP宛先IP
PC → ルータAAA:AA:AA:AA:AA:01AA:AA:AA:AA:AA:02198.51.100.5203.0.113.50
ルータA → ルータBAA:AA:AA:AA:AA:03AA:AA:AA:AA:AA:04198.51.100.5203.0.113.50
ルータB → サーバAA:AA:AA:AA:AA:05AA:AA:AA:AA:AA:06198.51.100.5203.0.113.50

送信元MACと宛先MACは、区間が変わるたびに別の値に書き換わっています。一方、送信元IPと宛先IPは、表では3つの区間とも同じ値です。これはNAT後の値にそろえた書き方で、下の注記で説明します。

宛先IPアドレスは、最後まで変わりません。Ethernetヘッダの送信元MACアドレスと宛先MACアドレスは、ルータを越えるたびに作り直されます。

この表では、NATによる書き換えを省き、3区間ともNAT後の送信元 198.51.100.5 で書いています。

実際には、PCからルータAまでの区間の送信元は 192.168.10.25 です。自宅ルータであるルータAが、外へ送り出すときに送信元を 198.51.100.5 に書き換えます。

この書き換えがNATです。宛先IPは、NATがあっても変わりません。

ARPの役割

通信の相手を指定するときに使うのはIPアドレスですが、同じネットワーク内でデータを渡すにはMACアドレスが必要です。そのため、宛先のIPアドレスは分かっていても、対応するMACアドレスが分からない状況が起こります。

これを解決するのがARP(Address Resolution Protocol)です。ARPでは、まずネットワーク内の全員に「このIPアドレスの人はいますか」と問い合わせます。この問い合わせをARPリクエストと呼びます。

ARPリクエストはブロードキャストで全員に届きます。受け取った機器のうち、該当するIPアドレスを持つ機器だけが「私です、MACアドレスはこれです」と返します。この返事をARPリプライと呼びます。

自分の手元で確認する

ターミナルを開くと、自分のMACアドレスとIPアドレスを確認できます。同じネットワーク内の機器のIPアドレスとMACアドレスの対応表も確認できます。

ip addr自分のMACアドレスとIPアドレスを見る(Linux)
$ ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
    link/ether ac:de:48:00:11:22 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.25/24 brd 192.168.10.255 scope global eth0

# link/ether の行がMACアドレス、inet の行がIPアドレスです。
arp -a同一ネットワーク内の機器のIPとMACの対応表を見る
$ arp -a
? (192.168.10.1) at ac:de:48:aa:bb:cc [ether] on eth0
? (192.168.10.30) at ac:de:48:dd:ee:ff [ether] on eth0

# これまでにARPで調べた、IPアドレスとMACアドレスの対応表です。
# この対応表をARPキャッシュと呼びます。

練習問題(全5問)

Q1MACアドレスは何ビット?
Q2IPv4アドレスは何ビット?
Q3PCからサーバまで複数のルータを経由するとき、パケットが中継されるたびに書き換わるのはどれ?
Q4同じネットワーク内の相手のIPアドレスは分かっているが、MACアドレスが分からないときに使う仕組みは?
Q5MACアドレスとIPアドレスが属する層の組み合わせとして正しいものは?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

おすすめの本 PR

ネットワークを初めて学ぶ人向けの入門書です。

目的別の本の選び方を見る

入門コースを読み進める

入門コース 全19本中5本目