ARP
こんにちは。cloudpackの猪井です。今日はARPについてです。
ARP
ARP(アープ)とは、IPアドレスからMACアドレスを求めるためのプロトコルです。
コンピュータがデータを送信するとき、送信先のIPアドレスがわかっていてもMACアドレスがわからなければ通信できません。ARPでMACアドレスを得る必要があります。
ARPリクエスト
どのように調べるのかというと、MACアドレスのブロードキャストアドレスを使ってARPリクエストを行います。
MACアドレスにもブロードキャストアドレスが存在します。すべてのビットが1なので、16進数に直すとFF:FF:FF:FF:FF:FFとなります。
このARPリクエストのパケットの中には送信元(コンピュータA)のIPアドレスとMACアドレス、送信先(コンピュータB)のIPアドレスが書いてあります。そしてブロードキャストアドレスによって、同じグループ内のすべてのコンピュータにARPリクエストが送られます。
ARPリプライ
指定されたIPアドレスを持つコンピュータBは、コンピュータBのMACアドレス情報を通知するARPリプライをコンピュータAに送ります。
その他のコンピュータはコンピュータAのARPリクエストに応答しません。
これにより、送信元コンピュータAは送信先コンピュータBのMACアドレスを知ることができ、同じLANの中で通信することが出来ます。
ARPテーブル
また、このIPアドレスとMACアドレスの対応はARPテーブルに保存されます(キャッシュされる)。以降のデータ通信はARPテーブルを参照して送信されます。
ただ、このARPテーブルは定期的にキャッシュがクリアされて書き直しが行われます。