基于IPv6的无线传感网络设计
扫描二维码
随时随地手机看文章
引 言
传感网络技术作为物联网的核心技术之一,一直是国内外研究热点,其中无线传感网络部署简单、维护方便,成本低, 相对有线传输更具有灵活性,在环境监测、农业管理、医疗、及工业监控等多方面具有广泛应用前景。
目前大多数无线传感网络都不是基于IP 的网络架构,要想使传感节点接入IP 网络,必须要专门设计一个支持其他私有协议的转换网关,由于网关固有的复杂性,协议转换过程中很可能会破坏双方的网络模型,在大规模网络部署后的网络管理与故障检查方面会有很多不足。端到端IP 网络架构网络层采用IP 技术,具有很好的互通性与稳定性,应用层可以支持多样性的需求,相对传统网关具有很多优势,支持端到端IP 架构的传感网络是未来迎接大规模可控传感网络的潜在发展方向。
但以 IP做基础的无线传感网络规模化应用面临两个问题 :IPv4地址枯竭与传感节点成本限制。要无限地延伸网络边界,实现全网络融合与通信,开展全网络协同服务,必须要使全网系统中最基础层的被标记物具有网络IP地址 ;传统IPv4地址资源即将枯竭,而 IPv6协议具有充足的地址空间,可为需要海量地址的物联网服务[1,2]。另一方面,无线传感网
络节点要求体积小且成本低,并且多部署在不易取电的位置,这就要求传感节点内存资源有限,且工作低功耗 [3]。
为此,结合低功耗 802.15.4 数据链路层和物理层协议及 IPv6 网络层协议的 6LoWPAN(IPv6 over Low Power wireless Area Network)协议栈被 提出,通过 6LoWPAN 适配层对 IPv6 数据包进行分片和重组,完成 IPv6 网络层与 802.15.4 物 理层的融合 [4-6]。Contiki 是专为内存受限的硬件平台开发的操 作系统,该系统开源且集成了6LoWPAN 协议栈 [7]。
论文将采用具有6LoWPAN 协议栈的Contiki 嵌入式操作系统进行传感节点设计;研制支持 6LoWPAN 协议栈的IPV4/ IPV6 双栈边缘路由器,完成传感节点数据向以太网的转发; 在教育网IPv6 环境下搭建基于IPv6 的无线传感网络系统进行测试。
1 IPv6传感网络总体设计
在教育网IPv6 环境下构建如图 1 所示的无线传感网络。
无线传感网络由IPv6 传感节点、IPv6 路由、管理服务器所构成。本设计中,无线传感节点采集环境的温度、湿度与光照度信息。
基于 6LoWPAN 传感节点与IPv6 主机间的 3 层路由过程如图 2 所示。传感器感知环境温、湿度以及光照等信息,将数据传给节点的主芯片,在主芯片内完成对数据包的处理,经过 6LoWPAN 适配层的头压缩,将数据以 802.15.4 数据包格式发送出去,6LoWPAN 无线网卡上射频芯片接收数据包,在网卡主芯片完成 6LoWPAN 适配层重组,再经过通用串行总线接口将数据转发到路由器,通过路由器以 802.3 协议规定转发到IPv6 以太网络中。整个过程经过 IPv6 传感网关完成 IPv6 分组的压缩和解压缩,执行 6LoWPAN 短地址与IPv6 地址的映射,实现了传感网络与IP 网络的融合。
下面将分别对IPv6 传感节点和IPv6 传感网关进行说明。
2 IPv6传感节点设计
传感节点功能示意图见图 3,主要分为主控及通信控制模块、数据采集模块、RF 通信模块及射频天线单元等几部分。
主控模块采用 Atmel 1284P 作为主芯片, 采用支持6LoWPAN 协议栈的 Contiki 作为操作系统。通过 Contiki 为传感节点分配 IPv6 地址。传感器选择SHT11 温、湿度传感器以及光敏电阻。节点射频部分采用Atmel 的AT86RF231,通过同步串行与主芯片通信。节点天线电路采用两个SMA 转接头外置,利用Johanson 公司的 2450BM15A0002 平衡滤波器芯片实现射频通信芯片输出差分信号转变为单端信号。
3 支持 IPv4/IPv6双栈的传感网络网关设计
传感网络网关由两部分构成,一部分是IPv6无线网卡, 另一部分是基于 OpenWRT的IPv6边缘路由器。
IPv6无线网卡在IPv6边缘路由器与传感节点间起桥接作用,它同样采用Contiki作为操作系统,内置 6LoWPAN协议栈, 通过 6LoWPAN适配层对IPv6报文分片与重组。
IPv6 无线网卡的功能示意图如图 4。主要分为主控模块,射频通信模块和射频天线三部分。主控模块芯片采用Atmel 公司的 AT90USB1287,射频模块芯片同样采用Atmel 的AT86RF231,天线采用Antenova 公司的小尺寸 2.4 GHz 贴片天线 A5839。
IPv6 无线网卡与传感节点均采用 Contiki 作为操作系统, 通过一系列进程完成数据的收发。
IPv6 边缘路由器利用市面上已有的基于 OpenWRT 的IPv4 路由器进行开发。首先,基于 OpenWRT 的编程将IPv4 路由器升级,使其同时支持IPv4/IPv6 双栈,完成 6LoWPAN IPv6 传感网络的数据转发 ;其次,开发基于 USB 的IPv6 网卡驱动,可以识别传感网络的数据包,并通过路由器Linux 内核转发数据包,实现传感网络与互联网的互通。
图 5 为边缘路由器驱动实现示意图。整个驱动分两个部分,一个是 USB 驱动,实现USB 控制器对插入无线网卡的识别,进行数据传输 ;另一个是对网络的驱动,即实现对 6LoWPAN 协议栈的支持和 IPv6 数据包的转发。通过对Linux 内核的系统资源配置,实现上述功能。
4 性能测试
依托 CERNET2 华中地区主干网华中科技大学子网,在下一代互联网国家工程实验室按照图 1搭建IPv6联网系统。通过 Contiki对节点与网卡分配 IPv6地址,6LoWPAN无线网卡地址 :2001:250:4000:4407::1;传感节点地址 2001: 250:4000:4407::1d。地址分配如图 6所示。
通过天津教育网对IPv6 无线网卡进行网络连通性测试, ping 网卡地址结果如图7 所示,在远端能得到网卡的回复报文, 网络线路连通正常。
测试 IPv6 传感节点的网络连通性,天津教育网 Ping 节 点地址如图 8 所示,同样可以看到,节点收到发来的数据包并 且回复响应的报文,从客户远端到节点网络是正常连通的。
客户终端在管理服务器通过传感节点的编号即传感节点 IPv6 地址查找特定传感节点,可以远程配置传感节点的采样 时间与采样间隔,实时查看传感节点采集环境信息如图 9 所示。
图 9 通过管理服务器远程查看传感节点数据
4 结 语
本文将 IPv6 技 术应 用于无 线传感 网络, 采用具 有 6LoWPAN 协议栈的 Contiki 嵌入式操作系统开发 IPv6 传感 节点和 IPv6 无线网卡,研制了支持 6LoWPAN 协议栈的 IPv4/ IPv6 双栈边缘路由器。在教育网 IPv6 环境下的测试表明 :传 感节点及边缘路由器均支持基于 6LoWPAN 通信协议,在开 发的物联网管理平台上可实现对 IPv6 传感节点的远程管理与 控制。