现场情况
再某项目上客户反应在超融合平台上的虚拟机UDP报文时断时续,影响业务,经过与软件方的“友好沟通”找到一款测试工具,可以测试UDP收发是否正常。
现场环境
测试软件:test_multisock 下载地址
问题现象:
在虚拟机上运行test_multisock 发送和接收命令,三台虚拟机要分别放在不同的物理机上,三台虚拟机IP地址为192.168.2.61,192.168.2.62,192.168.2.63。表现的现象为三台都在发送时,此时61打开了接收此时61能接受到三台的数据,再打开62的接收,此时61就能收到61和63 ,62能收到63。
再打开63的接收,此时三台虚拟机只能收到自己发送的数据。也就是说只要哪台打开了接收别的虚拟机就收不到这台服务器。
在物理机后台使用命令,查看物理网卡数据包可以看到数据包是有发出物理网卡的
tcpdump -i 网卡名 -n udp
问题诊断:
把三台虚拟机放在同一台主机,同时打开发送和接收显示都正常,初步断定问题出在交换机上。把交换机更换成一个傻瓜交换机,同时打开发送和接收显示也都正常。
难到网管型交换机还不如一个傻瓜交换机?
交换机默认开启了组播抑制功能,可以减小组播报文对网络造成的冲击。交换机igmp snooping默认情况同一个组播地址确定了组播源以后,会阻断其他的组播源。因为这次客户要求比较特殊,这里把交换机组播抑制功能关闭即可。
思科命令是
no ip igmp snooping
现在测试一切正常61 62 63 互相都能收到彼此发的包