無線傳感器網絡帶狀拓撲路由研究與應用
0 引言
無線傳感器網絡技術目前處于計算機網絡研究領域的前沿,并有可能發展成為一個新的巨大經濟規模的高科技市場。如今,由美國軍方資助的學術研究機構、跨國公司和全球最大的IT供應商們均已將傳感器網絡列入研發計劃并積極開展。隨著無線傳感器網絡的深入研究和廣泛應用,無線傳感器網絡將逐漸深入到人類生活的各個領域。
無線傳感器網絡在智能交通中應用的有著巨大前景,在道路交通中,傳感網又有其特殊的網絡拓撲結構,帶狀的拓撲結構。本文結合無線傳感器網絡的特點,研究適合帶狀拓撲結構的易實現的網絡路由協議。
1 網絡結構及路由分析
現有的路由技術的局限性使其不能直接用于傳感器網絡,而針對移動Ad Hoc網絡設計的組網和通信協議一般也不適合于傳感器網絡。其重要原因之一是其擴展性的要求不同,移動Ad Hoc網絡相對節點的移動性來講,擴展性問題并不十分突出;而傳感器網絡要求支持大規模網絡,節點的移動性較弱甚至沒有,主要問題變為如何延長網絡的生存時間。這決定了兩種網絡有不同的優化目標。因此,有必要針對交通示范工程中交通信息數據采集、傳輸等特點,研究傳感器網絡路由協議,重點解決提高擴展性、低功耗、適應網絡拓撲結構的變化等問題。
帶狀拓撲的網絡,如圖1,網絡呈樹型鏈狀結構,借用分級網絡[1]的概念,將網絡分為兩層,底層是傳感器節點采集環境參數,高層是網絡的匯聚節點,或是本地區小網絡的管理中心,匯聚本地區的信息經數據融合后傳至更高層的網絡。由于帶狀網絡的特殊性,按地理位置將底層網絡分為多個簇,合理的簇結構是按鏈的方向分簇,并不指定簇頭,所以底層網絡也可稱為無簇頭的分級網絡。正常情況下,不同簇間節點互不通信,所有節點的采集信息經本簇節點傳送至上層網絡。
圖1 帶狀結構的網絡拓撲圖
如圖1中,將底層分為M、N、P三個簇,簇內成員數可以在帶狀區域任意擴展。上層網絡節點B可以高速移動[2]。
這樣一個帶狀結構的網絡,路由建立與維護都有其特殊性。由于底層節點無需移動,或在某一范圍緩慢移動,其目的是將采集的信息傳至上層移動的節點。所以底層網絡路由采用表驅動方式。由上層網絡節點來建立整個網絡的路由,但維護路由的任務卻由本地節點來完成。
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包達到最大的網絡半徑。
評論