故障现象
一台LED大屏,用了8台tv-player,相当于8个IP设备,以192.168.1.1到192.168.1.8为例。可以通过计算机上的软件发送指令给tv-player控制大屏亮度、颜色等。之前使用2台非可管理交换机连接,一台TPLINK交换机,一台华为S1700交换机,之前一切工作正常。最近将其中一台华为S1700换成了华为S310交换机。偶然在大屏调整亮度颜色时发现,8台设备只有1台192.168.1.3设备能ping通,其他设备无法ping通,怀疑是剩下的那台非管理的老旧傻瓜交换机有故障,但是通过对调正常与故障设备网线方式,发现问题依旧,只有唯一192.168.1.3能ping通,其他均不通。
故障分析
拿调试笔记本连接傻瓜交换机ping 1到8均通,说明这台老傻瓜交换机没有故障。故障可能在新换的华为S310交换机上,但是一台新华为交换机,没有额外配置情况下会有什么问题导致1台能ping通,其他无法ping通?百思不得其解,期间问了豆包一些建议,包括dhcp snooping、acl、mac limit等等,均不靠谱。
一度怀疑是不是华为和傻瓜交换机不兼容?但强制百兆、全双工也是无用。没办法,甚至在交换机上做了端口镜像抓包分析,发现有arp广播发送,但没有arp单播回复。
单独把故障设备连接在华为交换机上,用计算机去ping仍然不通,但计算机直连故障设备就没有问题,豆包又把问题考虑到是不是设备发送报文带vlan,但这种情况实在是少见。最后豆包建议是不是mac地址问题,我发送了mac地址17-xx-xx-xx-xx-xx给豆包,豆包判断出mac地址不合规,第一字节低位为1,不是单播mac,而是多播MAC地址,这个概念这么多年头一次听说。重新查看了8台tv-player设备只有好使那台设备的MAC地址是16开头,剩下MAC地址都是17开头。
故障原因
至此,故障原因找到,新的华为交换机检查单播报文中MAC地址合规性,发现不合法的MAC地址丢包了。而老旧设备,包括windows系统自身均不对mac地址合规性检测,所以没有故障。最后新华为交换机也没有命令关闭这个检查,所以旧交换机还得继续使用了。