【ネスペ対策】【ARP】ARP/GARP/RARPについて

はじめに

お世話になります、hosochinです
今回はIPAのネットワークスペシャリスト対策ってことでARPについてです

ARPとは

ARP = Address Resolution Protocol はIPアドレスからMACアドレスを取得するプロトコルです

例をあげてみます
PC1からPC2に通信したいとします
PC1は送信先のIPアドレスが分かっていますが、イーサネットフレームを送信するにはMACアドレスが必要になります
そこでPC1はARP要求を行い、PC2のMACアドレスを調べます

ARPテーブルについて

上記の図でARPの概要が掴めたかと思いますが、通信の度にARPするのはイケてないですよね
そこで登場するのが「ARPテーブル」です
1度行ったARPは各PCのARPテーブルというテーブルにキャッシュされます
2回目以降の通信はARPテーブルを参照することで、毎度ARPしなくても通信できるようになります
ちなみにARPテーブルの状態は、PCのコマンドプロンプトを開いて「arp -a」と実行すると確認できます
また、ARPテーブルの情報は一定時間経つと削除されます
PCの入れ替えなどで、古い情報がいつまでも残っていると、通信ができなくなるので定期的にリセットしてます

GARPについて

GARP = Gratuitous ARP はARPの1種で、自分自身のIPアドレスに対するARPのことです


GARPの役割は主に2つあります

1. 自分自身に設定するIPアドレスが重複していないかを検出
2. 同一セグメント上の機器のARPテーブルを更新する

1. 自分自身に設定するIPアドレスが重複していないかを検出

同一セグメント上に自分自身のIPアドレスが既に使われていないかを確認できます
GARPに応答が返ってきた場合、自身のIPアドレスが同一セグメント上に存在しているということが分かります

2. 同一セグメント上の機器のARPテーブルを更新する

GARPは自分自身のIPアドレス/MACアドレスを他の機器に通知することができます
GARPを受け取った機器は、送信元のIPアドレス/MACアドレスを見てARPテーブルを更新します
このため、VRRPなどで切り替わりが発生した場合など、自分自身のMACアドレスに変更があった場合にGARPを送ることで、すぐに他の機器と通信が可能になります
ちなみにこの部分は過去問の穴埋め問題で出題されていました

(VRRPの)マスタルータが故障した際には、新しくマスタになったルータが [ 穴埋め:回答はGARP ] パケットをブロードキャストすることによってL2SWのMACアドレステーブルを更新する

ネットワークスペシャリスト 令和元年/午後1/問1

RARPについて

RARP = Reverse ARP はARPの逆で、MACアドレスからIPアドレスを取得したい場合に使われます
例えばプリンタなどの小型の組込機器をネットワークに接続したい場合などに使われます