成繼中,彭 真
1.湖南人文科技學(xué)院通信與控制工程系,湖南 婁底 417000
2.漣源鋼鐵集團(tuán)有限公司質(zhì)量檢測中心,湖南 婁底 417000
無線傳感器網(wǎng)(wireless sensor network WSN)是微電子機(jī)械系統(tǒng)、計算機(jī)、通信、自動控制和人工智能的交叉發(fā)展的結(jié)果,它由:傳感器節(jié)點(Sensornode)、匯聚節(jié)點(sinknode)和管理器節(jié)點3部分組成,用于對無人值守的監(jiān)控區(qū)域的測控。傳感節(jié)點監(jiān)測數(shù)據(jù)并以多跳的方式通過路由節(jié)點把這些數(shù)據(jù)傳送給匯聚節(jié)點。匯聚節(jié)點通過Internet或通信衛(wèi)星與任務(wù)管理器節(jié)點(如手機(jī)、計算機(jī)等)進(jìn)行通信[1]。
ZigBee協(xié)議是由ZigBee聯(lián)盟制定的近幾年發(fā)展起來的一種近距離無線通信技術(shù),它功率低、成本低,以2.4GHz為主要頻段,廣泛應(yīng)用于無線傳感網(wǎng)[2]。
IPv6是IPv4的升級版本,是下一代互聯(lián)網(wǎng)絡(luò)的核心,它把IP地址長度由32位增加到128位,徹底解決了IPv4的地址短缺問題,同時它還具有地址自動配置,服務(wù)質(zhì)量控制等多方面的優(yōu)點[3]。
本文旨在設(shè)計一個基于ZigBee技術(shù)的無線傳感網(wǎng)與IPv6網(wǎng)的嵌入式協(xié)議轉(zhuǎn)換網(wǎng)關(guān),進(jìn)行ZigBee與IPv6的協(xié)議轉(zhuǎn)換,使傳感器將傳感數(shù)據(jù)能在這兩種不同的網(wǎng)絡(luò)中進(jìn)行傳輸。具體模型為:當(dāng)有傳感數(shù)據(jù)時,傳感節(jié)點通過ZigBee協(xié)議把傳感數(shù)據(jù)封裝成的ZigBee分組格式,通過傳感路由算法到達(dá)該傳感網(wǎng)的協(xié)議轉(zhuǎn)換網(wǎng)關(guān),協(xié)議轉(zhuǎn)換網(wǎng)關(guān)在接到ZigBee分組后,把傳感數(shù)據(jù)提取出來,交給IPv6協(xié)議棧,IPv6協(xié)議棧再通過以太網(wǎng)發(fā)給IPv6網(wǎng)絡(luò)。反之,IPv6網(wǎng)絡(luò)通過相反的方向?qū)⒖刂坪团渲脭?shù)據(jù)發(fā)送給傳感節(jié)點。在這個過程中主要解決的問題有:1)把無線傳感網(wǎng)虛擬成IPv6網(wǎng),使外部網(wǎng)絡(luò)能通過IPv6協(xié)議對傳感接點進(jìn)行配置和數(shù)據(jù)傳送;2)協(xié)議轉(zhuǎn)換模型的設(shè)計,傳感數(shù)據(jù)的在ZigBee協(xié)議和IPv6協(xié)議中如何實現(xiàn)轉(zhuǎn)換;3)安全思想設(shè)計,無線傳感網(wǎng)部署在無人監(jiān)守區(qū)域,而且有廣播特性,容易遭受攻擊,需要可靠的安全設(shè)計。
無線傳感網(wǎng)的傳感節(jié)點不具有IP地址,只有一個節(jié)點ID,要將無線傳感網(wǎng)與IPv6網(wǎng)通信,我們必須將無線傳感網(wǎng)中的傳感節(jié)點與一個IPv6地址對應(yīng),外部網(wǎng)絡(luò)使用這個IPv6地址與該傳感節(jié)點通信,因此在外部來看,我們把傳感節(jié)點虛擬成一個IPv6節(jié)點,如果我們把一個無線傳感網(wǎng)的中的每個節(jié)點都進(jìn)行虛擬,就可以把傳感網(wǎng)虛擬成一個虛擬的IPv6網(wǎng),在這個虛擬的IPv6網(wǎng)中,每個節(jié)點都有一個IPv6地址與外部IPv6網(wǎng)通信,但是在實際網(wǎng)絡(luò)中還是使用節(jié)點ID進(jìn)行分組傳送。因此,在無線傳感網(wǎng)與IPv6網(wǎng)之間的網(wǎng)關(guān)要進(jìn)行一個虛擬,在轉(zhuǎn)換網(wǎng)關(guān)內(nèi)部,維持一個傳感節(jié)點IPv6地址與傳感節(jié)點內(nèi)部節(jié)點ID的轉(zhuǎn)換表,當(dāng)收到IPv6網(wǎng)發(fā)給內(nèi)部節(jié)點對應(yīng)的虛擬IPv6節(jié)點時,在轉(zhuǎn)換網(wǎng)關(guān)內(nèi)部需要找到和虛擬IPv6地址對應(yīng)的內(nèi)部節(jié)點ID,并用這個ID進(jìn)行傳感網(wǎng)數(shù)據(jù)傳送[4]。
如圖1所示A是IPv6通信節(jié)點,對傳感網(wǎng)發(fā)送配置和控制數(shù)據(jù)分組,實現(xiàn)對傳感網(wǎng)的控制,B為IPv6網(wǎng)與傳感網(wǎng)的轉(zhuǎn)換網(wǎng)關(guān),主要進(jìn)行IPv6地址與傳感節(jié)點內(nèi)部ID轉(zhuǎn)換,分組格式轉(zhuǎn)換等,C為與A進(jìn)行通信的傳感節(jié)點,它用節(jié)點ID和其他傳感節(jié)點進(jìn)行通信,在網(wǎng)關(guān)里,它被虛擬分配一個IPv6地址,D為與C對應(yīng)的虛擬節(jié)點,在網(wǎng)關(guān)里,C節(jié)點被虛擬成D這個IPv6節(jié)點,D的IPv6地址和C的傳感節(jié)點ID是唯一對應(yīng)的。當(dāng)A發(fā)送配置或控制數(shù)據(jù)到傳感節(jié)點C,轉(zhuǎn)換網(wǎng)關(guān)B提取出目標(biāo)IPv6地址,發(fā)現(xiàn)是D,然后在地址轉(zhuǎn)換表里找到D的IPv6地址對應(yīng)的節(jié)點ID,利用這個節(jié)點ID重新組合成新的傳感網(wǎng)報文分組,并發(fā)給C,C在收到報文分組后進(jìn)行相應(yīng)的動作。
圖1 虛擬IPv6網(wǎng)絡(luò)示意圖
不足之處主要包括:WSN的大規(guī)模組網(wǎng)需要多個網(wǎng)關(guān)的參與,網(wǎng)關(guān)的存在使得WSN對移動性的支持不足等。
網(wǎng)關(guān)要進(jìn)行ZigBee協(xié)議和IPv6協(xié)議的轉(zhuǎn)換,必須分成兩部分,一個是用于與IPv6網(wǎng)進(jìn)行通信的IPv6協(xié)議棧,另一個是用于與傳感網(wǎng)進(jìn)行通信的ZigBee傳感網(wǎng)協(xié)議棧,如圖2所示,與傳感網(wǎng)通信的協(xié)議棧由物理層(PHY),安全層(SL),數(shù)據(jù)處理層(DPL),數(shù)據(jù)封裝層(DEL)組成。各層功能如下:數(shù)據(jù)封裝層的交互對象是IPv6協(xié)議棧的應(yīng)用進(jìn)程,完成的功能是IPv6協(xié)議棧與ZigBee無線傳感協(xié)議棧的應(yīng)用層的數(shù)據(jù)接受、應(yīng)答,以及由下層協(xié)議和上層應(yīng)用程序發(fā)送過來的查詢數(shù)據(jù)和應(yīng)用數(shù)據(jù)的封裝;數(shù)據(jù)處理層(DPL)是最復(fù)雜的層,它要完成傳感網(wǎng)內(nèi)部數(shù)據(jù)的融合,根據(jù)傳感信息數(shù)據(jù)進(jìn)行信息的更新、轉(zhuǎn)換,然后再根據(jù)自己的轉(zhuǎn)發(fā)策略進(jìn)行轉(zhuǎn)發(fā),在這一層主要的數(shù)據(jù)結(jié)構(gòu)是節(jié)點信息列表和地址轉(zhuǎn)換信息表,節(jié)點信息列表記錄了當(dāng)前傳感網(wǎng)絡(luò)個節(jié)點的信息狀態(tài)和路由信息,給傳感數(shù)據(jù)的轉(zhuǎn)發(fā)提供基本參考數(shù)據(jù),地址列表記錄了每個傳感節(jié)點的節(jié)點ID和虛擬IPv6地址的對應(yīng)信息,發(fā)往虛擬IPv6地址的報文都要在地址列表中找到對應(yīng)節(jié)點ID才能在無線傳感網(wǎng)中傳輸;安全層(SL)主要是解決網(wǎng)絡(luò)層的匯聚節(jié)點攻擊、鏈路層的碰撞攻擊、物理層的擁塞攻擊、以及傳輸層的洪泛攻擊等常用網(wǎng)絡(luò)攻擊手段,在安全層,對接入的用戶要進(jìn)行認(rèn)證,認(rèn)證通過后才能收發(fā)數(shù)據(jù),如果重復(fù)大量發(fā)數(shù)據(jù)則會被限制。當(dāng)數(shù)據(jù)通過安全層的合法認(rèn)證后才能交給上層協(xié)議進(jìn)行處理。在圖2中傳感節(jié)點產(chǎn)生傳感數(shù)據(jù),形成WSN分組,發(fā)給轉(zhuǎn)換網(wǎng)關(guān),在協(xié)議轉(zhuǎn)換網(wǎng)關(guān),WSN數(shù)據(jù)經(jīng)過安全層的人證,然后在數(shù)據(jù)處理層經(jīng)過信息分析后交給數(shù)據(jù)封裝層,封裝層對數(shù)據(jù)進(jìn)行封裝處理后交給IPv6協(xié)議棧的應(yīng)用層,應(yīng)用層把數(shù)據(jù)封裝成TCP數(shù)據(jù)段后交給網(wǎng)絡(luò)層,網(wǎng)絡(luò)層把數(shù)據(jù)段封裝上IPv6頭,形成IPv6報文并叫給鏈路層封裝,鏈路層再交給物理層進(jìn)行具體發(fā)送,發(fā)送給外部IPv6網(wǎng)絡(luò)[5]。在另外一個方向上,協(xié)議轉(zhuǎn)換網(wǎng)關(guān)收到外部IPv6網(wǎng)絡(luò)的IP數(shù)據(jù)包后,交給傳輸層,傳輸層交給應(yīng)用層,應(yīng)用層交ZigBee協(xié)議棧,在ZigBee協(xié)議棧里,首先提取出數(shù)據(jù),然后交數(shù)據(jù)處理層,在數(shù)據(jù)處理層里找到虛擬IPv6地址對應(yīng)的節(jié)點ID,選擇好轉(zhuǎn)發(fā)策略,最后交給安全層,安全層通過安全認(rèn)證后交物理層發(fā)送。最終將數(shù)據(jù)傳給傳感節(jié)點。
圖2 網(wǎng)關(guān)協(xié)議數(shù)據(jù)轉(zhuǎn)換原理
無線傳感網(wǎng)部署的時候都是部署在一些人不能到達(dá)的特殊地方,容易被人破壞,而且傳感節(jié)點是使用無線傳輸容易被別人截獲,容易被別人截獲信號,并進(jìn)行數(shù)據(jù)篡改和惡意攻擊,使整個網(wǎng)絡(luò)癱瘓或者能量耗盡。因此,無線傳感協(xié)議的安全設(shè)計非常重要,本課題中對幾種常見的攻擊手法給出了應(yīng)對措施,WSN拒絕服務(wù)攻擊,有些攻擊者只要掌握了查詢分組的格式就可向傳感網(wǎng)發(fā)送大量匿名查詢分組,使節(jié)點忙于應(yīng)付查詢,從而達(dá)到耗盡網(wǎng)絡(luò)帶寬和傳感器能量的目的,對這樣的攻擊,在協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的安全層加入認(rèn)證機(jī)制,只允許認(rèn)證用戶建立對等連接,不允許外部的匿名連接。如果采用匿名連接可以考慮查詢分組流量控制策略,對于頻繁請求的匿名連接不進(jìn)行處理,對同一個地址發(fā)送的多次查詢請求也不進(jìn)行處理。
IPv6技術(shù)和ZigBee技術(shù)是這幾年發(fā)展起來的,給互聯(lián)網(wǎng)和傳感網(wǎng)帶來革命性的變化,將兩者結(jié)合進(jìn)行協(xié)議轉(zhuǎn)換是本課題的創(chuàng)新點。在測試中我們使用10個壓力傳感節(jié)點來構(gòu)建一個無線傳感網(wǎng),網(wǎng)關(guān)無線通信模塊采用射頻芯片CC2430。處理器模塊采用8051單片機(jī),進(jìn)行系統(tǒng)的整體控制與協(xié)議轉(zhuǎn)換。與計算機(jī)的接口采用以太網(wǎng)(802.3) 。軟件方面移植一個嵌入式操作系統(tǒng)uC/OS-II,用于系統(tǒng)任務(wù)調(diào)度和進(jìn)程通信等操作系統(tǒng)功能。在測試中,我們通過PC機(jī)通過IPv6網(wǎng)向網(wǎng)關(guān)發(fā)送組網(wǎng)命令后,10個節(jié)點都能加入傳感網(wǎng),并能進(jìn)行相互通信。系統(tǒng)運(yùn)行后能準(zhǔn)確獲取來自10節(jié)點的壓力傳感數(shù)據(jù)。由此證明本文所提設(shè)計思想可以在實際生產(chǎn)中進(jìn)行應(yīng)用,并具有良好的市場前景。
[1]K.Akkaya and M.Younis.A Survey of Routing Protocolsin Wireless Sensor Networks[J].Elsevier Ad Hoc Network Joumal,2005,3(3):325-349.
[2]W.Heinzelman,j.Kulik,and H,Balakrishnan.Adaptive Protocols for Information Dissemination in Wireless Sensor Networks.Proceedings of ACM International Conference of Mobile Computing and Networking.1999::174- 185.
[3]C.Intanagonwiwat,R.Govindan,and D.Estrin.Directed difusion:A Scalable and Robust Communication Paradgm for Sensor Networks.Proceedings of ACM International Conference of Mobile Computing and Networking,2000:56-67.
[4]C.-C.Han,R,Kumar,R,Shea,E.kohler,and
M.Srivastava.A Dynamic Operating System for Sensor Nodes.Proceddings of the 3rd Ineternational Conference on Mobile Systems.Applications and Services,2005:163-176.
[5]S.Park,A.Savvides,and M.Srivastava,SensorSim:A Simulation Framework for Sensor Networks.Proceedings of the ACM international Workshop on Modeling,Analysis and simulaton of Wireless and Mobile Systems,2000:104-111.