[[ネットワーク用語]] > GARP

* GARP [#l4e408bb]

GARP = Gratuitous Address Resolution Protocol

[[Gratuitous ARP - Wikipedia>http://ja.wikipedia.org/wiki/Gratuitous_ARP]]
>Gratuitous ARPは[[ARP]]パケットの一つであり、主としてホストに[[IPアドレス]]がアサインされる際に&color(red){他のホストがすでに同じ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を返送する。そのため、この &color(red){Gratuitous ARPに対する返信の有無でIPアドレスの重複を確認することができる};。
 
また、[[VRRP]]やMobile IPでもGratuitous ARPが使用されるが、これはIPアドレスの重複確認ではなく同一セグメント上のネットワーク機器上の&color(red){ARPキャッシュやL3テーブルを更新する};ことでIPアドレスと機器の対応関係の更新を強制的におこなわせることを目的としている。
 
なお、Gratuitous ARPではARPパケットのOperation フィールドにARP RequestとARP Replyのいずれも用いることができるが、アドレス重複確認を目的としてGratuitous ARPを使用する際にはARP Requestが用いられることが多い。

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

CENTER:&ref(tcpip8202.jpg);
>Gratuitous ARP http://net-juku.org/tcpip/tcpip82.html

** リンク [#c17ffab2]
[[ARP]]
[[GARP]]
[[VRRP]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS