第26回 レイヤ3 ARP


4つのアドレス・おさらいのおさらい

送信先のMACアドレスの入手方法はNICを取
り付けた段階で分かる

送信先のIPアドレスは主に2種類あり、「静
的」「動的」がある。「静的IPアドレス」は
管理者によって教えてもらうアドレスで、「
動的IPアドレス」はDHCPによって自動で割
り振られるアドレスである。

残りは「宛先MACアドレス」「宛先IPアドレ
ス」。つまり、相手のアドレスを知る手段と
なる。今回は、宛先MACアドレスを知るため
のARPというプロトコルの説明を行う。

アドレス解決プロトコル

宛先MACアドレスを知る方法として、「ARP
(アープ)」がある。アドレス解決プロトコル
と呼ばれ、「宛先MACアドレスが分からない
」状態を「解決」してくれるプロトコル。

「ARP」は、宛先のIPアドレスが決定した時
点で実行される。

ーーーー「ARPが実行されるまでの流れ」ーーーー
ユーザー:「ワンピース」とネットに検索する
※ページの場所を探す
↓
PC:DNSが起動し、サーバーのIPアドレスを教えてもらう。
※この時点で、宛先のIPアドレス、
 送信元のMACアドレス、送信元のIPアドレスが分かっている
↓
ARP実行
ーーーーーーーーーーーーーーーーーーーーーーーーーーー

ARPテーブル

宛先IPアドレスが決定した時点で、宛先
MACアドレスを知るためにARPテーブル
を参照する。

ARPテーブルには、IPアドレスとMACアド
レスの対応表がありそれによって、決定す
る。

上記がそれにあたり、「IPアドレス」「IPア
ドレスのホストのMACアドレス」「ARPのエ
ントリのタイプ」が分かる。

宛先IPアドレスが「192.168.0.1」なら宛先MAC
アドレスは「00-40-f4-1a-02」

※cmdによって、自身のアドレス表を算出

C:\>arp -a 
インターフェイス: 192.168.11.7 --- 0x6 
  インターネット アドレス 物理アドレス           種類 
  192.168.11.1          58-27-8c-1a-6a-e0     動的 
  192.168.11.2          82-50-77-30-68-ca     動的 
  192.168.11.255        ff-ff-ff-ff-ff-ff     静的 
  224.0.0.22            01-00-5e-00-00-16     静的 
  224.0.0.251           01-00-5e-00-00-fb     静的 
  224.0.0.252           01-00-5e-00-00-fc     静的 
  239.255.255.250       01-00-5e-7f-ff-fa     静的 
  255.255.255.255       ff-ff-ff-ff-ff-ff     静的 
インターフェイス: 172.20.32.1 --- 0x41 
  インターネット アドレス 物理アドレス           種類 
  172.20.47.255         ff-ff-ff-ff-ff-ff     静的 
  224.0.0.22            01-00-5e-00-00-16     静的 
  224.0.0.251           01-00-5e-00-00-fb     静的 
  239.255.255.250       01-00-5e-7f-ff-fa     静的

上記に宛先IPアドレスがあれば、自動的に宛先
MACアドレスが分かる。ただ、その参照表にな
い場合は、自身で付け加える必要がある。

その時に、「IPアドレスのホスト、MACアドレ
スを教えて」と聞き、ARPテーブルに乗せる。
この「教えて」という動作を「ARP要求」とい
う。

ARP要求&ARP応答

ARPはレイヤ3のプロトコルで、ARP要求は
IPを使わない。

IPの代わりにARPでデータの転送を行う。
(IPパケットの代わりに、ARPパケットを使う)

ARPパケットはそれ自体がデータであり、
上のレイヤのプロトコルを使わない。
(IPのように上のレイヤからセグメントをもらい、
パケットにするということをしない)

実際のARPの動きとして、

・宛先にデータを転送しようとして、宛先IPアドレスがわかった後。 
1.ARPテーブルを参照し、宛先IPアドレスに対応するMACアドレスがあるかどうか調べる。 
2.なければARP要求をブロードキャスト送信する。 
3.ARP要求を受け取った各ホストは、ARPパケットの中の宛先IPアドレスと自分のIPアドレスを比較する。 
 →一致しなければ、無視。 
 →一致した場合、ARP応答を送信。 
4.ARP応答を受け取った(ARP要求を送った)ホストは、ARPテーブルにそのMACアドレスを追加する。 
・4つのアドレスがそろい、宛先へのデータ転送が可能になる。
バイト 名前 意味
4 アドレスタイプ アドレスの方式を表す
2 アドレス長 アドレスの長さを示す
2 オペレーションコード 要求か応答かを示す
6 送信元MACアドレス 送信元のMACアドレス
4 送信元IPアドレス 送信元のIPアドレス
6 宛先MACアドレス 宛先のMACアドレス
4 宛先IPアドレス 宛先のIPアドレス
[Table26-01:ARPパケット]

ARPはあまり多発させないほうがよく、理由
としては、ブロードキャスト送信であるから

スイッチやブリッジのデバイスではブロード
キャストをフィルタリングできず、トラフィ
ックに影響を及ぼしやすい。

ブロードキャストを多発しすぎるとネットワ
ーク全体が通信不能となる。
(=ブロードキャスト・ストームという)

参照URL:
3分間ネットワーキング