contiki - 在数据包中添加一个新位
问题描述
例如,有两个节点A和B,A会向B发送一些IPv6数据包。我可以在数据包中添加一个新的位,作为每个数据包的特征,就像数据包ID一样,这样我就可以通过它来区分这些数据包。
解决方案
如果您使用的是 RPL,您可能可以为此目的使用 RPL 逐跳扩展标头中的一些位。检查结构struct uip_ext_hdr_opt_rpl
- 它有一个成员变量flags
,不是当前使用的所有位。设置和读取此标头的相关代码rpl-ext-header.c
位于net
.
出于您的目的,可能还可以使用一些 IEEE 802.15.4 标头位甚至 IPv6 主标头位,但这会破坏与这些标准的兼容性,并且在更高的基础上实现这一点可能会更加棘手-级别 RPL 标头。
如果您绝对不想破坏与任何东西的兼容性,我认为唯一安全的选择是添加您自己的 IPv6 扩展标头。这将更安全,但空间效率更低。
推荐阅读
- asp.net - 在自定义标签助手中添加默认标签('asp-for')
- javascript - 根据给定的键更改javascript对象中元素的顺序
- html - 当我想在数组中添加元素时出现问题
- swift - 有关 MCMErrorDomain 错误 44 的任何信息?
- angular - 具有 Primeng 动态对话框的多个服务相互干扰
- javascript - javascript中类似代码块的输出有何不同
- php - 根据订单详情页面中的产品标题替换产品 SKU
- c# - C# 试图获取嵌套节点的 XML 内部文本
- django - 动态嵌套序列化器字段 Django REST Framework
- java - Jenkins mvn:找不到命令构建步骤“执行外壳”将构建标记为失败