概要

GARP(Gratuitous ARP)は、IPアドレスからMACアドレスを解決するという通常のARPの動作以外で送信するARPメッセージです。GARPの目的とその動作の仕組みについて解説します。

Gratuitous ARP(GARP)とは

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

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

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

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

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アドレステーブルの更新

まとめ

ポイント

  • GARP(Gratuitous ARP)は、IPアドレスからMACアドレスを解決するという通常のARPの動作以外で送信するARPメッセージです。
  • GARPを利用する目的として以下があります。
    • IPアドレスの重複の検出
    • ARPキャッシュ、MACアドレステーブルの更新

TCP/IP