ARP と DAD と GARP の関係について

スポンサーリンク

パケットトレースを確認する上で重要なところなのですが、

意外に解説しているページがなかったので、説明してみようと思います。

まずはそれぞれの概要ですが、

■ARP とは

ARP(Address Resolution Protocol)は、
IPアドレスから Ethernet の MACアドレスの情報を得られるプロトコルです。

■ GARP とは

GARP(GratuitousARP)は ARP パケットの1つであり、以下の役割を持っています。

自身の IPアドレスと MACアドレスの組み合わせをネットワーク上に周知させ、
同一セグメントのネットワーク機器上の ARP キャッシュを更新させる

■ DAD とは

DAD(Duplicate Address Detection)も ARP パケットの1つであり、
以下の役割を持っています。

自分自身に設定されている IPアドレスが同一ネットワーク上で重複していないかどうかを検出する

上記からわかるように GARP と DAD は ARP の一つなんですね。

では具体的に ARP/GARP/DAD をパケットトレースから
どうやって見分けるのでしょうか。

特に GARP と DAD の見分け方はややこしいです。

ポイントは以下の4点です。

” 送信元IPアドレス
” 送信元MACアドレス
” 送信先IPアドレス
” 送信先MACアドレス

■ ARP パケットについて

例えば 192.168.0.1 の端末が 192.168.0.4 にパケットを送信したいとき、
192.168.0.4 に対応する MAC アドレスを知るために、送信元端末(192.168.0.1)から
ARPを送信します。

パケットの中身は以下のようになっています。

” 送信元IPアドレス  :192.168.0.1
” 送信元MACアドレス  :00:00:00_AA:AA:AA
” 送信先IPアドレス  :192.168.0.4
” 送信先MACアドレス  :00:00:00_00:00:00

送信先MACアドレスが 00:00:00_00:00:00 になっていることから、
ARP はネットワーク上にブロードキャストで送信していることがわかりますね。

そして上記パケットを受け取った端末のうち、
192.168.0.4 の IP アドレスを持つ端末が返信するわけです。
「私が 192.168.0.4 の IP アドレスを持つ者だ!」と…
実際には以下のようなARPパケットを返信します。

” 送信元IPアドレス  :192.168.0.4
” 送信元MACアドレス :00:00:00_DD:DD:DD
” 送信先IPアドレス  :192.168.0.1
” 送信先MACアドレス :00:00:00_AA:AA:AA

■ GARP パケットについて

「自身のIPアドレスとMACアドレスの組み合わせをネットワーク上に周知させる」
役割を持つと記載していますが、イメージしやすいようわかりやすく言うと、
「このIPアドレスは、、俺だ俺だ俺だー!!」と全員に伝えている感じですね。
例えば 00:00:00_AA:AA:AA の MAC アドレスを持つ端末が
192.168.0.1 は俺だ俺だ俺だー!!と叫ぶケース

パケットの中身は以下のようになっています

” 送信元IPアドレス  :192.168.0.1
” 送信元MACアドレス :00:00:00_AA:AA:AA
” 送信先IPアドレス  :192.168.0.1
” 送信先MACアドレス :00:00:00_00:00:00

そして GARP を受けたネットワーク機器はARPキャッシュテーブルを
更新するわけですね。

■ DAD パケットについて

「自分自身に設定されているIPアドレスが同一ネットワーク上で重複していないかどうか」
確認するということなので、イメージとして GARP よりも控えめです。
「このIPアドレスいないよね..??」という感じで全員に確認する感じです。
例えば 00:00:00_AA:AA:AA の MAC アドレスを持つ端末が
「192.168.0.1 使いたいんだけど、ネットワーク上に 192.168.0.1 いないよね..?」
と確認するケース

パケットの中身は以下のようになっています

” 送信元IPアドレス  :0.0.0.0
” 送信元MACアドレス :00:00:00_AA:AA:AA
” 送信先IPアドレス  :192.168.0.1
” 送信先MACアドレス :00:00:00_00:00:00

GARP と比較すると、送信元IPアドレスが 0.0.0.0 になっている点で、
自身の IP を確定していないことがわかりますね。
仮にネットワーク上に 192.168.0.1 が居る場合には、
この DAD に返信が帰ってきます。
返信がないことを確認できると、192.168.0.1 でイケると確信に変わるんですね。

Comments

タイトルとURLをコピーしました