動画と記事で学ぶ / IP・通信プロトコル
ARPテーブルはIPとMAC、MACアドレステーブルはMACとVLAN・ポートの対応です。同じ通信の2つの表を照合する手順、確認コマンド、L2スイッチの管理ARPという例外を解説。
ここからは、記事でゆっくり確かめましょう。図や操作の例を見ながら、気になるところから読み進めてください。
show arpとshow mac address-table。どちらにもMACアドレスが出るので、最初は同じ情報を別のコマンドで見ているように感じるかもしれません。
ARPテーブルは「このIPの相手には、どのMACへ渡すか」を調べる表です。MACアドレステーブルは「このMACへは、どのポートから出すか」を調べる表。二つをつなぐと、IPアドレスから端末の接続先まで追えるようになります。まず、それぞれが答える疑問を分けてみましょう。
二つの表は、調べたいものが違う
端末がEthernetでIPv4の通信を送るには、次に渡す相手のMACが必要です。同じLANの相手なら相手自身、別LANの相手ならゲートウェイを調べます。このIPとMACの対応を保存するのがARPテーブルです。
スイッチは、受け取ったフレームをどのポートへ出すか決めます。そのときに使うのがMACアドレステーブルで、VLAN、MAC、ポートの組み合わせを持ちます。
| テーブル | 保持する機器 | 対応関係 | 転送での役割 |
|---|---|---|---|
| ARPテーブル | L3端末・ルーター | IPアドレスとMACアドレス | 同一セグメントのネクストホップをEthernetフレームへ変換 |
| MACアドレステーブル | L2スイッチ | MACアドレスとVLAN・ポート | 受信フレームをどのポートへ転送するか判断 |
「IPからMAC」と「MACからポート」という二段階で読むと、表の役割を混同しにくくなります。どちらか一方があれば、もう一方も必ずあるという関係ではありません。
ARPは問い合わせ、MAC表は受信フレームから学ぶ
ARPの対応が分からないと、端末は同じLANへ要求を送り、対象IPを持つ相手の応答からMACを知ります。分かった対応はキャッシュへ保存されるので、毎回問い合わせる必要はありません。
スイッチのMAC学習は別の動作です。受信フレームの送信元MACを見て、「このMACは、このVLANの、このポートの先にいる」と覚えます。宛先MACから場所を学習するわけではありません。
宛先MACをまだ学んでいないスイッチは、通常、受信ポート以外の同じVLANへフレームを複製します。相手からフレームが戻ると、その送信元MACを学び、次から出力先を絞れます。
ARPの要求・応答もEthernetフレームです。そのやり取りからスイッチがMACを学ぶことはありますが、ARP表を読んでMAC表を作る、という仕組みではありません。
L3スイッチには両方の表がある
PCやルーターは、自分がIP通信を送るためのARP情報を持ちます。L2スイッチは、端末のフレームを中継するためのMAC表を持ちます。L3スイッチは両方の仕事をするので、両方の表を確認できます。
ただし、管理用IPを設定したL2スイッチにも、自分の管理通信のためのARP表がある場合があります。ARP表が見えたことだけで、利用者のVLAN間通信をルーティングしているとは判断できません。
- STEP 01端末が宛先またはゲートウェイをARP解決
- STEP 02フレームをスイッチへ送信
- STEP 03スイッチが送信元MACを受信ポートに学習
- STEP 04宛先MACの登録ポートへ転送
- STEP 05未登録なら同一VLANへフラッディング
同じMACでも、別VLANのエントリは別の意味を持ちます。VRFを使う装置なら、ARPも対象のVRFで取得してください。表をつなぐときは、MACだけでなくVLAN・インターフェース・参照する範囲を合わせます。
ここでのVRFは、ルーティング情報を分ける仕組みです。管理用の表と利用者の表を取り違えると、正常な通信でも「情報がない」と見えてしまいます。
IPから端末の接続ポートへ、二段階で追う
調べたい端末のIPを、そのLANに接続するルーターのshow ip arpで検索します。表示されたMACを、次にスイッチのshow mac address-table addressで検索します。そこでVLANと出力ポートを確認します。
ポートの先が別のスイッチなら、まだ端末へ着いたとは言えません。構成図や隣接情報を見て次のスイッチへ移り、同じMACを繰り返し検索します。
端末が別LANへ送る場合、その端末のARP表には遠隔サーバーのMACが出ないのが普通です。最初に渡すゲートウェイのMACを持っています。遠隔サーバーを探すなら、サーバー側のLANに接続するL3機器へ調査場所を移します。
「どのIPを、どの装置で調べたか」を一緒に残すと、取得した表の意味を後から読み返せます。
情報がないときは、取得場所と学習の状態を分ける
ARPがIncompleteなら、アドレス解決が完了していない手掛かりです。端末の電源、VLAN、IP、マスク、ARP要求と応答の通過状況を調べます。Incompleteという表示だけで、ケーブル障害と決めることはできません。
ARPがあるのにMAC表にない場合は、保持時間の違いも考えます。ルーターにはIPとMACの対応が残っていても、端末からしばらくフレームを受け取らないスイッチでは、動的MACが消えることがあります。
show ip arp
show mac address-table
| 確認 | 正常時 | 異常時 | 次の確認 |
|---|---|---|---|
| 状態 | up/up、期待した経路・隣接情報が表示される | down、Incomplete、経路なし、拒否カウンタ増加 | 物理、VLAN、ARP、経路、ACLを一段ずつ戻って確認 |
| 差分 | 設計値・作業前証跡と一致 | 想定外のIF、ネクストホップ、VLAN、エラー増加 | 直前変更と隣接機器の両側を照合 |
取得時刻をそろえ、対象端末から許可された通信を発生させた前後を比べると、学習しないのか、一度学んで消えるのかを分けられます。同じMACが別ポートへ移る現象と、同じIPに対応するMACが変わる現象も区別します。
調査の最初に表を消すと、問題が起きた状態がなくなります。まず現状を保存し、消去が必要な検証なら対象と影響を決めて行います。
表が一致したら、元の通信も確認する
ARPでIPとMACが結び付き、MAC表でそのMACのVLANとポートが分かる。このつながりを確認できると、端末の収容先をかなり絞れます。
ただし、表に登録されたことだけでWebや業務アプリの復旧まで証明できません。最初に失敗していた通信を、同じ端末からもう一度試します。
二つの表の違いは、対応を覚えるより実際に一台を追うと理解しやすくなります。対象IP、MAC、VLAN、装置、ポート、時刻を並べて、どこまで確認できたかを残してみてください。
動画・筆者の投稿で補足する
文章と図で流れをつかんだら、関連する動画も参考にしてください。画面の表示や操作は、機種・ソフトウェアの版によって異なる場合があります。
