6LoWPAN接入Internet中uNAT64机制的研究与实现*

2016-09-19 06:10耿道渠朱大鹏于彦平尹仕准
传感技术学报 2016年8期
关键词:传感路由器报文

耿道渠,朱大鹏,于彦平,尹仕准

(重庆邮电大学工业物联网与网络化控制教育部重点实验室,重庆400065)

6LoWPAN接入Internet中uNAT64机制的研究与实现*

耿道渠*,朱大鹏,于彦平,尹仕准

(重庆邮电大学工业物联网与网络化控制教育部重点实验室,重庆400065)

无线传感器网络与Internet的融合已成为当前的研究热点,然而基于6LoWPAN标准的无线传感器网络与Internet (IPv4)因网络层协议异构导致无法直接端到端通信。针对这一难题,提出了6LoWPAN传感网与Internet互通架构,并基于此设计了uNAT64协议转换机制,对6LoWPAN IPv6报文与Internet IPv4报文进行相互转换,旨在实现6LoWPAN与Internet的有效互通。测试结果表明,uNAT64机制实现了两种网络间的全IP通信,且具有良好的实时性和较高的吞吐量,有力地促进了Internet向物理世界延伸。

无线传感器网络;协议转换;uNAT64;6LoWPAN;IPv6;边界路由器

无线传感器网络(Wireless Sensor Network,WSN)是由大量的廉价微型传感器节点通过无线通信方式形成的一个多跳自组织的网络系统,其目的是协作感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者[1]。就其功能而言,WSN必须接入外部网络,使观察者可以通过外部网络远程监控感知对象才具有更现实的意义。作为当前全球覆盖最广、普及程度最高的网络,Internet无疑将成为WSN的最佳接入对象[2]。6LoWPAN(IPv6 over Low Power Wireless Personal Area Network)协议标准已被广泛使用在WSN中,其网络层采用IPv6协议,实现了WSN与IPv6网络的无缝连接[3-6]。然而,当前Internet中IPv4仍占主导地位,IPv6的发展还处于初级阶段,IPv6设备替代现有IPv4设备所需的成本巨大,并且网络升级过程中不能中断现有业务,这就导致了Internet由IPv4向IPv6演进是一个漫长、渐进、分布式的过程。因此,实现6LoWPAN与Internet的互联,首需解决的是6LoWPAN网络与IPv4网络的异构互联问题。

在异构网络互联的现有研究中,文献[7]与文献[8]通过传感网边界路由器转发应用层数据实现了WSN接入Internet,但其无法做到与应用无关,不具有普适性。文献[9]设计的6LoWPAN网关仅实现了6LoWPAN传感网与IPv6网络的互通,无法实现与Internet(IPv4)的全IP互联。文献[10-11]均使用NAT-PT(Network Address Translation-Protocol Translation)技术实现了IPv6网络与Internet(IPv4)的互联,但是该技术在使用过程中暴露了诸多问题,IETF在《RFC4966》中总结了其弊端并将其归类为历史性技术标准,不再支持其继续使用。此外,隧道技术及延迟容忍网络也可以用于实现IPv6与IPv4网络的互联,但由于6LoWPAN节点资源受限,无法在节点与IPv4网络双栈主机之间建立端到端隧道,这限制了隧道技术的使用。延迟容忍网络则要求在TCP/IP协议栈、6LoWPAN协议栈传输层与应用层之间部署Bundle层,但是对于资源受限型的WSN节点来说,几乎无法部署Bundle层;再次,就Internet网络主机而言,若操作系统非开源,则在其TCP/IP协议栈上部署Bundle层不具有可行性。

本文首先提出了一种6LoWPAN与Internet的互通架构,在此基础上设计了一种协议转换机制-uNAT64(Micro Network Address and Protocol Translation),从网络层将WSN接入到Internet的体系结构中[12],最后通过测试验证uNAT64机制的有效性。

1 6LoWPAN与Internet互联的体系架构

采用协议转换机制实现6LoWPAN与Internet的互联,首先需要选择某一网络中间件作为载体,而6LoWPAN边界路由器具有丰富的软硬件资源,又能够提供与Internet通信的接口。鉴于此,本文在边界路由器平台上设计并实现协议转换机制-uNAT64,不再另寻其他网络中间件,降低了开发成本。设计6LoWPAN与Internet互通架构如图1所示。

图1 互通体系架构

图1中6LoWPAN边界路由器内集成了6LoWPAN协议栈及uNAT64模块,6LoWPAN协议栈负责WSN的构建,汇聚传感器节点采集的数据,并通过虚拟网卡tun0与uNAT64模块进行IPv6报文交互;uNAT64则负责Internet IPv4报文与6LoWPAN IPv6报文的相互转换。图1中虚线表示6LoWPAN节点与Internet主机端到端的通信路径。

2 uNAT64机制设计

uNAT64作为边界路由器内的核心模块,其设计与实现尤为重要。uNAT64模块及TCP/IP协议栈都对网络报文进行处理,存在相互干扰,因此将uNAT64作为独立应用进程,如图1所示,使其工作在用户空间,与工作在内核空间的TCP/IP协议栈分离,很大程度上避免了两者相互干扰;再次,这样的设计还增加了用户对uNAT64机制的可操作性。

图2展示了uNAT64模块的内部结构,主要由地址转换子模块及协议转换子模块构成。参照IETF标准《RFC6052》、《RFC6145》的规定对上述子模块进行详细设计。其中,地址转换子模块负责网络报文的接收、会话表及绑定信息库的维护、网络地址的转换;协议转换子模块则负责网络报文的协议转换及发送。以太网卡eth0及虚拟网卡tun0分别为uNAT64与Internet、6LoWPAN网络通信提供接口。当链路层向uNAT64模块递交IP数据包时,借助柏克莱分组过滤器(Berkeley Packet Filter,BPF)对数据包进行初步筛选,排除异常报文,降低uNAT64机制的出错机率,避免不必要的时间消耗。

BPF只是在数据包向uNAT64模块传输过程中添加的过滤机制,而真正通告uNAT64模块有事件发生的是poll循环扫描接口。uNAT64模块将IPv6报文、IPv4报文、ARP报文的收发定义为一系列事件,将这些事件的描述符绑定到poll接口上。若poll循环扫描时发现某一描述符就绪,便主动触发其匹配的事件,下一个动作就是触发地址转换子模块接收报文。uNAT64对IPv6报文进行地址及协议转换的具体过程如表1所示。

图2 uNAT64模块内部结构设计

表1 uNAT64 IPv6报文转换流程

IPv4报文的转换流程与上述IPv6报文的转换流程类似,区别主要体现在对分片报文的处理,因为IPv6规范中规定IPv6报文在源节点处就一次性解决分片问题,而IPv4则不然,他允许中间网络设备参与处理,不再赘述其转换过程。

3 实验测试与分析

搭建测试系统如图3所示,边界路由器以太网卡eth0的IPv4地址配置为172.22.142.254,虚拟网卡tun0的IPv6地址配置为2014::1/64,uNAT64地址池内可用IPv4地址为129.254.254.90/29,IPv6地址前缀配置为64:ff9b::/96。

由uNAT64机制运行机理可知,其维护的绑定信息库、会话表的大小与传感网的规模正线性相关,而uNAT64模块在运行过程中存在大量的遍历链表操作,因此,传感网规模会影响uNAT64模块处理报文的速度。为了使测试结果具有说服力,本文搭建50个节点规模的传感网进行测试,图3显示了部分传感网节点的地址信息。测试次数、测试报文长度及测试时间均参照文献[13]中的相关规定。

图3 测试系统结构

3.1网络连通性测试

图4展示了在PC机上使用科来网络分析系统捕获的ping请求和响应报文。PC机首先向IP地址为129.254.254.90的节点发起请求,该地址由uNAT64模块提供,它替代了WSN节点的IPv6地址。IPv4 ping请求报文被传输至边界路由器后,uNAT64模块对其进行地址及协议转换,将转换生成的IPv6数据包发送到目的节点,然后节点发送ICMP响应报文,最终到达PC机,因此,6LoWPAN网络节点与Internet中IPv4主机A已连通。

图4 ping测试

3.2性能测试

3.2.1报文转换率测试

就 uNAT64模块自身特性而言,针对进入uNAT64模块的有效网络报文,uNAT64模块能否将其成功转换并正确发送尤为重要。鉴于此,下面给出报文转换率的定义并进行测试。

报文转换率,即uNAT64发送的有效报文数量与接收的有效报文数量之比。测试过程如下:6LoWPAN协议栈接收到传感器节点发送的IPv6报文后,将其转发至uNAT64模块,uNAT64模块将该IPv6报文转换成IPv4报文后发往Internet,通过网络流量分析软件统计在不同的发送速率下进出uNAT64模块的报文数量,进而计算报文转换率,但是测试中当传感网节点以极限速度采集并上传数据时,进出uNAT64模块的数据包数量仍然恒等,即转换率为100%。分析原因如下:(1)传感器节点的硬件处理速度远落后于边界路由器;(2)受到软件处理速度的限制(6LoWPAN协议栈底层采用IEEE802.15.4标准,理论传输速度上限为250 kbyte/s),这不可避免地导致测试结果不具说服力。因此,采取由边界路由器6LoWPAN协议栈模拟产生IPv6报文的方式进行测试,传输速率与报文转换率的关系如图5所示。

图5 报文转换率测试

在上述测试环境中,当传输速率小于 263 kbyte/s时,报文转换率为100%,即uNAT64模块能完成报文转换。考虑到WSN环境下的数据传输具有低速率、分时采集的特点,因此可以视为处理能力较强;同时该模块也为后续6LoWPAN底层标准升级带来的传输速率提升预留了一定的冗余空间。

3.2.2吞吐量测试

参照文献[13]中对测试报文长度的规定,6LoWPAN协议栈以不同的发包周期向uNAT64模块发送长度为256 byte、512 byte、1 024 byte及1 280 byte的IPv6报文,统计测试数据,计算吞吐量。

计算方法1:在IPv4主机端通过科来网络分析系统计算吞吐量。

uNAT64将 IPv6报文转换为IPv4报文发往IPv4主机,因此在IPv4主机上统计uNAT64模块的吞吐量,如图6所示,WSN发包时间段内吞吐量波形图均值约为263.92 kbyte/s。

图6 IPv4主机端统计吞吐量

计算方法2:通过统计单位时间内进出uNAT64模块的数据量进行吞吐量计算。处理速率与发包周期的关系如图7所示。

图7 uNAT64模块吞吐量测试

当测试报文长度为 256 byte、512 byte、1 024 byte时,随着发包周期的递减,处理速率线性递增,未出现“瓶颈”。在测试报文长度为1 280 byte、发包周期降至7 ms时,处理速率出现临界点,再次缩短发送周期,处理速率恒定为268 kbyte/s,即吞吐量等于268 kbyte/s。

综上,两种方法的测试结果基本一致。文献[9,14]所测得的吞吐量分别在 140 kbyte/s~145 kbyte/s、1.65 kbyte/s~1.75 kbyte/s范围内,本文所测吞吐量远大于上述两者,且两者在测试过程中构建的传感网规模远小于本文构建的传感网规模,本文的测试结论更具代表性,可以认为uNAT64模块具备良好的负载能力。

3.2.3处理时延测试

参照文献[13]中对系统时延的测试规定,记录uNAT64接收报文及发送相应报文的时间戳,两者的差值即为处理时延。为了保证测试结果具有一般性,测试共分4轮,每轮测试报文长度分别为256 byte、512 byte、1 024 byte、1 280 byte,每轮进行20次测试,每次向uNAT64模块发送10 000个数据包并统计一次处理时间,求均值即为单个报文处理时延,测试结果如表2所示。

表2 uNAT64模块处理时延测试结果

由表2可知,随着报文长度的增加,uNAT64模块处理时延递增。分析如下:uNAT64模块的处理时延中包括read及write系统调用的执行时间,read及write函数完成报文的发送与接收,其执行涉及到数据在内核空间及用户空间之间的拷贝,报文拷贝所需时间远大于与报文转换所需时间,其成为处理时延的线性主部,而报文拷贝时间与报文长度成正比,因此,报文长度的递增将导致uNAT64模块处理时延的增加。

文献[9,14]所测得处理时延均在200 ms~2 000 ms范围内,uNAT64机制的处理时延远小于上述两者;文献[15]所测得的处理时延则稳定在8.5 ms~10 ms之间,但是其测试样本容量较小,每转发1 000个数据包进行一次统计,而本文的测试中则是每转发10 000个数据包进行一次统计,样本容量是其10倍,且最终时延在6.4 ms~7.1 ms范围内,恒小于文献[15]所测得的处理时延;此外,本文搭建的传感网规模均大于上述三者,测试结果更具说服力。实际使用场景中WSN节点的采样周期远大于uNAT64模块的处理时延,且报文长度基本小于500 byte,可以认为uNAT64模块具有良好的实时性。

上述对uNAT64模块的功能和性能进行了具体测试,且与其他学术研究成果进行了对比,客观地证明了uNAT64协议转换机制实现了6LoWPAN网络与Internet的端到端互通,具备良好的处理性能。

4 结束语

本文基于6LoWPAN网络边界路由器设计并实现了一种协议转换机制-uNAT64。实验结果表明,该机制具有良好的处理性能,成功实现了6LoWPAN网络“无缝”接入Internet,使得Internet在一定程度上延伸到了物理世界,对促进物联网与互联网的融合具有重要意义。

边界路由器作为连接Internet与WSN的“桥梁”,其在网络拓扑中的地位尤为突出,需要构建系统的安全访问机制,避免其遭到恶意攻击与破坏;6LoWPAN与Internet互联的目的在于实现对物理环境的有效监控,因此边界路由器需具备有效的网络管理功能。上述两方面将是下一步的研究重点。

[1]孙利民,李建中,陈渝,等.无线传感器网络[M].北京:清华大学出版社,2005:3.

[2]王晓喃,钱焕延.6LoWPAN无线传感器网络无缝移动切换方案[J].电子科技大学学报,2013,42(3):415-419.

[3]JeongGil Ko,Terzis A,Dawson-Haggerty S,et al.Connecting Low-Power and Loss Networks to the Internet[J].IEEE Communications Magazine,2011,49(4):96-101.

[4]Singh D.IPv6-WSN:Global Communication Mechanism for Future Internet Services[J].Advances in Information Sciences and Service Sciences,2013,5(10):832.

[5]Durvy M,Abeille J,Wetterwald P,et al.Making Sensor Networks IPv6 Ready[C]//Proceedings of the 6th ACM Conference on Embedded Network Sensor Systems.2008:421-422.

[6]Xu Yang,Tan Ruochen,Wu Shuai,et al.Connect Internet with Sensors by 6LoWPAN[J].Journal of Networks,2013,8(7):1480-1487.

[7]王骥,林杰华,谢仕义.基于无线传感网络的环境监测系统[J].传感技术学报,2015,28(11):1732-1740.

[8]赵海,邵士亮,朱剑,等.一种连接WSN与Internet的多核嵌入式网关设计与实现[J].东北大学学报,2012,33(1):65-68.

[9]霍宏伟,牛延超,郜帅,等.一种IPv6无线传感器网络以太网接入网关的设计[J].传感技术学报,2007,20(2):398-403.

[10]王帅,刘雷,柴乔林.应用Netfilter框架基于NAT-PT的IPv4/ IPv6转换网关的实现[J].计算机工程,2006,3(13):147-149.

[11]耿道渠,陈慧,柴俊,等.6LoWPAN接入互联网的自适应联合网关的设计与实现[J].传感技术学报,2015,28(3):416-423.

[12]孙纪敏,沈玉龙,孙玉.传感器网络接入Internet体系结构与服务提供方法[J].通信学报,2008,29(4):84-88.

[13]Bradner S,McQuaid J.RFC2544:Benchmarking Methodology for Network Interconnect Devices[S].IETF,1999.

[14]马礼,马海龙,马东超,等.基于WSNs节点权重的网关接入异构网络研究[J].传感器与微系统,2014,33(4):48-55.

[15]陈琦,韩冰,秦伟俊,等.基于Zigbee/GPRS物联网网关系统的设计与实现[J].计算机研究与发展,2011,48(Suppl.):367-372.

耿道渠(1977-),男,重庆邮电大学副教授,博士,硕士生导师,主要研究方向为体域网、无线传感器网络,gengdq@cqupt. edu.cn;

朱大鹏(1992-),男,重庆邮电大学硕士研究生,研究方向为无线传感器网络,daydptr@163.com。

Research and Implementation of uNAT64 Mechanism in 6LoWPAN Access Internet*

GENG Daoqu*,ZHU Dapeng,YU Yanping,YIN Shizhun
(Key Laboratory of Industrial Internet of Things and Networked Control,Ministry of Education,Chongqing University of Posts and Telecommunications,Chongqing 40065,China)

Integration of wireless sensor networks and Internet is becoming a research hotspot,unfortunately,wireless sensor networks based on 6LoWPAN cannot directly communicate with Internet by peer-to-peer because of the heterogeneity of network layer protocols.In order to solve this problem,an architecture interconnecting 6LoWPAN to Internet is proposed,furthermore,an IPv4-IPv6 protocol translation mechanism called uNAT64 is designed and implemented to perform the interconnection between 6LoWPAN and Internet by translating IPv6 packets of 6LoWPAN to IPv4 packets of Internet and vice versa.Experimental results show that uNAT64 mechanism enables the all-IP communication with higher packet-translation rate,lower processing delay and higher throughput between the two networks mentioned above,which will provide a forceful impetus for extending Internet to physical world.

wireless sensor network;protocol translation;uNAT64;6LoWPAN;IPv6;edge router

TP393

A

1004-1699(2016)08-1284-06

EEACC:6210L;623010.3969/j.issn.1004-1699.2016.08.027

项目来源:国家高技术研究发展计划项目(2015AA043801);重庆市物联网产业共性关键技术创新主体专项项目(cstc2015zdcyztzx0177);重庆市科技研发基地计划项目(cstc2013gjhz40002)

2015-12-09修改日期:2016-05-17

猜你喜欢
传感路由器报文
基于J1939 协议多包报文的时序研究及应用
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
IPv6与ZigBee无线传感网互联网关的研究