- PR -

ARPのふしぎ

1
投稿者投稿内容
トーヤ
ベテラン
会議室デビュー日: 2003/06/12
投稿数: 63
投稿日時: 2004-07-26 13:23
トーヤです。皆さんこんにちは。

私、Gratuitous ARPに疑問を抱いています。

これは、仮想IPアドレスをプライマリ障害時にセカンダリに引き継ぎ、
それに対応するMACアドレスがセカンダリのものになったことをLAN上の
ホストに通知するものだと思います。
RFC2002より、Gratuitous ARPはARP要求パケットでもARP応答パケットでも
送れるとなっていました。

ただ、ここで疑問なのが、ARP要求パケットを使った場合です。
通常、ARP要求をブロードキャストされても、自分とは関係ないARP要求だったら
他のホストはそれを無視すると思います。(で、自分と関係のあるホストだけが
ARP応答をユニキャストする)
だったら、Gratuitous ARPをARP要求パケットで行ったら、同じ動き(他の
ホストはそれを無視)をするのではないでしょうか?なのにGratuitous ARPだったら
LAN上のホストがすべてARPテーブルを書き換えるようです。

ARP応答ならば分かります。ARP応答のフラグがたっていて、しかもそれが
ブロードキャストだったら、普通のARP応答ではないと分かりますもの。

ARP要求パケットのどこかに「オレはGratuitous ARPのパケットじゃ!」っていう情報が
あるのでしょうか・・・?
ご存知の方、いらっしゃいましたらご教示ください!!お願いしまーす。
でくのぼう
大ベテラン
会議室デビュー日: 2003/10/06
投稿数: 162
投稿日時: 2004-07-26 22:11
Gratuitous ARPというのは、ARPパケットを特殊な目的で使用しているもの
と考えると理解しやすいかと思います。

引用:

ただ、ここで疑問なのが、ARP要求パケットを使った場合です。
通常、ARP要求をブロードキャストされても、自分とは関係ないARP要求だったら
他のホストはそれを無視すると思います。(で、自分と関係のあるホストだけが
ARP応答をユニキャストする)



大抵のノードは、ARP要求パケットを受け取ると、自分宛てでなければ
返答せずに無視しますが、ここですぐに廃棄するわけではありません。
この中身を覗いてみて、該当する自分のARPテーブルを更新してから
捨てるように実装されているはずです。

Gratuitous ARPは、この特性を利用しているものなんですね。
トーヤ
ベテラン
会議室デビュー日: 2003/06/12
投稿数: 63
投稿日時: 2004-07-27 09:30
でくのぼうさん、おはようございます!ご回答ありがとうございます!

そうだったんですね!完全に私、無知でした。。。。
(なんとなく、ARPヘッダに違いがあるものだって勝手に決め付けてしまってました)

ご親切にありがとうございました!!またよろしくお願い致します。
トーヤ
ベテラン
会議室デビュー日: 2003/06/12
投稿数: 63
投稿日時: 2004-07-27 12:26
ゴメンナサイ、トーヤです。
また疑問が浮かびました。。。。

例えばP(プライマリ)からS(セカンダリ)に引継ぎが発生し、
仮想IPアドレスに対するMACアドレスがPmからSmに変わったとします。
それをLAN上のホストに通知する場合、SからGratuitous ARPのARPパケットが
ブロードキャストされると思うのですが、それはおそらく(推測です)

[MACヘッダ]
Source MAC: Sm
Dest MAC: オール1

[ARPメッセージ]
Source IP : S
Source MAC: Sm
Target IP : 仮想IPアドレス
Target MAC: オール0

になるのかな?って思いました。

この推測だと、LAN上のARPテーブルは何をもとに既存のエントリを
更新するのかが分からなかったデス。。。すみません。

ひょっとしたら、[ARPメッセージ]内のSource IPも「仮想IPアドレス」に
なるのでしょうか?それだと「仮想IPアドレス」に対するMACアドレスが
Smだってみんなに公表できるのかな・・・って思いました。
実際のところはいかがなのでしょうか??

できれば実機でGratuitous ARPを発生させてみて確認したかったのですが
(Solarisならばそれが可能だったのですが)、今は異動でSolarisが使えなく
なり、Windowsだとどうやればテストできるか分からなかったため・・・・・
教えてください!お願いしまぁす。
でくのぼう
大ベテラン
会議室デビュー日: 2003/10/06
投稿数: 162
投稿日時: 2004-07-27 16:45
引用:

ひょっとしたら、[ARPメッセージ]内のSource IPも「仮想IPアドレス」に
なるのでしょうか?



そのとおりです。

Gratuitous ARPにARP要求パケットを使う場合は、通知元ノードは
「自分宛てのARP要求」を全ノードに対して発行します。

Google あたりで「Gratuitous ARP 仮想IP 要求 応答」をキーワードに
検索すると、このあたりの挙動を細かく説明しているサイトが見つかります。
おそらく私の拙い説明よりもわかりやすいと思いますので、時間のある時にでも
覗いてみてください。

ではでは。
トーヤ
ベテラン
会議室デビュー日: 2003/06/12
投稿数: 63
投稿日時: 2004-07-27 17:11
でくのぼうさん、ありがとうございます!

> Google あたりで「Gratuitous ARP 仮想IP 要求 応答」をキーワードに
> 検索すると、このあたりの挙動を細かく説明しているサイトが見つかります。
> おそらく私の拙い説明よりもわかりやすいと思いますので、時間のある時にでも
> 覗いてみてください。

とんでもないです、質問してよかったと感謝いたしております!
さっそく、Google で検索して知識を煮詰めたいと思います。

ありがとうございました!
1

スキルアップ/キャリアアップ(JOB@IT)