Gratuitous ARP(GARP)とは

Gratuitous ARP(GARP)とは、通常のARPの処理以外で送信されるARPメッセージです。GARPは、主に次の2つの目的で利用します。

  • IPアドレスの重複の検出
  • ARPキャッシュ、MACアドレステーブルの更新

以降で、この2つの目的でのGARPの仕組みついて解説します。

「Gratuitous」は「不必要な」とか「余計な」という意味です。
実装によって、動作が異なることがあります。Ciscoルータで確認しています。

通常のARPの処理については、以下の記事をご覧ください。


IPアドレスの重複の検出

IPアドレスは重複してはいけません。インタフェースに新しくIPアドレスを割り当てるときに、IPアドレスが重複していないかを検出するためにGARPを利用することができます。

インタフェースに設定するIPアドレスをTarget IP addressとしてセットして、ARPリクエストを送信します。通常のARPの処理とは異なるタイミングで送信されるGratuitous ARPです。このARPリクエストに対するARPリプライが返ってくると、すでにIPアドレスが利用されていることがわかります。

図 GARP IPアドレスの重複の検出
図 GARP IPアドレスの重複の検出

ARPキャッシュ、MACアドレステーブルの更新

IPアドレスを変更したときに、他の機器のARPキャッシュを速やかに更新するためにGARPを利用できます。ARPリプライをブロードキャストして、他の機器のARPキャッシュを速やかに更新できるようにします。

図 GARP ARPキャッシュの更新

また、HSRPやVRRPでアクティブ/マスタの切り替え時に、間に介在するレイヤ2スイッチのMACアドレステーブルを更新するためにGARPを送信します。新しくアクティブ/マスタになったルータがARPリプライをブロードキャストします。その送信元MACアドレスは仮想MACアドレスで、レイヤ2スイッチのMACアドレステーブルで仮想MACアドレスのエントリが更新されます。

図 GARP MACアドレステーブルの更新
図 GARP MACアドレステーブルの更新

関連記事

「ネットワークのおべんきょしませんか?」内の記事を検索

TCP/IP