ARP
隣の装置と通信するためにMacアドレスが使われますが、隣の装置のMacアドレスはどのようにして知るのでしょうか? 本項ではARPについて説明します。
DNSのような仕組みはない
通信相手のIPアドレスはDNSが教えてくれますが、Macアドレスにはこのような仕組みはありません。
通信相手のMacアドレスを知るためにはARPという通信を行います。ARPには通信したい装置のIPアドレス情報があり、自分宛てでないと判断した装置は何もしませんが、自分宛てと判断した装置は自分のMacアドレスを応答します。これにより通信相手のMacアドレスが分かります。

暫く覚える
ARPは通信するために毎回問い合わせるのではありません。一回問い合わせるとIPアドレスとMacアドレスを対にして暫く覚えておきます。これは何個も覚えておけるのでARPテーブルと言います。
IPアドレス | Macアドレス |
---|---|
AのIPアドレス | AのMacアドレス |
BのIPアドレス | BのMacアドレス |
CのIPアドレス | CのMacアドレス |
ARPテーブルに載っているIPアドレスについてはARPが必要ないため、早く通信出来ます。ARPテーブルに保持しておく時間は装置によって異なりますが、時間を経過すると忘れ、再度ARPを行います。
ARPテーブルはWindows系ではコマンドプロンプトでarp -aと入力すると確認出来ます。
コマンドプロンプト |
---|
C:\>arp -a インターフェイス: 192.168.1.2 --- 0x10 インターネット アドレス 物理アドレス 種類 192.168.1.1 11-ff-11-ff-11-ff 動的 192.168.1.3 ff-11-ff-11-ff-11 動的 |
又、arp -dコマンドを実行するとARPテーブルを削除出来ます。
- 基本編「ARPの確認」
- 追補版「ARPパケットフォーマット」
- トラブル対応「ルーター交換で通信不可」