賴增桂,許 里,李默嘉,莫 嫻
(中國電子科技集團公司第三十研究所,四川 成都610041)
動態(tài)路由協(xié)議能夠根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓谝欢尉W(wǎng)絡(luò)信息的交互時間之后,獲得網(wǎng)絡(luò)的當(dāng)前拓?fù)浣Y(jié)構(gòu),重新計算出新的、正確的路由。這種路由技術(shù)能夠及時反映網(wǎng)絡(luò)拓?fù)渥儞Q,根據(jù)最新的網(wǎng)絡(luò)拓?fù)鋵崟r計算出最佳的路由,適合于拓?fù)渥兓l繁、具有動態(tài)結(jié)構(gòu)的網(wǎng)絡(luò),如典型的Ad Hoc網(wǎng)絡(luò)、戰(zhàn)術(shù)通信網(wǎng)絡(luò)、應(yīng)急通信網(wǎng)絡(luò)等。
動態(tài)路由協(xié)議的運行會增加額外的網(wǎng)絡(luò)流量,占用較多額外的網(wǎng)絡(luò)帶寬,降低用戶實際的業(yè)務(wù)傳輸速率。尤其是在窄帶無線自組網(wǎng)環(huán)境中,由于帶寬資源有限、傳輸鏈路不穩(wěn)定造成的網(wǎng)絡(luò)拓?fù)渥兓l繁等原因,減少網(wǎng)絡(luò)維護(hù)信息的帶寬占用量,提高數(shù)據(jù)業(yè)務(wù)的帶寬利用率顯得尤為重要,尤其是降低動態(tài)路由協(xié)議的帶寬占用量,一直都是窄帶無線通信網(wǎng)絡(luò)研究的重點和難點。
動態(tài)路由協(xié)議依據(jù)其交互路由信息的時機不同,通常被劃分為主動路由協(xié)議(Proactive Protocols,也譯為先應(yīng)式路由協(xié)議)和被動路由協(xié)議(Reactive Protocols,也譯為反應(yīng)式路由協(xié)議)兩種。
主動路由協(xié)議也被稱為表驅(qū)動路由協(xié)議(Table Driver),在主動路由協(xié)議中,網(wǎng)絡(luò)中每一個節(jié)點都要周期性地向其他節(jié)點交換路由信息,并且當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,節(jié)點就在全網(wǎng)內(nèi)廣播路由更新信息,這樣每一個節(jié)點就能連續(xù)不斷地獲得網(wǎng)絡(luò)信息,通過網(wǎng)絡(luò)信息的交互形成網(wǎng)絡(luò)拓?fù)浔砗吐酚杀淼?。典型的主動路由協(xié)議有OLSR(Optimized Link State Routing,優(yōu)選鏈路狀態(tài)路由協(xié)議)[1-2]、WRP(Wireless Routing Protocol,無線路由協(xié)議)[3]、DSDV(Destination-Sequenced Distance-Vector Routing Protocol,目的序列距離矢量路由協(xié)議)[4]等。
被動路由協(xié)議也叫按需(On-Demand)路由協(xié)議,在這類路由協(xié)議中,節(jié)點并不保存及時準(zhǔn)確的路由信息,當(dāng)源節(jié)點需要向目的節(jié)點發(fā)送數(shù)據(jù)報文時,源節(jié)點通過網(wǎng)絡(luò)發(fā)起查找過程,找到相應(yīng)的路由后,根據(jù)找到的路由發(fā)送數(shù)據(jù)報文。為了提高效率,節(jié)點可以將找到的路由保存在緩存中供后續(xù)的數(shù)據(jù)報文發(fā)送使用。典型的被動路由協(xié)議有AODV(Ad hoc On-Demand Distance Vector Routing Protocol,自組網(wǎng)按需距離矢量路由協(xié)議)[5]、DSR(Dynamic Source Routing,動態(tài)源路由協(xié)議)[6]等。
另外,還有一種結(jié)合了主動和被動路由協(xié)議優(yōu)點的混合路由協(xié)議也較常見。
以主動路由協(xié)議為例,路由信息通常包括鄰居維護(hù)信息(hello)和拓?fù)渚S護(hù)信息(Topology Control,TC)兩部分,其中拓?fù)渚S護(hù)信息又包括了源產(chǎn)生拓?fù)湫畔⒑娃D(zhuǎn)發(fā)拓?fù)湫畔刹糠?,針對如下定義的自組織網(wǎng)絡(luò),
N:網(wǎng)絡(luò)總的節(jié)點數(shù);
n:每個節(jié)點的平均鄰居數(shù),其具體數(shù)值跟網(wǎng)絡(luò)拓?fù)湎嚓P(guān),參考文獻(xiàn)[7]給出了其具體計算方法,這里不再贅述。
定義如下路由協(xié)議的運行參數(shù):
szhello:平均單條hello消息大??;
szTC:平均單條TC消息大??;
fhello:鄰居維護(hù)頻度,發(fā)送hello消息的頻度;
fTC:拓?fù)渚S護(hù)頻度,發(fā)送TC消息的頻度。
那么,網(wǎng)絡(luò)中某一節(jié)點i在單位時間內(nèi)產(chǎn)生的hello消息總量為,
同樣,其源產(chǎn)生的TC消息總量為,
假設(shè)不考慮多點中繼等方式,節(jié)點i轉(zhuǎn)發(fā)的TC消息總量為網(wǎng)絡(luò)中所有其他節(jié)點在本單位時間周期內(nèi)產(chǎn)生的TC消息,即為,
若網(wǎng)絡(luò)為非廣播網(wǎng)絡(luò),則同一條TC消息需要向n個鄰居均轉(zhuǎn)發(fā)1次,則產(chǎn)生的總的轉(zhuǎn)發(fā)信息量為,
則網(wǎng)絡(luò)中單個節(jié)點單位時間內(nèi)產(chǎn)生的路由信息總量為:
那么,網(wǎng)絡(luò)中單位時間產(chǎn)生的路由信息總量為:
根據(jù)以上公式,可以對主動路由協(xié)議采用以下幾種方法來減少動態(tài)路由協(xié)議的帶寬占用量。
(1)調(diào)整路由協(xié)議參數(shù),降低fhello、fTC。
(2)壓縮路由信息,減小szhello、szTC。
(3)采用廣播更新機制,利用廣播特性將n次分別轉(zhuǎn)發(fā)變?yōu)?次轉(zhuǎn)發(fā)。
(4)采用指定路由器(Designated Router,DR)更新機制,將網(wǎng)絡(luò)中N個節(jié)點產(chǎn)生TC消息轉(zhuǎn)變?yōu)閮H1個節(jié)點產(chǎn)生TC消息。
(5)采用模糊視距(Fuzzy Sighted)機制,降低fTC。
(6) 采 用 多 點 中 繼(MPR:Multi-Point Relay)機制,需要轉(zhuǎn)發(fā)的節(jié)點數(shù)量n。
(7)跨層借用路由信息,fhello置為0。
(8)采用增量更新機制,減少TC消息轉(zhuǎn)發(fā),實際是減小fTC。
(9)路由信息鈍化處理,減少TC消息轉(zhuǎn)發(fā),實際是減小fTC。
(10)路由信息批次發(fā)送,減小消息頭開銷,實質(zhì)是減小fTC和szTC。
另外,還可以借助一些特殊的攜帶、跨層等方式進(jìn)行優(yōu)化,減少路由信息量。
路由信息攜帶;
拓?fù)湫畔⒖煽啃r灒?/p>
跨層結(jié)合優(yōu)化。
雖然主動路由協(xié)議和被動路由協(xié)議在機理上有一定差異,但是以上減少主動路由協(xié)議帶寬占用量的方法通常也同樣適用于被動路由協(xié)議,當(dāng)然也適用于混合路由協(xié)議。下面分析一下以上減少帶寬占用量方法的基本原理、優(yōu)缺點及使用相應(yīng)方法的典型路由協(xié)議。
將路由協(xié)議的諸如鄰居維護(hù)周期、路由更新周期、超時周期等參數(shù)調(diào)整延長,降低路由節(jié)點路由維護(hù)信息的發(fā)送頻繁程度,減少網(wǎng)絡(luò)內(nèi)單位時間發(fā)送的路由報文數(shù)量,以達(dá)到減少路由信息總量、降低網(wǎng)絡(luò)開銷的目的。
但是,此種方法往往會增加網(wǎng)絡(luò)路由的收斂時間,降低對網(wǎng)絡(luò)拓?fù)淇焖僮兓倪m應(yīng)能力。
此種方式的一種變種方法就是根據(jù)網(wǎng)絡(luò)狀態(tài)動態(tài)的調(diào)整路由協(xié)議參數(shù)嗎,也即網(wǎng)絡(luò)拓?fù)渥兓鞎r縮短相關(guān)參數(shù),網(wǎng)絡(luò)拓?fù)渥兓龝r延長相關(guān)參數(shù),以實現(xiàn)減少路由信息量和適應(yīng)快速拓?fù)渥兓g的平衡。
將路由節(jié)點需要發(fā)送的路由信息采用特定的壓縮算法進(jìn)行壓縮,或者針對路由信息本身的特點進(jìn)行壓縮編碼,降低單條路由信息的長度,以達(dá)到減少路由信息總量、降低帶寬占用量的目的。
但是,壓縮與解壓縮的過程會增加路由節(jié)點的本地計算量,在計算與存儲能力快速增長的背景下,這種以本地計算換取無線帶寬的方法是一種較優(yōu)的方式,正在被越來越多的路由協(xié)議采用。
典型的采用此方法的路由協(xié)議包括OLSRv2等。
現(xiàn)有路由協(xié)議通常采用針對鄰居進(jìn)行點對點的路由更新維護(hù)方法,而對于無線網(wǎng)絡(luò)這種典型的廣播型網(wǎng)絡(luò),可以針對網(wǎng)絡(luò)的廣播特性,減少點對點更新維護(hù)方式,盡量采用廣播/組播更新維護(hù)的方式,減少路由節(jié)點路由更新維護(hù)信息發(fā)送的次數(shù),從而減少網(wǎng)絡(luò)內(nèi)路由更新維護(hù)信息的數(shù)量,達(dá)到減少路由信息總量、降低網(wǎng)絡(luò)開銷的目的。
但是,這種方式對于需要可靠傳播的路由信息(如前述的增量更新路由維護(hù)信息)則需要增加廣播網(wǎng)絡(luò)環(huán)境下的可靠傳輸保障機制予以支撐,使網(wǎng)絡(luò)協(xié)議體系變得復(fù)雜。
目前多數(shù)路由協(xié)議均支持此種更新機制。
為減少在廣播和非廣播多路接入(Non-broadcast Multi-access,NBMA)類型的網(wǎng)絡(luò)上多路由節(jié)點之間需要傳遞的路由信息的數(shù)量,可以引入了DR更新機制。而窄帶無線網(wǎng)絡(luò)是典型的單跳廣播型網(wǎng)絡(luò),在其上選取或者指定一個DR,由DR負(fù)責(zé)該單跳廣播網(wǎng)絡(luò)的全網(wǎng)路由廣播更新,而不是網(wǎng)絡(luò)內(nèi)所有節(jié)點都參與全網(wǎng)路由維護(hù)信息的廣播更新,將傳統(tǒng)意義上需要進(jìn)行N×(N-1)/2次的路由維護(hù)信息交互縮減到2N次,從而減少路由信息量、降低網(wǎng)絡(luò)開銷。
但是,DR的選取/指定也會帶來一定的弊端:DR采用選取的方式必然會增加一定的網(wǎng)絡(luò)帶寬占用量;DR采用指定的方式則會面臨網(wǎng)絡(luò)拓?fù)渥兓蟛糠止?jié)點信息不可達(dá)的問題,尤其是當(dāng)指定的DR出現(xiàn)故障時,網(wǎng)絡(luò)根本無法正常運轉(zhuǎn)。
典型的采用此方法進(jìn)行優(yōu)化的路由協(xié)議包括OSPFv2[8]等。
在網(wǎng)絡(luò)節(jié)點的關(guān)系中,兩個節(jié)點距離越遠(yuǎn)(傳輸度量Metric越大),節(jié)點之間的相對移動性越小,遠(yuǎn)端節(jié)點的拓?fù)浣Y(jié)構(gòu)改變對本地節(jié)點的影響就越小,根據(jù)此原理,通過在時間、空間上對路由信息的傳播進(jìn)行限制可以大大減少路由信息量。具體來說,網(wǎng)絡(luò)拓?fù)渥兓筋l繁,路由節(jié)點發(fā)送路由信息的間隔就越短,但其泛洪的范圍就越近;拓?fù)渥兓铰?,則路由節(jié)點發(fā)送路由信息的間隔就越長,但其泛洪的范圍就越遠(yuǎn),這樣在時間上、空間上對路由信息的傳播進(jìn)行限制后,網(wǎng)絡(luò)中路由信息減少,路由開銷降低,從而使得路由協(xié)議能支持規(guī)模更大和移動性更強的網(wǎng)絡(luò)。
但是,由于采用了模糊視距的方式,全網(wǎng)的拓?fù)鋽?shù)據(jù)庫在某一時刻并不能完全真正的反應(yīng)實際的拓?fù)?,偶爾會造成路由路徑非最佳的情況。當(dāng)然,這種非最佳的路由并不影響全網(wǎng)數(shù)據(jù)的可達(dá)性。
此種方式適用于主動路由協(xié)議。典型的采用此方法進(jìn)行優(yōu)化的路由協(xié)議包括魚眼狀態(tài)路由(Fisheye State Routing,F(xiàn)SR)[9]等。
一個節(jié)點的MPR集合是它的鄰節(jié)點的子集,MPR集合的鄰節(jié)點無線傳輸范圍可覆蓋所有兩跳外的節(jié)點。在進(jìn)行路由信息的洪泛(FLOOD)更新時,只需要MPR集合的節(jié)點對路由信息進(jìn)行轉(zhuǎn)發(fā),減少路由信息的冗余轉(zhuǎn)發(fā)而使得消息在網(wǎng)絡(luò)中的洪泛開銷降低到最低程度,從而降低路由信息量。
但是,這種方式的MPR選舉需要額外的計算能力和網(wǎng)絡(luò)傳輸量。雖然會有一定的代價,但與其他洪泛機制相比,該優(yōu)化機制仍然有較大的優(yōu)化收益,所以目前已被很多路由協(xié)議采用。
這種方式對主動/被動路由協(xié)議均適用。典型的采用此方法進(jìn)行優(yōu)化的路由協(xié)議包括OLSRv2、OSPFv2針對Ad Hoc網(wǎng)絡(luò)的多點中繼擴展[10]等。
無線自組網(wǎng)在進(jìn)行鏈路層(主要是媒體接入控制(MAC)層)的維護(hù)過程中,往往都需要進(jìn)行鄰居的發(fā)現(xiàn),這個鄰居發(fā)現(xiàn)過程與路由協(xié)議的鄰居發(fā)現(xiàn)過程具有相同的作用和結(jié)果,路由協(xié)議可以直接“借用”MAC的鄰居表信息,無需再單獨發(fā)送鄰居維護(hù)信息,從而減少路由信息量。
但是,同路由信息攜帶方式一樣,這種方法需要結(jié)合下層信息,破壞了網(wǎng)絡(luò)層與鏈路層之間相互獨立關(guān)系,對系統(tǒng)可靠性容易造成影響。
典型的采用此方法的路由協(xié)議包括OLSRv2等。
每次發(fā)送的路由維護(hù)信息,僅包含在前一次更新后發(fā)生變化(包括新增加、原有的發(fā)生改變以及原有的消失三種變化情況)的信息,由于每次更新僅發(fā)送變化的信息,未變化的信息不需要發(fā)送,這樣就可以減少路由維護(hù)信息的重復(fù)發(fā)送,從而減少路由信息總量,降低網(wǎng)絡(luò)開銷。
但是,增量更新機制是在前一次更新的基礎(chǔ)上進(jìn)行的拓?fù)渚S護(hù),具有嚴(yán)格的上下文關(guān)系,這需要復(fù)雜的可靠傳輸保障機制確保數(shù)據(jù)報文的成功傳輸,以確保各路由節(jié)點保存的拓?fù)鋽?shù)據(jù)庫/表的完全一致,尤其是廣播網(wǎng)絡(luò)環(huán)境下的可靠傳輸保障機制將使系統(tǒng)變得較為復(fù)雜。
典型的采用此方法的路由協(xié)議包括OSPFv2等。
在高動態(tài)的無線網(wǎng)絡(luò)中,往往會出現(xiàn)短暫的拓?fù)渥兓?,對于采用觸發(fā)式更新的路由協(xié)議,一旦出現(xiàn)拓?fù)渥兓瘎t立即發(fā)起路由更新,而在前述的短暫的拓?fù)渥兓^程中,甚至可能出現(xiàn)上次更新尚未完成收斂,而拓?fù)溆只謴?fù)到原狀需要重新更新的情況,為避免此種情況發(fā)生,可引入“鈍化”處理機制。所謂“鈍化”處理是指在發(fā)生拓?fù)渥兓瘯r,并不立即觸發(fā)路由更新,而是延緩一定時間(此時間根據(jù)網(wǎng)絡(luò)實際情況選?。┐_認(rèn)拓?fù)浞€(wěn)定后再觸發(fā)路由更新,從而減少不必要的冗余路由更新信息,降低路由協(xié)議的網(wǎng)絡(luò)開銷。
當(dāng)所有節(jié)點都采用“鈍化”處理機制后,則“泛洪”式的事件觸發(fā)式更新機制則轉(zhuǎn)變?yōu)榱藭r間周期更新機制了。
但是采用“鈍化”處理會增加路由協(xié)議收斂的時間,同時,針對不同場景選取合理的“鈍化”延時也有一定難度。
這種方式對采用觸發(fā)更新機制的路由協(xié)議適用。典型的采用此方法的路由協(xié)議包括OLSRv2等。
由于無線網(wǎng)絡(luò)的特點,每發(fā)送一次路由信息均需要進(jìn)行一次無線信道的接入,而無線信道的接入過程往往開銷較大,在進(jìn)行路由信息的更新過程中,可將多個(一批)路由信息在一次無線信道接入過程中一起發(fā)送,減少無線信道的接入次數(shù),從而減少路由協(xié)議的網(wǎng)絡(luò)開銷。
但是這種方法的使用,網(wǎng)絡(luò)需要等待一段時間收集多個路由信息形成發(fā)送批,這就會增加路由協(xié)議的收斂時間。
典型的采用此方法的路由協(xié)議包括OLSRv2等。
同路由信息分批發(fā)送機制的原因一樣,為減少網(wǎng)絡(luò)接入引起的額外網(wǎng)絡(luò)開銷,部分路由信息可結(jié)合上層應(yīng)用,在上層應(yīng)用信息完成信道接入并完成應(yīng)用信息的發(fā)送后,在上層應(yīng)用信息之后攜帶發(fā)送路由信息,從而降低路由協(xié)議的網(wǎng)絡(luò)開銷。
但是這種方法需要結(jié)合上層信息,破壞了應(yīng)用層與網(wǎng)絡(luò)層之間相互獨立關(guān)系,對系統(tǒng)可靠性容易造成影響,同時由于攜帶的時機存在不確定性,路由協(xié)議的運行流程和狀態(tài)也變得更加復(fù)雜。
路由協(xié)議中大多數(shù)的拓?fù)涓聢笪亩夹枰豢煽康膫鬏?,以確保所有路由節(jié)點獲取的網(wǎng)絡(luò)拓?fù)涞囊恢滦浴τ邳c對點的環(huán)境,這種可靠傳輸可以采用應(yīng)答機制給予確保,但是點對多點尤其是廣播環(huán)境下采用簡單的應(yīng)答機制不僅大大降低了路由協(xié)議的收斂速度,更會增加較多的網(wǎng)絡(luò)開銷。如前述采用增量更新、廣播更新優(yōu)化方法就會面臨以上問題。針對以上問題,結(jié)合路由協(xié)議的特點,可采用拓?fù)湫畔⒖煽啃r灥姆绞浇o予解決并減少路由信息量。
所謂拓?fù)湫畔⒖煽啃r炇侵福?/p>
(1)發(fā)送節(jié)點在進(jìn)行拓?fù)涓碌臅r候,不管采用什么更新機制,均對本節(jié)點保存的當(dāng)前拓?fù)溥M(jìn)行校驗計算,并將校驗結(jié)果攜帶至本更新信息內(nèi)一并發(fā)送;
(2)接收節(jié)點接收該更新信息后,首先根據(jù)更新信息和本地保存信息對該發(fā)送節(jié)點相關(guān)的拓?fù)溥M(jìn)行計算,并將計算所得的拓?fù)溥M(jìn)行校驗計算,然后將校驗結(jié)果與更新信息中攜帶的校驗結(jié)果進(jìn)行對比,若校驗結(jié)果一致,則認(rèn)為之前的更新信息均正確,完成本次更新操作;若校驗結(jié)果不一致,則認(rèn)為之前有部分更新信息發(fā)生錯誤或丟失,則接收節(jié)點向發(fā)送節(jié)點發(fā)起點對點的初始化請求,并將本次更新信息置為無效并丟棄;
(3)收到初始化請求的節(jié)點立即/或在下一更新周期到達(dá)時,將本地狀態(tài)機恢復(fù)初始狀態(tài)進(jìn)行更新。
采用此機制后,將單純的某一報文的廣播確認(rèn)通過攜帶的方式換成了對前序更新報文的全部確認(rèn),同時采用默認(rèn)確認(rèn)(即不發(fā)送初始化請求則認(rèn)為傳輸正確)的方式,減少確認(rèn)信息發(fā)送,從而減少路由信息總量,降低路由協(xié)議開銷。
但是,此種方式會增加路由協(xié)議狀態(tài)機復(fù)雜程度,甚至?xí)绊懻麄€協(xié)議的運行機制,需慎重采用此種優(yōu)化方式。當(dāng)然此種方式還需要更多的存儲器,用于實現(xiàn)對每個路由節(jié)點曾經(jīng)發(fā)送的拓?fù)錉顟B(tài)的存儲。
所謂跨層結(jié)合優(yōu)化就是路由協(xié)議結(jié)合其他層次的協(xié)議特點,進(jìn)行統(tǒng)一的相關(guān)性優(yōu)化處理,以達(dá)到提升網(wǎng)絡(luò)整體效能的效果。例如,鏈路層采用載波偵聽多路訪問(Carrier Sense Multiple Access,CSMA)隨機接入方式時,可在路由協(xié)議中增加隨機的發(fā)送時延來避免多節(jié)點同時發(fā)送路由協(xié)議報文,降低沖突概率,從而提升CSMA接入效率,達(dá)到整體提升網(wǎng)絡(luò)效率的效果。
此種優(yōu)化方式需要充分了解整個網(wǎng)絡(luò)協(xié)議棧特性,設(shè)計優(yōu)化難度較大。同時,由于存在相關(guān)性優(yōu)化,網(wǎng)絡(luò)各層次/模塊耦合程度較高,通用性不強,所以,該優(yōu)化方式在非必要情況下不建議使用。
OLSRv2作為無線自組網(wǎng)的重要路由協(xié)議之一,在設(shè)計之初就考慮了很多減少路由信息帶寬占用量的方法,具體包括:
OLSRv2的鄰居維護(hù)信息和拓?fù)涓滦畔⒕捎媒M播發(fā)送的方式(IPv4組播地址:224.0.0.109,IPv6組播地址:FF02:0:0:0:0:0:0:6D),杜絕了點對點信息的發(fā)送,大大的減少了路由信息總量。
相對于壓縮路由信息的優(yōu)化方法,OLSRv2采用了RFC5444標(biāo)準(zhǔn)文檔定義的報文格式,報文中使用到的地址信息、時間度量信息以及鏈路度量信息,OLSRv2都進(jìn)行了相應(yīng)的壓縮處理以減少路由信息總量。對于地址信息,OLSRv2采用地址塊壓縮機制對路由信息進(jìn)行壓縮;對于時間度量信息,OLSRv2采用RFC5497標(biāo)準(zhǔn)文檔中定義的特殊編碼方式將原需要32比特位表示的時間度量壓縮至8比特位;對于鏈路度量,OLSRv2也采用了特殊的編碼方式將原24比特位表示的鏈路度量壓縮至12比特位。
OLSRv2采用了MPR算法減少路由信息量,其同時應(yīng)用了兩組MPR集合,一組是“泛洪MPR”,還有一組是“路由MPR”。其中,“泛洪MPR”用于減少路由信息的冗余轉(zhuǎn)發(fā),僅在“泛洪MPR”集合中的路由節(jié)點才可以轉(zhuǎn)發(fā)TC信息,從而實現(xiàn)網(wǎng)絡(luò)內(nèi)路由信息總量的減少;“路由MPR”集合中的路由節(jié)點的功能類似于前述指定路由器的功能,僅在“路由MPR”集合內(nèi)的路由節(jié)點才可以發(fā)起TC信息(發(fā)送原始的TC信息),從而減少原始TC信息的數(shù)量,達(dá)到減少全網(wǎng)路由信息總量的目的。當(dāng)然,同一個路由器可同時被選舉為“泛洪MPR”和“路由MPR”。
OLSRv2可通過對拓?fù)涓聢笪奶鴶?shù)(TC_HOP_LIMIT)參數(shù)的設(shè)置來支持模糊視距算法。當(dāng)將TC_HOP_LIMIT設(shè)置為固定常數(shù)時,則協(xié)議不支持模糊視距算法;當(dāng)將TC_HOP_LIMIT設(shè)置為一組動態(tài)變化的數(shù)組時,協(xié)議就可以通過動態(tài)控制TC消息的擴散范圍來支持模糊視距算法,降低部分TC消息的傳輸跳數(shù),從而降低網(wǎng)絡(luò)路由信息總量。
RFC6310[11]和RFC7181兩個標(biāo)準(zhǔn)文檔中都明確表示:“如果能夠獲得而且適合使用的話,可以使用鏈路層信息”,也就是說,OLSRv2協(xié)議支持借用鏈路層的信息來完成鄰居維護(hù),從而消減HELLO報文數(shù)量或長度,減少網(wǎng)絡(luò)的路由信息總量,只不過在標(biāo)準(zhǔn)文檔中尚未明確給出借用的方法或協(xié)議,下文將明確提出一種借用的方式。
OLSRv2協(xié)議中可通過設(shè)置拓?fù)湫畔⒆钚「轮芷冢═C_MIN_INTERVAL)參數(shù)來實現(xiàn)對網(wǎng)絡(luò)抖動引起的快速路由更新信息的鈍化,當(dāng)將TC_MIN_INTERVAL參數(shù)值設(shè)置為等于拓?fù)湫畔⒏轮芷冢═C_INTERVAL)參數(shù)值時,則實現(xiàn)了拓?fù)湫畔?yán)格的周期性更新,從而可有效降低路由信息總量。
OLSRv2定義了延時參數(shù)(包括周期信息延時參數(shù)TP_MAXJITTER、觸發(fā)信息延時參數(shù)TT_MAXJITTER以及轉(zhuǎn)發(fā)延時參數(shù)F_MAXJITTER)用于減少路由協(xié)議同時產(chǎn)生的報文數(shù)量,以提升底層協(xié)議性能(如降低物理層沖突概率等),達(dá)到提升自組網(wǎng)整體性能的目的,從而實現(xiàn)對路由協(xié)議自身性能的提升。
在OLSRv2協(xié)議的標(biāo)準(zhǔn)中,并未明確提出批量更新的手段,但在協(xié)議的某些實現(xiàn)實例中,通過報文的延時打包過程,可以將多個MSG信息打包到同一個報文,以實現(xiàn)批量更新功能,從而提升協(xié)議性能。
根據(jù)OLSRv2協(xié)議運行機制,結(jié)合前述的優(yōu)化方法,針對大規(guī)模寬帶自組網(wǎng),如美軍聯(lián)合作戰(zhàn)無線系統(tǒng)(Joint Tactical Radio System,JTRS)項目寬帶網(wǎng)絡(luò)波形[12]定義的網(wǎng)絡(luò)),可嘗試對OLSRv2補充采用以下優(yōu)化改進(jìn)方法。
(1)取消HELLO信息,結(jié)合鏈路層信息,簡化鄰居維護(hù)過程
假設(shè)自組網(wǎng)采用的鏈路層協(xié)議在進(jìn)行資源分配過程中,能夠快速識別鄰居(含1跳及2跳鄰居)狀態(tài),如美軍寬帶網(wǎng)絡(luò)波形鏈路層協(xié)議。則僅需要在鏈路層協(xié)議及本路由協(xié)議之間定義一個接口(由鏈路層定時/觸發(fā)通知本路由協(xié)議鄰居的狀態(tài))即可完成鄰居維護(hù)過程。其鄰居維護(hù)過程如圖1所示。
圖1 鄰居維護(hù)過程
路由協(xié)議根據(jù)鏈路層通知的鄰居狀態(tài)進(jìn)行鄰居添加、鄰居刪除、多點中繼(Multi-point-relay,MPR)計算等操作,并將MPR計算結(jié)果通過TC報文進(jìn)行攜帶傳輸,從而實現(xiàn)完整的鄰居維護(hù)過程。
(2)對TC信息進(jìn)行報文壓縮
除采用協(xié)議已有的壓縮/編碼方法外,在TC信息發(fā)送前/接收后,對TC信息均采用標(biāo)準(zhǔn)壓縮/解壓算法(如ITUv.44標(biāo)準(zhǔn)定義的LZJH算法)進(jìn)行壓縮/解壓,進(jìn)一步降低報文長度。
(3)更改TC信息的泛洪更新機制為逐跳更新機制
路由節(jié)點在收到TC信息后,并不直接進(jìn)行泛洪,而是將拓?fù)涓滦畔⑦M(jìn)行整合,形成新的拓?fù)涓滦畔⒉⑦M(jìn)行存儲,待拓?fù)涓轮芷诘竭_(dá)時再進(jìn)行TC信息的發(fā)送,從而實現(xiàn)嚴(yán)格的周期化逐跳更新。此時發(fā)送的拓?fù)涓滦畔?yīng)該是本路由節(jié)點已知的全部網(wǎng)絡(luò)拓?fù)洹?/p>
需要注意的是,進(jìn)行拓?fù)涓滦畔⒄蠒r,需要結(jié)合MPR機制,以減少重復(fù)信息的發(fā)送。
(4)對拓?fù)湫畔⒌母虏捎迷隽扛聶C制
在拓?fù)涓轮芷诘竭_(dá)需要進(jìn)行TC信息的發(fā)送時,根據(jù)當(dāng)前需要發(fā)送的拓?fù)湫畔⒁约吧弦恢芷谝呀?jīng)發(fā)送的拓?fù)湫畔⒌牟町惓潭?,重新?gòu)造增量更新TC信息并進(jìn)行發(fā)送。
增量更新TC信息分為三種:一是初始化信息,該信息表示本路由節(jié)點所獲知的完整拓?fù)湫畔ⅲ糜谑状芜M(jìn)行TC信息的發(fā)送,或者是在其他路由節(jié)點請求初始化信息的時候發(fā)送(遲入網(wǎng)或傳輸出現(xiàn)錯誤),此時,該路由節(jié)點處于初始化狀態(tài);二是拓?fù)浔3中畔ⅲ撔畔⒈硎緝纱胃轮g拓?fù)錄]有發(fā)生變化;三是拓?fù)渥兓畔ⅲ撔畔⒈硎緝纱胃轮g拓?fù)浒l(fā)生的變化。
需要進(jìn)行增量更新TC信息發(fā)送的時候,增量更新TC信息的構(gòu)造及發(fā)送原則如下:
1)若本路由節(jié)點處于初始化狀態(tài),則發(fā)送初始化信息;否則,進(jìn)入2);
2)若本周期內(nèi)本路由節(jié)點已知拓?fù)湫畔⑽窗l(fā)生改變,則僅需要發(fā)送一條拓?fù)浔3中畔ⅲ环駝t,進(jìn)入3);
3)僅發(fā)送發(fā)生改變的拓?fù)湫畔?,改變信息的描述主要針對鏈路情況進(jìn)行,包括鏈路質(zhì)量變化、新增鏈路、消失鏈路等幾種情況。
需要注意的是,由于增量更新的TC信息存在嚴(yán)格的上下文關(guān)聯(lián),需要采用前文所述“拓?fù)湫畔⒖煽啃r灧绞健睂υ隽扛聢笪倪M(jìn)行可靠校驗,一旦校驗失敗,則通過向源信息路由節(jié)點發(fā)送重新初始化請求以使源路由節(jié)點進(jìn)入初始化狀態(tài)。
增量更新狀態(tài)轉(zhuǎn)移關(guān)系如圖2所示。
采用OPNET14.5構(gòu)建如下仿真環(huán)境,
(1)網(wǎng)絡(luò)總的節(jié)點數(shù)N為100;
(2)網(wǎng)絡(luò)節(jié)點均勻分布在1 000 m×1 000 m的正方形區(qū)域內(nèi);
(3)節(jié)點在該區(qū)域內(nèi)隨機移動;
(4)每個節(jié)點傳輸距離均為150 m(即除去邊緣效應(yīng),平均鄰居數(shù)n約為7個);
(5)物理層采用標(biāo)準(zhǔn)IEEE 802.11無線接口;
路由協(xié)議采用標(biāo)準(zhǔn)OLSR。
(6)在此仿真環(huán)境下進(jìn)行如下四次仿真。
第一次采用OLSR協(xié)議默認(rèn)參數(shù)Hello_interval=2 s,Tc_interval=5 s進(jìn)行仿真;第二次調(diào)整OLSR參數(shù)Hello_interval=3 s,Tc_interval=10 s進(jìn)行仿真;第三次在第二次仿真場景的基礎(chǔ)上,增加路由信息壓縮功能;第四次在第三次仿真場景的基礎(chǔ)上,采用借用鏈路層鄰居信息的方式進(jìn)行鄰居維護(hù)。四次仿真均能夠正常收斂,統(tǒng)計四次仿真的全網(wǎng)路由信息量如圖3所示。
圖3 四種仿真場景下的全網(wǎng)路由開銷
其中,情況一的曲線表示第一次仿真的路由信息量,基本保持在375 kbit/s左右,情況二的曲線表示第二次仿真的路由信息量,基本保持在200 kbit/s左右,情況三的曲線表示第三次仿真的路由信息量,基本保持在100 kbit/s左右,情況四的曲線表示第四次仿真的路由信息量,基本保持在90 kbit/s左右,可以看出,每增加一種優(yōu)化方法,路由信息量均有相應(yīng)的減少,證明以上優(yōu)化方式均能夠有效減少路由信息的帶寬占用量。
另外,參考文獻(xiàn)[7]也通過建模計算和仿真的方式證明了采用MPR機制、路由信息批次發(fā)送、采用模糊視距機制等能夠有效減少OLSR路由協(xié)議的帶寬占用量。同樣的,可以證明其他優(yōu)化方式也能夠起到減少路由信息帶寬占用量的作用。
本文分析了窄帶無線網(wǎng)絡(luò)動態(tài)路由協(xié)議的典型減少帶寬占用量的優(yōu)化方法及其工作原理,并針對一種典型應(yīng)用場景綜合采用多種優(yōu)化方法對OLSRv2路由協(xié)議進(jìn)行了優(yōu)化設(shè)計,對OSLRv2路由協(xié)議的綜合性能有較大的提升,尤其是路由信息量大大的減少,能夠有效提升窄帶無線自組網(wǎng)的性能。但是,路由協(xié)議的優(yōu)化,不僅僅是減少帶寬占用量為目的,還需要綜合考慮其他性能要求,也不是如前所述幾種方式的簡單應(yīng)用,更不是將多種前述方式進(jìn)行疊加堆砌,而是針對實際的應(yīng)用環(huán)境,綜合運用上述多種優(yōu)化手段,綜合考慮多種優(yōu)化目標(biāo),取其最優(yōu)組合而獲得最佳的運行效果。