基于6LOWPAN传感器网关设计
扫描二维码
随时随地手机看文章
摘要 在研究6LoWPAN无线传感器网络以及IPv6网络的基础上,提出一种基于6LoWPAN的传感器网关解决方案,实现6LoWPAN无线传感器网络与IPv6网络之间互联,并对网关中的硬件与软件设计进行论述。最后搭建测试网络,通过对端到端网络的连接性、延时变化、往返延时、丢包率以及吞吐量的测试,对该网络性能作出简要分析。测试结果表明,该网关实现了6LoWPAN无线传感器网络与IPv6网络的互联,并能在实际网络环境中运行。
关键词 6LoWPAN;网关;IPv6;无线传感器网络:Contiki
目前IEEE 802.15.4已成为针对低功耗、低数据速率、低可靠性的通用标准。如ZigBee、WirelessHART等在物理层和MAC层均采用IEEE 802.15.4标准,但在网络层它们采用各自定义的协议,不能实现网络层的互联。且无线传感器网络一般采用自定义的通信地址,地址数量有限,仅在单个无线网络内有效。而IPv6具有充足的地址空间,IPv6所具有的特性较好地满足物联网应用需求,是物联网大规模发展的基础性保证。因此,物联网采用IPv6协议实现其广泛互联通成为必然趋势。IETF成立了3个工作组进行低功耗IPv6网络方面的研究,旨在将IPv6与资源受限的无线网络无缝连接。
文中对基于6LoWPAN的无线传感器网络以及IPv6网络进行了研究,主要目标在于设计和实现一种基于6LoWPAN的传感器网关。实现6LoWPAN无线传感器网络与IPv6有线网络之间互联,建立一种能普遍应用的系统平台架构,并在软硬件上进行实现和应用。
1 研究概况
将IPv6技术引入无线传感网络可便于实现与IPv6有线网络设备端对端的通信,提高了转发效率,增强了安全性。文献中提出了IPv6无线传感器网络体系结构,旨在实现IPv6技术与无线传感器网络技术的融合,并讨论了采用网关接入方式,实现无线传感器网络与现有网络的互联。
对于传感器网关架构的研究,有3种不同的设计思想。一是文献设计的网关,客户端通过采用Web技术获取无线传感器节点的数据信息。这类解决方案的缺点是使用专有的协议连接传感器节点,相当于在无线传感器网络与Internet之间放置了代理服务器,并不能实现客户端与传感器节点直接通信;二是文献设计的网关,是基于具体应用而设计的,描述了在该应用场景下网关的信息交互,并未涉及网关的软硬件设计;三是文献设计的基于6LoWPAN的无线传感器网关架构。文献提出了基于6LoWPAN的无线传感器网关架构,实现6LoWPAN无线传感器网络短地址与IPv6地址之间直接转换,分析了数据包的传输过程,但未涉及网关的软硬件设计;文献实现IPv6无线传感器网络的端到端通信,但也没有对网关的软硬件设计进行论述;文献虽着重于网关的软硬件设计,但未对网关及整体系统的性能进行分析。
而文献只关注了网络性能方面的测试。
文中提出一种采用网关接入方式实现6LoWPAN无线传感器网络与IPv6网络互联的整体架构,并对网关中的硬件与软件设计进行论述,最后搭建测试网络对系统的性能进行分析。
2 网关设计
6LoWPAN网关接入方式实现6LoWPAN无线传感器网络与IPv6网络互联的系统架构如图1所示。系统分为4个部分:6LoWPAN传感器节点、6LoWPAN网关、6LoWPAN服务器以及IPv6用户终端。所有无线设备采用Contiki OS作为操作系统。物理层和MAC层遵循IEEE 802.15.4标准,集成了6LoWPAN适配层和uIPv6协议栈,具备邻居发现、自动组网等功能,能支持构建功能完善的基于IPv6的无线传感器网络。传感器节点可以将采集的监测数据通过ContikiRPL路由汇聚到网关,网关进行协议转换及将数据的转发到服务器,服务器将对数据进行分析、处理和存储,而IPv6客户端可以通过访问服务器对网络进行有效的控制和管理。
2.1 硬件设计
网关硬件构成如图2所示。该智能无线网关基于OPENWRT系统,具备3个局域网口,1个广域网口,1个802.11a/b/g WiFi无线网络接口,1个标准USB口和1个可选的串口调试口。WAN口连接如IPv6或IPv4有线网络现有外界网络等。USB口连接USBStick能支持IEEE 802.15.4标准,可以与WSN内的任何节点通信。
在用户不能够访问IPv6服务器的情况下,仍能支持用户终端通过LAN口直接与网关相连,实现与传感器网络内节点进行简单通信。
该智能无线网关除具备通用无线路由器的功能以外,可以支持基于Contiki操作系统的USB UIP网卡实现UIP网络和普通IP网络之间的IPV6互连,同时还支持在OPENWRT的基础上进一步扩展应用。为使网关能够连接无线传感器网络,需要在图2右下角的USB口处插入USB Stick网卡。USB Stick如图3所示。
2.2 软件设计
6LoWPAN网关的软件架构如图4所示。网关通过WAN口与Internet互联。一方面接收以太网数据帧,并将帧实体提交给应用层处理;另一方面从应用层接收帧实体数据,并用以太网帧头对帧实体进行封装,通过WAN口发送出去,这里以太网帧头中的目的地址为下一跳的MAC地址,源地址为网关的MAC地址。
网关通过USB Stick与6LoWPAN无线传感器网络互联。一方面无线接口接收IEEE 802.15.4数据帧,并将帧实体提交给适配层处理;另一方面从适配层接收帧实体数据,并用IEEE 802.15.4帧头对帧实体进行封装,通过无线接口发送出去。
该网关设计的关键之一是对USB Stick的设计。它采用Contiki OS作为操作系统,其物理层和MAC层遵循IEEE 802.15.4标准,集成了uIPv6协议栈和6LoWPAN适配层。采用AT90USB1287芯片,在Congtiki Studio集成开发环境下编程、编译,并通过AVR Studio 4连接JTAG仿真器进行程序烧写。USBStick中主要完成了报文分片与重组、报头压缩及链路层的数据转发等方面功能。
3 性能分析
为分析系统的性能,根据图1搭建了测试网络。通过对端到端网络的连接性、延时变化、往返延时、丢包率以及吞吐量的测试,对该网络性能作出简要分析。
(1)连接性。连接性又称可达性,严格说应是网络的基本能力或属性,并不能称为性能,它直接反映了网络是否可用。通过Ping6命令测试,证明网络能够互通,即实现6LoWPAN无线传感器网络与IPv6网络的互联。测试结果如图5所示。
(2)时延变化。对3 000 s内网络的往返时延进行了监测。监测结果如图6(a)所示。时延的突升或突降,通常表明网络出现故障,或受到安全攻击等。从测试结果可以看出,每个时间段内往返延时比较平稳,从而说明该网络的通讯性能良好。
(3)往返时延。往返时延(RTT,Round Trip Times)由3部分决定:线路的传播时间、末端系统的处理时间及路由器缓存中的排队和处理时间。其中第一项是相对固定的,而后两项则和网络负荷及系统性能有关,所以RTT值能间接反映网络负荷和系统性能,并且可以大致认为RTT值和网络负荷成正比,而和系统性能成反比。为便于测量,主要考虑不同大小数据包的端到端往返时延。
由图6(b)中图可以看出,数据包的大小将会对网络时延有一定的影响。发送的数据包越大,端到端的时延就越长,系统性能就越差。
(4)丢包率。理论上,丢包率一般在0%~15%之间变化。然而由于系统是基于6LoWPAN无线传感器网络,本身即具有低功耗、低数据速率、低可靠性等特点,以及发送的数据包为不可靠传输。因此测得的丢包率比较大,但网络仍然是可达的。监测不同大小的数据包在3 000 s内的丢包率。监测结果如图6(c)所示,数据包越大丢包率就越高。
(5)吞吐量。吞吐量是指数据在网络上的传输速率,一般以bit·s-1、Byte·s-1以及P·s-1表示。吞吐量一般是指链路上所有通信数据的总传输速率,有时也可以表示某特定业务的数据传送速率。这里就是通过ping6命令发送ICMPv6包测试其传输速率,如图6(d)和图6(e)所示。
除以上测试外,发现系统的抗干扰能力比较弱。稍加干扰会就会使丢包率显著增加,甚至导致网络中断。另外,网络环境的改变也很大程度上影响无线传感器节点的有效传输距离。
4 结束语
提出一种基于6LoWPAN的传感器网关解决方案,并对网关中的硬件与软件设计进行了论述。最后,搭建了测试网络,在实际网络环境中,对端到端网络的连接性、延时变化、往返延时、丢包率以及吞吐量进行了测试。测试结果表明,网关系统能实现6LoWPAN无线传感器网络与IPv6网络的互联,并能在实际网络环境中运行。
从测试中看出,该网关系统的丢包率较高,传输的距离受环境影响较大。总体来说,系统的抗干扰能力较弱。进一步研究工作的重点将放在系统的安全性及稳定性上,并考虑其在智能交通中的应用。