ARPの仕組みとMACアドレス、IPアドレスの関係を調べよう!

ネットワーク

「ARP」って言葉を始めて見た時は読み方すら分かりませんでした。しかし、ARPは現在のネットワーク技術としては欠かせない仕組みです。今回はARPの仕組みとIPアドレスとMACアドレスの関係を調べてみました!

ARPとは?

では、早速ARPのお話です。

ARPは「アープ」と読みます。「Address Resolution Protocol」の略でして、アドレスを解決する(知る)ためのプロトコルとなります。

コンピュータの通信としてデータの送受信はイーサネットレイヤー(Layer2:L2)かネットワークレイヤー(Layer3:L3)のどちらかを使って行います。

もう少し簡単に言うと、近所(同一セグメント)内の通信はL2、町を超えて(別セグメント)の通信はL3で行うことになる訳です。

L3のネットワークにおいて送信側の端末(ホスト)は先ず一番近くのルータ(L3スイッチ)に対してパケットを送ることになります。一番近くのルータ(L3スイッチ)は送信側端末と同一のセグメントに存在しますから、この時はイーサネットレイヤー(L2)の通信となります。イーサネットレイヤーの通信ということはMACアドレスを使っての通信となります。

では、一番近くのルータのMACアドレスはどのようにして知ることができるのでしょうか?そうです、そのための仕組みがARPなのです!

ARPプロトコルでMACアドレスを知るためには宛先ルータのIPアドレスを使います。宛先ルータは送信側端末のルーティングテーブルに記載されているため、ルーティングテーブルを参照してIPアドレスを知ります。

ARPの流れ

ARPによってMACアドレスを知るための流れですが、それほど複雑なやり取りではありません。ステップとしては次の2ステップです。

①ARP要求(リクエスト側送信)

ネットワーク上で「○○さん(IPアドレス)のMACアドレス教えて下さい」と問い合わせを行います。その際、データはブロードキャストで、全ての端末へ送信されます。このため、同じセグメントにいる全ての機器にARP要求のパケットは届くことになります。

②ARP応答(リプライ側送信)

ARP要求のIPアドレスに合致する該当者が問い合わせ先に自分のMACアドレスを返します。該当しない端末はARP要求に対しては無視します。ARP応答を受け取った問合せ元の端末はそのMACアドレスを使って、目的のルータへデータを送ります。

また、問い合わせたMACアドレスは自分のARPテーブルの中に登録し、以降の通信時にはARP要求を無くすことで、余計なブロードキャストを減らしてます。

以下にARPの仕組みを概要図として載せておきます。

ARPの仕組みの概要

MACアドレステーブルとは?

ARPテーブルとは別に「MACアドレステーブル」というものがあります。

これはARP要求を受けとったスイッチが要求元の機器のMACアドレスを覚えておくテーブルとなります。このMACアドレステーブルにより、スイッチに届いたデータをどのポートに転送すれば良いか分かり、無駄なブロードキャストをする必要が無くなります。ポートとMACアドレスの対応表ですね。

ARPテーブルと混ざって覚えないよう気を付けましょう。

RARPとは?

RARPとは「Reverse Address Resolution Protocol」の略で、読んで字のごとく、ARPの逆のことで、MACアドレスからIPアドレスを知るためのプロトコルです。

どんな時に必要かと言うと、組み込み機器などで、IPアドレスを保持しておくようなメモリ(ハードディスク)が無い場合などに、自分のIPアドレスを知るために使われます。

RARPサーバを用意しておき、そのサーバが機器のMACアドレスをIPアドレスの対応表を登録しておくことで、組み込み機器などの電源が入ったタイミングでMACアドレスからIPアドレスを取得することができます。

まとめ

今回はARPの仕組みに関して調べてみました。

単純な仕組みではあるのですが、L2ネットワークをするためのMACアドレスを知るためには必要不可欠な仕組みとなります。

また、MACアドレステーブルやRARPの仕組みも覚えておくと、ネットワークの仕組みがより深く理解できますね。

以上です!

タイトルとURLをコピーしました