無(wú)線(xiàn)傳感器網(wǎng)絡(luò )帶狀拓撲路由研究與應用
0 引言
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )技術(shù)目前處于計算機網(wǎng)絡(luò )研究領(lǐng)域的前沿,并有可能發(fā)展成為一個(gè)新的巨大經(jīng)濟規模的高科技市場(chǎng)。如今,由美國軍方資助的學(xué)術(shù)研究機構、跨國公司和全球最大的IT供應商們均已將傳感器網(wǎng)絡(luò )列入研發(fā)計劃并積極開(kāi)展。隨著(zhù)無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的深入研究和廣泛應用,無(wú)線(xiàn)傳感器網(wǎng)絡(luò )將逐漸深入到人類(lèi)生活的各個(gè)領(lǐng)域。
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )在智能交通中應用的有著(zhù)巨大前景,在道路交通中,傳感網(wǎng)又有其特殊的網(wǎng)絡(luò )拓撲結構,帶狀的拓撲結構。本文結合無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的特點(diǎn),研究適合帶狀拓撲結構的易實(shí)現的網(wǎng)絡(luò )路由協(xié)議。
1 網(wǎng)絡(luò )結構及路由分析
現有的路由技術(shù)的局限性使其不能直接用于傳感器網(wǎng)絡(luò ),而針對移動(dòng)Ad Hoc網(wǎng)絡(luò )設計的組網(wǎng)和通信協(xié)議一般也不適合于傳感器網(wǎng)絡(luò )。其重要原因之一是其擴展性的要求不同,移動(dòng)Ad Hoc網(wǎng)絡(luò )相對節點(diǎn)的移動(dòng)性來(lái)講,擴展性問(wèn)題并不十分突出;而傳感器網(wǎng)絡(luò )要求支持大規模網(wǎng)絡(luò ),節點(diǎn)的移動(dòng)性較弱甚至沒(méi)有,主要問(wèn)題變?yōu)槿绾窝娱L(cháng)網(wǎng)絡(luò )的生存時(shí)間。這決定了兩種網(wǎng)絡(luò )有不同的優(yōu)化目標。因此,有必要針對交通示范工程中交通信息數據采集、傳輸等特點(diǎn),研究傳感器網(wǎng)絡(luò )路由協(xié)議,重點(diǎn)解決提高擴展性、低功耗、適應網(wǎng)絡(luò )拓撲結構的變化等問(wèn)題。
帶狀拓撲的網(wǎng)絡(luò ),如圖1,網(wǎng)絡(luò )呈樹(shù)型鏈狀結構,借用分級網(wǎng)絡(luò )[1]的概念,將網(wǎng)絡(luò )分為兩層,底層是傳感器節點(diǎn)采集環(huán)境參數,高層是網(wǎng)絡(luò )的匯聚節點(diǎn),或是本地區小網(wǎng)絡(luò )的管理中心,匯聚本地區的信息經(jīng)數據融合后傳至更高層的網(wǎng)絡(luò )。由于帶狀網(wǎng)絡(luò )的特殊性,按地理位置將底層網(wǎng)絡(luò )分為多個(gè)簇,合理的簇結構是按鏈的方向分簇,并不指定簇頭,所以底層網(wǎng)絡(luò )也可稱(chēng)為無(wú)簇頭的分級網(wǎng)絡(luò )。正常情況下,不同簇間節點(diǎn)互不通信,所有節點(diǎn)的采集信息經(jīng)本簇節點(diǎn)傳送至上層網(wǎng)絡(luò )。
圖1 帶狀結構的網(wǎng)絡(luò )拓撲圖
如圖1中,將底層分為M、N、P三個(gè)簇,簇內成員數可以在帶狀區域任意擴展。上層網(wǎng)絡(luò )節點(diǎn)B可以高速移動(dòng)[2]。
這樣一個(gè)帶狀結構的網(wǎng)絡(luò ),路由建立與維護都有其特殊性。由于底層節點(diǎn)無(wú)需移動(dòng),或在某一范圍緩慢移動(dòng),其目的是將采集的信息傳至上層移動(dòng)的節點(diǎn)。所以底層網(wǎng)絡(luò )路由采用表驅動(dòng)方式。由上層網(wǎng)絡(luò )節點(diǎn)來(lái)建立整個(gè)網(wǎng)絡(luò )的路由,但維護路由的任務(wù)卻由本地節點(diǎn)來(lái)完成。
2 帶狀網(wǎng)絡(luò )結構路由協(xié)議
2.1 路由建立
路由建立過(guò)程的思想是,由上層節點(diǎn)在全網(wǎng)范圍內廣播路由請求數據包RREQ,底層節點(diǎn)收到RREQ后即更新鄰居鏈表,同時(shí)更新路由表,然后同樣以廣播的方式轉發(fā)RREQ,但只轉發(fā)同一簇內的RREQ;本地節點(diǎn)在同一簇內建立路由,但維護的鄰居鏈表包括整個(gè)網(wǎng)絡(luò )的鄰居信息,以記錄網(wǎng)絡(luò )的連通性。
借用AODV路由協(xié)議中RREQ包格式,定義協(xié)議RREQ格式如表1[3,4]。
其中,包類(lèi)型:用于標明該數據包是RREQ包,廣播包;源地址:發(fā)起RREQ的節點(diǎn)地址,應為上層網(wǎng)絡(luò )節點(diǎn)的地址;跳數:源節點(diǎn)到接收到RREQ包的節點(diǎn)經(jīng)過(guò)的跳段數;廣播ID:由源節點(diǎn)維護的序列號,用于唯一標識RREQ包。
其中,目的節點(diǎn):記錄目的節點(diǎn)地址,應為上層網(wǎng)絡(luò )節點(diǎn)的地址;路由狀態(tài):路由是否有效標志;下一跳:本地節點(diǎn)到目的節點(diǎn)的下一跳節點(diǎn)地址;路由過(guò)期時(shí)間:路由不再有效的時(shí)間點(diǎn)。
按照建立路由過(guò)程中不同節點(diǎn)的作用,路由建立過(guò)程如下:
1)上層移動(dòng)節點(diǎn):向全網(wǎng)廣播RREQ用于建立路由;接收各個(gè)簇內節點(diǎn)攜帶信息的數據包。如圖1中節點(diǎn)B。由廣播ID和源地址序列對唯一標識RREQ,用于判斷處理是否收到重復的RREQ包
2)可以和移動(dòng)節點(diǎn)直接通信的節點(diǎn):接收到RREQ后,首先更新鄰居鏈表,然后將本地路由表里的下一跳寫(xiě)下B,更新路由表。如圖1中,M3、N3、P3此時(shí)和B直接相連,分別是三個(gè)簇內其它節點(diǎn)接入上層節點(diǎn)的出口。
圖2 本地節點(diǎn)建立路由流程
3)底層網(wǎng)絡(luò )中其它節點(diǎn):M3、N3、P3接到B的RREQ,更新路由表后同樣以廣播的方式轉發(fā)RREQ,此時(shí)不同簇內節點(diǎn)會(huì )互相收到轉發(fā)的RREQ,利用此信息更新本地節點(diǎn)的鄰居鏈表。例如圖1中,N4收到N3轉發(fā)的RREQ,同時(shí)也可能收到M3、P3轉發(fā)的RREQ,N4利用此信息更新其鄰居鏈表。但N4用同一簇成員轉發(fā)的RREQ更新路由表,路由表中下一跳記錄為N3地址,然后丟掉接收到的其它同一RREQ包。同樣以廣播的方式再次轉發(fā)RREQ。這樣處理的好處是,在同一簇內廣播RREQ,即建立了路由,記錄了本地節點(diǎn)的所有鄰居節點(diǎn),包括其它簇內的鄰居節點(diǎn),又有效的避免了RREQ在整個(gè)網(wǎng)絡(luò )中引起“廣播風(fēng)暴”的問(wèn)題。其它節點(diǎn)均按同樣的方式處理,直到RREQ包達到最大的網(wǎng)絡(luò )半徑。
評論