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