ARP えーあーるぴー
ARPAddress Resolution ProtocolMACアドレスIPアドレスARPテーブル
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の動作手順
- PC Aがネットワーク全体に「192.168.1.2のMACを教えて!」とブロードキャスト
- 192.168.1.2のPC Bだけが「私のMACはXXです」とユニキャストで返答
- 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 826 | ARP の基本仕様 |
| RFC 2390 | ARPの逆引き(InARP) |
| RFC 4861 | IPv6 NDP(ARPの後継) |