ARP の仕組みとトラブル時の診断方法

  • URLをコピーしました!

ネットワーク通信の基礎である ARP(Address Resolution Protocol) は、 IPアドレスからMACアドレスを解決するための重要な仕組みです。 通信が届かない・疎通が取れないといったトラブルの多くは、このARPが関係していることがあります。 本記事では、ARPの動作原理と、トラブル時の確認・解決方法をわかりやすく解説します。

目次

1. ARPとは?

ARP(Address Resolution Protocol)は、IPアドレスから対応するMACアドレスを取得するプロトコルです。 LAN内では通信の最終的な宛先はMACアドレスで指定されるため、 IPパケットを送信する前に、宛先のMACアドレスを知る必要があります。

イメージ図

[PC1]192.168.1.10 ──> [PC2]192.168.1.20

1. PC1は「192.168.1.20」のMACアドレスを知らない
2. PC1がブロードキャストで「192.168.1.20は誰?」と問い合わせ(ARP要求)
3. PC2が「私です」と応答し、自身のMACアドレスを返す(ARP応答)
4. PC1はARPテーブルに情報をキャッシュして通信を開始
    

2. ARPの仕組み(通信の流れ)

  1. ARPリクエスト:送信元が「このIPアドレスを持っているのは誰?」とブロードキャスト送信
  2. ARPリプライ:該当する端末が「私のMACアドレスは○○です」とユニキャストで応答
  3. キャッシュ登録:送信元はARPテーブルに結果を一定期間保持

ARPパケットの例(Wireshark表示)

Frame 1: 60 bytes on wire (480 bits)
Ethernet II, Src: 00:11:22:33:44:55, Dst: ff:ff:ff:ff:ff:ff
Address Resolution Protocol (request)
    Sender IP address: 192.168.1.10
    Target IP address: 192.168.1.20
    

3. ARPテーブルの確認方法

Windowsの場合

arp -a

出力例:

Interface: 192.168.1.10 --- 0x6
  Internet Address      Physical Address      Type
  192.168.1.1           00-11-22-33-44-55     dynamic
  192.168.1.20          aa-bb-cc-dd-ee-ff     dynamic
    

Linuxの場合

ip neigh show

出力例:

192.168.1.1 dev eth0 lladdr 00:11:22:33:44:55 REACHABLE
192.168.1.20 dev eth0 lladdr aa:bb:cc:dd:ee:ff STALE
    
状態意味
REACHABLE正常に通信可能
STALE一定時間通信なし(再確認が必要)
FAILED応答がない(ARP解決失敗)

4. よくあるARPトラブルと原因

原因現象確認ポイント
ARPキャッシュの不整合宛先IPに対するMACが誤って登録され通信できないarp -a で異常なMACがないか確認
ARP応答がブロックされているファイアウォール設定やVLAN誤設定で応答が届かない同一セグメントでpingtcpdump確認
スイッチのセキュリティ設定(Port Security)MAC制限によりARP応答が破棄されるスイッチ側ログ確認・Port Security設定確認
グラチュイタスARP未送信IP変更後も古いMACがキャッシュされ続ける再起動またはarp -dでキャッシュ削除

5. トラブル診断の手順(具体例)

ステップ1:ARPテーブルの確認

arp -a
# または
ip neigh show
    

→ 該当IPが表示されない場合:ARP解決ができていない → 表示されるがMACが正しくない場合:キャッシュ不整合を疑う

ステップ2:ARP要求が送信されているか確認

tcpdump -n -i eth0 arp

→ ARPリクエストが出ていない → 送信元のスタック異常 → ARPリプライが返っていない → 宛先の応答不具合 or 通信経路の問題

ステップ3:ARPキャッシュのクリア

# Windows
arp -d *

# Linux
ip neigh flush all
    

→ キャッシュ削除後、再通信して再学習されるか確認します。

6. 対応表(原因と対処の対応関係)

原因対処方法
ARPキャッシュが壊れているarp -d または ip neigh flush all でクリア
ARP応答が届かないファイアウォールやスイッチ設定を確認・VLANタグ設定見直し
誤ったMACが登録されているARPテーブル削除後、通信再試行して正しいMACを再学習させる
IP変更後の古い情報が残る再起動またはグラチュイタスARP送信で更新

7. まとめ

  • ARPはIPアドレスからMACアドレスを求める仕組み
  • LAN内通信では欠かせない基本プロトコル
  • 通信不可トラブル時はARPテーブルとパケットキャプチャで原因を切り分ける
  • キャッシュクリア・VLAN設定確認が効果的な対処法

ARPはネットワークの中でも非常に基本的でありながら、トラブルの根本原因になりやすい領域です。 ARPの動作を理解しておくことで、疎通不良や接続障害の調査効率が大幅に向上します。

目次