ARP(Address Resolution Protocol)はLAN内においてIPアドレスから対応するMACアドレスに接続する時に使用されるプロトコルです。
PCのOSやルータなどのファームウェアに機能として実装されています。
具体的に何を行なっているか?
ネットワーク上のPC、プリンタ、ルータなどのハードウェアが互いに通信を開始する際にはARPが使われMACアドレスを使って通信を開始します。
またデータパケット送信の際も同様にMACアドレスを取得してから送信を行います。
ARPはネットワークセキュリティにも使えます
ネットワーク上のデバイスを監視することができ、不審な活動(ARPスプーフィング攻撃)を検出することもできます。
RARP(Reverse Address Resolution Protocol)とは
RARP(Reverse Address Resolution Protocol)とはARPの逆で、MACアドレスから対応するIPを取得するときに使用するプロトコルです。
ただ現在はほとんど使われておらずDHCPがその役割を担っています。
ARPはIPv4でのみ使用される
ARPはIPv4でのみ使用されるプロトコルです。IPv6はICMPv6の近隣探索メッセージというものが利用されるとのことでした。
具体的な動き
ARP要求パケットとARP応答パケットを使用して通信相手を探すという動きをします。
ホストAがホストBと通信したい場合はホストAがARP要求パケットをブロードキャストします。この時ホストBが同一リンク上に存在すれば、まずホストAのMACアドレスがホストBに伝わります。そしてARP応答パケットがホストBから返信され、このパケットにホストBのMACアドレスが含まれていて機器を特定できるという仕組みになります。
この時のブロードキャストはUDPではなくEthernetブロードキャストアドレスを利用して送信されます。
ARPキャッシュ
ARPキャッシュは通常数分間です。OSによってその仕様は変わるようです。
通信トラブルの原因になることも!?
IPアドレスを設定した直後を考えてみましょう。この状況の場合ARPが記憶したキャッシュデータと実際のIPアドレスが食い違うという状況が起こります。この時通信ができなくなるというトラブルが発生します。「ARPキャッシュというものがある」「キャッシュされる時間は数分間(OSによって異なる)ある」ということを覚えておくと通信エラーの解消につながるかもしれません。「よくわからないけど数分経ったら直った」という場合にも該当しそうですね。
コメントを残す