ARPとは

 LANにおいては、イーサネットという仕組みで通信を行います。ここでは、IPアドレスとMACアドレスを使って、実際にどのように通信が行われるかについて説明していきます。

ここで、おさらいをしておきます。

  • IPアドレス ・・・ 論理アドレス
  • MACアドレス ・・・ 物理アドレス

と呼ばれています。

 IPアドレスは、あるネットワークに参加しているコンピュータに、グループ分けがし易いように人間が便宜上、勝手に設定するアドレスです。

 他のコンピュータから見れば、どのIPアドレスが振られたのか分かりません。また、別のネットワークにコンピュータを移動させた場合、人間がグループ分けし易いように、IPアドレスが変更されます。

 このように、IPアドレスだけでは、通信する相手が、どのIPアドレスを割り当てられたのか分かりませんし、通信する相手も自分のIPアドレスが分かりません。

 MACアドレスは、ハードウェア固有に割り当てれる番号で、この番号は、製造時にROMに書き込まれており、基本的に変更できません。(※変更することもできます。)

このMACアドレスは、他のネットワークに移動しても変わることはありません。

 イーサネットでは、このIPアドレスとMACアドレスの2つのアドレスを使用して、通信する相手を特定する仕組みを持っています。

 この仕組みは、ARP(Address Resolution Protocol)というプロトコルで実現されます。ARPとは、TCP/IPネットワークにおいて、IPアドレスからMACアドレスを求めるのに使われるプロトコルです。

※紛らわしいことにRARP(Reverse Address Resolution Protocol)も存在します。こちらは、MACアドレスを元にIPアドレスを求めるプロトコルです。紛らわしいことから、多くの検定試験で、ARPとRARPは、セットで出題されます。

ARPがどんなことを行うのかは、次のように例えることができます。

 例えば、メールでしか、やり取りしかしたことがないメル友の「A子さん」と、初めて会う約束をし、12時に駅前で待ち合わせることにしました。2人は初対面となります。その人とはメールで、文章しかやり取りしたことがなく、顔が分かりません。分かっているのは、名前だけです。

 あなたは、12時に待ち合わせの駅に行きました。駅前にはたくさんの人だかりがいました。あなたは、どうやって待ち合わせの人を見つけますか?

何もしなければ、顔が分からないので、いつまで経っても「A子さん」を見つけることはできません。

「A子さーーーーーん!」と大声で叫んだらどうでしょうか?

そこに「A子さん」がいれば、「A子さん」は、返事をしてくれるはずですよね!

こうして、あなたは、名前しか知らない「Aさん」を見つけることができます。

この、みんなに、大声で叫んで、相手を見つける作業を行ってくれるのがARPなのです。

ARPの仕組み

 IPアドレスは、あるネットワークに参加しているコンピュータに、グループ分けがし易いように人間が便宜上、勝手に設定するアドレスです。

 他のコンピュータから見れば、どのIPアドレスが振られたのか分かりません。つまり、通信したい相手のIPアドレスが分かっても、どのコンピュータにそのIPアドレスが割り当てられているのか分からないのです。

 例えば、コンピュータAがコンピュータEと通信する場合、コンピュータEのIPアドレスが分かっても、コンピュータEがどのコンピュータなのかは、分かりません。

そこで、コンピュータAは、ネットワーク上の全てのコンピュータに対して、

コンピュータEですか?

という問合せを行います。

これを、ブロードキャストと言います。

コンピュータB、コンピュータC、コンピュータDは、自分宛の問合せでないので、無視します。

コンピュータEは、自分宛の問合せなので、コンピュータAに対して返事を返します。

こうして、コンピュータAは、コンピュータEを見つけることができます。

 コンピュータAが行った全てのコンピュータに対する問合せ(ブロードキャスト)のことをARP要求と言います。また、コンピュータEがコンピュータAへ返事をしたことをARP応答と言います。