本文へ移動

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

メニュー

MACアドレステーブルとフラッディングの仕組みを図解

switchは受信frameのsource MACをVLAN単位で学習し、destination MACがtableにあれば該当portだけへ転送します。未学習のdestination MACは、受信portを除く同一VLAN内へfloodingします。学習と転送を分けると動作を説明できます。

この記事でわかること

  • MAC address tableの学習条件
  • known/unknown unicastの転送差
  • floodingされる範囲
  • MAC未学習・flappingの確認方法

設計構築チャンネル関連動画:重要!MACアドレステーブルとフラッディング
けんと@設計構築チャンネル
けんと@設計構築チャンネル
MACアドレステーブルは、source MACの学習とdestination MACの転送を分けて考えます。VLAN・受信ポート・転送先を同じ通信で追うと、floodingの理由を説明しやすくなります。

MAC address tableはどう作られる?

先に答えると、switchは受信frameのsource MACをVLAN単位で学習し、destination MACがtableにあれば該当portだけへ転送します。未学習のdestination MACは、受信portを除く同一VLAN内へfloodingします。学習と転送を分けると動作を説明できます。

floodingはどのportへ送られる?

仕組みを構成上の位置と観測点に分けると、用語だけでなく実際のpacket・stateを説明できます。

仕組みと判断軸
項目 仕組み・役割 実務での判断
学習 受信frameのsource MAC VLANとingress portを記録
known unicast destination MACがtable内 1 portへ転送
unknown unicast destination MACが未学習 同一VLANへflood
broadcast FF:FF:FF:FF:FF:FF 同一VLANへflood
構成・処理フロー
PC-A Gi1/0/1 --src A,dst B--> SW --?--> Gi1/0/2 PC-B
                      学習: A→Gi1/0/1
未学習B: VLAN内のGi1/0/2,Gi1/0/3...へ送信

Ciscoで学習状態をどう確認する?

Ciscoで学習状態をどう確認する?では、対象と期待値を固定し、状態取得、実通信、変更後確認の順に進めます。commandは例であり、本番投入前に対象OSの公式資料と現行設定を確認してください。

実行手順と完了条件
STEP 実施内容 確認する結果
1 対象VLANとMACを特定 表記ゆれをそろえる
2 MAC tableのportと種別を確認 dynamic/static/secure
3 interface counterとlink状態を確認 frameが入っているか
4 対向・loop・NIC交換履歴と照合 移動が正常か異常か
設定・確認例(対象機種・OS・versionで確認してください)
show mac address-table address 0011.2233.4455
show mac address-table dynamic vlan 20
show interfaces counters errors
show logging | include MACFLAP
正常時の出力例・記録例
Vlan  Mac Address       Type      Ports
----  -----------       --------  -----
  20  0011.2233.4455    DYNAMIC   Gi1/0/12

MAC未学習・flappingをどう分ける?

一つの表示だけで原因を決めず、症状ごとに次の観測点を選びます。正常時の同条件出力が比較基準です。

正常時と異常時の切り分け
症状・誤り 主な原因候補 次に確認すること
MACがない 端末からframe未受信・別VLAN ARP生成、port VLAN、link
複数portを往復 loop・NIC team・誤配線 MACFLAP logとSTP
tableにあるが通信不可 L3/ACL/host側 ARPとgateway以降
大量flood table capacity・aging・一方向traffic 件数、CPU、SPAN capture
けんと@設計構築チャンネル
けんと@設計構築チャンネル
MAC未学習をスイッチ故障と決めつけず、端末からのframe、対向インターフェース、VLAN、L3側のARPを順に照合すると、原因範囲を狭められます。

変更後に何を再確認する?

clear mac address-tableを最初に実行すると、原因の証跡を消し、一時的にfloodingを増やします。取得時刻、VLAN、MAC、port、対向を保存してから、必要性と影響を承認者と判断します。

  • 対象機器・interface・VRF/VLAN
  • 取得日時・timezone・software version
  • 変更前後の同一command出力
  • 期待値・実測値・判定者
  • 異常時の停止条件とrollback結果
けんと@設計構築チャンネル
けんと@設計構築チャンネル
clear mac address-tableの前に、取得時刻・VLAN・MAC・ポート・対向を保存します。消去後の再学習だけでは、元の異常を再現できません。

関連する仕組みを次に確認する

定義だけで終わらせず、隣接する仕組みと障害切り分けへ進みます。

まとめ:source MAC学習とdestination MAC転送を分けて追う

source MAC学習とdestination MAC転送を分けて追うことが結論です。構成図、設定・command、正常時と異常時の結果を同じ条件で保存し、第三者が判断を再現できる状態にしてください。

最近の記事
お知らせ