0

我理论上知道这个问题的答案,但我想知道在哪里可以访问代码级别的信息。因此,假设在示例 rpl-udp 中,当客户端向服务器发送消息时,理论上我们使用 rpl 路由消息将通过客户端的父级,直到 DODAG 树,直到它到达服务器。我想要做什么来跟踪这个应用程序级别的数据包,因为它在树上,所有中继这个数据包的节点,我想知道他们什么时候收到数据包,什么时候将它路由到树上。

我在哪里可以在 continiki-ng 代码中找到此信息?我认为它不在 RPL 头文件中,但我不确定。

任何帮助都会很棒。谢谢你。

4

1 回答 1

0

RPL 负责路由管理。实际的数据包转发与路由协议分离,这是所有操作系统中的通用设计模式。

在 Contiki-NG 中,转发代码位于os/net/ipv6/. 主文件是tcpip.c. 路由数据结构和相关函数在uip-ds6-route.c和中定义uip-ds6-route.h

Contiki-NG 中还有一个源路由选项,在这种情况下,下一跳列表直接存储在数据包的 IP 标头中,而正常的 IPv6 路由表不存在。源路由表(仅存在于网络的根节点上)定义在uip-sr.c.

于 2022-01-23T09:17:12.617 回答