基于6LOWPAN傳感器網(wǎng)關設計
摘要 在研究6LoWPAN無線傳感器網(wǎng)絡以及IPv6網(wǎng)絡的基礎上,提出一種基于6LoWPAN的傳感器網(wǎng)關解決方案,實現(xiàn)6LoWPAN無線傳感器網(wǎng)絡與IPv6網(wǎng)絡之間互聯(lián),并對網(wǎng)關中的硬件與軟件設計進行論述。最后搭建測試網(wǎng)絡,通過對端到端網(wǎng)絡的連接性、延時變化、往返延時、丟包率以及吞吐量的測試,對該網(wǎng)絡性能作出簡要分析。測試結(jié)果表明,該網(wǎng)關實現(xiàn)了6LoWPAN無線傳感器網(wǎng)絡與IPv6網(wǎng)絡的互聯(lián),并能在實際網(wǎng)絡環(huán)境中運行。
關鍵詞 6LoWPAN;網(wǎng)關;IPv6;無線傳感器網(wǎng)絡:Contiki
目前IEEE 802.15.4已成為針對低功耗、低數(shù)據(jù)速率、低可靠性的通用標準。如ZigBee、WirelessHART等在物理層和MAC層均采用IEEE 802.15.4標準,但在網(wǎng)絡層它們采用各自定義的協(xié)議,不能實現(xiàn)網(wǎng)絡層的互聯(lián)。且無線傳感器網(wǎng)絡一般采用自定義的通信地址,地址數(shù)量有限,僅在單個無線網(wǎng)絡內(nèi)有效。而IPv6具有充足的地址空間,IPv6所具有的特性較好地滿足物聯(lián)網(wǎng)應用需求,是物聯(lián)網(wǎng)大規(guī)模發(fā)展的基礎性保證。因此,物聯(lián)網(wǎng)采用IPv6協(xié)議實現(xiàn)其廣泛互聯(lián)通成為必然趨勢。IETF成立了3個工作組進行低功耗IPv6網(wǎng)絡方面的研究,旨在將IPv6與資源受限的無線網(wǎng)絡無縫連接。
文中對基于6LoWPAN的無線傳感器網(wǎng)絡以及IPv6網(wǎng)絡進行了研究,主要目標在于設計和實現(xiàn)一種基于6LoWPAN的傳感器網(wǎng)關。實現(xiàn)6LoWPAN無線傳感器網(wǎng)絡與IPv6有線網(wǎng)絡之間互聯(lián),建立一種能普遍應用的系統(tǒng)平臺架構,并在軟硬件上進行實現(xiàn)和應用。
1 研究概況
將IPv6技術引入無線傳感網(wǎng)絡可便于實現(xiàn)與IPv6有線網(wǎng)絡設備端對端的通信,提高了轉(zhuǎn)發(fā)效率,增強了安全性。文獻中提出了IPv6無線傳感器網(wǎng)絡體系結(jié)構,旨在實現(xiàn)IPv6技術與無線傳感器網(wǎng)絡技術的融合,并討論了采用網(wǎng)關接入方式,實現(xiàn)無線傳感器網(wǎng)絡與現(xiàn)有網(wǎng)絡的互聯(lián)。
對于傳感器網(wǎng)關架構的研究,有3種不同的設計思想。一是文獻設計的網(wǎng)關,客戶端通過采用Web技術獲取無線傳感器節(jié)點的數(shù)據(jù)信息。這類解決方案的缺點是使用專有的協(xié)議連接傳感器節(jié)點,相當于在無線傳感器網(wǎng)絡與Internet之間放置了代理服務器,并不能實現(xiàn)客戶端與傳感器節(jié)點直接通信;二是文獻設計的網(wǎng)關,是基于具體應用而設計的,描述了在該應用場景下網(wǎng)關的信息交互,并未涉及網(wǎng)關的軟硬件設計;三是文獻設計的基于6LoWPAN的無線傳感器網(wǎng)關架構。文獻提出了基于6LoWPAN的無線傳感器網(wǎng)關架構,實現(xiàn)6LoWPAN無線傳感器網(wǎng)絡短地址與IPv6地址之間直接轉(zhuǎn)換,分析了數(shù)據(jù)包的傳輸過程,但未涉及網(wǎng)關的軟硬件設計;文獻實現(xiàn)IPv6無線傳感器網(wǎng)絡的端到端通信,但也沒有對網(wǎng)關的軟硬件設計進行論述;文獻雖著重于網(wǎng)關的軟硬件設計,但未對網(wǎng)關及整體系統(tǒng)的性能進行分析。
而文獻只關注了網(wǎng)絡性能方面的測試。
文中提出一種采用網(wǎng)關接入方式實現(xiàn)6LoWPAN無線傳感器網(wǎng)絡與IPv6網(wǎng)絡互聯(lián)的整體架構,并對網(wǎng)關中的硬件與軟件設計進行論述,最后搭建測試網(wǎng)絡對系統(tǒng)的性能進行分析。
2 網(wǎng)關設計
6LoWPAN網(wǎng)關接入方式實現(xiàn)6LoWPAN無線傳感器網(wǎng)絡與IPv6網(wǎng)絡互聯(lián)的系統(tǒng)架構如圖1所示。系統(tǒng)分為4個部分:6LoWPAN傳感器節(jié)點、6LoWPAN網(wǎng)關、6LoWPAN服務器以及IPv6用戶終端。所有無線設備采用Contiki OS作為操作系統(tǒng)。物理層和MAC層遵循IEEE 802.15.4標準,集成了6LoWPAN適配層和uIPv6協(xié)議棧,具備鄰居發(fā)現(xiàn)、自動組網(wǎng)等功能,能支持構建功能完善的基于IPv6的無線傳感器網(wǎng)絡。傳感器節(jié)點可以將采集的監(jiān)測數(shù)據(jù)通過ContikiRPL路由匯聚到網(wǎng)關,網(wǎng)關進行協(xié)議轉(zhuǎn)換及將數(shù)據(jù)的轉(zhuǎn)發(fā)到服務器,服務器將對數(shù)據(jù)進行分析、處理和存儲,而IPv6客戶端可以通過訪問服務器對網(wǎng)絡進行有效的控制和管理。
2.1 硬件設計
網(wǎng)關硬件構成如圖2所示。該智能無線網(wǎng)關基于OPENWRT系統(tǒng),具備3個局域網(wǎng)口,1個廣域網(wǎng)口,1個802.11a/b/g WiFi無線網(wǎng)絡接口,1個標準USB口和1個可選的串口調(diào)試口。WAN口連接如IPv6或IPv4有線網(wǎng)絡現(xiàn)有外界網(wǎng)絡等。USB口連接USBStick能支持IEEE 802.15.4標準,可以與WSN內(nèi)的任何節(jié)點通信。
在用戶不能夠訪問IPv6服務器的情況下,仍能支持用戶終端通過LAN口直接與網(wǎng)關相連,實現(xiàn)與傳感器網(wǎng)絡內(nèi)節(jié)點進行簡單通信。
該智能無線網(wǎng)關除具備通用無線路由器的功能以外,可以支持基于Contiki操作系統(tǒng)的USB UIP網(wǎng)卡實現(xiàn)UIP網(wǎng)絡和普通IP網(wǎng)絡之間的IPV6互連,同時還支持在OPENWRT的基礎上進一步擴展應用。為使網(wǎng)關能夠連接無線傳感器網(wǎng)絡,需要在圖2右下角的USB口處插入USB Stick網(wǎng)卡。USB Stick如圖3所示。
2.2 軟件設計
6LoWPAN網(wǎng)關的軟件架構如圖4所示。網(wǎng)關通過WAN口與Internet互聯(lián)。一方面接收以太網(wǎng)數(shù)據(jù)幀,并將幀實體提交給應用層處理;另一方面從應用層接收幀實體數(shù)據(jù),并用以太網(wǎng)幀頭對幀實體進行封裝,通過WAN口發(fā)送出去,這里以太網(wǎng)幀頭中的目的地址為下一跳的MAC地址,源地址為網(wǎng)關的MAC地址。
網(wǎng)關通過USB Stick與6LoWPAN無線傳感器網(wǎng)絡互聯(lián)。一方面無線接口接收IEEE 802.15.4數(shù)據(jù)幀,并將幀實體提交給適配層處理;另一方面從適配層接收幀實體數(shù)據(jù),并用IEEE 802.15.4幀頭對幀實體進行封裝,通過無線接口發(fā)送出去。
該網(wǎng)關設計的關鍵之一是對USB Stick的設計。它采用Contiki OS作為操作系統(tǒng),其物理層和MAC層遵循IEEE 802.15.4標準,集成了uIPv6協(xié)議棧和6LoWPAN適配層。采用AT90USB1287芯片,在Congtiki Studio集成開發(fā)環(huán)境下編程、編譯,并通過AVR Studio 4連接JTAG仿真器進行程序燒寫。USBStick中主要完成了報文分片與重組、報頭壓縮及鏈路層的數(shù)據(jù)轉(zhuǎn)發(fā)等方面功能。
3 性能分析
為分析系統(tǒng)的性能,根據(jù)圖1搭建了測試網(wǎng)絡。通過對端到端網(wǎng)絡的連接性、延時變化、往返延時、丟包率以及吞吐量的測試,對該網(wǎng)絡性能作出簡要分析。
(1)連接性。連接性又稱可達性,嚴格說應是網(wǎng)絡的基本能力或?qū)傩?,并不能稱為性能,它直接反映了網(wǎng)絡是否可用。通過Ping6命令測試,證明網(wǎng)絡能夠互通,即實現(xiàn)6LoWPAN無線傳感器網(wǎng)絡與IPv6網(wǎng)絡的互聯(lián)。測試結(jié)果如圖5所示。
(2)時延變化。對3 000 s內(nèi)網(wǎng)絡的往返時延進行了監(jiān)測。監(jiān)測結(jié)果如圖6(a)所示。時延的突升或突降,通常表明網(wǎng)絡出現(xiàn)故障,或受到安全攻擊等。從測試結(jié)果可以看出,每個時間段內(nèi)往返延時比較平穩(wěn),從而說明該網(wǎng)絡的通訊性能良好。
(3)往返時延。往返時延(RTT,Round Trip Times)由3部分決定:線路的傳播時間、末端系統(tǒng)的處理時間及路由器緩存中的排隊和處理時間。其中第一項是相對固定的,而后兩項則和網(wǎng)絡負荷及系統(tǒng)性能有關,所以RTT值能間接反映網(wǎng)絡負荷和系統(tǒng)性能,并且可以大致認為RTT值和網(wǎng)絡負荷成正比,而和系統(tǒng)性能成反比。為便于測量,主要考慮不同大小數(shù)據(jù)包的端到端往返時延。
由圖6(b)中圖可以看出,數(shù)據(jù)包的大小將會對網(wǎng)絡時延有一定的影響。發(fā)送的數(shù)據(jù)包越大,端到端的時延就越長,系統(tǒng)性能就越差。
(4)丟包率。理論上,丟包率一般在0%~15%之間變化。然而由于系統(tǒng)是基于6LoWPAN無線傳感器網(wǎng)絡,本身即具有低功耗、低數(shù)據(jù)速率、低可靠性等特點,以及發(fā)送的數(shù)據(jù)包為不可靠傳輸。因此測得的丟包率比較大,但網(wǎng)絡仍然是可達的。監(jiān)測不同大小的數(shù)據(jù)包在3 000 s內(nèi)的丟包率。監(jiān)測結(jié)果如圖6(c)所示,數(shù)據(jù)包越大丟包率就越高。
(5)吞吐量。吞吐量是指數(shù)據(jù)在網(wǎng)絡上的傳輸速率,一般以bit·s-1、Byte·s-1以及P·s-1表示。吞吐量一般是指鏈路上所有通信數(shù)據(jù)的總傳輸速率,有時也可以表示某特定業(yè)務的數(shù)據(jù)傳送速率。這里就是通過ping6命令發(fā)送ICMPv6包測試其傳輸速率,如圖6(d)和圖6(e)所示。
除以上測試外,發(fā)現(xiàn)系統(tǒng)的抗干擾能力比較弱。稍加干擾會就會使丟包率顯著增加,甚至導致網(wǎng)絡中斷。另外,網(wǎng)絡環(huán)境的改變也很大程度上影響無線傳感器節(jié)點的有效傳輸距離。
4 結(jié)束語
提出一種基于6LoWPAN的傳感器網(wǎng)關解決方案,并對網(wǎng)關中的硬件與軟件設計進行了論述。最后,搭建了測試網(wǎng)絡,在實際網(wǎng)絡環(huán)境中,對端到端網(wǎng)絡的連接性、延時變化、往返延時、丟包率以及吞吐量進行了測試。測試結(jié)果表明,網(wǎng)關系統(tǒng)能實現(xiàn)6LoWPAN無線傳感器網(wǎng)絡與IPv6網(wǎng)絡的互聯(lián),并能在實際網(wǎng)絡環(huán)境中運行。
從測試中看出,該網(wǎng)關系統(tǒng)的丟包率較高,傳輸?shù)木嚯x受環(huán)境影響較大??傮w來說,系統(tǒng)的抗干擾能力較弱。進一步研究工作的重點將放在系統(tǒng)的安全性及穩(wěn)定性上,并考慮其在智能交通中的應用。





