本文へ移動

インフラ転職コンパス現場・技術・キャリアをつなぐ専門メディア

メニュー

ARPテーブルとMACアドレステーブルの違い|役割と確認コマンド

ARPテーブルはIPアドレスとMACアドレスの対応、MACアドレステーブルはMACアドレスとVLAN・受信ポートの対応を保持します。前者は主に端末やL3機器、後者はL2スイッチが転送判断に使います。

本文では同一セグメントの通信フローを追い、show ip arpshow mac address-tableの出力を照合します。キャッシュ未登録、VLAN違い、重複IP、MACフラップをどう見分けるかも扱います。

この記事でわかること

  • ARPテーブルとMACアドレステーブルは何が違う?
  • ARPテーブルとMACアドレステーブルを比較表で見ると何が違う?
  • ARPテーブルとは?
  • MACアドレステーブルとは?

この記事はネットワークエンジニアの仕事内容の各論です。工程の全体像から確認したい場合はそちらへ。

設計構築チャンネル関連動画:ARPテーブルとは? #shorts

ARPテーブルとMACアドレステーブルは何が違う?

(出典:RFC 826 An Ethernet Address Resolution Protocol)

ARPテーブルとMACアドレステーブルを比較表で見ると何が違う?

比較表では、キーと値、保持機器、学習方法、利用するレイヤー、確認コマンド、消去条件を比べます。ARPはIPから次ホップMACを解決し、MACテーブルはそのMAC宛フレームをどのポートへ出すかを決めます。

けんと@設計構築チャンネル
けんと@設計構築チャンネル
ARPテーブルのMACアドレステーブル・違いを追うときは、VLAN、受信ポート、学習したMAC、転送先ポートを同じ表に置きます。項目を別々に見るより、フレームの流れと学習結果を対応させやすくなります。

テーブル 保持する機器 対応関係 転送での役割
ARPテーブル L3端末・ルーター IPアドレスとMACアドレス 同一セグメントのネクストホップをEthernetフレームへ変換
MACアドレステーブル L2スイッチ MACアドレスとVLAN・ポート 受信フレームをどのポートへ転送するか判断

ARPテーブルとは?

ARPテーブルは、同一L2セグメント上の宛先または次ホップのIPとMACの対応を保持します。未登録ならARP要求をブロードキャストし、対象の応答から学習します。

端末やルーターはARPキャッシュを持ちます。L3機器なら show arp で、どのIPにどのMACがひも付いているか、その学習がいつまで有効かを確認できます。

ARPテーブル MACアドレステーブル 違いの重要ポイント
確認軸 実務で押さえる内容
ポイント1 ARPは同一L2内の次ホップMACを解決する
ポイント2 ARP要求はブロードキャスト、応答は通常ユニキャスト
ポイント3 端末やルーターはARPキャッシュを持つ
ポイント4 L2スイッチは送信元MACと受信ポートを学習する
ポイント5 MACテーブルはVLAN単位で扱われる

(出典:RFC 1122 Requirements for Internet Hosts)

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

MACアドレステーブルは、スイッチが受信フレームの送信元MACを、VLANと受信ポートにひも付けて学習した表です。宛先MACが未学習なら、対象VLAN内の受信ポート以外へフラッドします。

スイッチは受信したフレームの送信元MACを、その受信ポートとVLANにひも付けて学習します。show mac address-table を実行すると、どのMACがどのポートで学習されているかを一覧で確認できます。

(出典:Understand Proxy ARP(Cisco))

それぞれを持つ機器

端末・ルーター・L3スイッチでARPキャッシュ、L2/L3スイッチでMACテーブルを確認します。L3スイッチは両方を持つため、VRF・VLAN・インターフェースを合わせて見ます。

ARPテーブル MACアドレステーブル 違いの確認フロー
  1. STEP 01端末が宛先またはゲートウェイをARP解決
  2. STEP 02フレームをスイッチへ送信
  3. STEP 03スイッチが送信元MACを受信ポートに学習
  4. STEP 04宛先MACの登録ポートへ転送
  5. STEP 05未登録なら同一VLANへフラッディング

IPアドレスとMACアドレスの対応

ARPテーブルで対象IPに対応するMACとL3インターフェースを確認し、そのMACをスイッチのMACアドレステーブルで検索します。ARPのVLANとMACテーブルのVLANが一致し、想定ポートへ学習しているかを同じ時刻で照合します。

けんと@設計構築チャンネル
けんと@設計構築チャンネル
MACアドレステーブルの動的学習を消去する前に、取得時刻と該当VLANの状態を保存してください。消去後の再学習だけでは、変更前に起きていた異常を追えない場合があります。

スイッチが転送先ポートを学習するのはどういう仕組み?

スイッチは受信フレームの送信元MACアドレスを、受信したVLANとポートへ学習します。宛先MACが未学習なら同一VLANの受信ポート以外へフラッディングし、返信を受けると相手側MACも学習して以後は該当ポートへ転送します。

show arpとshow mac address-tableで何を確認できる?

show ip arpでIP、MAC、インターフェース、経過時間を確認し、show mac address-table address MACでそのMACが学習されたVLANとポートを追います。両者を同じMACで繋ぐと、IPから物理的な収容先まで絞れます。

ARP要求はブロードキャストで送られ、応答は通常ユニキャストで返ります。show arp でMACが解決できていれば、その相手からARP応答が返ってきたということです。

通信フローでは両テーブルをどう確認する?

端末が別セグメントへ送る場合、まずゲートウェイIPをARPでMACへ変換し、スイッチはそのMACを学習しているポートへフレームを転送します。show ip arpでIPからMACを得て、show mac address-table addressでMACからVLAN・ポートを追います。

テーブルに情報がない場合の動作

ARP未登録ならARP要求と応答、MAC未登録なら対象VLAN内のUnknown Unicastフラッドを確認します。ただちにテーブルを消去せず、キャプチャとカウンターを保存して未学習の原因を追います。

障害切り分けで確認すること

ARPがIncompleteならARP要求と応答、端末・VLAN・ゲートウェイを確認します。ARPはあるのにMACが未学習なら、スイッチが端末からフレームを受信しているか、Access VLAN、Trunk、STP、配線を確認します。二つの表は同じ時刻・同じVRF/VLANで取得してください。

設定・確認コマンドはどう実行する?

対象IPをARPテーブルで検索してMACとL3インターフェースを確認し、そのMACをMACアドレステーブルで検索してVLANと物理ポートを追います。VRF、VLAN、取得時刻をそろえ、消去コマンドは変更前の表を保存してから実施します。

show running-config
show interfaces status
show ip route

正常時と異常時の出力はどう違う?

正常時はARPのIP・MAC・L3インターフェースと、MACテーブルのVLAN・ポートが同じ通信経路を示します。ARPがIncomplete、MACが未学習、想定外ポートへ移動している場合は、端末・VLAN・トランク・配線を区間ごとに確認します。

確認 正常時 異常時 次の確認
状態 up/up、期待した経路・隣接情報が表示される down、Incomplete、経路なし、拒否カウンタ増加 物理、VLAN、ARP、経路、ACLを一段ずつ戻って確認
差分 設計値・作業前証跡と一致 想定外のIF、ネクストホップ、VLAN、エラー増加 直前変更と隣接機器の両側を照合

関連する記事

けんと@設計構築チャンネル
けんと@設計構築チャンネル
ARPテーブルとMACアドレステーブルの違いは片側の表だけで判断せず、対向インターフェースとL3側のARPも照合します。一つの機器だけで原因を決めないことが、切り分けを遠回りさせないポイントです。

表を消す前に現状を保存する

障害時は表を消す前に必ず現状を保存します。ARPのIncomplete、MACのポート移動、同じIPに対するMAC変動は、それぞれ異なる原因を示すためです。

案件では、正常時の情報がなければ障害時の差分を判断できません。作業前にWindows/Linux: arp -a / ip neighとCisco L3: show arpを取得し、変更後も同じ条件で比較します。二つの表をつなぐとフレーム経路を追えます。

この内容は、設計構築チャンネルの動画でも解説しています。

MACアドレステーブルとARPテーブルの違いを解説

まとめ

ARPテーブルはIP→MAC、MACアドレステーブルはMAC→VLAN/ポートの対応を保持します。障害時は両方を同じMACで照合し、ARPの応答、VLAN、学習ポート、重複IPの順に差を確認します。

最近の記事
ピックアップ