关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于6LOWPAN的IPv6传感器网络报头压缩方案的设计与实现

基于6LOWPAN的IPv6传感器网络报头压缩方案的设计与实现

作者: 时间:2011-09-21 来源:网络 收藏

2.2 改进
虽然RFC4944中提到的已经很精简,但是这种方法仍然存有冗余。中对于的跳数限制字段并没有,而是始终占用1 B存放在未字段中。但是在实际中,1,64,255这三种跳数限制已经可以满足大部分的应用需求,因此本文提出一种支持对跳数限制压缩的压缩方法,最理想情况下可以将压缩到1B。
如果将跳数限制压缩,就要从HC1字节中节省出两个比特,用来标识跳数限制的4种状态(未压缩、1、64、255),HC1字节中前4个比特都用来描述IPv6源地址和目的地址的压缩状态,存在一定的冗余性。因为根据上文的分析,不需要1个比特来专门标识IPv6接口标识符的压缩状态,如果IEEE 802.15.4寻址模式为64位扩展地址,接口标识符可以直接压缩掉,如果寻址模式为16位短地址,接口标识符不可以压缩,需要携带在未压缩字段中。因此HC1字节中只需要2个比特标识IPv6地址前缀的压缩状态,可以节省下2个比特用来标识跳数限制的压缩状态。具体压缩方案如图4所示。

本文引用地址://m.amcfsurvey.com/article/161471.htm

c.JPG


2.3流程
为了IPv6报头压缩与解压缩的功能,在适配层和层之间加入压缩控制层,层的数据经过压缩控制层的处理之后交给适配层处理,同样适配层的数据经过压缩控制层之后交给层处理,处理流程如图5所示。系统头文件中定义一个预编译开关来控制IPv6报头是否要进行压缩,当开关打开时,数据包将会进入压缩器进行处理。压缩器首先要完成节点本地环境的检测,主要包括对IEEE 802.15.4地址模式、IPv6地址前缀类型、服务类型和流标签状态、下一个首部类型、跳数限制需求和下一个首部压缩状态的检测,之后根据节点本地环境进行HC1字节和未压缩字段的填充。
数据包的解压缩过程正好是数据包压缩的逆程,解压缩器首先要根据IEEE 802.15.4地址类型还原接口标识符,然后通过解码HC1字节可以将IPv6报头中压缩掉的字段恢复出来,最后在配合未压缩字段的内容就可以还原完整的IPv6报头。

d.JPG



评论


相关推荐

技术专区

关闭