首页 > 解决方案 > 在数据包中添加一个新位

问题描述

例如,有两个节点A和B,A会向B发送一些IPv6数据包。我可以在数据包中添加一个新的位,作为每个数据包的特征,就像数据包ID一样,这样我就可以通过它来区分这些数据包。

标签: contikirpl

解决方案


如果您使用的是 RPL,您可能可以为此目的使用 RPL 逐跳扩展标头中的一些位。检查结构struct uip_ext_hdr_opt_rpl- 它有一个成员变量flags,不是当前使用的所有位。设置和读取此标头的相关代码rpl-ext-header.c位于net.

出于您的目的,可能还可以使用一些 IEEE 802.15.4 标头位甚至 IPv6 主标头位,但这会破坏与这些标准的兼容性,并且在更高的基础上实现这一点可能会更加棘手-级别 RPL 标头。

如果您绝对不想破坏与任何东西的兼容性,我认为唯一安全的选择是添加您自己的 IPv6 扩展标头。这将更安全,但空间效率更低。


推荐阅读