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