陳開(kāi)鋒, 陳 明, 馮國(guó)富
(上海海洋大學(xué) 信息學(xué)院,上海 201306)
基于NAT64的6LoWPAN邊緣路由器設(shè)計(jì)*
陳開(kāi)鋒, 陳 明, 馮國(guó)富
(上海海洋大學(xué) 信息學(xué)院,上海 201306)
針對(duì)目前基于6LoWPAN邊緣路由器只適用與IPv6設(shè)備互聯(lián)、網(wǎng)絡(luò)報(bào)文傳輸復(fù)雜繁瑣、邊緣路由器映射表復(fù)雜且開(kāi)銷大等問(wèn)題,引入IEEE 802.15.4地址概念對(duì)6LoWPAN網(wǎng)絡(luò)內(nèi)報(bào)文交互方式與數(shù)據(jù)包格式進(jìn)行優(yōu)化,提出一種6LoWPAN與IPv4協(xié)議轉(zhuǎn)換機(jī)制和邊緣路由器地址映射轉(zhuǎn)換方法,設(shè)計(jì)出適合在8位單片機(jī)上運(yùn)行的輕量級(jí)微系統(tǒng),最后用CoAP協(xié)議來(lái)訪問(wèn)節(jié)點(diǎn)數(shù)據(jù),驗(yàn)證系統(tǒng),實(shí)現(xiàn)6LoWPAN網(wǎng)絡(luò)與IPv4,IPv6網(wǎng)絡(luò)之間的通信。該方法實(shí)現(xiàn)了6LoWPAN與IPv4網(wǎng)絡(luò)互聯(lián)通信,保留6LoWAPN與IPv6網(wǎng)絡(luò)通信的功能,同時(shí)提高了6LoWPAN內(nèi)網(wǎng)絡(luò)的吞吐量,降低邊緣路由器維護(hù)地址映射表的開(kāi)銷,提高了邊緣路由器效率,有效降低6LoWPAN網(wǎng)絡(luò)傳輸數(shù)據(jù)時(shí)的功耗,提高節(jié)點(diǎn)生存時(shí)間。
6LoWPAN邊緣路由器; 協(xié)議轉(zhuǎn)換; 地址映射; 低功耗; NAT64
隨著物聯(lián)網(wǎng)技術(shù)的興起和發(fā)展,作為下一代互聯(lián)網(wǎng)協(xié)議的IPv6協(xié)議由于自身特點(diǎn)與物聯(lián)網(wǎng)未來(lái)發(fā)展趨勢(shì)相符,所以與物聯(lián)網(wǎng)技術(shù)漸漸密不可分[1]。在IPv6發(fā)展的初期階段,仍將處于并長(zhǎng)期處于一個(gè)IPv4與IPv6共存的年代[2],所以目前6LoWPAN網(wǎng)絡(luò)要與(IPv4)Internet網(wǎng)絡(luò)互聯(lián),應(yīng)采用相應(yīng)的邊緣路由器進(jìn)行協(xié)議間的轉(zhuǎn)換[3]。在目前階段,對(duì)6LoWPAN網(wǎng)絡(luò)的優(yōu)化和研究實(shí)現(xiàn)其與IPv4公網(wǎng)通信的邊緣路由器就顯得尤為迫切,意義深遠(yuǎn)。
目前對(duì)6LoWPAN網(wǎng)絡(luò)的研究,大多數(shù)研究集中在6LoWPAN與IPv6網(wǎng)絡(luò)互聯(lián)方面[4],對(duì)6LoWPAN網(wǎng)絡(luò)與IPv4網(wǎng)絡(luò)互聯(lián)的研究相對(duì)較少,對(duì)邊緣路由器和6LoWPAN網(wǎng)絡(luò)整體提出優(yōu)化方案的就更少。在6LoWPAN網(wǎng)絡(luò)與IPv4設(shè)備互聯(lián)方面,目前絕大多數(shù)6LoWPAN邊緣路由器需要在Linux環(huán)境工作[5,6],或是采用多芯片解決方案[7],不僅功耗較高,而且消耗單片機(jī)本就有限的資源,才能實(shí)現(xiàn)與IPv4公網(wǎng)通信。目前還沒(méi)有適用于8位單片機(jī)的協(xié)議,而無(wú)線傳感器網(wǎng)絡(luò)的低功耗要求迫切需要一種能支持8位低功耗單片機(jī)的協(xié)議或者類似的產(chǎn)品出現(xiàn)[8,9]。
為此,本文主要研究6LoWPAN網(wǎng)絡(luò)與IPv4公網(wǎng)通信,同時(shí),保留6LoWAPN與IPv6網(wǎng)絡(luò)通信的功能。針對(duì)與IPv4網(wǎng)絡(luò)通信,提出適合在資源受限的8位單片機(jī)上實(shí)現(xiàn)的邊緣路由器。
1.1 6LoWPAN網(wǎng)絡(luò)總體架構(gòu)
6LoWPAN整體網(wǎng)絡(luò)架構(gòu)如圖1所示,節(jié)點(diǎn)內(nèi)數(shù)據(jù)通過(guò)6LoWPAN邊緣路由器將數(shù)據(jù)上傳到互聯(lián)網(wǎng)服務(wù)器。
圖1 6LoWPAN網(wǎng)絡(luò)架構(gòu)Fig 1 Architecture of 6LoWPAN network
1.2 6LoWPAN網(wǎng)絡(luò)報(bào)頭壓縮
在本文中,引入以太網(wǎng) MAC地址概念對(duì)6LoWPAN內(nèi)數(shù)據(jù)包進(jìn)行優(yōu)化,由于48位MAC地址的全球唯一性,通信時(shí)可通過(guò)MAC地址直接發(fā)送數(shù)據(jù)包,省去了鄰居協(xié)議里的地址沖突查詢、地址解析,路由重定向等一系列過(guò)程,這樣不僅減小IPv6報(bào)頭,增加數(shù)據(jù)包數(shù)據(jù)部分長(zhǎng)度,提高數(shù)據(jù)傳輸效率而且在邊緣路由器進(jìn)行NAT64轉(zhuǎn)換時(shí),查找映射表更加方便快捷,在進(jìn)行源地址和目的地址轉(zhuǎn)換后,可以直接發(fā)送,大大提高了處理數(shù)據(jù)包的效率。
1.3 ICMPv6協(xié)議的精簡(jiǎn)
ICMPv6消息分為兩類,一類是錯(cuò)誤消息,一類是信息消息。在WSNs應(yīng)用中,節(jié)點(diǎn)不需要接收錯(cuò)誤消息,在前期調(diào)試過(guò)程中,這類消息對(duì)開(kāi)發(fā)調(diào)試人員有幫助,但對(duì)已經(jīng)應(yīng)用部署的WSNs內(nèi)資源受限的節(jié)點(diǎn)而言,這是一種資源的浪費(fèi)。所以,本文只對(duì)ICMPv6信息類消息進(jìn)行傳送。
1.4 NAT64地址轉(zhuǎn)換設(shè)計(jì)
地址轉(zhuǎn)換是指IPv6傳輸?shù)刂返絀Pv4傳輸?shù)刂泛虸Pv4傳輸?shù)刂返絀Pv6傳輸?shù)刂返挠成洹?/p>
網(wǎng)關(guān)接收數(shù)據(jù)包:邊緣路由器收到數(shù)據(jù)包時(shí),首先檢查版本號(hào)。當(dāng)接收到IPv4類型的數(shù)據(jù)包時(shí),提取數(shù)據(jù)包目的地址和端口,查找端口映射表,若查到,邊緣路由器用NAT64算法對(duì)IPv4數(shù)據(jù)包進(jìn)行轉(zhuǎn)換,在映射表根據(jù)訪問(wèn)的端口號(hào)記錄IPv4源地址,將數(shù)據(jù)包發(fā)往對(duì)應(yīng)節(jié)點(diǎn)。否則丟棄數(shù)據(jù)包。節(jié)點(diǎn)收到路由器發(fā)來(lái)的數(shù)據(jù)包后,完成相應(yīng)動(dòng)作,交換源MAC和目的MAC,將數(shù)據(jù)包發(fā)往路由器,路由器收到數(shù)據(jù)包,檢查數(shù)據(jù)包版本號(hào),確定是IPv6數(shù)據(jù)包后檢查數(shù)據(jù)包目的地址,如果是自己,則查找映射表源MAC地址和源端口號(hào)對(duì)應(yīng)的IPv4地址,將數(shù)據(jù)包轉(zhuǎn)成IPv4格式,發(fā)送出;如目的地址不是自己,則直接發(fā)出。整個(gè)過(guò)程如圖2~圖5所示。
圖2 邊緣路由器數(shù)據(jù)包收發(fā)與轉(zhuǎn)換流程圖Fig 2 Flowchart of edge router data packet tranceiving and converting
圖3 邊緣路由器模型Fig 3 Edge router model
圖4 6LoWPAN節(jié)點(diǎn)數(shù)據(jù)包收發(fā)流程Fig 4 Flow chart of 6LoWPAN node data packet transceiving
圖5 節(jié)點(diǎn)協(xié)議棧模型Fig 5 Node protocol stack model
本實(shí)驗(yàn)硬件平臺(tái)基于TI公司的符合IEEE 802.15.4標(biāo)準(zhǔn)的CC2530芯片,軟件基于瑞典計(jì)算機(jī)學(xué)院開(kāi)發(fā)的Contiki系統(tǒng),并在此基礎(chǔ)上對(duì)鄰居發(fā)現(xiàn)協(xié)議、地址解析協(xié)議、地址重復(fù)檢測(cè)、錯(cuò)誤消息傳遞、路由重定向等進(jìn)行優(yōu)化改進(jìn)設(shè)計(jì)。
2.1 邊緣路由器映射表構(gòu)建
在邊緣路由器中構(gòu)建如表1所示的數(shù)據(jù)結(jié)構(gòu)。MAC地址+端口號(hào)分別表示IPv6節(jié)點(diǎn)的MAC地址與節(jié)點(diǎn)對(duì)應(yīng)的UDP和CoAP通信端口。映射端口表示節(jié)點(diǎn)相應(yīng)的UDP或者通信端口在邊緣路由器上的映射端口,為了保證路由器其他服務(wù)端口通信正常,映射端口地址池從10 000開(kāi)始。IP地址為訪問(wèn)路由器該服務(wù)端口的IP地址。在邊緣路由器進(jìn)行映射前,先進(jìn)行DHCPv4操作,獲取到邊緣路由器IPv4地址。
表1 邊緣路由器映射表
Tab 1 Edge router mapping table
路由器端口映射如圖6所示。
圖6 路由器端口映射Fig 6 Edge router port mapping
2.2 RTT測(cè)試
當(dāng)IPv4設(shè)備與同一地址的IPv6節(jié)點(diǎn)通信后,對(duì)64字節(jié)和128字節(jié)的數(shù)據(jù)包進(jìn)行了RTT測(cè)試,測(cè)試結(jié)果如表2和表3所示。
表2 64字節(jié)數(shù)據(jù)多次通信RTT測(cè)試Tab 2 64 bytes data multiple communication RTT test
表3 128字節(jié)數(shù)據(jù)多次通信RTT測(cè)試Tab 3 128 bytes data multiple communication RTT test
測(cè)試結(jié)果表明:無(wú)論在傳輸數(shù)據(jù)為64字節(jié)還是128字節(jié),改進(jìn)后的6LoWPAN邊緣路由器都比一般的邊緣路由器有這更出色的表現(xiàn),在數(shù)據(jù)量增加情況下,改進(jìn)后的邊緣路由器RTT并沒(méi)有明顯提高,而沒(méi)有改進(jìn)的邊緣路由器RTT明顯增加。實(shí)驗(yàn)結(jié)果表明:改進(jìn)后的路由器更適合節(jié)點(diǎn)眾多數(shù)據(jù)傳輸量大的6LoWAPN網(wǎng)絡(luò)。
2.3 系統(tǒng)功耗測(cè)試
測(cè)試了6LoWPAN網(wǎng)絡(luò)節(jié)點(diǎn)和邊緣路由器在5h內(nèi)發(fā)送不同字節(jié)數(shù)據(jù)所消耗的能量。節(jié)點(diǎn)使用2節(jié)5號(hào)電池進(jìn)行供電,節(jié)點(diǎn)入網(wǎng)后或者收發(fā)完數(shù)據(jù)后即進(jìn)入休眠狀態(tài),使用萬(wàn)用表對(duì)節(jié)點(diǎn)芯片進(jìn)行測(cè)量,測(cè)得以下數(shù)據(jù):節(jié)點(diǎn)休眠時(shí)候平均電流為0.92 mA,節(jié)點(diǎn)運(yùn)行過(guò)程中平均電流最高為7.32 mA。節(jié)點(diǎn)每2 min采集發(fā)送一次數(shù)據(jù),按理原系統(tǒng)和改進(jìn)后系統(tǒng)1 h內(nèi)實(shí)測(cè)值推算,測(cè)試結(jié)果如表4和表5所示。
表4 邊緣路由器功耗測(cè)試Tab 4 Edge router power consumption test
表5 節(jié)點(diǎn)功耗測(cè)試Tab 5 Node power consumption test
按此功耗,優(yōu)化后的節(jié)點(diǎn)每日功耗不超過(guò)3 mAh,節(jié)點(diǎn)用2節(jié)1 200 mAh供電時(shí)間從原來(lái)的15個(gè)月提高到26個(gè)月,大大提高了無(wú)線傳感器網(wǎng)絡(luò)生存時(shí)間。
本文針對(duì)現(xiàn)6LoWPAN邊緣路由器與現(xiàn)IPv4的融合問(wèn)題,提出了一種基于NAT64的邊緣路由器,簡(jiǎn)化映射表,使用48位MAC地址優(yōu)化6LoWPAN網(wǎng)絡(luò)內(nèi)傳送數(shù)據(jù)包,實(shí)驗(yàn)結(jié)果表明:該邊緣路由器能實(shí)現(xiàn)IPv4設(shè)備通信,且數(shù)據(jù)處理能力得到提高,功耗大大降低,具有實(shí)用價(jià)值。
[1] 李 明.物聯(lián)網(wǎng)中輕量級(jí)IPv6協(xié)議棧的研究[D].南京:南京郵電大學(xué),2014:5-6.
[2] 呂 游.對(duì)NAT64的研究及設(shè)計(jì)實(shí)現(xiàn)[D].武漢:武漢郵電科學(xué)研究院,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過(guò)渡技術(shù)方案的設(shè)計(jì)與實(shí)施[D].北京:北京郵電大學(xué),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] 仲元昌,陳 鋒,李發(fā)傳,等.大規(guī)模無(wú)線傳感器網(wǎng)絡(luò)覆蓋優(yōu)化算法[J].傳感器與微系統(tǒng),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
國(guó)家“863”計(jì)劃資助項(xiàng)目(2012AA101905);江蘇省科技支撐計(jì)劃資助項(xiàng)目(BE2014333)
TP 212.9
A
1000—9787(2016)07—0094—03
陳開(kāi)鋒(1990 - ),男,江蘇江陰人,碩士研究生,主要研究方向?yàn)闊o(wú)線傳感器網(wǎng)絡(luò)。