ARPテーブル
宛先のMACアドレスが分からない場合、ARPのプロセスを開始することによって、宛先MACアドレスを調べます。そして、次からの通信に備えて、自分の持つARPテーブルに、学習した宛先IPアドレスとMACアドレスの対応情報を追加します。
次の通信から、このARPテーブルを参照することで、MACアドレスを知ることができるので、ARPのプロセスを行わなくて済むようになっているのです。
それでは、
Windowsパソコンを使ってARPテーブルを見てゆきましょう。
コマンドプロンプトを起動します。
c:\>arp -a
と入力します。
そうすると今現在の自分のパソコンのARPテーブルが表示されます。
ちなみに、ARPコマンドのオプションは以下のようになっています。
オプション | 説明 |
-a (IP address) | ARPキャッシュテーブルからエントリを表示する。 |
-d [IP address] (Interface) | ARPエントリを削除する。 |
-g | -aと同じ |
-N [Interface] | 指定したインタフェース番号のARPエントリを表示する。 |
-s [IP address] [Mac Address] (Interface) | ARPテーブルに追加する。 |

このARPエントリー上にない同じネットワークに所属する他の端末と通信を行います。
共有フォルダへのアクセスでも何でもかまいません。場合によっては、ウイルス対策ソフトのファイアウォール機能を解除しておきます。
また、OS側のファイアウォールの設定も外しておきます。デフォルトでは、ICMPのECHO要求がブロックされるようになっているからです。
ローカルエリア接続に鍵が表示されていたら、ファイアウォールが設定されています。

ファイアウォールの設定を外したら、他の端末にPingを打ってみます。
例えば、
ping 192.168.1.1
と入力します。

再度、ARPテーブルを表示させます。
c:\>arp -a
と入力します。
すると、新しいエントリーが表示されています。

「192.168.1.1」に対応するMACアドレスが追加されています。
しばらく、待ちます。10分程度待ちます。その間、「192.168.1.1」とは、一切、通信を行わないで下さい。
※Windowsパソコンでは、エントリとの通信が通常10分間、発生しなかったら、そのエントリはテーブルから削除されます。
再び、ARPテーブルを表示します。
c:\>arp -a
と入力します。
「192.168.1.100」対するエントリーが消えました。

ARPテーブルは、定期的にリフレッシュされるので、しばらく通信がない場合は、ARPテーブル上からエントリーが削除されるようになっています。
このような仕組みになっているのには、理由があります。
なぜ、このような仕組みになっているのかを説明して行きます。
例えば、下のネットワーク構成を見て下さい。このネットワークは、DHCPサーバによって各コンピュータにIPアドレスを割り当てています。

コンピュータAは、各コンピュータとの次のARPテーブルを持っています。
IPアドレス | MACアドレス |
192.168.1.2 | 00:17:42:5B:33:02 |
192.168.1.3 | 00:17:42:5B:33:03 |
192.168.1.4 | 00:17:42:5B:33:04 |
192.168.1.5 | 00:17:42:5B:33:05 |
192.168.1.10 | 00:17:42:5B:33:0A |
一度学習したARPテーブルが、もしも更新されないとしたらどうでしょうか?
例えば、コンピュータDとコンピュータEが再起動して、新しいIPアドレスが割り当てられました。

その結果、
コンピュータDのIPアドレスが、「192.168.1.4」から、「192.168.1.5」に
コンピュータEのIPアドレスが、「192.168.1.5」から、「192.168.1.4」に
変わった場合を考えてみます。
ARPテーブルが更新されない場合、IPアドレスとMACアドレスの組み合わせにに矛盾が生じてきます。つまり、整合性が保てなくなるのです。
コンピュータAは、コンピュータDとコンピュータEとの通信で、正しいIPアドレスとMACアドレスの組み合わせを指定して、通信することができないので、通信が失敗してしまいます。
ARPテーブルは、下のように変更されなければ、なりません。
IPアドレス | MACアドレス |
192.168.1.2 | 00:17:42:5B:33:02 |
192.168.1.3 | 00:17:42:5B:33:03 |
192.168.1.4 | 00:17:42:5B:33:05 |
192.168.1.5 | 00:17:42:5B:33:04 |
192.168.1.10 | 00:17:42:5B:33:0A |
そのために、ARPテーブルは、定期的にリフレッシュ(テーブル上からクリア)されることで、整合性を保つようにしているのです。