MAC 地址表(MAC Address Table,硬件實現上常稱 CAM 表)是交換機內記錄「哪個 MAC 地址在哪個端口」的核心資料結構:交換機從每個幀的來源地址被動學習,再依表把幀精準送往目的端口,而不是盲目複製到所有端口。理解這張表的學習、轉發、老化與容量機制,是排查第二層問題與防範內網攻擊的基礎。本頁講解 MAC 表的完整運作流程、與 ARP 表的分別、常見故障徵狀,以及端口安全的實務配置。
學習與轉發的完整流程
每個網絡介面出廠時都帶有一個全球唯一的 48 位元 MAC 地址,作為第二層通訊的身份。根據 Wikipedia 對網絡交換機的介紹,交換機正是依靠學習與查詢 MAC 地址,把幀只轉發到目的裝置所在的端口。流程如下:
攻擊者發送海量偽造來源地址塞滿表,令交換機退化成集線器,藉洪泛監聽他人流量。以端口安全限制每口可學 MAC 數,超限關口或丟棄即可截斷。
③ MAC 翻動(Flapping)
同一地址在兩個端口之間快速交替出現,日誌出現 MAC flapping 告警,典型成因是網絡迴路或無線漫遊異常;伴隨網絡卡頓時應優先排查迴路與生成樹狀態。
④ 排障利器
show mac address-table 配合地址搜尋,可即時定位任何裝置接在哪台交換機哪個端口——追查非法接入、找攝影機實際位置、驗證佈線文檔,全靠這張表。
香港場景的應用實務
商廈辦公網絡:接入端口啟用端口安全,每口限學少量 MAC 並綁定 IP 電話與電腦;會議室與公共位置端口配合 802.1X 認證。發現可疑裝置時,由核心交換機逐級查 MAC 表追蹤到具體樓層與插座,是內網安全事件的標準定位手法。
屋苑與商場監控網絡:數百台攝影機的位置全部可從 MAC 表反查,配合佈線紀錄可快速定位斷線或被調包的攝影機;攝影機端口亦可用端口安全綁定唯一 MAC,防止有人拔走攝影機接入自己的裝置。
排障日常:網絡卡頓兼日誌出現 MAC flapping,先查迴路與 RSTP 狀態;個別裝置「時通時斷」,檢查其 MAC 是否被老化後洪泛尋回,或被端口安全誤攔。把 MAC 表視為交換網絡的「戶口名冊」,大部分第二層問題都可從它入手。
常見問題
交換機如何學習 MAC 地址?
交換機每收到一個幀,都會讀取幀的來源 MAC 地址,把「這個地址出現在這個端口(及這個 VLAN)」記入 MAC 地址表,並重設該表項的老化計時。整個過程完全被動,無需裝置配合:只要裝置發過任何一個幀,其位置便被學習。若某地址其後從另一端口出現(例如裝置搬遷或經無線漫遊),表項會更新為新端口,交換機始終以最近一次學習的位置為準。
查表找不到目的地址時交換機怎樣做?
執行洪泛(Flooding):把幀複製到同一 VLAN 內除來源端口以外的所有端口,稱為未知單播洪泛。目的裝置收到後回應,其來源地址隨即被學習,之後的幀便可精準單播轉發。廣播幀與多數多播幀同樣以洪泛方式處理。這解釋了交換網絡「初次通訊靠洪泛、其後靠查表」的行為,也說明為何 MAC 表失效(例如被攻擊塞滿)時,交換機會退化成把所有流量到處洪泛的集線器。