目次
ARPキャッシュとARPテーブル
- ARPキャッシュ:一度調べた「IPアドレス ↔ MACアドレス」の対応を、一定時間だけ保存しておく仕組み。
- ARPテーブル:ARPキャッシュを記録している一覧表。
💡 ポイント
- PCでは
arp -aコマンドで確認可能。 - 動的に得られた情報は一定時間で消える(不要になったら自動で削除)。
- 手動で登録した情報は「static」として残る(消えない)。
- 今すぐ削除したい場合は
arp -dを実行。

Windowsの場合
arp -aの結果には以下の情報が表示される- インターフェース:自分のIPアドレス
- インターネット アドレス:通信相手のIP
- 物理アドレス:相手のMAC
- 種類:「dynamic」か「static」
Ciscoルータの場合
show ip arpコマンドで確認。- 自分自身のIPとMACもテーブルに載るが、「Age」欄は「-」で、消えない。
- デフォルトのタイムアウトは 240分(4時間)。
ARPパケットのフォーマット
ARPは、IPと同じネットワーク層のプロトコルだが、通信時にはイーサネットフレームにカプセル化される。
以下のフィールドで構成される(暗記よりも流れの理解が重要)。
| フィールド | 英語表記 | ビット数 | 内容 |
|---|---|---|---|
| ハードウェアタイプ | Hardware Type | 16bit | ハードの種類。イーサネットなら「0x0001」 |
| プロトコルタイプ | Protocol Type | 16bit | プロトコルの種類。IPなら「0x0800」 |
| ハードウェアアドレス長 | Hardware Length | 8bit | MACアドレスの長さ(固定で6) |
| プロトコルアドレス長 | Protocol Length | 8bit | IPアドレスの長さ(固定で4) |
| オペレーション | Operation | 16bit | リクエスト「0x0001」 / リプライ「0x0002」 |
| 送信元MAC | Sender MAC | 48bit | 発信元のMACアドレス |
| 送信元IP | Sender IP | 32bit | 発信元のIPアドレス |
| 宛先MAC | Target MAC | 48bit | 宛先のMACアドレス(不明な場合は「00-00-00-00-00-00」) |
| 宛先IP | Target IP | 32bit | 宛先のIPアドレス |
💡 初心者ポイント
- ARPリクエスト:宛先MACは空欄(00…00)。
- ARPリプライ:宛先MACに値が入り、相手に直接返す。