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