基于Contiki的无线传感器网络的6LoWPAN子网和互联网互联研究

2017-10-12 02:24任海波
关键词:网关成都无线

铁 玲, 任海波

(1.成都大学 信息科学与工程学院, 四川 成都 610106;2.成都世纪华宁科技有限公司, 四川 成都 610041)

基于Contiki的无线传感器网络的6LoWPAN子网和互联网互联研究

铁 玲1, 任海波2

(1.成都大学 信息科学与工程学院, 四川 成都 610106;2.成都世纪华宁科技有限公司, 四川 成都 610041)

无线传感器网络是物联网的重要组成部分,主要通过传感器感受外界环境,同时将测量参数通过无线媒介传递给后台服务器,并且传感器节点之间可以组网完成数据路由功能.传统的IP协议栈并不适合资源和能量受限的无线传感器节点,6LoWPAN技术主要完成IPv6互联网与无线传感器网络之间协议和数据的转换.通过在传感器节点和嵌入式网关中间引入Contiki操作系统以及合适的IPv6协议栈可以很好地实现无线传感器网络和Internet的互联.实现了基于Contiki的CC2530网关节点的uIP协议栈,并设计了UDP通信协议,针对设计方案搭建合理的测试环境,并采用PING命令进行了连通性测试实验.

6LoWPAN;IPv6;Internet;联接

0 引 言

6LoWPAN技术主要针对在无线传感器网络(wireless sensor network,WSN)上提供IPv6协议,IETF工作组的RFC4944标准[1]对IPv6分组如何在无线传感器网络上被封装和转发进行了详细说明.此外,Contiki是一种在无线传感器网络上开发的开源操作系统[2],在此之上实现了uIP(micro-IP) and lwIP TCP/IP协议栈,每个节点提供IPv6连接,从而实现无线传感器网络和IPv6互联网之间全IP的互联互通[3].本研究基于Contiki,实现一个6LoWPAN的网关,完成IPv6协议栈和6LoWPAN协议栈的转换,使得6LoWPAN的无线传感器节点和IP网络的主机能相互访问.

1 6LoWPAN网络体系结构

基于6LoWPAN的无线传感器网络主要由IPv6的无线传感器节点、6LoWPAN网关、IPv6网络和节点组成,其网络体系结构如图1所示[4].

1.1 6LoWPAN协议栈

无线传感器节点支持Contiki的uIP[5]协议,其网络的协议栈如图2所示.6LoWPAN适配层是IPv6网络和IEEE 802.15.4 MAC层间的一个中间层,其向

图1 6LoWPAN网络体系结构

上提供IPv6对IEEE 802.15.4媒介访问支持,向下则控制网络构建、拓扑及MAC层路由.6LoWPAN适配层的基本功能包括链路层的分片和重组、头部压缩、组播支持、网络拓扑构建和地址分配、IPv6报文的转发.

图2 6LoWPAN协议栈

1.2 Contiki的系统架构

Contiki[6]是一个适用于有内存的嵌入式系统的开源、高可移植并支持网络的多任务操作系统,其系统架构如图3所示,包括一个多任务核心、TCP/IP堆栈、程序集以及低能耗的无线通信堆栈.Contiki可以在每个进程内选择是否支持先占式多线程,进程间通信通过事件利用消息来实现.Contiki还包括一个可选的GUI子系统,可以提供对本地终端、基于VNC的网络化虚拟显示或者Telnet的图形化支持.

图3 Contiki的系统架构示意图

2 uIP协议设计

uIP的TCP/IP协议栈是为能够在对内存具有严格要求的智能体和其他网络嵌入式设备运行而设计的.本设计中,uIP协议栈[7]主要有2个任务:传感器的数据包通过uip封装成IP报文,然后放在缓存区里,适配层通过对其报文的头部压缩和分片,在通过加入相应的mesh头或分片来构造6LoWPAN数据包,最后发送出去;处理由底层驱动收到的数据包.数据的接收过程正好相反.协议实现的构架图如图4所示.

图4 uIP协议

本设计主要采用应用UDP[8]来实现数据的转发.通过timeout-handler()函数来触发定时器,然后调用uip-udp-packet-send()函数来实现发送.该函数通过调用网络层驱动sicslowpan.c文件中的sicslowpan-init(void)来启动MAC层的输出,最后将数据发送出去.应用层程序通过uip-udp-new()函数建立一个新的UDP连接,动态分配一个未使用的本地端口号,可以在使用uip-udp-new后调用uip-udp-bind()函数来选择使用其他端口号[9].具体为:

uip-ipaddr-t addr;

struct uip-udp-conn*c;

uip-ipaddr(&addr,192,168,2,1);

c=uip-udp-new(&addr,UIP-HTONS(12345));

if(c!=NULL)

{uip-udp-bind(c,UIP-HTONS(12344));

}

struct uip-udp-conn*uip-udp-new

(

const uip-ipaddr-t*ripaddr,

uint16-t rport

);

3 连通性性能测试

本设计主要实现了LJ601[10]网关,其将6LoWPAN网络和互联网互联在一起,运行有IPv4和IPv6双栈.此网关有2个口:一个是WAN口,另一个是LAN口.WAN口可以直接连接到互联网.本设计采用WAN口,所有的6LoWPAN节点都共享这单一的WAN口,其测试平台的结构如图5所示.测试中,通过Contiki对节点和网关分配地址:节点IPv6地址为2001::1/64,其网关缺省IPv6地址为2001::1,Window 7 PC IPv6地址为2001::6/64.为了测试其连通性,6LoWPAN传感器节点使用PING命令,测试结果如图6所示.

图5 6LoWPAN测试平台

图6 6LoWPAN PING测试结果

4 结 论

本研究设计了一个网关,并采用Contiki操作系统实现6LoWPAN节点和IPv6互联网的互操作,连通性测试结果表明,外部互联网可以使用IPv6协议完成和内部无线网络的全IP连接,这对于实现互联网及物联网的互操作和集成有一定的指导意义.

[1]Montenegro G,Kushalnagar N,Hui J,et al.TransmissionofIPv6packetsoverIEEE802.15.4networks,RFC4944[EB/OL].[2015-10-14].http://data tracker.ietf.org/doc/rfc4944.

[2]Dunkels A,østerlind F,He Zhitao.Anadaptivecommunicationarchitectureforwirelesssensornetworks[C]//Proceedingsofthe5thInternationalConferenceonEmbeddedNetworkedSensorSystem,2007.Sydney,Australia:ACM Press,2007.

[3]Zimmermann Andre,Silva J S,Sobral J B,et al.6GLAD:IPv6globaltolink-layerAddresstranslationfor6LoWPANoverheadreducing[C]//NextGenerationInternetNetwork,2008.Krakow,Poland:IEEE Press,2008.

[4]Hossen M S,Kabir AFM S,Khan R H,et al.Interconnectionbetween802.15.4devicesandIPv6:Implicationsandexitingapproaches[J].Int J Comp Sci Iss,2010,7(1):19-31.

[5]Choi D I,Kim M S,Park C U,et al.Anefficientglobalcommunicationmethodfor6LoWPAN[J].Int J Inf,2012,15(5):1949-1960.

[6]Campos B D S,Rodrigues J J P C,Mendes L D P,et al.DesignandconstructionofwirelesssensornetworkgatewaywithIPv4/IPv6support[J].Wirel Sens Netw,2011,57(4):1-5.

[7]刘嘉宇,高德云.基于Contiki OS的低功耗无线传感器网络节点设计[J].计算机与现代化,2015,31(3):122-126.

[8]朱晓荣,李凤国.基于Contiki的6LoWPAN适配层的研究与实现[J].信息通信技术,2013,7(3):66-70.

[9]张岩.基于Contiki系统的物联网应用平台设计与实现[D].哈尔滨:哈尔滨工程大学 2013.

[10]闻志平,李迅,李洪峻.无线传感器网络IPv6接入系统的设计与实现[J].计算机工程,2010,36(3):109-111.

Abstract:Wireless sensor network(WSN) is one of the important parts of the Internet of Things,which mainly detects the outside environment through sensors and passes the measurement parameters to the server through wireless medium.The sensor nodes can be connected together to form the data network routing.The traditional IP protocol stack is not suitable for wireless sensor nodes because of its limited resources and energy.6LoWPAN technology is mainly used to complete the conversion between IPv6 Internet and WSN protocol and data.By introducing the Contiki operating system and the appropriate IPv6 protocol stack between the sensor nodes and the embedded gateway,the interconnection between WSN and the Internet can be well implemented.In this paper,the uIP protocol stack of CC2530 gateway based on Contiki is implemented,and the UDP communication protocol is designed.The test environment is set up according to the design scheme,and the connectivity test is carried out by using the PING command.

Keywords:6LoWPAN;IPv6;Internet;connectivity

ResearchonConnectivityBetween6LoWPANSubsetinWirelessSensorNetworkandInternetBasedonContiki

TIELing1,RENHaibo2

(1.School of Information Science and Engineering, Chengdu University, Chengdu 610106,China;2.Shijihuaning Technology Co., Ltd., Chengdu 610041, China)

TP311.52;TN929.532

A

1004-5422(2017)03-0262-03

2017-07-12.

四川省科技厅自然科学基金(2013GZ0016)资助项目.

铁 玲(1970 — ), 女, 博士, 副教授, 从事物联网与信息安全研究.

猜你喜欢
网关成都无线
《无线互联科技》征稿词(2021)
无线追踪3
穿过成都去看你
基于ARM的无线WiFi插排的设计
信号系统网关设备的优化
一种PP型无线供电系统的分析
数看成都
成都
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”