0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ARPとは

Last updated at Posted at 2023-01-19

ARPがどのタイミングで使われ、何の目的で使われるのかを具体的に知りたい

ARP(Address Resolution Protocol)は、IPアドレスからネットワーク上のMACアドレスを求めるためのプロトコル。「アープ」と呼ばれる。

 イーサネット上の機器間の物理的な通信では、IPアドレスではなく、機器固有のMACアドレスという物理アドレスが使われる。そこでIPアドレスから宛先のMACアドレスを調べる処理が必要になる。

どのような振る舞いをするか

・データの送信側のコンピューターは宛先IPアドレスのMACアドレスを問い合わせるARPリクエストを、セグメントのコンピューターにブロードキャストする。
・このリクエストに対して、指定されたIPアドレスを持っているコンピューターはMACアドレスを送信側に通知する(ARPリプライ)。
・これにより送信元はMACアドレスを入手し、イーサネット上で通信が可能になる。

 この手順を都度行っているとネットワークがARPの通信で占拠されてしまう。そこで各マシンがそれぞれIPアドレスとMACアドレスの対応を記録したARPテーブルを持ち、それを参照して送信する。またMACアドレスは変わらないが、IPアドレスはしばしば変更されることがあるため、ARPテーブルは一定時間が経つとクリアされ、できるだけ最新の状態を保つ工夫がされている。

データリンク層ではMACアドレスを使って通信されるのか。
各マシンがARPテーブルを持っているらしい。どんな機械が持っているのだろうか?

使われる場面

イーサネットのハードネット同士は、MACアドレスにより通信相手を指定しますが、TCP/IPの通信では相手の指定にIPアドレスを使います。つまり、この両者を対応づける仕組みが必要です。IPパケットを相手に届けるため、コンピューターはIPアドレスの中のネットワークアドレスを見て、その転送先を決定します。このとき、転送先のネットワークアドレスが自分のものと同じであれば、その相手は自分と同じネットワークにあり、物理的にイーサネットなどで繋がっていると判断できます。こう判断できたら、コンピューターは続いてIPアドレスからMACアドレスを導き出す動作を実行します。また、相手の別のネットワークにある場合は、そのIPパケットを次のルーターに引き渡さなければなりません。この時は、ルーターのIPアドレスからMACアドレスを得る必要があります。これらの動作にARPと呼ばれるプロトコルが使われます。ARPによりIPアドレスからMACアドレスを得た後は、コンピューターはそのMACアドレスを宛先に指定したイーサネットフレームを使って、IPパケットを相手コンピューターに送り届けます。

イーサネットフレーム内のIPアドレスを見て同じネットワークかどうかを判断。
ARPによりipアドレスに紐づいているmacアドレスを照し、目的のコンピューターへ送る

同じネットワーク内なら直接MACアドレスを使って通信すればいいかなと思うが、その場合相手のMACアドレスを知っておく必要がある。

まずは全体からどのLANなのかを調べる必要があるのかな。

動作概要

ARPにはブロードキャストが使われています。IPアドレスをMACアドレスに変換したいコンピューターは、ネットワークに対して「IPアドレス ***.***.***.***を使っているコンピューターはありませんか?」との問い合わせをブロードキャストします。これをARPリクエストといいます。ブロードキャストなので、ARPリクエストは物理的に繋がっている全コンピューターに届きます。各コンピューターはそれを自分のIPアドレスと比較して異なっていれば無視します。一方、同じIPアドレスを使っているコンピューターは、自分が使っている旨を返答します。これをARPリプライと言います。ARPリプライは、ARPリクエストを発したコンピューターに向けて直接返送します。この時、送信元アドレスに自分のMACアドレスが入るため、相手は応答したコンピューターのMACアドレスを知ることができます。

ARPリクエストを送るたびにLAN上でブロードキャストをするのか。
ARPを記憶するテーブルはどのように記憶されるのだろうか?

わざわざ対応表で調べなくても送り元のMACテーブルは記憶されていないのか?
IPアドレスを一つ噛ませなくてもよさそうだけどな。

感想

とりあえずIPパケットを送信するためにARPを使うのか。
まだまだ知らないことがたくさんある。

↓は編集前書いていたものです。

ARP(Addless Resolution Protcol)

IPアドレスとMACアドレスの関連付けを行う。

MACアドレスとは?

p44 コンピュータのNIC(Network Interface Card)に焼き付けられている物理的なアドレス

ARPの処理の流れ

同じネットワークにいるコンピュータのものだったら、そのIPアドレスをARPに問い合わせ(ARPリクエスト)
、その応答結果(ARPリプライ)をARPテーブルと呼ばれるメモリ上のテーブルに登録し、その情報をもとにフレームを作ります。

また異なるネットワークに求めるIPアドレスだった場合は、デフォルトゲートウェイのMACアドレスをARPで問い合わせてフレームを作成する。

出典

ARPの動作概要

ARPにはブロードキャストが使われています。
IPアドレスをMACアドレスに変換したいコンピュータは、ネットワークに対して任意のIPアドレスがあるか問い合わせ行う。
その際にブロードキャストを行う。これをARPリクエストという。

その中からそのIPアドレスを持つコンピュータから返答が返ってくる。これをARPリプライという。
ARPリプライは、ARPリクエストを発したコンピュータに直接返送する。

出典

ブロードキャストとは

同一ネットワーク内の全てのホストに対して、一斉に同じデータを送信すること

出典

0
0
0

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
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?