基于IPv6的無(wú)線傳感網(wǎng)絡(luò)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
傳感網(wǎng)絡(luò)技術(shù)作為物聯(lián)網(wǎng)的核心技術(shù)之一,一直是國(guó)內(nèi)外研究熱點(diǎn),其中無(wú)線傳感網(wǎng)絡(luò)部署簡(jiǎn)單、維護(hù)方便,成本低, 相對(duì)有線傳輸更具有靈活性,在環(huán)境監(jiān)測(cè)、農(nóng)業(yè)管理、醫(yī)療、及工業(yè)監(jiān)控等多方面具有廣泛應(yīng)用前景。
目前大多數(shù)無(wú)線傳感網(wǎng)絡(luò)都不是基于IP 的網(wǎng)絡(luò)架構(gòu),要想使傳感節(jié)點(diǎn)接入IP 網(wǎng)絡(luò),必須要專門(mén)設(shè)計(jì)一個(gè)支持其他私有協(xié)議的轉(zhuǎn)換網(wǎng)關(guān),由于網(wǎng)關(guān)固有的復(fù)雜性,協(xié)議轉(zhuǎn)換過(guò)程中很可能會(huì)破壞雙方的網(wǎng)絡(luò)模型,在大規(guī)模網(wǎng)絡(luò)部署后的網(wǎng)絡(luò)管理與故障檢查方面會(huì)有很多不足。端到端IP 網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)層采用IP 技術(shù),具有很好的互通性與穩(wěn)定性,應(yīng)用層可以支持多樣性的需求,相對(duì)傳統(tǒng)網(wǎng)關(guān)具有很多優(yōu)勢(shì),支持端到端IP 架構(gòu)的傳感網(wǎng)絡(luò)是未來(lái)迎接大規(guī)模可控傳感網(wǎng)絡(luò)的潛在發(fā)展方向。
但以 IP做基礎(chǔ)的無(wú)線傳感網(wǎng)絡(luò)規(guī)模化應(yīng)用面臨兩個(gè)問(wèn)題 :IPv4地址枯竭與傳感節(jié)點(diǎn)成本限制。要無(wú)限地延伸網(wǎng)絡(luò)邊界,實(shí)現(xiàn)全網(wǎng)絡(luò)融合與通信,開(kāi)展全網(wǎng)絡(luò)協(xié)同服務(wù),必須要使全網(wǎng)系統(tǒng)中最基礎(chǔ)層的被標(biāo)記物具有網(wǎng)絡(luò)IP地址 ;傳統(tǒng)IPv4地址資源即將枯竭,而 IPv6協(xié)議具有充足的地址空間,可為需要海量地址的物聯(lián)網(wǎng)服務(wù)[1,2]。另一方面,無(wú)線傳感網(wǎng)
絡(luò)節(jié)點(diǎn)要求體積小且成本低,并且多部署在不易取電的位置,這就要求傳感節(jié)點(diǎn)內(nèi)存資源有限,且工作低功耗 [3]。
為此,結(jié)合低功耗 802.15.4 數(shù)據(jù)鏈路層和物理層協(xié)議及 IPv6 網(wǎng)絡(luò)層協(xié)議的 6LoWPAN(IPv6 over Low Power wireless Area Network)協(xié)議棧被 提出,通過(guò) 6LoWPAN 適配層對(duì) IPv6 數(shù)據(jù)包進(jìn)行分片和重組,完成 IPv6 網(wǎng)絡(luò)層與 802.15.4 物 理層的融合 [4-6]。Contiki 是專為內(nèi)存受限的硬件平臺(tái)開(kāi)發(fā)的操 作系統(tǒng),該系統(tǒng)開(kāi)源且集成了6LoWPAN 協(xié)議棧 [7]。
論文將采用具有6LoWPAN 協(xié)議棧的Contiki 嵌入式操作系統(tǒng)進(jìn)行傳感節(jié)點(diǎn)設(shè)計(jì);研制支持 6LoWPAN 協(xié)議棧的IPV4/ IPV6 雙棧邊緣路由器,完成傳感節(jié)點(diǎn)數(shù)據(jù)向以太網(wǎng)的轉(zhuǎn)發(fā); 在教育網(wǎng)IPv6 環(huán)境下搭建基于IPv6 的無(wú)線傳感網(wǎng)絡(luò)系統(tǒng)進(jìn)行測(cè)試。
1 IPv6傳感網(wǎng)絡(luò)總體設(shè)計(jì)
在教育網(wǎng)IPv6 環(huán)境下構(gòu)建如圖 1 所示的無(wú)線傳感網(wǎng)絡(luò)。
無(wú)線傳感網(wǎng)絡(luò)由IPv6 傳感節(jié)點(diǎn)、IPv6 路由、管理服務(wù)器所構(gòu)成。本設(shè)計(jì)中,無(wú)線傳感節(jié)點(diǎn)采集環(huán)境的溫度、濕度與光照度信息。
基于 6LoWPAN 傳感節(jié)點(diǎn)與IPv6 主機(jī)間的 3 層路由過(guò)程如圖 2 所示。傳感器感知環(huán)境溫、濕度以及光照等信息,將數(shù)據(jù)傳給節(jié)點(diǎn)的主芯片,在主芯片內(nèi)完成對(duì)數(shù)據(jù)包的處理,經(jīng)過(guò) 6LoWPAN 適配層的頭壓縮,將數(shù)據(jù)以 802.15.4 數(shù)據(jù)包格式發(fā)送出去,6LoWPAN 無(wú)線網(wǎng)卡上射頻芯片接收數(shù)據(jù)包,在網(wǎng)卡主芯片完成 6LoWPAN 適配層重組,再經(jīng)過(guò)通用串行總線接口將數(shù)據(jù)轉(zhuǎn)發(fā)到路由器,通過(guò)路由器以 802.3 協(xié)議規(guī)定轉(zhuǎn)發(fā)到IPv6 以太網(wǎng)絡(luò)中。整個(gè)過(guò)程經(jīng)過(guò) IPv6 傳感網(wǎng)關(guān)完成 IPv6 分組的壓縮和解壓縮,執(zhí)行 6LoWPAN 短地址與IPv6 地址的映射,實(shí)現(xiàn)了傳感網(wǎng)絡(luò)與IP 網(wǎng)絡(luò)的融合。
下面將分別對(duì)IPv6 傳感節(jié)點(diǎn)和IPv6 傳感網(wǎng)關(guān)進(jìn)行說(shuō)明。
2 IPv6傳感節(jié)點(diǎn)設(shè)計(jì)
傳感節(jié)點(diǎn)功能示意圖見(jiàn)圖 3,主要分為主控及通信控制模塊、數(shù)據(jù)采集模塊、RF 通信模塊及射頻天線單元等幾部分。
主控模塊采用 Atmel 1284P 作為主芯片, 采用支持6LoWPAN 協(xié)議棧的 Contiki 作為操作系統(tǒng)。通過(guò) Contiki 為傳感節(jié)點(diǎn)分配 IPv6 地址。傳感器選擇SHT11 溫、濕度傳感器以及光敏電阻。節(jié)點(diǎn)射頻部分采用Atmel 的AT86RF231,通過(guò)同步串行與主芯片通信。節(jié)點(diǎn)天線電路采用兩個(gè)SMA 轉(zhuǎn)接頭外置,利用Johanson 公司的 2450BM15A0002 平衡濾波器芯片實(shí)現(xiàn)射頻通信芯片輸出差分信號(hào)轉(zhuǎn)變?yōu)閱味诵盘?hào)。
3 支持 IPv4/IPv6雙棧的傳感網(wǎng)絡(luò)網(wǎng)關(guān)設(shè)計(jì)
傳感網(wǎng)絡(luò)網(wǎng)關(guān)由兩部分構(gòu)成,一部分是IPv6無(wú)線網(wǎng)卡, 另一部分是基于 OpenWRT的IPv6邊緣路由器。
IPv6無(wú)線網(wǎng)卡在IPv6邊緣路由器與傳感節(jié)點(diǎn)間起橋接作用,它同樣采用Contiki作為操作系統(tǒng),內(nèi)置 6LoWPAN協(xié)議棧, 通過(guò) 6LoWPAN適配層對(duì)IPv6報(bào)文分片與重組。
IPv6 無(wú)線網(wǎng)卡的功能示意圖如圖 4。主要分為主控模塊,射頻通信模塊和射頻天線三部分。主控模塊芯片采用Atmel 公司的 AT90USB1287,射頻模塊芯片同樣采用Atmel 的AT86RF231,天線采用Antenova 公司的小尺寸 2.4 GHz 貼片天線 A5839。
IPv6 無(wú)線網(wǎng)卡與傳感節(jié)點(diǎn)均采用 Contiki 作為操作系統(tǒng), 通過(guò)一系列進(jìn)程完成數(shù)據(jù)的收發(fā)。
IPv6 邊緣路由器利用市面上已有的基于 OpenWRT 的IPv4 路由器進(jìn)行開(kāi)發(fā)。首先,基于 OpenWRT 的編程將IPv4 路由器升級(jí),使其同時(shí)支持IPv4/IPv6 雙棧,完成 6LoWPAN IPv6 傳感網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā) ;其次,開(kāi)發(fā)基于 USB 的IPv6 網(wǎng)卡驅(qū)動(dòng),可以識(shí)別傳感網(wǎng)絡(luò)的數(shù)據(jù)包,并通過(guò)路由器Linux 內(nèi)核轉(zhuǎn)發(fā)數(shù)據(jù)包,實(shí)現(xiàn)傳感網(wǎng)絡(luò)與互聯(lián)網(wǎng)的互通。
圖 5 為邊緣路由器驅(qū)動(dòng)實(shí)現(xiàn)示意圖。整個(gè)驅(qū)動(dòng)分兩個(gè)部分,一個(gè)是 USB 驅(qū)動(dòng),實(shí)現(xiàn)USB 控制器對(duì)插入無(wú)線網(wǎng)卡的識(shí)別,進(jìn)行數(shù)據(jù)傳輸 ;另一個(gè)是對(duì)網(wǎng)絡(luò)的驅(qū)動(dòng),即實(shí)現(xiàn)對(duì) 6LoWPAN 協(xié)議棧的支持和 IPv6 數(shù)據(jù)包的轉(zhuǎn)發(fā)。通過(guò)對(duì)Linux 內(nèi)核的系統(tǒng)資源配置,實(shí)現(xiàn)上述功能。
4 性能測(cè)試
依托 CERNET2 華中地區(qū)主干網(wǎng)華中科技大學(xué)子網(wǎng),在下一代互聯(lián)網(wǎng)國(guó)家工程實(shí)驗(yàn)室按照?qǐng)D 1搭建IPv6聯(lián)網(wǎng)系統(tǒng)。通過(guò) Contiki對(duì)節(jié)點(diǎn)與網(wǎng)卡分配 IPv6地址,6LoWPAN無(wú)線網(wǎng)卡地址 :2001:250:4000:4407::1;傳感節(jié)點(diǎn)地址 2001: 250:4000:4407::1d。地址分配如圖 6所示。
通過(guò)天津教育網(wǎng)對(duì)IPv6 無(wú)線網(wǎng)卡進(jìn)行網(wǎng)絡(luò)連通性測(cè)試, ping 網(wǎng)卡地址結(jié)果如圖7 所示,在遠(yuǎn)端能得到網(wǎng)卡的回復(fù)報(bào)文, 網(wǎng)絡(luò)線路連通正常。
測(cè)試 IPv6 傳感節(jié)點(diǎn)的網(wǎng)絡(luò)連通性,天津教育網(wǎng) Ping 節(jié) 點(diǎn)地址如圖 8 所示,同樣可以看到,節(jié)點(diǎn)收到發(fā)來(lái)的數(shù)據(jù)包并 且回復(fù)響應(yīng)的報(bào)文,從客戶遠(yuǎn)端到節(jié)點(diǎn)網(wǎng)絡(luò)是正常連通的。
客戶終端在管理服務(wù)器通過(guò)傳感節(jié)點(diǎn)的編號(hào)即傳感節(jié)點(diǎn) IPv6 地址查找特定傳感節(jié)點(diǎn),可以遠(yuǎn)程配置傳感節(jié)點(diǎn)的采樣 時(shí)間與采樣間隔,實(shí)時(shí)查看傳感節(jié)點(diǎn)采集環(huán)境信息如圖 9 所示。
圖 9 通過(guò)管理服務(wù)器遠(yuǎn)程查看傳感節(jié)點(diǎn)數(shù)據(jù)
4 結(jié) 語(yǔ)
本文將 IPv6 技 術(shù)應(yīng) 用于無(wú) 線傳感 網(wǎng)絡(luò), 采用具 有 6LoWPAN 協(xié)議棧的 Contiki 嵌入式操作系統(tǒng)開(kāi)發(fā) IPv6 傳感 節(jié)點(diǎn)和 IPv6 無(wú)線網(wǎng)卡,研制了支持 6LoWPAN 協(xié)議棧的 IPv4/ IPv6 雙棧邊緣路由器。在教育網(wǎng) IPv6 環(huán)境下的測(cè)試表明 :傳 感節(jié)點(diǎn)及邊緣路由器均支持基于 6LoWPAN 通信協(xié)議,在開(kāi) 發(fā)的物聯(lián)網(wǎng)管理平臺(tái)上可實(shí)現(xiàn)對(duì) IPv6 傳感節(jié)點(diǎn)的遠(yuǎn)程管理與 控制。