首页 理论教育 Contiki物联网操作系统:跨层按位打包首部字段

Contiki物联网操作系统:跨层按位打包首部字段

时间:2023-11-20 理论教育 版权反馈
【摘要】:许多协议首部字段仅需要几个比特位信息,这些字段的典型示例是标志字段或指定分组类型的字段。图11-2未打包分层首部在传统分层通信体系结构中,通常不可能将来自不同层的比特大小的首部字段打包成单字节字段,相反,比特大小的首部字段必须包含在单独的字节大小的字段中。Chameleon 架构中的分组属性既简化了比特打包首部字段的实现,又使得在层内和层之间对首部字段进行比特打包成为可能。图11-3说明了图11-2中首部的跨层比特打包版本。

Contiki物联网操作系统:跨层按位打包首部字段

许多协议首部字段仅需要几个比特位信息,这些字段的典型示例是标志字段或指定分组类型的字段。如果分组是数据分组或数据分组的确认分组,尽管可以在单独的字节字段中拥有单比特字段,但是为了减小分组首部的总长度,许多单比特字段通常被打包成单字节首部字段。在数据分组长度较小的传感器网络中,减小首部的大小尤为重要。例如,在Tmote Sky 板上的无线电芯片将无线电数据分组的大小限制为128字节。

单比特首部字段的手动比特打包具有若干缺点:首先,协议实现必须意识到某些字段是单比特字段,并且必须使用比特移位和布尔逻辑表达式来访问那些字段;其次,协议实现必须意识到单比特字段的存储位置可以与其他单比特字段共享,因此,协议实现必须确保在写入单比特字段时不会覆盖其他单比特字段;最后,不同层的协议不能将它们的单比特字段打成一个包,但是它们的单比特字段必须使用不同的字节,即使单比特字段中的总比特总和小于字节的大小。

图11-2 未打包分层首部(www.xing528.com)

在传统分层通信体系结构中,通常不可能将来自不同层的比特大小的首部字段打包成单字节字段,相反,比特大小的首部字段必须包含在单独的字节大小的字段中。图11-2 所示是这种首部的示例。Chameleon 架构中的分组属性既简化了比特打包首部字段的实现,又使得在层内和层之间对首部字段进行比特打包成为可能。协议实现不必知道某些数据分组属性是单比特值,这种实现可以像任何其他属性一样访问属性。此外,分组属性的存储位置不与其他属性共享,因此,在写入单个比特属性时,其实现不需要担心覆盖其他属性,此外,由于首部转换模块可以访问每个数据分组的所有数据分组属性,因此它可以有效地将所有单比特属性打包成单字节数据分组首部,如图11-3所示。图11-3说明了图11-2中首部的跨层比特打包版本。

图11-3 跨层首部按位打包版本

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈