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リクエストを発したコンピュータに直接返送
する。
出典
ブロードキャストとは
同一ネットワーク内の全てのホストに対して、一斉に同じデータを送信すること
出典