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アドレスを調べるための仕組み。