屈啟吉,鄭 霖
(廣西無線寬帶通信與信號(hào)處理重點(diǎn)實(shí)驗(yàn)室(桂林電子科技大學(xué)),廣西 桂林 541004)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network, WSN)是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量傳感器節(jié)點(diǎn)相互通信形成的多跳自組織網(wǎng)絡(luò)系統(tǒng),是物聯(lián)網(wǎng)底層網(wǎng)絡(luò)的重要技術(shù)形式[1]。而6LoWPAN(IPv6 over Low power Wireless Personal Area Network)是一種在資源限制、低速率和有損的網(wǎng)絡(luò)中采用IPv6(Internet Protocol version 6)協(xié)議覆蓋的網(wǎng)絡(luò)技術(shù),它提供了一個(gè)固定的和可修復(fù)的無線局域網(wǎng)結(jié)構(gòu)[2]。IPv6的應(yīng)用解決了網(wǎng)絡(luò)地址缺少的問題,并且無狀態(tài)配置功能能夠很好地適應(yīng)傳感器節(jié)點(diǎn)的部署,其所具有的特性能較好地滿足傳感器網(wǎng)絡(luò)的需求[3]。在6LoWPAN網(wǎng)絡(luò)中,傳感器節(jié)點(diǎn)將采集到的數(shù)據(jù)經(jīng)過傳輸、轉(zhuǎn)發(fā)和匯聚到達(dá)網(wǎng)關(guān)節(jié)點(diǎn),然后從網(wǎng)關(guān)節(jié)點(diǎn)中將數(shù)據(jù)發(fā)送至外網(wǎng)。6LoWPAN網(wǎng)關(guān)節(jié)點(diǎn)對(duì)處理能力、存儲(chǔ)大小、通信能力、路由和控制功能的實(shí)現(xiàn)是6LoWPAN網(wǎng)絡(luò)實(shí)際應(yīng)用的關(guān)鍵。
由于現(xiàn)有6LoWPAN標(biāo)準(zhǔn)不支持多網(wǎng)關(guān),在無線傳感器網(wǎng)絡(luò)以及6LoWPAN網(wǎng)絡(luò)的應(yīng)用中,單網(wǎng)關(guān)的以太網(wǎng)接入是實(shí)現(xiàn)自組網(wǎng)和互聯(lián)網(wǎng)數(shù)據(jù)通信的主要手段。國(guó)際互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force, IETF)在RFC6775(Request For Comments 6775)[4]中定義了邊界路由器(Border Router),并闡明了6LoWPAN網(wǎng)絡(luò)中存在多個(gè)6LoWPAN邊界路由器(6LoWPAN Border Router, 6LBR)的可能性。文獻(xiàn)[5]提出了一種連接WSN和IPv6主機(jī)的可用WSN網(wǎng)關(guān),實(shí)現(xiàn)了傳感器節(jié)點(diǎn)和因特網(wǎng)設(shè)備端到端的實(shí)時(shí)連接。文獻(xiàn)[6]使用基于邊界路由的6LoWPAN網(wǎng)關(guān),并在此基礎(chǔ)上研究6LoWPAN報(bào)頭壓縮和分片重組問題。文獻(xiàn)[7-8]分別在CC2538平臺(tái)和BBB(Beagle Bone Black)平臺(tái)完成6LoWPAN Border Router設(shè)計(jì),在前向兼容IPv4的同時(shí)實(shí)現(xiàn)IPv6的以太網(wǎng)接入。文獻(xiàn)[2]提出一種分布式多網(wǎng)關(guān)動(dòng)態(tài)負(fù)載平衡方案MLEq(Multi-gateway Load balancing scheme for Equilibrium),實(shí)現(xiàn)6LoWPAN全局的負(fù)載均衡,并與低功耗有損網(wǎng)絡(luò)(Low-power and Lossy Network, LLN)路由協(xié)議(Routing Protocol for LLN, RPL)進(jìn)行性能比較,但該方案只是強(qiáng)調(diào)多網(wǎng)關(guān)下的負(fù)載平衡策略,并沒有提及多網(wǎng)關(guān)系統(tǒng)的具體實(shí)現(xiàn)。文獻(xiàn)[9]設(shè)計(jì)完成了基本6LoWPAN多網(wǎng)關(guān)系統(tǒng)方案,但其網(wǎng)關(guān)的以太網(wǎng)接入和網(wǎng)關(guān)間互通是基于個(gè)人計(jì)算機(jī)(Personal Computer, PC)實(shí)現(xiàn)的,且未考慮到實(shí)際網(wǎng)絡(luò)的網(wǎng)關(guān)部署。而在無線網(wǎng)格網(wǎng)絡(luò)(Wireless Mesh Network, WMN)中,多網(wǎng)關(guān)的應(yīng)用研究主要是在節(jié)點(diǎn)分簇和網(wǎng)關(guān)負(fù)載均衡方面。文獻(xiàn)[10-12]的多網(wǎng)關(guān)模型中,通過使用不同的負(fù)載均衡機(jī)制實(shí)現(xiàn)多網(wǎng)關(guān)互聯(lián)接入,但由于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的差異性,WMN網(wǎng)絡(luò)中的多網(wǎng)關(guān)模型不能直接參考用于6LoWPAN網(wǎng)絡(luò)。
單網(wǎng)關(guān)架構(gòu)下的6LoWPAN網(wǎng)絡(luò)數(shù)據(jù)傳輸系統(tǒng)中,網(wǎng)關(guān)負(fù)責(zé)整個(gè)網(wǎng)絡(luò)數(shù)據(jù)的匯聚和處理,并完成與外網(wǎng)的交互。當(dāng)網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量較多、數(shù)據(jù)流量較大時(shí),容易造成時(shí)延和數(shù)據(jù)擁塞,嚴(yán)重時(shí)會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)的癱瘓。在6LoWPAN網(wǎng)絡(luò)中采用多網(wǎng)關(guān)架構(gòu)可以有效地解決這個(gè)問題,并且能夠減少網(wǎng)絡(luò)中節(jié)點(diǎn)的能耗和提高網(wǎng)絡(luò)整體吞吐量。因此,多網(wǎng)關(guān)的實(shí)現(xiàn)對(duì)于6LoWPAN網(wǎng)絡(luò)的大規(guī)模部署具有重要意義,同時(shí),也為后續(xù)6LoWPAN網(wǎng)絡(luò)的多網(wǎng)關(guān)部署和網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化研究提供了基礎(chǔ)。本文設(shè)計(jì)實(shí)現(xiàn)一種基于6LoWPAN的嵌入式多網(wǎng)關(guān)網(wǎng)絡(luò)系統(tǒng),實(shí)現(xiàn)嵌入式雙模網(wǎng)關(guān)和多網(wǎng)關(guān)架構(gòu)。補(bǔ)充優(yōu)化6LoWPAN標(biāo)準(zhǔn)協(xié)議,完善上下行數(shù)據(jù)的多徑路由和網(wǎng)關(guān)選擇,實(shí)現(xiàn)了6LoWPAN的多網(wǎng)關(guān)Internet接入和網(wǎng)絡(luò)整體性能的提升。
根據(jù)6LoWPAN協(xié)議標(biāo)準(zhǔn),根節(jié)點(diǎn)通過目標(biāo)函數(shù)構(gòu)建目的導(dǎo)向的有向無環(huán)圖(Destination Oriented Directed Acyclic Graph, DODAG)[13],DODAG根充當(dāng)邊緣路由器(border-router),形成單border-router重疊多簇結(jié)構(gòu)。而現(xiàn)實(shí)中存在單簇含有大量節(jié)點(diǎn)的情況,在此環(huán)境中,以及大范圍部署6LoWPAN環(huán)境中,適宜采用多網(wǎng)關(guān)(多border-router)結(jié)構(gòu)。在此結(jié)構(gòu)中,可靠傳送鏈路工作的多個(gè)邊界路由器能夠作為到相同DODAG匯接點(diǎn)的邏輯等價(jià)接口。
多網(wǎng)關(guān)系統(tǒng)由一個(gè)根網(wǎng)關(guān)(root-GW)和一個(gè)或者多個(gè)普通網(wǎng)關(guān)(common-GW)構(gòu)成,其系統(tǒng)架構(gòu)如圖1所示。
6LoWPAN多網(wǎng)關(guān)網(wǎng)絡(luò)中,根據(jù)DODAG類樹形拓?fù)淝闆r,由根節(jié)點(diǎn),也就是根網(wǎng)關(guān)(root-border-router)完成節(jié)點(diǎn)分簇,形成幾個(gè)網(wǎng)絡(luò)分支。各網(wǎng)關(guān)負(fù)責(zé)完成分支內(nèi)傳感器節(jié)點(diǎn)的數(shù)據(jù)匯聚和轉(zhuǎn)發(fā),而根網(wǎng)關(guān)是則整個(gè)網(wǎng)絡(luò)數(shù)據(jù)的交換中心。因此,根網(wǎng)關(guān)和普通網(wǎng)關(guān)之間存在大量的數(shù)據(jù)交換,使用傳統(tǒng)的無線鏈路傳輸,容易造成數(shù)據(jù)擁塞和丟失,從而降低了網(wǎng)絡(luò)的性能質(zhì)量。為減輕網(wǎng)關(guān)間無線鏈路的數(shù)據(jù)流量負(fù)荷,在根網(wǎng)關(guān)和普通網(wǎng)關(guān)之間搭建基于以太網(wǎng)連接的互聯(lián)網(wǎng)協(xié)議(Internet Protocol, IP)隧道,隧道的具體實(shí)現(xiàn)將在2.3節(jié)介紹。利用IP隧道在根網(wǎng)關(guān)和普通網(wǎng)關(guān)間建立有線連接,保證了傳感器節(jié)點(diǎn)的數(shù)據(jù)能夠可靠且有效地匯聚到根網(wǎng)關(guān);與此同時(shí),也減少了無線鏈路的占用和對(duì)網(wǎng)關(guān)周圍傳感器節(jié)點(diǎn)的無線干擾。
圖1 多網(wǎng)關(guān)系統(tǒng)框架示意圖
6LoWPAN使用RPL路由協(xié)議進(jìn)行網(wǎng)絡(luò)組建和路由實(shí)現(xiàn), RPL路由存在上行路由和下行路由的概念:1)通過DIS(DODAG Information Solicitation)和DIO(DODAG Information Object)消息建立上行路由。2)通過前綴宣告(DODAG Destination Advertisement Object, DAO)和前綴宣告應(yīng)答(Destination Advertisement Object Acknowledgement, DAO-ACK)消息建立下行路由。對(duì)于信息的處理,下行路由有兩種模式,“存儲(chǔ)”模式和“非存儲(chǔ)”模式。
本多網(wǎng)關(guān)方案采用“存儲(chǔ)”模式,父節(jié)點(diǎn)中存儲(chǔ)網(wǎng)關(guān)信息,備網(wǎng)關(guān)選擇時(shí)使用。RPL路由中,根據(jù)rank值判斷下一跳為上行路由還是下行路由,但多網(wǎng)關(guān)尋址過程并不一定滿足此標(biāo)準(zhǔn)。因此,在RPL路由擴(kuò)展首部的路由方式標(biāo)識(shí)字段中增加上行和下行路由標(biāo)志,保證路由實(shí)現(xiàn)。在DAO消息的報(bào)文中增設(shè)網(wǎng)關(guān)信息選項(xiàng),其中加載網(wǎng)關(guān)IP地址,為多網(wǎng)關(guān)系統(tǒng)的網(wǎng)關(guān)選擇和路由實(shí)現(xiàn)提供條件。
在多網(wǎng)關(guān)系統(tǒng)中,分支內(nèi)路由根據(jù)RPL建立的路由信息實(shí)現(xiàn),網(wǎng)關(guān)間路由則根據(jù)實(shí)際拓?fù)淝闆r結(jié)合網(wǎng)關(guān)選擇算法實(shí)現(xiàn)。上行路由,節(jié)點(diǎn)根據(jù)上行網(wǎng)關(guān)選擇算法確定向上路由網(wǎng)關(guān),普通網(wǎng)關(guān)的數(shù)據(jù)經(jīng)過IP隧道到達(dá)根網(wǎng)關(guān)。下行路由,根網(wǎng)關(guān)根據(jù)進(jìn)入6LoWPAN數(shù)據(jù)分組的目的IP地址,判斷所屬網(wǎng)關(guān),并完成數(shù)據(jù)分流。
嵌入式6LoWPAN雙模網(wǎng)關(guān)采用模塊化設(shè)計(jì),其硬件結(jié)構(gòu)如圖2所示。網(wǎng)關(guān)主要由三部分組成,處理器模塊、射頻模塊和以太網(wǎng)模塊。處理器模塊選用的是STM32F103,其內(nèi)存和運(yùn)算能力滿足Contiki操作系統(tǒng)要求。射頻模塊選用ATMEL公司的AT86RF231射頻芯片,工作頻段為2.4 GHz,適用于IEEE802.15.4標(biāo)準(zhǔn)。在6LoWPAN網(wǎng)絡(luò)中,傳感器節(jié)點(diǎn)之間通過射頻模塊進(jìn)行無線傳輸,完成信令交互和數(shù)據(jù)轉(zhuǎn)發(fā),在此基礎(chǔ)上組建和維護(hù)傳感器網(wǎng)絡(luò)。以太網(wǎng)模塊選用的是ENC28J60以太網(wǎng)控制器,其具有最高速度可達(dá)10 Mb/s的SPI接口,以及8 KB的發(fā)送/接收數(shù)據(jù)包雙端口靜態(tài)隨機(jī)存取存儲(chǔ)器(Static Random-Access Memory, SRAM)。在網(wǎng)關(guān)節(jié)點(diǎn)中,以太網(wǎng)模塊將傳感器網(wǎng)絡(luò)匯聚的信息發(fā)往以太網(wǎng),或者接收來自外網(wǎng)的數(shù)據(jù),該模塊是實(shí)現(xiàn)6LoWPAN和Internet網(wǎng)際互聯(lián)的關(guān)鍵。
在硬件結(jié)構(gòu)上,普通節(jié)點(diǎn)中沒有以太網(wǎng)模塊,而在網(wǎng)關(guān)節(jié)點(diǎn)中,以太網(wǎng)模塊采用與母板適配的信號(hào)和電源接口,并通過物理插接實(shí)現(xiàn)。以太網(wǎng)接入的模塊化實(shí)現(xiàn),為前期多網(wǎng)關(guān)部署以及后期網(wǎng)絡(luò)維護(hù)提供了硬件基礎(chǔ)。
圖2 嵌入式多網(wǎng)關(guān)硬件結(jié)構(gòu)
在網(wǎng)關(guān)作為傳感器節(jié)點(diǎn)的子節(jié)點(diǎn)的情況時(shí),其結(jié)構(gòu)示意圖如圖3(a)所示,上行網(wǎng)關(guān)選擇算法在節(jié)點(diǎn)1/2/3中實(shí)現(xiàn),根據(jù)父節(jié)點(diǎn)到根網(wǎng)關(guān)與普通網(wǎng)之間的相對(duì)距離差進(jìn)行判斷。6LoWPAN中節(jié)點(diǎn)rank值按樹形拓?fù)湟来芜f減,因此算法可以轉(zhuǎn)換成rank差值的比較問題,父節(jié)點(diǎn)在上行路由時(shí)選擇rank差值較小的網(wǎng)關(guān)。節(jié)點(diǎn)1向外網(wǎng)發(fā)送數(shù)據(jù)包,其到root-GW的rank差為1,到common-GW的rank差為2,因此節(jié)點(diǎn)1選擇root-GW為上行路由所經(jīng)過的網(wǎng)關(guān)。下行網(wǎng)關(guān)選擇算法在根網(wǎng)關(guān)中實(shí)現(xiàn),根據(jù)存儲(chǔ)的節(jié)點(diǎn)和網(wǎng)關(guān)信息,計(jì)算出數(shù)據(jù)包在不同路徑下到達(dá)目的IP的rank差值,確定最終路由經(jīng)過的網(wǎng)關(guān)。外網(wǎng)向節(jié)點(diǎn)2發(fā)送數(shù)據(jù)包,通過root-GW到達(dá)的路徑rank差為2,通過common-GW到達(dá)的路徑rank差為1,因此選擇common-GW作為下行路由所經(jīng)過的網(wǎng)關(guān)。
在網(wǎng)關(guān)作為根網(wǎng)關(guān)的一級(jí)子節(jié)點(diǎn)的情況時(shí),其結(jié)構(gòu)示意圖如圖3(b)所示,上行網(wǎng)關(guān)選擇算法和下行網(wǎng)關(guān)選擇算法的實(shí)現(xiàn)比與第一種情況簡(jiǎn)單,只需根據(jù)RPL路由協(xié)議中網(wǎng)關(guān)存儲(chǔ)的路由信息,即可確定數(shù)據(jù)路由所需經(jīng)過的網(wǎng)關(guān)。節(jié)點(diǎn)4的上下行路由所經(jīng)過的網(wǎng)關(guān)為root-GW,節(jié)點(diǎn)5為common-GW。
圖3 多網(wǎng)關(guān)結(jié)構(gòu)示意圖
嵌入式網(wǎng)關(guān)協(xié)議棧的分層結(jié)構(gòu)如圖4所示,左側(cè)為以太網(wǎng)的IP協(xié)議,右側(cè)為6LoWPAN的uIP協(xié)議,二者在IPv6網(wǎng)絡(luò)層進(jìn)行數(shù)據(jù)交換。
為了滿足6LoWPAN網(wǎng)絡(luò)和IP網(wǎng)絡(luò)的融合,在網(wǎng)絡(luò)協(xié)議模型的網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層之間增加了一個(gè)特殊的適配層。其主要功能是幀頭壓縮、分片重組、多播支持、網(wǎng)絡(luò)拓?fù)錁?gòu)建和地址分配以及媒體訪問控制(Media Access Control, MAC)層路由[14],這些功能使得6LoWPAN能夠進(jìn)行基于IPV6的數(shù)據(jù)通信,促進(jìn)了6LoWPAN網(wǎng)絡(luò)的IP化。
uIP實(shí)現(xiàn)了進(jìn)行網(wǎng)絡(luò)通信所需的必要協(xié)議機(jī)制,提供基礎(chǔ)的用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol, UDP)服務(wù),通過使用一個(gè)單獨(dú)的全局buffer來處理數(shù)據(jù)包,并用一個(gè)固定大小的表來保持連接狀態(tài)。在uIP中使用時(shí)間驅(qū)動(dòng)接口,當(dāng)有事件發(fā)生時(shí),通過UIP_APPCALL( )調(diào)用相應(yīng)的應(yīng)用程序進(jìn)行處理。
從Internet到6LoWPAN的實(shí)現(xiàn)過程如下:Internet側(cè)的數(shù)據(jù)由以太網(wǎng)物理層接口進(jìn)入,向上傳遞至MAC層,并在IPv6網(wǎng)絡(luò)層實(shí)現(xiàn)數(shù)據(jù)的橫向?qū)?,到達(dá)6LoWPAN側(cè);再由此向下經(jīng)過適配層頭部壓縮和數(shù)據(jù)包分組,到達(dá)IEEE802.15.4MAC層,經(jīng)過Framer模塊組幀。最終,在Radio層驅(qū)動(dòng)下,經(jīng)IEEE802.15.4物理層發(fā)送至6LoWPAN網(wǎng)絡(luò)內(nèi)部。
圖4 網(wǎng)關(guān)協(xié)議棧分層結(jié)構(gòu)
網(wǎng)關(guān)承載了整個(gè)分支的流量負(fù)載,一個(gè)穩(wěn)定的數(shù)據(jù)鏈路是實(shí)現(xiàn)網(wǎng)關(guān)間大量數(shù)據(jù)交換的關(guān)鍵。嵌入式多網(wǎng)關(guān)系統(tǒng)利用有線的以太網(wǎng)連接,通過路由器,建立起根網(wǎng)關(guān)和普通網(wǎng)關(guān)間的IP隧道。隧道基于contiki的UDP-socket實(shí)現(xiàn),將待發(fā)數(shù)據(jù)連同IP頭一起封裝進(jìn)UDP包,經(jīng)過UDP協(xié)議的端到端傳輸,在相應(yīng)網(wǎng)關(guān)接收端對(duì)UDP進(jìn)行解封。
UDP-socket包括三部分:初始化、socket發(fā)送和socket接收。在嵌入式多網(wǎng)關(guān)系統(tǒng)中,根網(wǎng)關(guān)作為服務(wù)器,普通網(wǎng)關(guān)作為客戶端。socket初始化時(shí),服務(wù)器和客戶端通過simple_udp_register函數(shù)綁定地址和端口,并確定傳輸協(xié)議。初始化完成后,根據(jù)處理需要調(diào)用socket發(fā)送和socket接收函數(shù)。作為服務(wù)器的根網(wǎng)關(guān),不僅要處理來自普通網(wǎng)關(guān)通過IP隧道發(fā)送的UDP包,同時(shí)還要接收來自外網(wǎng)的IP數(shù)據(jù)包。在根網(wǎng)關(guān)以太網(wǎng)線程中,首先對(duì)接收到數(shù)據(jù)包進(jìn)行UDP-socket包判斷,如果是則轉(zhuǎn)至socket接收。否則判斷其目的IP地址所屬網(wǎng)關(guān),如果是普通網(wǎng)關(guān)則進(jìn)行socket定向發(fā)送,完成數(shù)據(jù)轉(zhuǎn)發(fā);如果是根網(wǎng)關(guān),則直接進(jìn)入RPL網(wǎng)絡(luò)。
本文在實(shí)驗(yàn)室環(huán)境下搭建了多網(wǎng)關(guān)網(wǎng)絡(luò)測(cè)試平臺(tái)。在這個(gè)平臺(tái)中,包含6個(gè)普通節(jié)點(diǎn)和2個(gè)網(wǎng)關(guān)節(jié)點(diǎn)(根網(wǎng)關(guān)、普通網(wǎng)關(guān)),使用交換機(jī)構(gòu)建局域網(wǎng)模擬Internet,PC模擬為網(wǎng)上用戶。通過PC和6LoWPAN節(jié)點(diǎn)間的數(shù)據(jù)通信,完成傳輸時(shí)延、丟包率和吞吐量的性能測(cè)試。在相同拓?fù)浣Y(jié)構(gòu)的條件下與單網(wǎng)關(guān)系統(tǒng)進(jìn)行對(duì)比測(cè)試,分析并總結(jié)多網(wǎng)關(guān)系統(tǒng)的性能優(yōu)勢(shì)。
測(cè)試網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖5所示,其中1~2號(hào)為網(wǎng)關(guān)節(jié)點(diǎn),3~8號(hào)節(jié)點(diǎn)為普通節(jié)點(diǎn)。
圖5 測(cè)試網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
6LoWPAN節(jié)點(diǎn)以及PC的IP地址信息如表1所示,為了區(qū)別6LoWPAN和Internet,PC和節(jié)點(diǎn)的IP地址采用不同的網(wǎng)絡(luò)前綴。
表1 設(shè)備IP地址信息
在多網(wǎng)關(guān)系統(tǒng)中,利用基于IPv6的因特網(wǎng)數(shù)據(jù)報(bào)文協(xié)議(Internet Control Message Protocol, ICMP)通信協(xié)議及ICMP數(shù)據(jù)包定義,完成在不同包長(zhǎng)度下的網(wǎng)絡(luò)連通性測(cè)試。在相同拓?fù)浣Y(jié)構(gòu)、不同數(shù)據(jù)包長(zhǎng)度條件下,完成單網(wǎng)關(guān)和多網(wǎng)關(guān)系統(tǒng)的數(shù)據(jù)通信性能對(duì)比。
測(cè)試結(jié)果如表2和圖6所示。
表2 多網(wǎng)關(guān)系統(tǒng)節(jié)點(diǎn)在不同數(shù)據(jù)包長(zhǎng)度下的ICMP通信時(shí)延
由于距離根節(jié)點(diǎn)的跳數(shù)的不同,對(duì)于相同長(zhǎng)度的數(shù)據(jù)包網(wǎng)絡(luò)中各節(jié)點(diǎn)時(shí)延不同。為了適配IEEE802.15,6LoWPAN適配層對(duì)數(shù)據(jù)包進(jìn)行分片、重組。對(duì)單個(gè)節(jié)點(diǎn)而言,傳輸時(shí)延隨著數(shù)據(jù)包長(zhǎng)度的增加而增加。對(duì)于不同網(wǎng)關(guān)架構(gòu)的網(wǎng)絡(luò),相比單網(wǎng)關(guān),多網(wǎng)關(guān)系統(tǒng)利用有線隧道優(yōu)化了網(wǎng)關(guān)間的數(shù)據(jù)傳輸鏈路,從而能有效地減少網(wǎng)絡(luò)中的傳輸時(shí)延。
圖6 單網(wǎng)關(guān)和多網(wǎng)關(guān)系統(tǒng)時(shí)延
6LoWPAN中的節(jié)點(diǎn)采用無線鏈路進(jìn)行數(shù)據(jù)傳輸,具有低速率和低可靠的特性,因此網(wǎng)絡(luò)中存在丟包情況。在相同拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)部署的條件下,對(duì)比測(cè)試單網(wǎng)關(guān)和多網(wǎng)關(guān)系統(tǒng)的ICMP數(shù)據(jù)包丟包率。結(jié)果如圖7所示,隨著節(jié)點(diǎn)(node8、node3、node4、node5)距離網(wǎng)關(guān)跳數(shù)的增加,路由線路中不可靠鏈路數(shù)量增加,丟包率增大。單跳節(jié)點(diǎn)在兩種網(wǎng)關(guān)結(jié)構(gòu)下丟包率都為0,而對(duì)于多跳路由的節(jié)點(diǎn),多網(wǎng)關(guān)系統(tǒng)在丟包率方面的性能表現(xiàn)優(yōu)于單網(wǎng)關(guān)系統(tǒng)。
圖7 單網(wǎng)關(guān)和多網(wǎng)關(guān)系統(tǒng)丟包率
吞吐量是衡量網(wǎng)絡(luò)系統(tǒng)性能的一個(gè)重要指標(biāo),其定義為數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸速率,實(shí)驗(yàn)中采用鏈路上的數(shù)據(jù)傳輸速率表征。根據(jù)節(jié)點(diǎn)在ICMP通信中不同數(shù)據(jù)包長(zhǎng)度下的延時(shí)測(cè)試,計(jì)算出端到端鏈路的數(shù)據(jù)傳輸速率。在相同拓?fù)浜筒渴饤l件下,對(duì)比測(cè)試單網(wǎng)關(guān)和多網(wǎng)關(guān)系統(tǒng)的吞吐量。如圖8所示,分別使用8 B和32 B的數(shù)據(jù)包進(jìn)行測(cè)試,多網(wǎng)關(guān)系統(tǒng)的數(shù)據(jù)傳輸速率均大于單網(wǎng)關(guān)。由于多個(gè)網(wǎng)關(guān)的數(shù)據(jù)流量分擔(dān),在網(wǎng)關(guān)協(xié)議的協(xié)調(diào)作用下,多網(wǎng)關(guān)系統(tǒng)能夠在一定程度上提高網(wǎng)絡(luò)的吞吐量。
圖8 單網(wǎng)關(guān)和多網(wǎng)關(guān)系統(tǒng)數(shù)據(jù)傳輸速率
本文設(shè)計(jì)了一個(gè)基于6LoWPAN的嵌入式網(wǎng)關(guān),并通過網(wǎng)關(guān)間IP隧道完成了6LoWPAN網(wǎng)絡(luò)多網(wǎng)關(guān)的實(shí)現(xiàn),解決了因單網(wǎng)關(guān)瓶頸所帶來的網(wǎng)絡(luò)擁塞問題。通過以太網(wǎng)模塊的硬件設(shè)計(jì)以及網(wǎng)關(guān)協(xié)議棧的完善,實(shí)現(xiàn)了網(wǎng)關(guān)節(jié)點(diǎn)的集成化,方便了6LoWPAN網(wǎng)絡(luò)的部署和優(yōu)化。在實(shí)驗(yàn)室環(huán)境下,搭建6LoWPAN多網(wǎng)關(guān)系統(tǒng)網(wǎng)絡(luò),完成以太網(wǎng)與內(nèi)網(wǎng)節(jié)點(diǎn)的連通性測(cè)試,表明該嵌入式多網(wǎng)關(guān)方案有效可行;并通過與單網(wǎng)關(guān)系統(tǒng)在丟包率和吞吐量方面的對(duì)比,證明嵌入式多網(wǎng)關(guān)能夠提升6LoWPAN網(wǎng)絡(luò)可靠性和吞吐量方面的性能。為探索6LoWPAN多網(wǎng)關(guān)部署和最佳網(wǎng)關(guān)位置選擇問題的研究,提供了一個(gè)基礎(chǔ)的驗(yàn)證平臺(tái)。