無線傳感器網(wǎng)絡技術目前處于計算機網(wǎng)絡研究領域的前沿,并有可能發(fā)展成為一個新的巨大經(jīng)濟規(guī)模的高科技市場。如今,由美國軍方資助的學術研究機構、跨國公司和全球最大的IT供應商們均已將傳感器網(wǎng)絡列入研發(fā)計劃并積極開展。隨著無線傳感器網(wǎng)絡的深入研究和廣泛應用,無線傳感器網(wǎng)絡將逐漸深入到人類生活的各個領域。 無線傳感器網(wǎng)絡在智能交通中應用的有著巨大前景,在道路交通中,傳感網(wǎng)又有其特殊的網(wǎng)絡拓撲結構,帶狀的拓撲結構。本文結合無線傳感器網(wǎng)絡的特點,研究適合帶狀拓撲結構的易實現(xiàn)的網(wǎng)絡路由協(xié)議。 1 網(wǎng)絡結構及路由分析 現(xiàn)有的路由技術的局限性使其不能直接用于傳感器網(wǎng)絡,而針對移動Ad Hoc網(wǎng)絡設計的組網(wǎng)和通信協(xié)議一般也不適合于傳感器網(wǎng)絡。其重要原因之一是其擴展性的要求不同,移動Ad Hoc網(wǎng)絡相對節(jié)點的移動性來講,擴展性問題并不十分突出;而傳感器網(wǎng)絡要求支持大規(guī)模網(wǎng)絡,節(jié)點的移動性較弱甚至沒有,主要問題變?yōu)槿绾窝娱L網(wǎng)絡的生存時間。這決定了兩種網(wǎng)絡有不同的優(yōu)化目標。因此,有必要針對交通示范工程中交通信息數(shù)據(jù)采集、傳輸?shù)忍攸c,研究傳感器網(wǎng)絡路由協(xié)議,重點解決提高擴展性、低功耗、適應網(wǎng)絡拓撲結構的變化等問題。 帶狀拓撲的網(wǎng)絡,如圖1,網(wǎng)絡呈樹型鏈狀結構,借用分級網(wǎng)絡的概念,將網(wǎng)絡分為兩層,底層是傳感器節(jié)點采集環(huán)境參數(shù),高層是網(wǎng)絡的匯聚節(jié)點,或是本地區(qū)小網(wǎng)絡的管理中心,匯聚本地區(qū)的信息經(jīng)數(shù)據(jù)融合后傳至更高層的網(wǎng)絡。由于帶狀網(wǎng)絡的特殊性,按地理位置將底層網(wǎng)絡分為多個簇,合理的簇結構是按鏈的方向分簇,并不指定簇頭,所以底層網(wǎng)絡也可稱為無簇頭的分級網(wǎng)絡。正常情況下,不同簇間節(jié)點互不通信,所有節(jié)點的采集信息經(jīng)本簇節(jié)點傳送至上層網(wǎng)絡。 圖1 帶狀結構的網(wǎng)絡拓撲圖 如圖1中,將底層分為M、N、P三個簇,簇內(nèi)成員數(shù)可以在帶狀區(qū)域任意擴展。上層網(wǎng)絡節(jié)點B可以高速移動。 這樣一個帶狀結構的網(wǎng)絡,路由建立與維護都有其特殊性。由于底層節(jié)點無需移動,或在某一范圍緩慢移動,其目的是將采集的信息傳至上層移動的節(jié)點。所以底層網(wǎng)絡路由采用表驅(qū)動方式。由上層網(wǎng)絡節(jié)點來建立整個網(wǎng)絡的路由,但維護路由的任務卻由本地節(jié)點來完成。 2 帶狀網(wǎng)絡結構路由協(xié)議 2.1 路由建立 路由建立過程的思想是,由上層節(jié)點在全網(wǎng)范圍內(nèi)廣播路由請求數(shù)據(jù)包RREQ,底層節(jié)點收到RREQ后即更新鄰居鏈表,同時更新路由表,然后同樣以廣播的方式轉(zhuǎn)發(fā)RREQ,但只轉(zhuǎn)發(fā)同一簇內(nèi)的RREQ;本地節(jié)點在同一簇內(nèi)建立路由,但維護的鄰居鏈表包括整個網(wǎng)絡的鄰居信息,以記錄網(wǎng)絡的連通性。 借用AODV路由協(xié)議中RREQ包格式,定義協(xié)議RREQ格式如表1[3,4]。 其中,包類型:用于標明該數(shù)據(jù)包是RREQ包,廣播包;源地址:發(fā)起RREQ的節(jié)點地址,應為上層網(wǎng)絡節(jié)點的地址;跳數(shù):源節(jié)點到接收到RREQ包的節(jié)點經(jīng)過的跳段數(shù);廣播ID:由源節(jié)點維護的序列號,用于唯一標識RREQ包。 其中,目的節(jié)點:記錄目的節(jié)點地址,應為上層網(wǎng)絡節(jié)點的地址;路由狀態(tài):路由是否有效標志;下一跳:本地節(jié)點到目的節(jié)點的下一跳節(jié)點地址;路由過期時間:路由不再有效的時間點。 按照建立路由過程中不同節(jié)點的作用,路由建立過程如下: 1)上層移動節(jié)點:向全網(wǎng)廣播RREQ用于建立路由;接收各個簇內(nèi)節(jié)點攜帶信息的數(shù)據(jù)包。如圖1中節(jié)點B。由廣播ID和源地址序列對唯一標識RREQ,用于判斷處理是否收到重復的RREQ包 2)可以和移動節(jié)點直接通信的節(jié)點:接收到RREQ后,首先更新鄰居鏈表,然后將本地路由表里的下一跳寫下B,更新路由表。如圖1中,M3、N3、P3此時和B直接相連,分別是三個簇內(nèi)其它節(jié)點接入上層節(jié)點的出口。 圖2 本地節(jié)點建立路由流程 3)底層網(wǎng)絡中其它節(jié)點:M3、N3、P3接到B的RREQ,更新路由表后同樣以廣播的方式轉(zhuǎn)發(fā)RREQ,此時不同簇內(nèi)節(jié)點會互相收到轉(zhuǎn)發(fā)的RREQ,利用此信息更新本地節(jié)點的鄰居鏈表。例如圖1中,N4收到N3轉(zhuǎn)發(fā)的RREQ,同時也可能收到M3、P3轉(zhuǎn)發(fā)的RREQ,N4利用此信息更新其鄰居鏈表。但N4用同一簇成員轉(zhuǎn)發(fā)的RREQ更新路由表,路由表中下一跳記錄為N3地址,然后丟掉接收到的其它同一RREQ包。同樣以廣播的方式再次轉(zhuǎn)發(fā)RREQ。這樣處理的好處是,在同一簇內(nèi)廣播RREQ,即建立了路由,記錄了本地節(jié)點的所有鄰居節(jié)點,包括其它簇內(nèi)的鄰居節(jié)點,又有效的避免了RREQ在整個網(wǎng)絡中引起“廣播風暴”的問題。其它節(jié)點均按同樣的方式處理,直到RREQ包達到最大的網(wǎng)絡半徑。 路由建立的過程見圖2的流程圖。 2.2 路由維護 在帶狀的拓撲結構里,同一簇內(nèi)鄰居節(jié)點有限,多數(shù)情況下只有左右兩個節(jié)點是其鄰居節(jié)點,如果某一節(jié)點由于能量耗盡,簇內(nèi)節(jié)點可能會斷開,將影響網(wǎng)絡的健壯性和可擴展性,如圖3,節(jié)點N4由于某種原因不再具有傳感器節(jié)點的功能,N4以右的節(jié)點按先前發(fā)現(xiàn)的路由無法將數(shù)據(jù)傳送至目的節(jié)點B,因此必須采取某種措施以維護網(wǎng)絡的連通性。節(jié)點同時擁有其它簇內(nèi)的鄰居節(jié)點,可以借助其它簇內(nèi)的節(jié)點續(xù)傳數(shù)據(jù)包。 圖3 網(wǎng)絡故障時路由的維護 鑒于帶狀拓撲結構的特殊性,數(shù)據(jù)報文在找到目的節(jié)點的方向(即路由)后,如“接力”的方式依次往下傳,所以不采用端到端的應答方式,而采用點到點的應答,這樣節(jié)點能夠知道下一節(jié)點的狀態(tài),發(fā)送數(shù)據(jù)包時,如果不能收到下一跳節(jié)點的應答包,則重復發(fā)送一次,仍然沒有應答情況下,即認為下一跳發(fā)生故障,立刻從鄰居鏈表中選擇其它簇內(nèi)的鄰居節(jié)點作為下一跳節(jié)點,由此簇節(jié)點負責傳送數(shù)據(jù)包。 在圖3中,N5以右的數(shù)據(jù)包轉(zhuǎn)發(fā)至N5后,由于N5沒有收到N4的應答, N5需要從鄰居鏈表中選擇其一作為下一跳,如果有簇內(nèi)其它鄰居節(jié)點(如N3也是N5鄰居),優(yōu)先選擇(注意避免路由環(huán)),如果沒有,選擇其它簇內(nèi)鄰居,圖中N5選擇M5,N5將數(shù)據(jù)包成功的交給簇M內(nèi)的成員,由簇M負責將數(shù)據(jù)包轉(zhuǎn)發(fā)至目的節(jié)點。此時N5路由表下一跳字段更改為M5,路由過期時間為鄰居節(jié)點M5的過期時間,直至N5再次收到同簇內(nèi)的節(jié)點轉(zhuǎn)發(fā)的RREQ更新路由。同時N5將N4的故障信息及時通知上層網(wǎng)絡。 路由維護的過程見圖4流程圖。 圖4 本地節(jié)點維護路由流程 3 帶狀拓撲結構在道路交通中的應用與實踐 無線傳感器網(wǎng)絡能夠?qū)崿F(xiàn)遠距離可靠的數(shù)據(jù)傳輸。傳感器節(jié)點自組成網(wǎng),快速形成相對穩(wěn)定的網(wǎng)絡拓撲結構。道路交通中的無線傳感器網(wǎng)絡是帶狀網(wǎng)絡的典型應用。在道路交通中,無線傳感器網(wǎng)絡具有以下功能:傳感數(shù)據(jù)迅速可靠地傳輸?shù)接脩艚K端;拓撲結構隨上層節(jié)點位置而變化;網(wǎng)絡關斷或增加某個節(jié)點,網(wǎng)絡的動態(tài)變化強;節(jié)點唯一編號,在上層部分匯總傳感信息;根據(jù)上層網(wǎng)絡節(jié)點收到的信息在用戶終端復現(xiàn)網(wǎng)絡拓撲結構的變化過程;例如,沿道路兩旁布下傳感器節(jié)點,采集路面信息等,上層網(wǎng)絡可以是相互獨立的快速移動的汽車節(jié)點,汽車可以根據(jù)需要接收底層網(wǎng)絡傳來的信息,這樣汽車可以及時準確的知道前后路面的狀況。汽車可以將信息通過更高層的網(wǎng)絡傳到交通控制空心。 項目中,射頻芯片選擇CC1100,頻率選擇433MHz,最大有效射程調(diào)為150米左右。處理器選擇LPC2210,操作系統(tǒng)移植代碼公開的μC/OSⅡ.同時,由于項目的特殊應用環(huán)境,來自汽車的噪聲影響嚴重,必須嚴格控制數(shù)據(jù)包的正確性。應用實踐表明,本方案路由協(xié)議簡單容易實現(xiàn)且路由開銷小。 4 總結 針對無線傳感器網(wǎng)絡帶狀拓撲結構的特殊性,提出分級網(wǎng)絡管理的方法,底層網(wǎng)絡采用無簇頭的分簇結構,這樣對網(wǎng)絡的路由建立與維護都容易實現(xiàn)。對帶狀拓撲結構的網(wǎng)絡路由協(xié)議的研究,極大推動傳感網(wǎng)在道路交通中的應用。改變目前道路信息采集手段單一的技術手段。通過傳感網(wǎng)采集的多元交通信息的數(shù)據(jù)融合處理,提高道路交通信息的準確性、可靠性。 本文作者創(chuàng)新點,針對無線傳感器網(wǎng)絡在道路交通中的應用,根據(jù)其特殊的帶狀拓撲結構,將網(wǎng)絡分為兩級,提出無簇頭的易實現(xiàn)的分簇路由協(xié)議,即由上層移動節(jié)點建立路由、底層節(jié)點維護路由的機制。該路由協(xié)議在道路交通應用中表明,易實現(xiàn),開銷小,容易維護。 |