Chinaunix

标题: 请教UDP组播报文发送问题 [打印本页]

作者: harly_w    时间: 2013-05-24 12:33
标题: 请教UDP组播报文发送问题
近日遇到一个组播UDP报文发送的问题,请各位大侠帮忙指点一下
程序从特定接口(192.168.2.2)发送组播报文出去,测试发现有的组播地址的报文能够发送,有的却不能够发送。
比如:224.0.0.129 的组播报文能够成功发送出去,接口连接的PC能够成功接收到组播报文,但是224.0.1.129的报文却不能够发送出去,接口连接的PC抓包不到。
跟踪了一下,发现linux 内核在调用driver驱动的时候,在正确和不正确的情况下,找到的出口net_device  dev是不一样的。

  不知道内核是如何选路的,以致于在发送报文的参数都是一样(除了组播地址不同)的情况下,造成无法发送出去。

请大侠帮忙指点一下方向,先谢谢啦。



作者: harly_w    时间: 2013-05-24 12:58
更新一些信息:
   更改组播地址发现:貌似 224.0.0.x 的组播报文可以发送出去,但是224.0.1.x的组播报文发送不出去。
作者: harly_w    时间: 2013-05-24 15:14
更新一些信息:
    发送的报文是1588 V2 的组播报文。
    奇怪的是这个报文对224.0.1.x的地址不能正确转发出去。


作者: harly_w    时间: 2013-05-28 14:52
自己解答一下,现在问题已经解决,原因是其中一个dev没有IP地址,造成内核经过br0转发出去的时候,不知道出口造成。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2