▼ARP(Address Resolution Protocol)とは
ネットワークのIPアドレスをMACアドレスに変換することができるプロトコルです。
▼前提:
ネットワークにあるデバイスにはIPアドレスとMACアドレスを持っています。
IPアドレスはネットワーク上の位置で変動する場合がありますが、
MACアドレスは物理アドレスなので不変です。
▼必要性:
[1].ネットワーク上でデータを送信する際、送信元デバイスは宛先デバイスのIPアドレスを知っているが、MACアドレスは知らない場合
⇒ARPでMACアドレスを取得する
[2].ネットワーク通信の効率化
⇒ARPテーブルにIPアドレスとMACアドレスの対応が登録されることで、再度ARPリクエストを送信する必要がなく通信が迅速になる。
[3].トラブルシューティング支援
⇒ARPテーブル確認して、デバイスのMACアドレス特定ができる
・データリンク層(L2)とネットワーク層(L3)の橋渡し
⇒データリンク層はMACアドレスを使用し、ネットワーク層はIPアドレスを使用するため、これらの層間での通信を可能にします。
例:スイッチとルータ間の通信
⇒ネットワーク層でIPアドレスを使用し、データリンク層でMACアドレスを使用して行われる。
⇒ルータはIPアドレスを基にパケットをルーティングし、スイッチはMACアドレスを基にフレームを転送します。
⇒MACアドレスが分からない場合、ARPで特定します
▼ARP動作流れ
ARPリクエスト(要求)、ARPレスポンス(応答)という2種類のデータを送信しあって、MACアドレスを取得します。
例:特定のデバイスにあるMACアドレスを知りたい場合流れ
①ARPリクエストをネットワーク上にブロードキャスト(1対多数)する。
②ARPリクエスト通りのIPアドレスを持つデバイスが受信した場合、自身のMACアドレスをARPパケット内に入れてARPレスポンスで返す。
※ARPレスポンスはユニキャスト(1対1)通信です
※一致しないデバイスは何も応答されない
③受信したARP内容はARPテーブルに保存されます
※登録されれば何回も問い合わせ不要となる
~おまけ~
ネットワーク構成には、ルータ、L2スイッチ、L3スイッチ、アクセポイント(AP)のネットワーク機器が主に利用されますのでARP必要可否を分けました。
・L2スイッチ、アクセスポイント:ARP登録不要
⇒通信ではARP登録不要となります。
⇒基本はレイヤ2デバイスでありMACアドレスをもとにパケット転送するため
・ルータ、L3スイッチ:ARP登録必要
⇒L3スイッチはIPアドレスを使用してルーティングを行うため、ARPテーブルが必要です。
⇒ルータはL3で動作しIPアドレスを基にパケットルーティングするため、ARPテーブルが必要です。
・L2:データリンク層
MACアドレスの通信なので異なるネットワーク間は通信不可
・L3:ネットワーク層
IPアドレスで通信、異なるネットワークで通信可能
ARP登録必要