本檔案介紹如何瞭解Catalyst 9000系列交換器上的Mac位址表管理員並對其進行疑難排解。
本文件沒有特定需求。
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
Mac地址表管理器(MATM)是寫入和儲存已知Mac地址的資料庫。本文檔中概述的兩種型別的MATM是:
當終端主機首次將封包傳送到交換器時,會通過NIF/ASIC並將其傳送到FED中。此時,FED將這個新的終端主機資訊傳送到IOS,以便IOS MATM將資訊寫入其資料庫,同時將如圖所示的相同資訊寫入到FED MATM:

每個MATM的重要性取決於所傳遞的流量型別:
附註:在交換機上建立SVI時,首先建立並寫入IOS MATM,然後推送到FED MATM進行學習。
| MATLAB |
Mac位址表管理員 |
| MAC 地址 |
網路中裝置的12位唯一硬體識別符號 |
| diHandle |
目標索引控制代碼 |
| pmap_intf |
連線埠對應介面 |
| NIF |
網路介面 |
| FED |
轉發引擎驅動程式 |
| IOS |
網際網路作業系統 |
| 資料平面 |
在硬體上轉發的流量 |
| SISF |
交換器整合式安全功能 |
| TCAM |
三重內容可定址儲存器 |
| SVI |
交換機虛擬介面 |
附註:根據平台,CLI有時可以包含switch一詞(但是,並非總是如此)。(show platform soft fed switch <number|active|standby> matm macTable與show platform soft fed active matm macTable)。
沒有配置要求。
Switch#show platform software fed switch active matm macTable vlan 100 mac 9c54.1631.8bd1 VLAN MAC Type Seq# EC_Bi Flags machandle siHandle riHandle diHandle *a_time *e_time ports Con ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 100 9c54.1631.8bd1 0x1 248 0 0 0x7f7490c93bd8 0x7f7490c73d98 0x0 0x7f7490a4e108 300 8 TenGigabitEthernet2/1/1 Yes ======platform hardware details ====== Asic: 0 htm-handle = 0x7f7490c80ce8 MVID = 5 gpn = 1 SI = 0xb6 RI = 0x1a DI = 0x537d DI = 0x537d pmap = 0x00000000 0x00000000 Asic: 1 SI = 0xb6 RI = 0x1a DI = 0x537d DI = 0x537d pmap = 0x00000000 0x10000000 pmap_intf : [TenGigabitEthernet2/1/1]
This is a snippet from the bottom of the output of show platform software fed switch active matm macTable to showcase the classification of Type to help indicate how the Mac Address is being learned on the Switch:
Type: MAT_DYNAMIC_ADDR 0x1 MAT_STATIC_ADDR 0x2 MAT_CPU_ADDR 0x4 MAT_DISCARD_ADDR 0x8 MAT_ALL_VLANS 0x10 MAT_NO_FORWARD 0x20 MAT_IPMULT_ADDR 0x40 MAT_RESYNC 0x80 MAT_DO_NOT_AGE 0x100 MAT_SECURE_ADDR 0x200 MAT_NO_PORT 0x400 MAT_DROP_ADDR 0x800 MAT_DUP_ADDR 0x1000 MAT_NULL_DESTINATION 0x2000 MAT_DOT1X_ADDR 0x4000 MAT_ROUTER_ADDR 0x8000 MAT_WIRELESS_ADDR 0x10000 MAT_SECURE_CFG_ADDR 0x20000 MAT_OPQ_DATA_PRESENT 0x40000 MAT_WIRED_TUNNEL_ADDR 0x80000 MAT_DLR_ADDR 0x100000 MAT_MRP_ADDR 0x200000 MAT_MSRP_ADDR 0x400000 MAT_LISP_LOCAL_ADDR 0x800000 MAT_LISP_REMOTE_ADDR 0x1000000 MAT_VPLS_ADDR 0x2000000 MAT_LISP_GW_ADDR 0x4000000
附註:故障排除通常從檢查IOS MATM開始,但是FED首先會瞭解它(在本例中)。
Switch#show mac address-table address 9c54.1631.8bd1 <--- What IOS Matm sees
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
100 9c54.1631.8bd1 DYNAMIC Te2/1/1 <--- Showcases which vlan, how its learned, and what port interface it is learned on
Total Mac Addresses for this criterion: 1
檢查硬體程式設計與IOS程式設計是否一致。
Switch#show platform software fed switch active matm macTable vlan 100 mac 9c54.1631.8bd1 detail VLAN MAC Type Seq# EC_Bi Flags machandle siHandle riHandle diHandle *a_time *e_time ports Con ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 100 9c54.1631.8bd1 0x1 248 0 0 0x7f7490c93bd8 0x7f7490c73d98 0x0 0x7f7490a4e108 300 5 Yes Detailed Resource Information (ASIC_INSTANCE# 0) ---------------------------------------- Number of HTM Entries: 1 Entry 0: (handle 0x7f7490c80ce8) Absolute Index: 6442 Time Stamp: 5 KEY - vlan:5 mac:0x9c5416318bd1 l3_if:0 gpn:125 epoch:0 static:0 flood_en:0 vlan_lead_wless_flood_en: 0 client_home_asic: 0 learning_peerid 0, learning_peerid_valid 0 lvx:1 MASK - vlan:0 mac:0x0 l3_if:0 gpn:0 epoch:0 static:0 flood_en:0 vlan_lead_wless_flood_en: 0 client_home_asic: 0 learning_peerid 0, learning_peerid_valid 0 lvx:0 SRC_AD - need_to_learn:0 lrn_v:0 catchall:0 static_mac:0 chain_ptr_v:0 chain_ptr: 0 static_entry_v:0 auth_state:0 auth_mode:0 auth_behavior_tag:0 traf_m:0 is_src_ce:0 DST_AD - si:0xb6 bridge:0 replicate:0 blk_fwd_o:0 v4_rmac:0 v6_rmac:0 catchall:0 ign_src_lrn:0 port_mask_o:0 afd_cli_f:0 afd_lbl:0 prio:3 dest_mod_idx:0 destined_to_us:0 pv_trunk:0 smr:0 ============================================================== Detailed Resource Information (ASIC_INSTANCE# 0) ---------------------------------------- Station Index (SI) [0xb6] RI = 0x1a DI = 0x537d stationTableGenericLabel = 0 stationFdConstructionLabel = 0x7 lookupSkipIdIndex = 0 rcpServiceId = 0 dejaVuPreCheckEn = 0x1 Replication Bitmap: CD Detailed Resource Information (ASIC_INSTANCE# 1) ---------------------------------------- Station Index (SI) [0xb6] RI = 0x1a DI = 0x537d stationTableGenericLabel = 0 stationFdConstructionLabel = 0x7 lookupSkipIdIndex = 0 rcpServiceId = 0 dejaVuPreCheckEn = 0x1 Replication Bitmap: LD ============================================================== Detailed Resource Information (ASIC_INSTANCE# 0) ---------------------------------------- Destination index = 0x537d pmap = 0x00000000 0x00000000 cmi = 0x0 rcp_pmap = 0x0 al_rsc_cmi CPU Map Index (CMI) [0] ctiLo0 = 0 ctiLo1 = 0 ctiLo2 = 0 cpuQNum0 = 0 cpuQNum1 = 0 cpuQNum2 = 0 npuIndex = 0 stripSeg = 0 copySeg = 0 Detailed Resource Information (ASIC_INSTANCE# 1) <--- Note the ASIC Instance # as it is based on what port interface is being used ---------------------------------------- Destination index = 0x537d pmap = 0x00000000 0x10000000 pmap_intf : [TenGigabitEthernet2/1/1] <--- Port map interface is learned correctly cmi = 0x0 rcp_pmap = 0x0 al_rsc_cmi CPU Map Index (CMI) [0] ctiLo0 = 0 ctiLo1 = 0 ctiLo2 = 0 cpuQNum0 = 0 cpuQNum1 = 0 cpuQNum2 = 0 npuIndex = 0 stripSeg = 0 copySeg = 0 ==============================================================
注意:如果對語法為active的介面運行detailed命令,但該介面位於另一台交換機上,則不會收到任何埠對映介面輸出。
此示例使用交換機SVI Mac地址來展示正確的程式設計:
Switch#show run interface vlan 100 <--- Verify SVI configuration Building configuration... Current configuration : 82 bytes ! interface Vlan100 ip address 192.168.1.2 255.255.255.0 end
Switchk#show interface vlan 100 Vlan100 is up, line protocol is up , Autostate Enabled Hardware is Ethernet SVI, address is 706b.b929.f751 (bia 706b.b929.f751) <--- Mac Address assigned to SVI 100 by the Switch Internet address is 192.168.1.2/24 <snippet>
Switch#show mac address-table address 706b.b929.f751 <--- Verify macTable in IOS is programmed correctly Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- 100 706b.b929.f751 STATIC Vl100 Total Mac Addresses for this criterion: 1
Switch#show platform software fed switch active matm macTable vlan 100 <--- Verify macTable in Hardware is programmed correctly VLAN MAC Type Seq# EC_Bi Flags machandle siHandle riHandle diHandle *a_time *e_time ports Con ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 100 706b.b929.f751 0x8002 0 0 64 0x7fc210e57908 0x7fc210cb7d78 0x0 0x0 0 0 Vlan100 Yes 100 0027.90be.20d1 0x101 192 0 64 0x7fc210cdc058 0x7fc210cd6da8 0x0 0x7fc210ac81f8 0 0 TenGigabitEthernet2/1/2 Yes Total Mac number of addresses:: 2 Summary: Total number of secure addresses:: 0 Total number of drop addresses:: 0 Total number of lisp local addresses:: 0 Total number of lisp remote addresses:: 0 *a_time=aging_time(secs) *e_time=total_elapsed_time(secs) Type: MAT_DYNAMIC_ADDR 0x1 MAT_STATIC_ADDR 0x2 MAT_CPU_ADDR 0x4 MAT_DISCARD_ADDR 0x8 MAT_ALL_VLANS 0x10 MAT_NO_FORWARD 0x20 MAT_IPMULT_ADDR 0x40 MAT_RESYNC 0x80 MAT_DO_NOT_AGE 0x100 MAT_SECURE_ADDR 0x200 MAT_NO_PORT 0x400 MAT_DROP_ADDR 0x800 <--- Note 0x8000 + 0x2 == 0x8002 ---> Routed Address that is Statically assigned on the Switch (SVI) MAT_DUP_ADDR 0x1000 MAT_NULL_DESTINATION 0x2000 MAT_DOT1X_ADDR 0x4000 MAT_ROUTER_ADDR 0x8000 MAT_WIRELESS_ADDR 0x10000 MAT_SECURE_CFG_ADDR 0x20000 MAT_OPQ_DATA_PRESENT 0x40000 MAT_WIRED_TUNNEL_ADDR 0x80000 MAT_DLR_ADDR 0x100000 MAT_MRP_ADDR 0x200000 MAT_MSRP_ADDR 0x400000 MAT_LISP_LOCAL_ADDR 0x800000 MAT_LISP_REMOTE_ADDR 0x1000000 MAT_VPLS_ADDR 0x2000000 MAT_LISP_GW_ADDR 0x4000000
附註:在交換機上建立的SVI沒有diHandle,因為它是路由地址。
確定Mac地址應學習的VLAN並檢驗MATM。
附註:有關EVPN的詳細資訊,請參閱BGP EVPN VXLAN配置指南。
Switch#show platform software fed switch active matm macTable vlan 201 VLAN MAC Type Seq# EC_Bi Flags machandle siHandle riHandle diHandle *a_time *e_time ports Con ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 201 0006.f601.cd42 0x1 32436 0 0 0x71e058dc3368 0x71e058655018 0x0 0x71e05877c888 300 14 GigabitEthernet1/0/1 Yes 201 0006.f601.cd01 0x1 32437 0 0 0x71e058dae308 0x71e058655018 0x0 0x71e05877c888 300 15 GigabitEthernet1/0/1 Yes 201 0006.f617.ee81 0x1000001 0 0 64 0x71e059191ee8 0x71e058e11468 0x71e058ef0d18 0x0 0 5335175 VTEP 172.16.255.4 adj_id 1376 No
Total Mac number of addresses:: 4 Summary: Total number of secure addresses:: 0 Total number of drop addresses:: 0 Total number of lisp local addresses:: 0 Total number of lisp remote addresses:: 2 <--- Remotely learned addresses from EVPN *a_time=aging_time(secs) *e_time=total_elapsed_time(secs) Type: MAT_DYNAMIC_ADDR 0x1 MAT_STATIC_ADDR 0x2 MAT_CPU_ADDR 0x4 MAT_DISCARD_ADDR 0x8 MAT_ALL_VLANS 0x10 MAT_NO_FORWARD 0x20 MAT_IPMULT_ADDR 0x40 MAT_RESYNC 0x80 MAT_DO_NOT_AGE 0x100 MAT_SECURE_ADDR 0x200 MAT_NO_PORT 0x400 MAT_DROP_ADDR 0x800 MAT_DUP_ADDR 0x1000 MAT_NULL_DESTINATION 0x2000 MAT_DOT1X_ADDR 0x4000 MAT_ROUTER_ADDR 0x8000. <--- Note 0x1000000 + 0x1 == 0x1000001 ---> Mac Address remotely learned Dynamically via EVPN MAT_WIRELESS_ADDR 0x10000 MAT_SECURE_CFG_ADDR 0x20000 MAT_OPQ_DATA_PRESENT 0x40000 MAT_WIRED_TUNNEL_ADDR 0x80000 MAT_DLR_ADDR 0x100000 MAT_MRP_ADDR 0x200000 MAT_MSRP_ADDR 0x400000 MAT_LISP_LOCAL_ADDR 0x800000 MAT_LISP_REMOTE_ADDR 0x1000000 MAT_VPLS_ADDR 0x2000000 MAT_LISP_GW_ADDR 0x4000000
附註:EVPN型別標誌使用MAT_LISP_REMOTE_ADDR與LISP Mac Learning相同的表示法。
本示例使用2個C9300-48UN的交換機堆疊,其中SVI 100是網路上的L3網關,其自己的Mac地址未正確程式設計,包括:
目的地裝置連線到交換器2上的連線埠
源裝置連線到Switch 1上的埠
SVI 100是網關
沒有從源裝置到目的裝置的連線(使用ICMP進行測試)
如果目的裝置連線到交換機1,則連線恢復
Switch#show ip arp 192.168.1.3 Protocol Address Age(min)Hardware Addr Type Interface Internet 192.168.1.3 6 9c54.1631.8bd1 ARPA Vlan100 <— Vlan 100上正確解析的ARP
Switch#show mac add address 9c54.1631.8bd1 Mac地址表------------------------------------------- Vlan Mac地址型別埠---- ----------- -------- ----- 100 9c54.1631.8bd1 DYNAMIC Te2/1/1 <— IOS已正確程式設計的目標Mac地址此標準的總計Mac地址:1
主要目標是確保看到輸入流量。這可透過EPC完成,此範例使用ICMP流量。
Switch#monitor capture tac interface Te2/1/1均匹配any start
<請稍等片刻>
Switch#monitor capture tac stop
Switch#show monitor capture tac buffer brief | i ICMP
908 4.969635 192.168.1.2 -> 192.168.1.3 ICMP 114 Echo(ping)請求id=0x0008, seq=0/0, ttl=255 909 4.970165 192.168.1.3 -> 192.168.1.2 ICMP 118 Echo(ping)回覆id=0x0008, seq=0/0, ttl=254(908中的請求)。 < — 在EPC上看到應答表明流量到達目的裝置後正確應答910 4.970425 192.168.1.2 -> 192.168.1.3 ICMP 114 Echo(ping)請求id=0x0008,seq=1/256,ttl=255 911 4.970724 192.168.1.3 -> 192.168.1.2 ICMP 118 Echo(ping)回覆id=0x0008, seq=1/256, ttl=254(在910中請求)912 4.970889 192.168.1.2 -> 192.168.1.3 ICMP 114 Echo(ping)請求id=0x0008, seq=2/512, ttl=2559 4.971211 192.168.1.3 -> 192.168.1.2 ICMP 118 Echo(ping)回覆id=0x0008, seq=2/512, ttl=254(912中的請求)914 4.971436 192.168.1.2 -> 192.168.1.3 ICMP 114 Echo(ping)請求id=0x0000008, seq=3/768, ttl=255 915 4.971558 192.168.1.3 -> 192.168.1.2 ICMP 118回應(ping)回覆id=0x0008, seq=3/768, ttl=254(914中的請求)
Switch#show monitor capture tac buffer detailed |開始幀909開始顯示資料包…….....按Ctrl + Shift + 6退出第1幀:118位元組(944位元組),118位元組擷取(944位元組)(在介面/tmp/epc_ws/wif_to_ts_pipe上,id 0)介面id:0(/tmp/epc_ws/wif_to_ts_pipe)介面名稱:/tmp/epc_ws/wif_to_ts_pipe封裝型別:乙太網(1)到達時間:2024年4月19日19:14:13.044770000 UTC [此資料包的時移:0.000000000秒]紀元時間:1713554053.044770000秒[上一個捕獲幀的時間增量:0.000000000秒] [與先前顯示的幀的時間差值:0.000000000秒] [自引用或第一幀以來的時間:0.000000000秒]幀號:1幀長度:118位元組(944位元)擷取長度:118位元組(944位)[幀被標籤:False] [忽略幀:False] [幀中的協定:eth:ethertype:vlan:ethertype:ip:icmp:data] Ethernet II, Src:9c:54:16:31:8b:d1(9c:54:16:31:8b:d1),Dst:70:6b:b9:29:f7:51(70:6b:b9:29:f7:51)< — 驗證此源mac是否與來自arp條目/ macTable for 192.168.1.3的以上輸出匹配:70:6b:b9:29:f7:51(70:6b:b9:29:f7:51)< — 驗證此DMAC(目標Mac地址)是否與網關(SVI 100)地址匹配:70:6b:b9:29:f7:51(70:6b:b9:29:f7:51).....0................. = LG位:全域性唯一地址(出廠預設值)。.....0................ = IG位:單個地址(單播)來源:9c:54:16:31:8b:d1(9c:54:16:31:8b:d1)地址:9c:54:16:31:8b:d1(9c:54:16:31:8b:d1)。....0................. = LG位:全域性唯一地址(出廠預設值)。.....0................ = IG位:單個地址(單播)
Switch#show interface vlan 100 Vlan100 is up, line protocol is up, Autostate Enabled Hardware is Ethernet SVI, address is 706b.b929.f751(bia 706b.b929.f751)< — 匹配ICMP應答的DMAC網際網路地址為192.168.1.4/24
Switch#show mac address-table address 706b.b929.f751 Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- <— IOS完全沒有設定SVI 100 Mac地址(意外情況)
Switch#show platform software feed switch active matm macTable vlan 100 mac 706b.b929.f751 VLAN MAC型別Seq# EC_Bi Flags machandle siHandle riHandle diHandle *a_time *e_time埠Con ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 100 706b.b929.f751 0x802 0 00 0 000057908 0x7fc210cb7d78 0x0 0x0 0 0 Vlan100是======平台硬體詳細======息Asic:0 < — 交換機1上的矩陣(活動)具有正確程式設計的SVI 100 MAC htm-handle = 0x7fc210cb9e68 MVID = 5 gpn = 1 SI = 0x2d RI = 0x1 DI = 0x5234 Asic:1 SI = 0x2d RI = 0x1 DI = 0x5234
附註:當目的裝置連線到交換機1時,連線恢復的原因是MATM與交換機2相比仍被正確程式設計。
Switch#show platform software feed switch 2 matm macTable vlan 100 mac 706b.b929.f751 Mac地址總數:0 < — 交換機2上的矩陣沒有SVI 100 MAC Programmed Summary:安全地址總數:0丟棄地址總數:0 lisp本地地址總數:0 lisp遠端地址總數:0
如果負責程式設計Mac地址的交換機硬體資源耗盡,則無法再學習其他地址
Switch#show platform hardware fed switch active fwd-asic resource tcam utilization代碼:EM - Exact_Match, I - Input, O - Output, IO - Input & Output, NA - Not Applicable CAM Utilization for ASIC [0] Table Subtype Dir Max Used %Used V4 V6 MPLS Other ------------------------------------------------------------------------------------------------------ Mac Address Table EM I 32768 31788 97.01% 0 31788 < — 查詢95%或更大值Mac Address Table TCAM I 1019.91 0 0 1019 L3組播EM I 8192 0 0 0.00% 0 0 0 L3組播TCAM I 512 9 1.76% 3 6 0 0 L2組播EM I 8192 0 0.00% 0 0 0 L2組播TCAM I 512 11 2.15% 3 8 0 IP路由表EM I 24576 3 0.01% 2 0 IP路由表TAM i 8192 19 0.23% 6 10 2 1 QOS ACL TCAM IO 5120 85 1.66% 28 38 0 19 TCAM I 45 0.88% 15 20 0 10 TCAM O 40 0.78% 13 18 0 9安全ACL TCAM IO 5120 131 2.56% 26 60 0 45 TCAM I 8 1.72% 12 36 0 40 TCAM O 43 0.84% 14 24 0 5 Netflow ACL TCAM I 256 6 2.34% 2 0 2 PBR ACL TCAM I 1024 36 3.52% 30 6 0 Netflow ACL TCAM O 768 6 0.78% 2 0 2流跨度ACL TCAM IO 1024 13 1.27% 3 6 0 4 TCAM I 5 0.49% 1 2 0 2 TCAM O 8 0.78% 2 4 0 2控制平面TCAM I 512 290 56.64% 138 106 0 46隧道終止TCAM I 512 20 3.91% 8 12 0 0 Lisp Inst對映TCAM I 2048 1 0.05% 0 0 1安全關聯TCAM I 6 1.56% 2 2 0 0 CTS細胞矩陣/VPN標籤EM O 8192 0 0 0 0 0 0 CTS細胞矩陣/VPN標籤TCAM O 512 1 0.20% 0 0 0 1客戶端表EM I 4096 0 0.00% 0 0 0客戶端表TCAM I 256 0 0.00% 0 0 0 0輸入組LE TCAM I 10240 0.00% 0 0 0輸出組LE TCAM O 1024 0 0.00% 0 0 0 Macsec SPD TCAM I 256 2 0.78% 0 0 2
附註:如需硬體資源的詳細資訊,請參閱瞭解Catalyst 9000交換器上的硬體資源指南。
| MATM日誌消息 |
定義 |
恢復操作 |
| MATM-3-MAX_ENTRIES:交換機1 F0/0:美聯儲:已達到最大MAC地址數:32768 |
為Mac地址保留的硬體空間已用盡 |
減少交換機上獲知的Mac地址擴展數量 |
選項#1:
減少在Switch:上學習的Mac地址數量
可能會發生網路環路,一旦解決了環路,硬體資源將消退,正常的Mac學習將繼續
網路擴展具有效用,並使用具有更大硬體容量的交換機。(範例:C9300的最大MAC32768址為82,000,而C9500H的最大MAC地址為82,000)
選項#2:
一個合理的錯誤程式設計正在發生:
收集所有相關資料:
顯示技術支援
Tracelog存檔
調試MATM
重新通電裝置
如果問題仍然存在,請與Cisco TAC建立案例。
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
2.0 |
02-Jul-2026
|
更新的拼寫、語法、間距、CCW警報、句子結構和更新的註釋。 |
1.0 |
14-Jun-2024
|
初始版本 |