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