我正在使用 centos 6.3 服务器订阅 UDP 多播数据,我注意到我的服务器没有响应它所连接的交换机发送的 IGMP 查询。
结果,当我打开多播套接字时,我开始接收多播数据,直到我的 IGMP 订阅超时,因为服务器没有更新其订阅。(为了确保问题不是来自我的任何代码,我只是使用 smcroute 打开多播订阅)
我在网上搜索了一段时间,但我发现的任何提示都没有帮助我解决这个问题。
这是我服务器任何接口上 IGMP 通信的屏幕截图:
http://img521.imageshack.us/img521/9953/capture10y.png
如我们所见,我的服务器首先发送 2 个 IGMP 连接,但几分钟后,当交换机发送 IGMP 查询时,没有人回答。
相关接口的 IGMP 协议集版本为 V2:
[root@localhost ~]# cat /proc/net/igmp
Idx Device : Count Querier Group Users Timer Reporter
1 lo : 0 V2
010000E0 1 0:00000000 0
2 eth0 : 5 V2
FB0000E0 1 0:00000000 1
010000E0 1 0:00000000 0
5 tap0 : 5 V3
FB0000E0 1 0:00000000 0
010000E0 1 0:00000000 0
7 eth1.371: 13 V2
414000E0 1 0:00000000 1
404000E0 1 0:00000000 1
3F4000E0 1 0:00000000 1
504000E0 1 0:00000000 1
524000E0 1 0:00000000 1
494000E0 1 0:00000000 1
4A4000E0 1 0:00000000 1
4B4000E0 1 0:00000000 1
FB0000E0 1 0:00000000 0
010000E0 1 0:00000000 0
rp_filter 在此接口上被禁用:
[root@localhost ~]# cat /proc/sys/net/ipv4/conf/eth1.371/rp_filter
0
非常感谢你能给我的任何帮助。
最好的,
洛朗