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