目次
ARPとは
- ARP(Address Resolution Protocol)
→ IPアドレスから、通信に必要な MACアドレス を調べる仕組み。 - 理由:LAN通信では、最終的に「MACアドレス」でデータを届ける必要があるため。

ARPの仕組み(2種類のパケット)
- ARPリクエスト(Request)
- 「このIPアドレスを持っているのは誰?MACアドレスを教えて!」と ブロードキャスト(全員に呼びかけ)。
- ARPリプライ(Reply)
- 該当するPCだけが「それは私です。私のMACは○○です」と ユニキャスト(呼びかけてきたPCだけに返答)。
💡 動作例
- PC A(192.168.0.1)がPC B(192.168.0.2)に通信したい
- PC A → 「192.168.0.2 のMACを知ってる人?」と全員にARPリクエスト
- PC B → 「はい、私のMACは XX-XX-XX-XX-XX-XX」と返す
- PC A → BのMACアドレスを覚えて通信可能に

ゲートウェイ通信時のARP
- 相手のIPアドレスが別ネットワークの場合(例:172.16.0.1)
- PCは直接その相手のMACを探さず、デフォルトゲートウェイ(ルータ) のMACアドレスを取得して通信する。
RARPとは
- RARP(Reverse ARP):ARPの逆。
- MACアドレス → IPアドレス を調べる仕組み。
- 使われ方:IPアドレスを自分で持てない機器(古い端末など)が、起動時に「私のIPは何ですか?」と聞き、RARPサーバから割り当ててもらう。
- ※現在はDHCPが主流なので、RARPはほぼ使われない。
GARPとは
- GARP(Gratuitous ARP) は、ARPの一種。
- 通常のARPは「相手のIP → MACを知る」ために使うが、GARPは「自分のIPに対して、自分のMACを通知する」仕組み。
- 主な役割は次の2つ。
- IPアドレスの重複検出(同じIPを使っている機器がないか確認)
- ARPキャッシュの更新(周囲の機器に自分のMACを知らせる)
GARPの役割① IPアドレス重複の検出
- 機器が新しいIPアドレスを設定するとき、同じネットワーク内で同じアドレスを使っている人がいないかを確認。
- 流れ(例):
- 機器が「このIPは私が使っていい?」とGARPを送信
- 他に同じIPを使っている機器がいれば応答が返る
- 応答がなければそのIPを利用開始できる
GARPの役割② ARPキャッシュの更新
- ネットワーク機器は「ARPキャッシュ」という表を持っており、IPとMACの対応を覚えている。
- GARPを送信すると、このキャッシュを一斉に更新させることができる。
- 利用例:VRRPやHSRPといった冗長化技術で、ルータが切り替わったときに「新しいMACアドレスだよ」と周囲に知らせる。
ARP / RARP / GARP の違い
| プロトコル | 役割 |
|---|---|
| ARP | IPアドレスから相手のMACアドレスを知る |
| RARP | 自分のMACアドレスから自分のIPアドレスを知る |
| GARP | 自分のIPアドレスが重複していないか確認する & 周囲のARPキャッシュを更新する |