ARPによるアドレス解決
ARP(Address Resolution Protocol)は、同一のネットワーク上で、IPv4アドレスに対応するMACアドレスを調べるためのプロトコルである。IPv4で通信する端末は、宛先のIPアドレスが分かっていても、フレームを届けるには相手のMACアドレスが必要になる。ARPはその橋渡しを行い、得られた対応関係を一定時間キャッシュに保存する。本単元では、ARPの基本動作、経路制御との関係、障害切り分けでの使い方、試験で問われやすい区別を整理する。
基本動作とARPテーブル
端末は、宛先のIPv4アドレスに対応するMACアドレスが分からないとき、ARP要求を同一リンク内へブロードキャストする。要求を受け取った端末のうち、該当するIPv4アドレスをもつ端末だけがARP応答を返し、自分のMACアドレスを知らせる。取得した対応関係はARPテーブル(ARPキャッシュ)に保存され、次回以降の通信で再利用される。
ARPはIPv4アドレスからMACアドレスを得るプロトコルであり、誤り通知やIPアドレスの割当ては行わない。 同じ内容は、別の年度の出題でも確認されている。
経路制御との関係と宛先MACの決まり方
ARPは同一リンク上でのみ機能する。宛先が別のネットワークにある場合、送信元は宛先IPアドレスに対応するMACアドレスを直接調べるのではなく、ルーティングで決まった次ホップ(通常はデフォルトゲートウェイ)のMACアドレスを解決する。この結果、フレームの宛先MACアドレスは中継先のルータを指し、IPデータグラムの宛先IPアドレスは最終的な通信相手のまま変わらない。
ルータも同様に、ネットワークを越えて転送する際には、転送先の端末のMACアドレスをARPで解決する。 プロキシARPが設定されていない場合は、宛先端末自身がARP応答を返す。プロキシARPが有効になっていると、ルータが端末に代わって応答することがある点も押さえておく。
実際の場面:コマンドと障害切り分け
ARPテーブルはarpコマンドで確認できる。同一LAN上のプリンタのIPアドレスが分かっていて、そのMACアドレスを調べたい場合は、arp -a を実行して一覧から該当するIPアドレスの行を探す。 直前に通信した相手の対応関係はキャッシュに残っている可能性が高いため、この方法で確認しやすい。
この節の続き
- 特殊な使い方(Gratuitous ARP)
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む