黃 穎,包 杰
(重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065)
就應(yīng)用而言,無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)需要連接其他外部網(wǎng)絡(luò),以便通過外部網(wǎng)絡(luò)上的設(shè)備對其進行訪問、監(jiān)測與控制,使之具有更實際的意義。采用全IP方式實現(xiàn)WSN與IPv6網(wǎng)絡(luò)的互連,具有很多潛在的優(yōu)勢,已成為未來發(fā)展的必然趨勢。而在此方式下,需要解決的一個關(guān)鍵技術(shù)就是IPv6地址自動配置問題[1-2]。有狀態(tài)地址配置方案的通信方式會產(chǎn)生大量的控制包開銷,同時需要安裝DHCP服務(wù)器,通常WSN應(yīng)用中,其無線網(wǎng)絡(luò)部分的規(guī)模也較小,所以無狀態(tài)地址配置方案更適合WSN。
本文針對全IP互聯(lián)通信,對WSN的網(wǎng)絡(luò)組織進行研究,提出了以數(shù)據(jù)為中心的WSN接入IPv6方式下的地址自動配置方案。
本方案基于WSN以數(shù)據(jù)為中心的特點,將WSN監(jiān)測的區(qū)域柵格化,每個網(wǎng)格中產(chǎn)生一個頭節(jié)點,網(wǎng)格中其余節(jié)點將數(shù)據(jù)直接傳送給頭節(jié)點聚合。節(jié)點重復(fù)地址檢測僅在本網(wǎng)格進行,且各網(wǎng)格可同時進行地址配置過程,縮短了IPv6地址配置的延遲時間。
劃分網(wǎng)格的網(wǎng)絡(luò)結(jié)構(gòu)具有降低網(wǎng)絡(luò)開銷、易實現(xiàn)IP地址自動配置和管理、便于大規(guī)模網(wǎng)絡(luò)管理等優(yōu)點。
本方案的WSN存在以下4種節(jié)點:1)IPv6接入節(jié)點,連接WSN與IPv6網(wǎng)絡(luò),負責(zé)向WSN其他節(jié)點提供網(wǎng)絡(luò)前綴;2)頭節(jié)點,能夠為本網(wǎng)格內(nèi)普通節(jié)點分配IPv6地址的節(jié)點;3)普通節(jié)點,從本網(wǎng)格頭節(jié)點獲取IPv6地址,不能為其他節(jié)點分配IPv6地址的節(jié)點;4)孤立節(jié)點,沒有被標記為頭節(jié)點、普通節(jié)點以及IPv6接入節(jié)點的節(jié)點。
本方案將WSN網(wǎng)絡(luò)柵格化,每一個網(wǎng)格中具有一個頭節(jié)點和多個普通節(jié)點,頭節(jié)點與IPv6節(jié)點構(gòu)建成樹結(jié)構(gòu),頭節(jié)點通過加入樹結(jié)構(gòu)獲得全球路由前綴。IPv6接人節(jié)點、頭節(jié)點及普通節(jié)點的拓撲結(jié)構(gòu)如圖1所示。
圖1 基于網(wǎng)格的樹結(jié)構(gòu)拓撲圖
傳感器節(jié)點的IPv6地址的全球路由前綴,來源于傳感器節(jié)點所屬樹結(jié)構(gòu)中樹根節(jié)點,即IPv6接入節(jié)點的IPv6地址的全球路由前綴。為便于描述各網(wǎng)格的位置,以IPv6接入節(jié)點作為原點(0,0)引入平面坐標系,各網(wǎng)格的坐標如圖2所示,由圖可見網(wǎng)格A的坐標為(2,2)。
圖2 WSN柵格化
IPv6地址由3分組成:1)64 bit全球路由前綴,在一個WSN中所有傳感器節(jié)點的IPv6地址的全球路由前綴均相同;2)網(wǎng)格坐標,由8 bit橫坐標和8 bit縱坐標組成,同一網(wǎng)格內(nèi)所有節(jié)點的橫、縱坐標都相同;3)節(jié)點ID,當(dāng)節(jié)點ID為0時,表示該網(wǎng)格,當(dāng)節(jié)點ID=1時,表示本網(wǎng)格中的頭節(jié)點。
采用該地址格式的配置方案,既可以查詢某一個區(qū)域內(nèi)的數(shù)據(jù),也可以單獨尋址某一個傳感器節(jié)點。如IPv6地址的節(jié)點ID為0時,表示查詢該網(wǎng)格區(qū)域的數(shù)據(jù)。
假設(shè)每個孤立傳感器節(jié)點都知道自己所屬的網(wǎng)格,同時知道自己的剩余能量,網(wǎng)格內(nèi)的頭節(jié)點采用如下的適應(yīng)值函數(shù)競爭產(chǎn)生
式中:n為網(wǎng)格內(nèi)節(jié)點能量大于0的節(jié)點數(shù);Rij為節(jié)點i到節(jié)點j的距離;Ei,Ej為節(jié)點i,j的剩余能量;η,λ分別為網(wǎng)格內(nèi)距離影響因子和能量影響因子,同時η+λ=1 且 η,λ ∈[0,1]。
該函數(shù)由兩部分組成,第一部分為某網(wǎng)格內(nèi)部的通信代價;第二部分為該網(wǎng)格內(nèi)節(jié)點i的剩余能量占整個網(wǎng)格平均剩余能量的比重。f(i)越小,說明i節(jié)點的位置越靠近于網(wǎng)格中心,能量相對較大。當(dāng)i節(jié)點的能量小于0,即節(jié)點死亡時,定義f(i)=∞[3]。
每一個節(jié)點向同一網(wǎng)格內(nèi)的鄰居節(jié)點廣播其適應(yīng)值。當(dāng)每一個節(jié)點都知道其鄰居節(jié)點的適應(yīng)值后,則適應(yīng)值f(i)最小的節(jié)點為本網(wǎng)格的頭節(jié)點。由于網(wǎng)格的坐標在整個WSN中具有唯一性,因此頭節(jié)點的IPv6地址不需進行重復(fù)地址檢測。
當(dāng)某節(jié)點X成為頭節(jié)點后,設(shè)置自己的節(jié)點ID為1,并向IPv6接入節(jié)點發(fā)送加入樹數(shù)據(jù)包,其中包含所在網(wǎng)格的橫、縱坐標;IPv6接入節(jié)點收到該數(shù)據(jù)包時,向節(jié)點X返回一個應(yīng)答控制包,內(nèi)容為該WSN的全球路由前綴。頭節(jié)點X接收到該數(shù)據(jù)包后,將全局路由前綴與所在網(wǎng)格的坐標以及節(jié)點ID組合構(gòu)建成IPv6地址。
孤立節(jié)點X向所在網(wǎng)格的頭節(jié)點Y發(fā)送獲取IPv6地址的數(shù)據(jù)包,頭節(jié)點Y收到該數(shù)據(jù)包后,首先查看已分配的節(jié)點ID總數(shù),如果節(jié)點ID已經(jīng)全部分配完,則向節(jié)點X返回一個無效請求數(shù)據(jù)包,節(jié)點X進入休眠狀態(tài);否則,節(jié)點Y采用哈希函數(shù)除留余數(shù)法為節(jié)點X分配一個節(jié)點ID(0和1除外),并在本網(wǎng)格內(nèi)廣播此節(jié)點ID。
如果在規(guī)定時間內(nèi)節(jié)點Y收到網(wǎng)格內(nèi)具有相同節(jié)點ID的普通節(jié)點返回的響應(yīng)包,那么節(jié)點Y采用線性探測法再產(chǎn)生一個節(jié)點ID,并再次廣播此節(jié)點ID。若廣播了預(yù)定次數(shù)后,節(jié)點Y都沒有收到網(wǎng)格內(nèi)具有相同節(jié)點ID的普通節(jié)點返回的響應(yīng)包,那么節(jié)點Y獲取了在本網(wǎng)格中具有唯一性的節(jié)點ID,然后將此節(jié)點ID封裝成一個控制包,將此控制包返回給節(jié)點 X[5-7]。
孤立節(jié)點X收到控制包后,向頭節(jié)點Y發(fā)送相應(yīng)的確認包,同時標記自己為普通節(jié)點,并將控制包中的全球路由前綴、節(jié)點ID與所在網(wǎng)格的坐標組合構(gòu)建成自己的IPv6地址。
文獻[5]的方案中,其簇首節(jié)點和簇內(nèi)節(jié)點的IPv6地址均采用哈希函數(shù)除留余數(shù)法產(chǎn)生,同時該方案經(jīng)過仿真驗證其性能優(yōu)于Strong DAD。所以本文只需在對文獻[5]的方案以及本文方案進行仿真分析,從地址配置總開銷、地址配置總延遲時間兩個方面進行比較。
本文仿真環(huán)境為100 m×100 m的正方形區(qū)域,節(jié)點增量為50個。假設(shè)傳感器節(jié)點在整個活動區(qū)域內(nèi)隨機分布,并且都是靜止的,各節(jié)點的傳輸半徑為20 m。仿真結(jié)果如圖3、圖4所示。圖3示意了兩種方案中所有節(jié)點獲得唯一性地址需要發(fā)送的控制包的比較。圖4是對兩種方案中所有節(jié)點獲得唯一性地址的總時延的比較。
文獻[5]方案中的簇首節(jié)點采用哈希函數(shù)產(chǎn)生,其IPv6地址的獲取過程需要進行重復(fù)地址檢測。所以,當(dāng)傳感器節(jié)點數(shù)量增加時,簇首節(jié)點待分配的地址發(fā)生沖突的概率也相應(yīng)增加,則整個網(wǎng)絡(luò)的地址配置總開銷與總延遲時間成冪次增加。而本文方案的頭節(jié)點的IPv6地址獲取不需進行重復(fù)地址檢測,從而本文所提出的方案優(yōu)于文獻[5]的方案。
本文考慮了無線傳感器網(wǎng)絡(luò)以數(shù)據(jù)為中心的特點,提出一種基于地理位置的IPv6地址配置方案,既可以對某一個區(qū)域的數(shù)據(jù)進行查詢,也可以單獨尋址某一個傳感器節(jié)點。該方案將無線傳感器網(wǎng)絡(luò)劃分為網(wǎng)格,頭節(jié)點采用適應(yīng)值函數(shù)競爭產(chǎn)生,普通節(jié)點的IPv6地址由頭節(jié)點采用無狀態(tài)地址配置方式產(chǎn)生。從地址配置總開銷以及地址配置總延遲時間兩個方面對方案進行仿真驗證,結(jié)果證明該方案可降低地址配置開銷,減少地址配置總延遲時間。
[1]IETF RFC 4919,6LoWPAN:overview,assumptions,problem statement,and goals[S].2007.
[2]AKKAYA K,YOUNIS M.A survey on routing protocols for wireless sensor networks[J].Ad hoc Networks,2005,3(3):325-349.
[3]吉云,徐玉斌.基于地理位置劃分的無線傳感器網(wǎng)絡(luò)分簇算法[J].太原科技大學(xué)學(xué)報,2010,31(1):6-9.
[4]羅娟,劉德翔,李仁發(fā).一種融合IPv6網(wǎng)絡(luò)的無線傳感器網(wǎng)絡(luò)接入體系[J].中國科技論文在線,2008,1(12):1359-1364.
[5]王曉喃,高德民,錢煥延.無線傳感器網(wǎng)絡(luò)IPv6地址自動配置方案[J].電子科技大學(xué)學(xué)報,2011,40(3):424-428.
[6]王曉喃,高德民,錢煥延.無線傳感器網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)的互聯(lián)通信[J].計算機工程,2009,35(24):124-126.
[7]王曉喃.基于定位信息的無限傳感器網(wǎng)絡(luò)IPv6地址配置方案[J].計算機應(yīng)用研究,2011,28(12):4681-4683.
[8]劉湘雯,候惠峰,于宏毅,等.基于群樹結(jié)構(gòu)的IPv6無線傳感器網(wǎng)絡(luò)的組網(wǎng)及路由協(xié)議[J].計算機科學(xué),2007,34(5):28-31.
[9]朱向慶,陳志雄,洪暉.分級簇樹結(jié)構(gòu)無線傳感器網(wǎng)絡(luò)設(shè)計[J].計算機工程,2010,36(16):219-221.