實戰:車間接入多台無線路由器產生大量ARP造成通訊阻塞?高手一招教你解決!

2025.04.09
本期分享的案例是有線/無線網路的相關問題。



1. 背景介紹
客戶是一家合資車企,今日IT部門新建自動化車間,考慮到成本問題,該車間的有線無線網絡考慮使用純傻瓜式網絡部署局域網,採用的是某三的交換機+無線路由器實現,無線路由只用LAN口當無線接入點使用,而隨著無線路由器的增加終端(到了幾十台),網絡中的上位機和便報和設備通信。

現場簡化拓樸如下:


規劃配置如下:

傻瓜式網絡,網段為:10.35.0.0/16
只有核心交換器是管理型,其它都是傻瓜式交換機
2. 排查分析
第一步:查看管理交換器的警告日誌

IT人員發現隨著無線路由器的增加,某三交換機就會出現端口防護的告警,查看ARP計數激增,不免懷疑是無線路由接入過多,導致ARP廣播泛洪使上位機和終端之間的I/O通信阻塞等:
步驟二:抓包查看ARP廣播詳情

由於ARP封包基本上就是廣播類型(問詢、免費ARP都是廣播),所以隨便找個PC接入交換器wireshark抓包就行:

可以明確看到確實網路中存在ARP泛洪了,進一步看下單一終端的ARP量如何:開啟wireshark—>統計—>會話,查看會話統計:
可以得出兩個結論:

透過會話統計查看,這些來源MAC(也就是無線路由器),在我抓了100多秒的封包中,每個終端共發了500多個ARP封包,也就是說:每個終端機1秒發5個ARP廣播查詢;
所以隨著無線路由器愈來愈多,加了幾十至上百台後,ARP廣播查詢包會激增到數百個/秒。
好了,下來我們就要思考:每台路由器每秒發5個ARP廣播查詢是否正常?是機制還是BUG?

第三步:確認無線路由器的ARP查詢機制

經確認,無線路由器為了維護自己的ARP表項,其所處的網段也是10.35.0.0/24,所以難免會學習到終端、上位機、電腦等設備的ARP條目,當ARP條目老化後就會發送查詢報文,是符合設備設計和運轉機制,沒問題:
好了,這種傻瓜式網路交換器沒辦法抑制和隔離,要怎麼解決?建議可以先想一下,再看下文~

3. 解決方案
此區域網路中,把無線路由器的網段改掉,和10.35.0.0/24不同的網段就可以了,例如改成192.168.1.1/24,無線路由自然就不會有太多ARP條目要維護了: