微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 一种基于IPv6的无线传感器网络边界路由器设计

一种基于IPv6的无线传感器网络边界路由器设计

时间:06-03 来源:互联网 点击:

ID后建立网络。网络维护任务在网络建立后维持父节点与子节点之间的链路稳定,并在链路出现异常时进行上报并尝试修复链路。IEEE 802.15.4物理层数据单元最大为127 B,而IPv6 要求链路支持的最小MTU(Maximum Transmission Unit,MTU)长度为1 280 B,明显不支持此长度MTU.适配层介于IEEE 802.15.4 MAC层和IP 层之间,因此适配层主任务除了负责管理MAC层协议事件之外,主要完成节点自动地址配置、IP数据包的分片与重组和IP数据包头压缩与解压等功能以实现 IP数据包在IEEE 802.15.4链路中的传输。

2.2.1 地址映射机制

基于IPv6的无线传感器网络中每个节点都需要配置惟一的IPv6 地址,但是手动配置繁琐并且难以保证地址惟一性。本文设计的无线传感器网络边界路由器采用无状态地址自动配置机制。IPv6地址由全局地址前缀和接口标识 ID(Interface ID,IID)两部分组成。因为每一个射频模块都分配有一个全球惟一的IEEE EUI-64标识符,即64位MAC 地址,因此可以利用EUI-64标识符获得一个IPv6地址接口标识ID来实现无状态地址自动配置。

2.2.2 适配层分片与重组机制

为了减少适配层包头开销,适配层帧头分为不分片和分片两种格式,分别用于IP数据包长度小于MAC 层MTU 的报文和IP 数据包长度大于MAC 层MTU 的报文。适配层不分片帧头格式与常规帧头相同,分片帧头又分为第一个分片和后续分片两种格式,如图5和图6所示。

节点适配层接收到适配层数据包时,首先检查该数据包是否分片,如果是一个分片的数据包,则在将所有数据分片重新组合成完整的IP 数据包后,再传送到IP网络层处理;若某一个分片丢失,则丢弃该IP数据包的所有后续分片。对于IP 层下发的数据包,节点适配层判断IP报文长度是否超过链路层MTU 长度,若超过链路层MTU长度,则将此IP数据包分片后发送;若不超过链路层MTU长度,则按照不分片格式发送。

适配层的每一种数据帧都有调度编码位域(8位),不同的调度编码位域表示不同的解析方式,主要包括不分片、分片、IP包头压缩、UDP报头压缩以及预留功能等多种类型。其中,11000xxx表示本数据帧是已分片适配层数据帧的第一个分片,11100xxx则表示本数据帧是已分片适配层数据帧的后续分片。

datagram_size:11 b,表示链路层未分包之前的IP数据包的总长度,该IP 数据包所有链路层分片的该字段的值都应该相同。

datagram_tag:16 b,分片标识,用来区分同一数据源节点的不同IP数据包。同一个IP数据包的所有链路层分片都具有相同的分片标识,数据源节点每成功发送一个完整的IP数据包都更新(加1)该字段的值。

datagram_offset:8 b,分片偏移量,表示该分片在所有分片中的偏移量(以8 B 为单位),该字段只出现在第二个及后续分片中。

2.2.3 适配层报头压缩机制

标准IPv6 网络层报文和UDP 报文的报头分别有40 B 和8 B,由此带来的数据传输报头开销极大,因此本文适配层对IP报文和UDP报文的包头格式进行了压缩处理。由于TCP报文并不适合无线传感器网络这种多跳、数据传输延迟较大的网络[11],故本文暂不考虑TCP报文。根据无线传感器网络的上下文信息,IPv6版本号和负载长度可以省略,通信流类型、流标签、下一包头、跳数限制以及源地址和目的地址设置压缩控制域进行部分压缩。IPv6 网络层报文头部压缩格式如图7所示。

011xxxxx为调度编码位域,其中最右端5位用于报头压缩编码。各编码字段定义如下:

TF:2 b,通信流类型和流标签。其中通信流类型由查分服务代码点DSCP 和显示拥塞反馈ECN,当TF=11时,通信流类型和流标签全都省略;当TF=00时,通信流类型和流标签都不压缩;当TF=01 时,DSCP 省略;当TF=10时,流标签省略。

NH:1 b,下一包头。NH=0,表示下一包头未压缩;NH=1时,下一包头已压缩。

HLIM:2 b,跳数限制。当HLIM 等于00、01、10 和11时,分别表示未压缩、1跳、64跳和255跳。

M:1 b,指示目的地址类型。当M=0 时,目的地址不是多播地址;当M=1时,目的地址为多播地址。

SAC:1 b,表示源地址的压缩方式,当它为0时表示使用的是无状态头部压缩;为1时表示使用的是基于上下文的头部压缩。

SAM 用来控制不同压缩方式下源地址压缩方式。

DAC与DAM 的控制目的地址的压缩方式,具体含义与SAC和SAM相似。

传输层UDP 报文紧跟在IPv6 网络层包头后面,UDP 包头压缩比较简单,是否压缩由前述NH 字段指定。标准UDP报文头部中的长度域省略,源端口号、目的端口号以及校验和域的压缩方式由P和C字段表示,校验和域暂不压缩。UDP报文头部具体压缩格式如图8所示。

众所周知,TCP/IP 端口号为16 位

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top