(O+P)ut

(O+P)ut

(O+P)ut = OutPut

【超絶入門】GARPとARPの違い

本記事では、GARPとARPの違いについて解説します。よく似ているので混同しがちですが、役割の違いを意識すれば理解しやすいと思いますのでご参考ください。

そもそもARPとは?

ARPAddress Resolution Protocolの略で、IPアドレスに対応したMACアドレスをネットワーク上のホストに対して問い合わせを行うプロトコルです。ARPによって判明したMACアドレスIPアドレスに関連付けられ、ARPテーブルキャッシュされます。

本題>>GARPとARPの違い

GARPはGratuitous*1 ARPの略で、ARPの一つです。用いるパケットも同じです。

では、何が違うのでしょうか。




一言で言えば、

ARPは通信したい相手のIPに対して問い合わせを行うのに対して、GARPは自分自身のIPに対して問い合わせを行います



もう少し説明します。

ARPの役割は分かりやすいですが、GARPの役割は少し分かりにくいです。
というのも、GARPを出す機器は当然自分のMACアドレスを知っていますよね。


意味のなさそうに見えるGARPの役割は大きく二つあります。ちゃんと意味があります。

1. 同一ネットワーク内のIPアドレスの重複を判定

自分のIPアドレスARPの問い合わせを行った際にネットワーク内から返信があれば、それはIPアドレスの重複として検知可能です。


2. 同一ネットワーク内のARPキャッシュを更新

言い換えれば、自分のMACアドレスIPアドレスが変更になった場合などにそれを他のホストに通知することが可能です。バイスによっては数分間情報がキャッシュされることもあるため、GARPを送信して更新するという流れです。

具体例としては、冗長構成を取っているファイアウォールのプライマリ側が落ちた場合などに、セカンダリIPアドレスを引き継いだとしても周りの機器はそのIPに対応するMACアドレスはプライマリ側と思っているのでそれを改める必要があるのです。

以上、ご参考になれば幸いです。

*1:gratuitous:理由のない,不必要な