(O+P)ut

ITエンジニアのアウトプット録

【入門】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の役割は分かりやすいです。IPアドレスは知っているものの、そのIPもMACアドレスが分からない。
よって、IPアドレスの持ち主を問い合わせ、持ち主からMACアドレスの返答を受ける。

ところが、GARPの役割は少し分かりにくいです。
なぜならGARPを出す機器は当然自分のMACアドレスを知っています

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

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

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

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

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

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

そのために、自分が名乗りたいIPアドレスの持ち主は自分なので、自分のMACアドレスをブロードキャストで通知します。
それを受け取ったほかのデバイスは、そのIP宛の通信はセカンダリ側にパケットを転送する、ということです。

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

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










スポンサーリンク4選
スポンサーリンク