ARP(Address Resolution Protocol) とは – 概要と基本動作

ネットワークのきほん

イーサネットでは OSI 参照モデルのデータリンク層に ARP を使用します。機器はデータを送信する前に、同一ネットワークの通信相手を識別するために MAC アドレスを知る必要があるため、ARP というプロトコルにより知りたい相手の MAC アドレスを解決する仕組みを提供します。

ARP のリクエスト(要求)とリプライ(応答) -基本動作

イーサネットで、データをやりとりする場合には、送信元と宛先の MAC アドレスの情報が必要です。

データリンク層ではこれをフレームと呼びます。イーサネットフレームや MAC フレームとも呼ばれることもあります。

ARP フレーム の フォーマット

データを送信する前に、宛先となる端末の MAC アドレスを知る必要があります。この時に宛先 IP アドレスに対応する MAC アドレスを問い合わせて調べるためのプロトコルが ARP です。

ARP は、MACアドレスを要求する「ARP リクエスト」と、要求に対して応答する「ARP リプライ」から成り立つ仕組みです。

ARPリクエスト (ARP要求)

ARP は 、 IP アドレスからMACアドレスを解決するプロトコルです。

まず、ARP リクエストする機器は宛先のMACアドレス情報を得るために、リクエストの中に IP アドレスの情報を付与して問い合わせをおこないます。

しかし、その際どのMACアドレス宛に送ればよいのかわからないため、自身と同一のネットワーク全体に配信するフレームのブロードキャスト(一対多通信)により問い合わせをおこないます。

イーサネット - ARP リクエスト例

ARP リプライ(ARP応答)

ARP で要求された IP アドレスが自身の IP アドレスとは異なる場合は、応答せずにそのまま破棄しますが、自身の IP アドレスと一致した場合は、MAC アドレスを知らせるために送信元へ応答を返します。

応答は送信元 MACアドレスへ返信するので、ブロードキャストではなくユニキャスト(一対一通信)が使用されます。(ただし、ネットワーク機器がスイッチではなく ハブの ようにMACアドレスによる宛先選択をしない場合は結果的につながる機器全体へ配信されます。)

イーサネット - ARP リプライ例

宛先 IP アドレスが同一ネットワークではない場合は、ゲートウェイと呼ばれる異なるネットワークと接続しているルーターへ ARP リクエストをおこないルーターが自身の MAC アドレスで応答します。

PC などの端末ではデフォルトゲートウェイとして設定している IP アドレスがそのルーターに該当します。

イーサネット - ARP リプライ例
ルーターが代わりにARPリプライを返すことで、異なるネットワーク宛のデータはルーターに送信されるようになる。

ARPテーブルへの記録

ARP によって得られた情報は、自動的にARPテーブルと呼ばれる IP アドレスと MAC アドレスの対応表に記録されていきます。

MACアドレス - ARP テーブルへの記録例

ARP テーブルに記録されると、再度同じ宛先に送る場合に、ARP により解決する必要がなくなり、次回より素早く通信を開始することが可能になります。

ただし、MAC アドレスと IP アドレスの対応は永久に同じではなく変更される可能性があるため、ARP テーブルに記録されても一定時間経過後には削除する仕組みになっています。

参考リンク

OSI参照モデルとは – 7つのレイヤー(層)と役割

IPアドレス(IP Address)とは – 概要と基本の形

MAC アドレスとは – 概要とイーサネットで利用する目的


コメント

タイトルとURLをコピーしました