我试图通过边界路由器将数据包从我的PC发送到多个节点。节点和边界路由器是使用Contiki开发的。问题是我无法发送多播消息,因为边界路由器不会将它们转发到节点。有什么办法可以解决这个问题?

编辑:我正在使用IPv6进行路由,并且多猫数据包是使用UDP协议发送的。此外,边界路由器接口是以太网或SLIP(可以双向连接到PC)和6lowpan over 802.15.4(与节点连接)。

#1 楼

可能您必须包括IGMP之类的协议-假设您正在使用IPv4。 Internet协议中的标准多播有很好的理由在路由器边界处终止。不幸的是,我没有Contiki的经验来帮助您实现具体细节。

但是,如果您解决此问题,则需要为多义对象建立适当的边界。 IGMP通过创建跨越路由器边界的多播组来做到这一点。

出于类似目的的IPv6协议是MLD(多播侦听器发现)。

评论


我正在使用IPv6。有类似的协议吗?正如您所说的,多播在路由器处结束,因此我无法与节点进行通信,因为路由器不转发多播方向,并且如果没有多播功能,我的应用程序将无用。

–马
17 Mar 7 '17 at 10:46

@JuanMa是的。我将其放入答案中。也请将该IPv6信息添加到您的问题中。如果您更新问题,您还将失去Aurora的编辑标记;)

– Helmar♦
17 Mar 7 '17 at 15:54