APP下载

基于NAT64的6LoWPAN边缘路由器设计*

2016-08-22陈开锋冯国富

传感器与微系统 2016年7期
关键词:字节功耗路由器

陈开锋, 陈 明, 冯国富

(上海海洋大学 信息学院,上海 201306)

基于NAT64的6LoWPAN边缘路由器设计*

陈开锋, 陈 明, 冯国富

(上海海洋大学 信息学院,上海 201306)

针对目前基于6LoWPAN边缘路由器只适用与IPv6设备互联、网络报文传输复杂繁琐、边缘路由器映射表复杂且开销大等问题,引入IEEE 802.15.4地址概念对6LoWPAN网络内报文交互方式与数据包格式进行优化,提出一种6LoWPAN与IPv4协议转换机制和边缘路由器地址映射转换方法,设计出适合在8位单片机上运行的轻量级微系统,最后用CoAP协议来访问节点数据,验证系统,实现6LoWPAN网络与IPv4,IPv6网络之间的通信。该方法实现了6LoWPAN与IPv4网络互联通信,保留6LoWAPN与IPv6网络通信的功能,同时提高了6LoWPAN内网络的吞吐量,降低边缘路由器维护地址映射表的开销,提高了边缘路由器效率,有效降低6LoWPAN网络传输数据时的功耗,提高节点生存时间。

6LoWPAN边缘路由器; 协议转换; 地址映射; 低功耗; NAT64

0 引 言

随着物联网技术的兴起和发展,作为下一代互联网协议的IPv6协议由于自身特点与物联网未来发展趋势相符,所以与物联网技术渐渐密不可分[1]。在IPv6发展的初期阶段,仍将处于并长期处于一个IPv4与IPv6共存的年代[2],所以目前6LoWPAN网络要与(IPv4)Internet网络互联,应采用相应的边缘路由器进行协议间的转换[3]。在目前阶段,对6LoWPAN网络的优化和研究实现其与IPv4公网通信的边缘路由器就显得尤为迫切,意义深远。

目前对6LoWPAN网络的研究,大多数研究集中在6LoWPAN与IPv6网络互联方面[4],对6LoWPAN网络与IPv4网络互联的研究相对较少,对边缘路由器和6LoWPAN网络整体提出优化方案的就更少。在6LoWPAN网络与IPv4设备互联方面,目前绝大多数6LoWPAN边缘路由器需要在Linux环境工作[5,6],或是采用多芯片解决方案[7],不仅功耗较高,而且消耗单片机本就有限的资源,才能实现与IPv4公网通信。目前还没有适用于8位单片机的协议,而无线传感器网络的低功耗要求迫切需要一种能支持8位低功耗单片机的协议或者类似的产品出现[8,9]。

为此,本文主要研究6LoWPAN网络与IPv4公网通信,同时,保留6LoWAPN与IPv6网络通信的功能。针对与IPv4网络通信,提出适合在资源受限的8位单片机上实现的边缘路由器。

1 6LoWPAN边缘路由器体系结构

1.1 6LoWPAN网络总体架构

6LoWPAN整体网络架构如图1所示,节点内数据通过6LoWPAN边缘路由器将数据上传到互联网服务器。

图1 6LoWPAN网络架构Fig 1 Architecture of 6LoWPAN network

1.2 6LoWPAN网络报头压缩

在本文中,引入以太网 MAC地址概念对6LoWPAN内数据包进行优化,由于48位MAC地址的全球唯一性,通信时可通过MAC地址直接发送数据包,省去了邻居协议里的地址冲突查询、地址解析,路由重定向等一系列过程,这样不仅减小IPv6报头,增加数据包数据部分长度,提高数据传输效率而且在边缘路由器进行NAT64转换时,查找映射表更加方便快捷,在进行源地址和目的地址转换后,可以直接发送,大大提高了处理数据包的效率。

1.3 ICMPv6协议的精简

ICMPv6消息分为两类,一类是错误消息,一类是信息消息。在WSNs应用中,节点不需要接收错误消息,在前期调试过程中,这类消息对开发调试人员有帮助,但对已经应用部署的WSNs内资源受限的节点而言,这是一种资源的浪费。所以,本文只对ICMPv6信息类消息进行传送。

1.4 NAT64地址转换设计

地址转换是指IPv6传输地址到IPv4传输地址和IPv4传输地址到IPv6传输地址的映射。

网关接收数据包:边缘路由器收到数据包时,首先检查版本号。当接收到IPv4类型的数据包时,提取数据包目的地址和端口,查找端口映射表,若查到,边缘路由器用NAT64算法对IPv4数据包进行转换,在映射表根据访问的端口号记录IPv4源地址,将数据包发往对应节点。否则丢弃数据包。节点收到路由器发来的数据包后,完成相应动作,交换源MAC和目的MAC,将数据包发往路由器,路由器收到数据包,检查数据包版本号,确定是IPv6数据包后检查数据包目的地址,如果是自己,则查找映射表源MAC地址和源端口号对应的IPv4地址,将数据包转成IPv4格式,发送出;如目的地址不是自己,则直接发出。整个过程如图2~图5所示。

图2 边缘路由器数据包收发与转换流程图Fig 2 Flowchart of edge router data packet tranceiving and converting

图3 边缘路由器模型Fig 3 Edge router model

图4 6LoWPAN节点数据包收发流程Fig 4 Flow chart of 6LoWPAN node data packet transceiving

图5 节点协议栈模型Fig 5 Node protocol stack model

2 实验测试与分析

本实验硬件平台基于TI公司的符合IEEE 802.15.4标准的CC2530芯片,软件基于瑞典计算机学院开发的Contiki系统,并在此基础上对邻居发现协议、地址解析协议、地址重复检测、错误消息传递、路由重定向等进行优化改进设计。

2.1 边缘路由器映射表构建

在边缘路由器中构建如表1所示的数据结构。MAC地址+端口号分别表示IPv6节点的MAC地址与节点对应的UDP和CoAP通信端口。映射端口表示节点相应的UDP或者通信端口在边缘路由器上的映射端口,为了保证路由器其他服务端口通信正常,映射端口地址池从10 000开始。IP地址为访问路由器该服务端口的IP地址。在边缘路由器进行映射前,先进行DHCPv4操作,获取到边缘路由器IPv4地址。

表1 边缘路由器映射表

Tab 1 Edge router mapping table

路由器端口映射如图6所示。

图6 路由器端口映射Fig 6 Edge router port mapping

2.2 RTT测试

当IPv4设备与同一地址的IPv6节点通信后,对64字节和128字节的数据包进行了RTT测试,测试结果如表2和表3所示。

表2 64字节数据多次通信RTT测试Tab 2 64 bytes data multiple communication RTT test

表3 128字节数据多次通信RTT测试Tab 3 128 bytes data multiple communication RTT test

测试结果表明:无论在传输数据为64字节还是128字节,改进后的6LoWPAN边缘路由器都比一般的边缘路由器有这更出色的表现,在数据量增加情况下,改进后的边缘路由器RTT并没有明显提高,而没有改进的边缘路由器RTT明显增加。实验结果表明:改进后的路由器更适合节点众多数据传输量大的6LoWAPN网络。

2.3 系统功耗测试

测试了6LoWPAN网络节点和边缘路由器在5h内发送不同字节数据所消耗的能量。节点使用2节5号电池进行供电,节点入网后或者收发完数据后即进入休眠状态,使用万用表对节点芯片进行测量,测得以下数据:节点休眠时候平均电流为0.92 mA,节点运行过程中平均电流最高为7.32 mA。节点每2 min采集发送一次数据,按理原系统和改进后系统1 h内实测值推算,测试结果如表4和表5所示。

表4 边缘路由器功耗测试Tab 4 Edge router power consumption test

表5 节点功耗测试Tab 5 Node power consumption test

按此功耗,优化后的节点每日功耗不超过3 mAh,节点用2节1 200 mAh供电时间从原来的15个月提高到26个月,大大提高了无线传感器网络生存时间。

3 结束语

本文针对现6LoWPAN边缘路由器与现IPv4的融合问题,提出了一种基于NAT64的边缘路由器,简化映射表,使用48位MAC地址优化6LoWPAN网络内传送数据包,实验结果表明:该边缘路由器能实现IPv4设备通信,且数据处理能力得到提高,功耗大大降低,具有实用价值。

[1] 李 明.物联网中轻量级IPv6协议栈的研究[D].南京:南京邮电大学,2014:5-6.

[2] 吕 游.对NAT64的研究及设计实现[D].武汉:武汉邮电科学研究院,2015:2-3.

[3] Kim J H,Hong C S,Shon T S.A lightweight NEMO protocol to support 6LoWPAN[J].Etri Journal,2008,30(5):685-695.

[4] 王中震.IPv4至IPv6过渡技术方案的设计与实施[D].北京:北京邮电大学,2012:7-9.

[5] Geng D,Dai F,LI Xiaolong,et al.Research and implementation of packet scheduling in 6LoWPAN access(IPv4)Internet[J].Chinese Journal of Sensors & Actuators,2013,26(12):1752-1756.

[6] Wang X,Le D,Cheng H,et al.Location-based address configuration for 6LoWPAN wireless sensor networks[J].Wireless Networks,2015,21:1-15.

[7] Wang X,Zhong S.An IPv6 address configuration scheme for wireless sensor networks based on location information[J].Telecommunication Systems,2013,52(1):151-160.

[8] Bagnulo M,Garcia-Martinez A,Van Beijnum I.The NAT64/DNS64 tool suite for IPv6 transition[J].IEEE Communications Magazine,2012,50(7):177-183.

[9] 仲元昌,陈 锋,李发传,等.大规模无线传感器网络覆盖优化算法[J].传感器与微系统,2014,33(11):117-120.

Design of 6LoWPAN edge router based on NAT64*

CHEN Kai-feng, CHEN Ming, FENG Guo-fu

(College of Information Technology,Shanghai Ocean University,Shanghai 201306,China )

In order to solve the problems of current 6LoWPAN edge router only can communication with IPv6 equipment,network data packet transmission complex and the edge router complex mapping table consume valuable resources of single chip micyoco.so,introduce the concept of IEEE 802.15.4 address to optimize the packet format in 6LoWPAN network.The conversion mechanism between 6LoWPAN and IPv4 protocol,and the mapping method of edge router address are proposed.A lightweight system is designed for 8 bit single chip micyoco.CoAP (constrained application protocol) protocol is used to access node data and verify the system to realize the communication between 6LoWPAN network and IPv4 network.This method realizes the interconnection between 6LoWPAN and IPv4,retains the functions of 6LoWAPN and IPv6 network,and improves the throughput of 6LoWPAN,and reduces the overhead of 6LoWPAN network,increase efficiency of edge router,effectively reduce power consumption data transmission,prolong lifetime of node.

IPv6 over low-power wireless personal area networks(6LoWPAN) edge router; protocol conversion; address mapping; low power consumption; NAT64

10.13873/J.1000—9787(2016)07—0094—03

2015—10—21

国家“863”计划资助项目(2012AA101905);江苏省科技支撑计划资助项目(BE2014333)

TP 212.9

A

1000—9787(2016)07—0094—03

陈开锋(1990 - ),男,江苏江阴人,硕士研究生,主要研究方向为无线传感器网络。

猜你喜欢

字节功耗路由器
基于任务映射的暗硅芯片功耗预算方法
买千兆路由器看接口参数
维持生命
No.8 字节跳动将推出独立出口电商APP
路由器每天都要关
路由器每天都要关
No.10 “字节跳动手机”要来了?
简谈MC7字节码
揭开GPU功耗的面纱
数字电路功耗的分析及优化