在数据包中添加一个新位

Add a new bit in packet

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

如果您正在使用 RPL,您可能可以使用 RPL hop-by-hop 扩展 header 中的一些位来达到此目的。检查结构 struct uip_ext_hdr_opt_rpl - 它有一个成员变量 flags,当前并未使用它的所有位。设置和读取这个header的相关代码在net下的文件rpl-ext-header.c中。

您也可以使用某些 IEEE 802.15.4 header 位甚至 IPv6 主要 header 位,但这会破坏与这些标准的兼容性,并且可能更巧妙地实现在 higher-level RPL header.

之上做某事

如果您绝对不想破坏与任何东西的兼容性,我认为唯一安全的选择是添加您自己的 IPv6 扩展 header。那会更安全,但更少 space-efficient.