我正在使用 CentOS 6.3 服务器订阅 UDP 多播数据,并且我注意到我的服务器不响应它所连接的交换机发送的 IGMP 查询。
结果,当我打开我的多播套接字时,我开始接收多播数据,但是当我的 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 …Run Code Online (Sandbox Code Playgroud)