任 彬 ,何 遙 ,許亞河,徐彬彬,麻偵園
(溫州大學 物 理與電子信息工程學院,浙江 溫 州 3 25035)
無線傳感器網絡(Wireless Sensor Networks)是由眾多在空間上分布的自動裝置構成的一種計算機網絡,它綜合了傳感器技術、微傳感器技術、嵌入式計算技術、無線通信技術和分布式信息處理技術,能夠實現實時監測、采集和感知各種環境下或不同監測對象的信息,并對信息進行處理。WSN在生態環境監測與保護、醫療護理、軍事應用和智能家居等領域擁有廣闊的應用前景,是21世紀產生巨大影響力的技術之一[1]。美國的《技術評論》雜志在論述未來新興十大技術時,更是將無線傳感器網絡列為第一項未來新興技術,《商業周刊》預測的未來四大新技術中,無線傳感器網絡也列在其中。可以預計,無線傳感器網絡的廣泛是一種必然趨勢,它的出現將會給人類社會帶來極大的變革。
而作為下一代的網絡協議,IPv6的功能和特性可以滿足WSN的應用需求,因此將WSN與IPv6結合的發展方向具有重要意義。由于網絡節點布置在人類不能進入的惡劣環境中,因此節約能源將作為節點的第一要素。如何通過壓縮協議棧減少處理代碼量來降低節點的能耗延長的節點壽命是研究的熱點。
無線傳感器網絡由大量低功耗、低速率、低成本、高密度的微型節點組成。無線傳感器網絡由許多功能相同或不同的無線傳感器節點組成。傳感器網絡是由大量體積小、成本低、具有無線通信、數據處理的傳感器節點組成。傳感器節點一般由傳感單元、處理單元、收發單元、電源單元等功能模塊組成。除此之外可能還會有定位系統等。通過情況下整個網絡中會有某些傳感器節點配有GPS系統,其他節點通過局部定位算法得到它們與配有GPS的節點之間的相對位置,這樣所有節點都能知道各自的具體位置了[2-4]。
傳感器網絡的結構如圖1所示,每個節點的功能都是相同的,大量傳感器節點被布置在整個被測區域中,各個傳感器節點將自己所探測到的所有有用信息通過初步的數據處理和信息融合之后傳送給用戶,數據傳送的過程是通過相鄰節點的接力傳送的方式傳回基站。
由于無線傳感器網絡的特殊應用使其擁有不同于有線網絡的特點

圖1 無線傳感器網絡結構Fig.1 Wireless sensor network architecture
1)電源能量有限
由于節點的設計大小限制了其電源的大小,導致網絡中每個節點的電能是有限的。無線傳感器網絡大多工作在無人區域或者對人體有傷害的惡劣環境中,從而使電池乃至節點都是一次性的。因此這必須要降低網絡功耗來延長網絡節點的壽命。
2)節點數量龐大,分部廣泛
為了獲取精確信息,需要在監測區域部署大量的傳感器節點,從而減少盲區。
3)網絡自動配置
在傳感器網絡應用中,通常節點被放置在沒有基礎結構的地方,傳感器節點的位置不能預先精確設定,節點之間的鄰居關系預先也不知道,如通過飛機播撒大量傳感器節點到面積廣闊的原始森林中。這就要求節點具有自組織能力,能夠自動進行配置和管理。
4)拓撲動態性
傳感器網絡的拓撲結構可能因為下列因素改變:
①環境因素或電能耗盡導致傳感器節點故障或失效。
②環境條件造成無線通信鏈路帶寬變化,甚至時斷時通。
③傳感器節點、感知對象和觀察者這三要素都可能具有移動性。
④新節點的加入。這就要求無線傳感器網絡系統能夠適應這種變化,具有動態性。
5)可靠性
由于WSN特別適合部署在惡劣環境或人類不宜到達的區域,節點可能工作在露天環境中,遭受日曬、風吹,甚至動物的破壞。傳感器節點往往采用隨機部署,如通過飛機撒播等。這些都要求傳感器節點非常堅固,不易損壞,適應各種惡劣環境條件。
6)以數據為中心
傳感器網絡是任務型的網絡,脫離傳感器網絡談論傳感器節點沒有任何意義。傳感器網絡中的節點采用節點編號標識,節點編號是否需要全網惟一取決于網絡通信協議的設計。由于傳感器節點隨機部署,構成的傳感器網絡與節點編號之間的關系是完全動態的,表現為節點編號與節點位置沒有必然聯系。用戶使用傳感器網絡查詢事件時,直接將所關心的事件通告給網絡,而不是通告給某個確定編號的節點。網絡在獲得指定事件的信息后匯報給用戶。這種以數據本身作為查詢或傳輸線索的思想更接近于自然語言交流的習慣。所以通常說傳感器網絡是一個以數據為中心的網絡。
在無線傳感器網絡的設計中,由于需要部署大量的節點相應就需要大量的IP地址,同時由于無線傳感器網絡的特點致使其必須使用一種能適應其特點的網絡協議來支撐。而IPv6具有靈活簡化的IP報文頭部格式、EUI-64地址自動配置的功能,同時還解決了IPv4中解決不好的問題比如QoS、安全性、移動性、即插即用等問題,這些特性使得IPv6可以適應無線傳感器網絡的部署需求,IPv6將是無線傳感器網絡最好地址協議載體。
IPv6是Internet Protocol Version 6的縮寫,是IP協議的第6版,用于代替IPv4。IPv6解決了IPv4中最根本問題——地址不夠。IPv6地址長度為128bits,分成八個段,每個段16bits。理論上有2128個地址,這樣巨大的地址空間將徹底解決IPv4地址耗盡的問題。
由于IPv6使用超長的128位地址,為此IPv6新引入了冒號分十六進制的網絡地址表示方法,如:3ffe:1944:0100:000a:0000:00bc:2500:0d0b。
除了地址空間的擴大,IPv6對網絡地址的分類進行了改進。新的IPv6地址分類和IPv4有很大程度上的不同,特別是增加了一種新的地址類型Anycast地址。
IPv6地址分為以下3種類型:
·Unicast地址;·Multicast地址;·Anycast地址
IPV6單播地址格式如圖2,由3個部分組成:全球路由前綴、子網ID、接口ID。

圖2 IPv6通用的單播地址格式Fig.2 IPv6 common unicast address format
IPv6的基本報文格式比IPv4簡單的多,原來在IPv4中的10個固定長度字段和2個地址空間被減少到IPv6中的6個字段和2個地址空間,其基本報文格式[5]如圖3所示。

圖3 IPv6包頭Fig.3 IPv6 header
與IPv4報頭相比,IPv6報頭去掉了 Identification、Flags、Fragment Offset等字段,將分片的功能移到了擴展報頭中去實現,同時去掉了包頭長度字段以及校驗和和選項。經過這些改動,IPv6基本報頭從IPv4的20個字節增加到40個字節,但IPv6地址長度是IPv4的4倍,需要處理的字段從14個變為了8個從而大大減少了路由器上軟硬件處理的內容。
針對WSN應用部署的特點,我們從以下幾個方面對IPv6協議進行裁剪,實現IPv6的輕量化使之適應WSN的部署特點。
IPv6地址配置有3種方法:無狀態自動配置、有狀態自動配置、手動配置[4]。在無狀態自動配置地址中,IPv6路由器之間通過NDP協議中的RA和RS報文的交互,由鄰居節點提供一個IPV6前綴,節點根據前綴信息通過EUI-64來生成的接口ID從而生成IPV6地址。
EUI-64的過程如圖4所示:首先將MAC地址對半分開,插入FFFE,再從左到右將第七位置反,得到EUI-64地址。

圖4 EUI-64轉換過程Fig.4 The conversion process of EUI-64
在有狀態自動配置中,路由器通過DHCPv6協議從DHCPv6服務器上獲取IPv6地址和其他參數,但是這并不適用于WSN環境。手動配置則是由人工進行配置。由于WSN一般部署在環境極度困難或是人幾乎無法到達的區域,因此我們采用無狀態自動配置。
一個節點所在的網絡范圍內,一般都會使用相同的地址前綴,128bit的地址真正起作用的是后面64bit的接口ID。因此,可以通過壓縮IPv6地址前綴保留后64bit的接口ID來減少IPv6地址長度。在通信時采用64bit的接口ID作為源IP地址和目的IP地址。節點通信示意圖如圖5所示。

圖5 無線傳感器網絡壓縮地址通信Fig.5 The communication of the compressed address of WSN
在IPv4中,當對接口配置了一個IP地址并激活后,該接口就會發送DAD報文來檢測地址唯一性。如果收到應答,則說明該接口配置的地址已經被使用,以此來保證IP地址的唯一性。在IPv6地址中,由于MAC地址是全球唯一的,因此由MAC地址經過EUI-64轉換而得到的接口ID也是全球唯一,那么IPv6地址也將是全球唯一。既然如此,網絡節點就沒有必要向外發送DAD報文來進行重復地址檢測。因此可以將DAD的代碼剪裁。
ICMPv6是IP協議的一個重要組成部分,通過IP包傳送的ICMP信息主要涉及網絡操作或錯誤操作的不可達信息。
ICMPv6報文分為兩類:錯誤報文和信息報文。
錯誤報文用來報告IPv6報文傳輸處理過程中遇到的錯誤,信息報文用來完成如鄰居發現等其他網絡層功能。在無線傳感器網絡應用中,由于網絡環境的惡劣以及節點自身的硬件因素導致故障出現頻繁。如果對于每次出現差錯而產生ICMPv6錯誤類信息報文,則對于能源是一個很大的挑戰。因此從節能的角度上,取消ICMPv6錯誤信息報文同時剪裁相應的處理環節,既簡化了報文的處理減少了能耗同時也節省了存貯空間。而對于網絡的可靠性保證則交給上層去實現。
幾類錯誤報文裁剪分析如下:
1)目的地址不可達。沒有路由不可達、對目的地址進行了過濾、上層端口不可達等。在WSN環境中,基本都允許任何節點來訪問,不存在路由不可達,并且可以通過應用來保證上層端口的可達性,因此對上述情況不需要做相關處理。
2)報文太大。在IPv4中可以通過D/M/FLAG字段來對數據包進行分片從而通過MTU較小的接口。但是IPv6中取消了這些。通過PMTU來對路徑的MTU進行識別,從而確定MTU。所以如果因報文太大超過鏈路MTU而不能轉發的相應,路由器必須發送這類種類的錯誤消息。由于節點之間通信報文都很小,因此不需要做這樣的處理。
3)超時。TTL過小,或者分片后路由器無法在規定時間內進行重組,從而向源節點發送此類報文。節點沒有IP層上的路由器,因此不要處理。并且節點之間內部通信時報文長度都很小,不存在IP層上的分片和重組,因此也不需要作處理。
4)參數錯誤。如果節點處理一個報文時,在頭部發現一個問題,不能完成報文的處理,必須丟棄該報文,并且發送一個這種類型的錯誤報文。這種錯誤發生概率極小,為了精簡協議棧,不做處理,在發生上述錯誤時,直接丟棄該報文。
ICMPv6報文格式如圖6所示。

圖6 ICMPv6報文格式Fig.6 ICMPv6 header format
ICMPv6路由重定向是IPv6協議的一個重要特性,如果傳輸路徑不是最優的,路由器將對數據包進行重定向,把它們傳送給路徑最優的路由器;并對源路由器發送ICMP重定向報文。在WSN網絡拓撲設計中,可能出現類似Gateway功能的節點(簇節點),并且該節點是可以通過選舉產生的,在這種情況下網關只是暫時的確定。由于節點的能耗或者其故障導致節點無法行使簇節點的功能從而使整個的網絡節點必須通過選舉來重新產生簇節點,在這種情況下需要重定向報文,因此無法對ICMPv6進行剪裁的。如果WSN網絡拓撲設計有固定的基站或者簇節點作為Gateway,此時網關固定,出于對能耗的考慮可以不需要重定向報文,那么可將重定向報文剪裁。
在文獻[6]中采用OPNET對地址壓縮方案進行了仿真:100個相同的節點隨機隨機分布在1 000 m2的區域內,所有節點以自組織方式形成網絡,網關位于網絡邊界。用這個無線傳感器網絡來進行環境監測,每個節點通過網關定期向外部網絡發送數據包。假設能量在每個數據位被消耗,除了分組頭,每個數據包包含100bit的有效載荷。總的能量消耗表示所有節點在發送數據包以及在分組中繼過程中的能量消耗,所有節點都不移動,可根據目的地位置自動調節適當的傳輸功率。
在仿真中,節點采用動態編址的方式,形成8個子網,每個子網中取一個節點作為路由器。每個路由器選擇最佳路線,以多跳方式轉發數據給網關。在無線傳感器網絡內部,分別使用壓縮后的地址和完成的IPv6地址進行傳輸,在無線傳感器網絡工作了8個小時后,對比其能量消耗。實驗結果表明前者的能量消耗比后者減少約30%。
無線傳感器網絡是新興的通信應用網絡,其應用可以涉及到人類生活和社會活動的所有領域。本文針對WSN網絡環境特點,從IPv6地址、IPv6報文、ICMPv6協議等方面對輕量化IPv6協議棧在無線傳感器網絡上的實現了提出了理論分析,并給出了相應的剪裁設計方案,但還需經過仿真模擬。
[1]王勍,李佳節.無線傳感器網路概述 [J].技術與市場,2008,12:12-13.WANG qing,LI Jia-jie.An overview of wireless sensor networks[J].Technology&Market,2008,12:12-13.
[2]孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005.
[3]高勝友,吳碩.采用GPS同步技術和電磁感應原理的電纜識別方法[J].陜西電力,2011(9):27-29.GAO Sheng-you,WU Suo.Cable identification based on GPS simultaneous techniques and electromagnetic induction principle[J].Shaanxi Electric Power,2011(9):27-29.
[4]文躍秀,韓寶民,邱燦,等.一種GPS定位技術在繪制10 kV電氣線路地理接線圖中的應用 [J].陜西電力,2012(5):22-25,38.WEN Yue-xiu,HAN Bao-min,QIU Can,et al.Application of GPS technology in 10kV electrical lines geographical wiring diagram[J].Shaanxi Electric Power,2012(5):22-25,38.
[5]Hinden R,Deering S.RFC 4291:IP version 6 addressing architecture[S].2006.
[6]鄒琳,周蘭.基于IPv6無線傳感網絡編址方案[J].電信快報,2012(9):3-5.ZOU Lin,ZHOU Lan.IPv6-based wireless sensor network addressing scheme[J].Telecommunications Information,2012(9):3-5.