Gratuitous ARP

Gratuitous ARP は、自身のIPアドレスをリクエストするためのARPパケットです。

 本来のARPは、IPアドレスに対応するMACアドレスを解決するために使用します。自分のIPアドレスをリクエストすることに意味などあるのでしょうか?

Gratuitousとは、「無料の;好意からの;無償の;要のない」という意味があります。

本当に無意味なんでしょうか?

1つ目の用途として、設定ミス等によるIPアドレスの重複の検出に使用されます。

本来であれば、自分自身のIPアドレスに対するARPリクエストを送信したところで、他の端末から返事があるはずがありません。

ところが、返事があった場合はどうでしょうか?

既にそのIPアドレスが他の端末で使用されていることが分かります。

この仕組みで、同一ネットワーク内において、IPアドレスが重複しているかどうかをチェックすることができるようになっています。

 Windows 2000 ベースのコンピュータでは、起動すると、ネットワーク内で、IPアドレスの重複が起こらないように、そのコンピュータのIPアドレスを含んだパケットがブロードキャストされるようになっています。

2つ目の用途として、VRRPでもGratuitous ARPが使用されます。

 これは、IPアドレスの重複を確認するのではなく、同一セグメント上のネットワーク機器上のARPキャッシュを更新するために行われています。

そうすることで、IPアドレスとMACアドレスの対応関係の更新を強制的に行います。