ネットワーク用語 > GARP

GARP

GARP = Gratuitous Address Resolution Protocol

Gratuitous ARP - Wikipedia

Gratuitous ARPはARPパケットの一つであり、主としてホストにIPアドレスがアサインされる際に他のホストがすでに同じIPアドレスを持っていないかどうかを確認するために使用される。
 
通常のARPパケットと異なっている点はTarget Protocol AddressフィールドがARPパケットを送出したホストに割り当てられたもの、もしくは割り当てられようとしているものが設定されている点である。 Sender Protocol AddressフィールドはTarget Protocol Addressフィールドと同じIPアドレスが設定されていることが多いが、必ずこのようになっているわけではない。
 
もしも、IPアドレスを設定する際に他のホストが既に同じIPアドレスを持っていると、そのホストがARP Operation がARP RequestであるGratuitous ARPを受信した際にGratuitous ARPを送信したホストに対してARP Replyを返送する。そのため、この Gratuitous ARPに対する返信の有無でIPアドレスの重複を確認することができる
 
また、VRRPやMobile IPでもGratuitous ARPが使用されるが、これはIPアドレスの重複確認ではなく同一セグメント上のネットワーク機器上のARPキャッシュやL3テーブルを更新することでIPアドレスと機器の対応関係の更新を強制的におこなわせることを目的としている。
 
なお、Gratuitous ARPではARPパケットのOperation フィールドにARP RequestとARP Replyのいずれも用いることができるが、アドレス重複確認を目的としてGratuitous ARPを使用する際にはARP Requestが用いられることが多い。

Gratuitous ARPとは -- Key:雑学事典

Gratuitous ARPは余計なARPとも訳され、自身のIPアドレスをリクエストするためのARPパケットです。
本来ARPIPアドレスに対応するMACアドレスを導き出す(解決する)ためのプロトコルなので、自身のIPアドレスをリクエストする意味はありません(そのために余計なARPなんて名前がついたのでしょうか)。
この意味が無い送信元IPアドレスと要求された宛先IPアドレスが同じであるARPリクエストのことをGratuitous ARPと呼びます。
 
もちろん全く無意味というわけではありません。
一つ目の用途として、設定ミス等によるIPアドレスの重複を検知することが挙げられます。
本来であれば、自分自身のIPアドレスに関するARPリクエストを送信したところで他のホストから返答があるはずがありません。
ところが、もし既にそのIPアドレスを使っているホストがあった場合はどうでしょう。
当然そのホスト(ARPリクエストを受け取ったホスト)から送信元ホストへ「私のMACアドレスは○○ですよ」なんて返答があります。
この動作を利用することにより、同一ネットワーク間でのIPアドレス重複チェックに用いられるのです。
 
二つ目の用途として、他のホストのキャッシュエントリ(ARPテーブル)更新を促すためのパケットと言う使い方を挙げることが出来ます。
ホストはキャッシュに既に存在するIPアドレスからARPリクエストを受信した際に、自身の(そのIPアドレスに関する)キャッシュエントリを更新すると言う機能を持っています。
このため、ネットワーク上の他のホストに対してARPテーブルを更新するよう通知するために送信されるのです。

tcpip8202.jpg

Gratuitous ARP http://net-juku.org/tcpip/tcpip82.html

リンク

ARP
VRRP


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS