本期分享的案例是有线/无线网络的相关问题。
1. 背景介绍
客户是一家合资车企,今日IT部门新建自动化车间,考虑到成本问题,该车间的有线无线网络考虑使用纯傻瓜式网络部署局域网,采用的是某三的交换机+无线路由器实现,无线路由只用LAN口当无线接入点使用,而随着无线路由器的增加(到了几十台),网络中的上位机和终端之间的I/O通信便经常性中断和报警。
现场简化拓扑如下:
规划配置如下:
- 傻瓜式网络,网段为: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条目要维护了: