search
LoginSignup
0
Help us understand the problem. What are the problem?

posted at

第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アド
レスの対応表がありそれによって、決定す
る。

image.png

上記がそれにあたり、「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のように上のレイヤからセグメントをもらい、
パケットにするということをしない)

image.png

実際の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分間ネットワーキング

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0
Help us understand the problem. What are the problem?