GARP
ARPでは, 宛先のIPアドレスに対応する宛先のMACアドレスを得るためのプロトコルだった.
それに対し, GARP(Gratuitous Address Resolution Protocol)は, 自身のIPアドレスに対応する自身のMACアドレスを得るプロトコルである.
しかし, 自身のMACアドレスは元々NICに書き込まれているため, すでに知っているはずだが, なぜわざわざ自身のIPアドレスに対する自身のMACアドレスを得るのかというと, 以下の2つの役割を実現するためである.
- 自分自身に設定するIPアドレスが重複していないかどうかを検出する
- 同一セグメント上のネットワーク機器にあるARPキャッシュを更新させる
これら2つの役割を以降で詳細に解説する.
GARPの役割
GARPにより, 自分自身にIPアドレスが割り振られるときに他のノードが同一のIPアドレスを使用していないかを確認することができる.
また, 同一セグメント上のノードやネットワーク機器にあるARPキャッシュを更新させることにより, VRRPやHSRPなどにより切り替わった機器とすぐに通信することができる.
以下は, HSRPで冗長化したルータに障害が起こった場合に, ルータがGARPパケットを送信し, ノードのARPキャッシュを更新している図である.
ARP, RARP, GARPの違い
プロトコル名 | 説明 |
---|---|
ARP | 送信先IPアドレスから送信先MACアドレスを得るためのプロトコル |
RARP | 自身のMACアドレスから自身のIPアドレスを得るためのプロトコル |
GARP | 自身のIPアドレスから自身のMACアドレスを得ることで, 1. 自身のIPアドレスが重複していないかどうか 2. 同一セグメント上のネットワーク機器のARPキャッシュを更新させる という, 2つの役割を果たすプロトコル |