Ipv6 如何在通信中向邻居发送单播数据包?

Ipv6 如何在通信中向邻居发送单播数据包?,ipv6,contiki,contiki-ng,Ipv6,Contiki,Contiki Ng,在Contiki NG中,是否可以使用邻居缓存中的链接地址将自定义数据包从udp客户端节点发送到邻居? 我正在寻找一种避免发送icmpv6数据包的方法,因为它将向上发送到根目录,然后由根目录将其发送到目标目录。我看到Contiki启用了mesh拓扑,所以应该可以直接向邻居发送数据包,而无需将数据包转发给父级。 我将非常感谢在这方面的任何帮助 IPv6具有所谓的链路本地地址。这些地址的前缀为fe80::/64。如果您想绕过路由发送数据包,那么应该使用这些地址。例如,如果您的网络具有前缀fd00::

在Contiki NG中,是否可以使用邻居缓存中的链接地址将自定义数据包从udp客户端节点发送到邻居? 我正在寻找一种避免发送icmpv6数据包的方法,因为它将向上发送到根目录,然后由根目录将其发送到目标目录。我看到Contiki启用了mesh拓扑,所以应该可以直接向邻居发送数据包,而无需将数据包转发给父级。
我将非常感谢在这方面的任何帮助

IPv6具有所谓的链路本地地址。这些地址的前缀为
fe80::/64
。如果您想绕过路由发送数据包,那么应该使用这些地址。例如,如果您的网络具有前缀
fd00::/64
,并且邻居具有全局IPv6地址
fd00::201:1:1:1
,则将数据包发送到
fe80::201:1:1
,以直接到达该邻居


与“Contiki启用网状拓扑”相关的旁注-如果您在非存储模式下使用RPL Lite或RPL Classic,则在任何情况下,所有路由数据包都将通过根节点,因为网络节点在此模式下不会向其路由表添加到父节点/子节点的路由。启用存储模式以使用路由实现直接对等数据包交换。

IPv6具有所谓的链路本地地址。这些地址的前缀为
fe80::/64
。如果您想绕过路由发送数据包,那么应该使用这些地址。例如,如果您的网络具有前缀
fd00::/64
,并且邻居具有全局IPv6地址
fd00::201:1:1:1
,则将数据包发送到
fe80::201:1:1
,以直接到达该邻居


与“Contiki启用网状拓扑”相关的旁注-如果您在非存储模式下使用RPL Lite或RPL Classic,则在任何情况下,所有路由数据包都将通过根节点,因为网络节点在此模式下不会向其路由表添加到父节点/子节点的路由。启用存储模式以使用路由实现直接对等数据包交换。

谢谢您的回答。我尝试将链接本地地址复制为ipaddress,并使用uip_icmp6_send,但似乎再次通过根目录。我应该使用哪个函数发送链接本地地址?@phrick如何发送?fe80::/64地址不应路由。好的,我只更改了第一个字节以匹配fe80,现在已正确发送。非常感谢!谢谢你的回答。我尝试将链接本地地址复制为ipaddress,并使用uip_icmp6_send,但似乎再次通过根目录。我应该使用哪个函数发送链接本地地址?@phrick如何发送?fe80::/64地址不应路由。好的,我只更改了第一个字节以匹配fe80,现在已正确发送。非常感谢!