實戰(zhàn):車間接入多臺無線路由器產(chǎn)生大量ARP造成通信阻塞?高手一招教你解決!
本期分享的案例是有線/無線網(wǎng)絡的相關(guān)問題。
1. 背景介紹
客戶是一家合資車企,今日IT部門新建自動化車間,考慮到成本問題,該車間的有線無線網(wǎng)絡考慮使用純傻瓜式網(wǎng)絡部署局域網(wǎng),采用的是某三的交換機+無線路由器實現(xiàn),無線路由只用LAN口當無線接入點使用,而隨著無線路由器的增加(到了幾十臺),網(wǎng)絡中的上位機和終端之間的I/O通信便經(jīng)常性中斷和報警。
現(xiàn)場簡化拓撲如下:
規(guī)劃配置如下:
- 傻瓜式網(wǎng)絡,網(wǎng)段為:10.35.0.0/16
- 只有核心交換機是管理型,其它都是傻瓜式交換機
2. 排查分析
第一步:查看管理交換機的告警日志
IT人員發(fā)現(xiàn)隨著無線路由器的增加,某三交換機就會出現(xiàn)端口防護的告警,查看ARP計數(shù)激增,不免懷疑是無線路由接入過多,導致ARP廣播泛洪使上位機和終端之間的I/O通信阻塞等:
第二步:抓包查看ARP廣播詳情
由于ARP報文基本上是廣播類型(問詢、免費ARP都是廣播),所以隨便找個PC接入交換機wireshark抓包就行:
可以明確看到確實網(wǎng)絡中存在ARP泛洪了,進一步看下單個終端的ARP量如何:打開wireshark—>統(tǒng)計—>會話,查看會話統(tǒng)計:
可以得出兩個結(jié)論:
- 通過會話統(tǒng)計查看,這些源MAC(也就是無線路由器),在我抓了100多秒的報文中,每個終端共發(fā)了500多個ARP報文,也就是說:每個終端1秒發(fā)5個ARP廣播查詢;
- 所以隨著無線路由器愈來愈多,加了幾十至上百臺后,ARP廣播查詢包會激增到數(shù)百個/秒。
好了,下來我們就要思考:每臺路由器每秒發(fā)5個ARP廣播查詢是否正常?是機制還是BUG?
第三步:確認無線路由器的ARP查詢機制
經(jīng)確認,無線路由器為了維護自己的ARP表項,其所處的網(wǎng)段也是10.35.0.0/24,所以難免會學習到終端、上位機、電腦等設備的ARP條目,當ARP條目老化后就會發(fā)送查詢報文,是符合設備設計和運轉(zhuǎn)機制,沒問題:
好了,這種傻瓜式網(wǎng)絡交換機沒法抑制和隔離,怎么解決?建議可以先想一下,再看下文~
3. 解決方案
此局域網(wǎng)中,把無線路由器的網(wǎng)段改掉,和10.35.0.0/24不同的網(wǎng)段就可以了,比如改成192.168.1.1/24,無線路由自然就不會有太多ARP條目要維護了: