ネットワークの基本

ARP えーあーるぴー

ARPAddress Resolution ProtocolMACアドレスIPアドレスARPテーブル
ARPについて教えて

簡単に言うとこんな感じ!

IPアドレスMACアドレス」を調べる名簿係みたいなプロトコルだよ。同じネットワーク内でデータを届けるには物理アドレス(MAC)が必要で、そのIPとMACの対応を調べてくれるのがARPなんだ!


ARPとは

ARP(Address Resolution Protocol)は、IPアドレスからMACアドレスを調べるプロトコルです。同じLAN(ローカルネットワーク)内の通信では、IPアドレスだけでなく、実際の通信に使う物理アドレスであるMACアドレスも必要です。ARPはこの「IPとMACの橋渡し役」を担います。

TCP/IPの階層では、IPはネットワーク層(L3)、MACアドレスはデータリンク層(L2)に属します。PCがデータを送るとき、「この宛先IPはどのMACアドレス?」を知るためにARPを使い、同じネットワーク上の全機器にブロードキャストで問い合わせます。

一度解決したIPとMACの対応はARPキャッシュ(ARPテーブル)に一定時間保存され、次回以降の通信で再利用されます。arp -aコマンドで現在のARPテーブルを確認できます。


ARPの動作手順

ARP の動作フロー PC A 192.168.1.1 PC B 192.168.1.2 PC C 192.168.1.3 ① ARP Request(ブロードキャスト) 「192.168.1.2 のMACを教えて!」 ② ARP Reply(ユニキャスト) 「私です!MAC = AA:BB:CC:DD:EE:FF」 ③ ARPキャッシュに登録 192.168.1.2 ↔ AA:BB:CC:DD:EE:FF (数分間保存)
  1. PC Aがネットワーク全体に「192.168.1.2のMACを教えて!」とブロードキャスト
  2. 192.168.1.2のPC Bだけが「私のMACはXXです」とユニキャストで返答
  3. PC AがARPキャッシュに対応を保存し、以降の通信に利用

歴史と背景

  • 1982年:RFC 826でARPが標準化。非常にシンプルな仕様のまま現在も使われている
  • 問題点として発覚ARPスプーフィング(ARP毒化)という攻撃手法が知られるようになる
  • IPv6では廃止:ICMPv6のNDP(近隣探索)がARPの役割を担うため、IPv6ではARPを使わない
  • 現在:Dynamic ARPインスペクション(DAI)などのセキュリティ機能で対策が進む

ARPに関連するセキュリティリスク

攻撃手法内容
ARPスプーフィング偽のARP Replyを送り、ARPキャッシュを汚染して通信を傍受
ARPポイズニングARPスプーフィングと同義。中間者攻撃(MITM)に使われる
ARPフラッド大量のARP Requestでネットワーク負荷をかけるDoS攻撃

対策としてはスイッチのDynamic ARP Inspection(DAI)機能や、スタティックARPエントリの設定が有効です。


関連する規格・RFC

規格・RFC番号内容
RFC 826ARP の基本仕様
RFC 2390ARPの逆引き(InARP)
RFC 4861IPv6 NDP(ARPの後継)

関連用語