🐧 Linux 総合学習プラットフォーム
ネットワーク基礎 ・ 入門〜中級

MACアドレスとARP

同じLANの中では、機器に焼き付いたMACアドレスで相手を特定する。IPアドレスからMACアドレスを調べる仕組みがARPで、その対応表はip neighで見られる。

IPアドレスは「最終的にどこへ届けたいか」を表す住所だが、同じLANの中で実際に電気信号を受け渡す相手を特定するには、もう1つ別の番号が要る。それが機器に焼き付いた MACアドレスだ。

🏷️ 機器に焼き付いた MACアドレス

MACアドレスは、NIC(ネットワーク機器の口)ごとに割り当てられた48ビットの番号で、12:34:56:78:90:AB のように16進数で表す。前半はメーカーを表す識別子(OUI)、後半は製品ごとの通し番号になっていて、世界で重複しないよう管理されている。Linux では ip link show で自分のMACアドレスを確認できる。

🔗
たとえIPアドレスが「引っ越しで変わりうる住所」だとすれば、MACアドレスは「生まれたときに決まる指紋」に近い。ネットワークをつなぎ替えてIPが変わっても、その口のMACアドレスは基本そのままだ。

🔎 IPからMACを調べる ARP

同じLAN内で相手にフレームを届けるには、相手のMACアドレスが必要になる。ところが最初はIPアドレスしか分かっていない。そこで「このIPの人、MACアドレスを教えて」とLAN全体に問いかけるのが ARP だ。宛先の機器だけが自分のMACアドレスを返し、送信側はそれを覚えて表(ARPテーブル)に記録する。

💡
ポイントARP の問いかけは、LAN全員に届くブロードキャスト(宛先MACが FF:FF:FF:FF:FF:FF)で送られる。答えられるのは、そのIPを持つ本人だけ。一度分かった対応は表にためておき、毎回聞き直さずに済ませる。
学習した IPとMACの対応は Linux では ip neigh で一覧できる。REACHABLE は今も届く相手、STALE はしばらく通信がなく確認が必要かもしれない相手、という状態を表す。
つまずきMACアドレスで届くのは「同じLANの中」まで。別のネットワークへ出るときは、いったんゲートウェイのMAC宛に渡し、IPアドレスを頼りに次へ運んでもらう。MAC=ご近所配達、IP=長距離配送、と役割を分けて覚えるとよい。この切り分けができると、同じLANなのに届かない場面で ip neigh を見る発想が持てる。

この項目に出てくる用語

MACアドレスまっくあどれす
ネットワーク機器の口ごとに焼き付いた48ビットの識別番号。
ARPあーぷ
IPアドレスから相手のMACアドレスを調べるための仕組み。

▶ 学習アプリでこの続きを学ぶ・演習する