本發(fā)明涉及一種Ad Hoc網(wǎng)絡分簇算法和路由協(xié)議的設計方法。
背景技術:
在Ad Hoc網(wǎng)絡中,路由協(xié)議是點對點通信的基礎,是網(wǎng)絡有效運行的可靠保障。主要包括網(wǎng)絡初始化,路由發(fā)現(xiàn),路由響應,路由修復等內(nèi)容。目前主要通過研究網(wǎng)絡的分層結(jié)構(gòu)和路由發(fā)現(xiàn)機制來提升網(wǎng)絡的可擴展性和健壯性。分簇算法是分層協(xié)議中最重要、最基本的內(nèi)容,分簇算法和路由協(xié)議的好壞將直接影響Ad Hoc網(wǎng)絡的應用。
Ad Hoc網(wǎng)絡路由協(xié)議的研究成果有許多,但其也存在著一些問題。目前大多數(shù)研究只要集中在Ad Hoc網(wǎng)絡某方面的應用要求上,路由協(xié)議的適應性較差,且動態(tài)拓撲結(jié)構(gòu)是Ad Hoc網(wǎng)絡最大的特點之一,這一特點使得現(xiàn)有的路由協(xié)議在簇結(jié)構(gòu)的穩(wěn)定性、數(shù)據(jù)傳輸路由的有效性等方面存在較大的不足。
技術實現(xiàn)要素:
為了解決上述現(xiàn)有技術的不足,本發(fā)明公開一種基于權重的分簇路由協(xié)議,協(xié)議采用一種移動性優(yōu)先的加權分簇算法,基于局部節(jié)點的相關性,使用移動節(jié)點之間單位時間內(nèi)的相對距離變化作為節(jié)點移動性的衡量指標,考慮網(wǎng)絡最佳節(jié)點度數(shù)、節(jié)點間的平均距離和節(jié)點的剩余能量對網(wǎng)絡性能的影響;對四種因素進行歸一化處理,使權值公式具有更為合理的加和性;運用層次分析法合理確定各因素的權重大小,利用節(jié)點權值的大小選舉簇頭。對路由搜索時采取的無限報文洪泛方式進行改進,對報文洪泛跳數(shù)進行限制。利用基于權值和路由跳數(shù)的最小聯(lián)合約束優(yōu)化路由選擇。本發(fā)明有效地提高了簇結(jié)構(gòu)的穩(wěn)定性,且更為適合網(wǎng)絡規(guī)模較大、節(jié)點移動較為頻繁的Ad Hoc網(wǎng)絡;本發(fā)明為Ad Hoc網(wǎng)絡路由協(xié)議的設計提供了參考方案,具有一定的實際應用價值和社會經(jīng)濟效益。
附圖、表說明
圖1是本發(fā)明的網(wǎng)絡分簇流程圖。
圖2是本發(fā)明的洪泛方式的流程圖。
圖3是本發(fā)明的選擇最佳路由的流程圖。
圖4是本發(fā)明的路由發(fā)現(xiàn)流程圖。
具體實施方式
為了使本發(fā)明的目的、特征、優(yōu)點更加明顯易懂,下面結(jié)合附圖和具體實施過程對本發(fā)明做進一步詳細說明。
Ad Hoc網(wǎng)絡運行前,首先經(jīng)過初始化組網(wǎng),形成分層結(jié)構(gòu)。網(wǎng)絡結(jié)構(gòu)形成后,當節(jié)點發(fā)送數(shù)據(jù)時,觸發(fā)路由發(fā)現(xiàn)。
本發(fā)明包括三個階段:網(wǎng)絡分簇、路由洪泛的限制、路由發(fā)現(xiàn)機制。
(1)網(wǎng)絡分簇
當網(wǎng)絡中有新節(jié)點加入或網(wǎng)絡開始成簇時,所有網(wǎng)絡中的節(jié)點通過發(fā)送hello消息以此來建立相互之間的鏈路,通過計算得到各因素的量化值,并對其進行歸一化處理。同時本發(fā)明設計的是移動性優(yōu)先的加權分簇算法,運用層次分析法得到各因素的權重,步驟如下:
第一步:節(jié)點間通過周期性的發(fā)送交互hello信息報文獲知鄰居節(jié)點的信息,得到每個節(jié)點的鄰居節(jié)點數(shù),作為它的度數(shù)di,其中hello信息報文攜帶節(jié)點ID,節(jié)點剩余能量,節(jié)點度,權值,所屬簇,鄰居信息表等;
第二步:用Ei表示節(jié)點i所消耗的能量,計算節(jié)點剩余能量的歸一化值E′i=Ei/E;
第三步:計算得到節(jié)點度與最佳節(jié)點度差值Di,進而歸一化得到節(jié)點度的評價因子
第四步:利用雙反射模型中節(jié)點的收發(fā)功率與節(jié)點間距離的關系式計算節(jié)點i的所有鄰居節(jié)點到它的平均距離并歸一化處理得到
第五步:計算得到節(jié)點相對于其鄰居節(jié)點的相對移動性Vi,通過歸一化得到
第六步:每個節(jié)點i計算組合權值并將權值置于hello信息中廣播;
第七步:所有相鄰的節(jié)點通過比較權值,擁有最小權值的節(jié)點作為簇頭,并廣播消息宣布自己的簇頭地位。在權值相等的情況下,ID較小的節(jié)點具有優(yōu)先成為簇頭的權利。未知節(jié)點接收到某簇頭的廣播消息即成為該簇頭的成員節(jié)點,修改自己的所屬簇列表,并廣播至網(wǎng)絡,且自身不再參與簇頭選舉;
第八步:不斷重復前七步,直到整個網(wǎng)絡都處于統(tǒng)治集范圍內(nèi)。簇頭選舉流程如圖1所示。
(2)路由洪泛的限制
協(xié)議規(guī)定,在報文洪泛時,僅有簇頭節(jié)點參與轉(zhuǎn)發(fā),在路由過程中,中間節(jié)點的數(shù)目也相對較少,因此在路由發(fā)現(xiàn)過程中,對路由的跳數(shù)進行限制,通過對其設置轉(zhuǎn)發(fā)次數(shù)閾值,減少洪泛次數(shù),從而有效降低網(wǎng)絡中的冗余信息。
基于小世界現(xiàn)象的“6度分離”,在路由請求包中對最大轉(zhuǎn)發(fā)次數(shù)進行限制,初始時,該閾值設定為3,因為在路由請求過程中,從源節(jié)點到目的節(jié)點理論上最多轉(zhuǎn)發(fā)6跳,大多數(shù)目的節(jié)點集中在3至6跳之間,將閾值設定為最大值的一半相對而言較為合理。如果源節(jié)點與目的節(jié)點之間相距三跳之內(nèi),通過此方式能夠快速找到目的節(jié)點,形成路由。如果在規(guī)定時間內(nèi)到達3跳,且沒有收到RREP分組,則將閾值加一,重新發(fā)起路由搜索。持續(xù)進行逐次查詢,如果閾值到達6跳,且沒有發(fā)現(xiàn)有效路由,則觸發(fā)報文洪泛進行路由發(fā)現(xiàn),過程如圖2所示。優(yōu)化后的協(xié)議,在能夠保證路由發(fā)現(xiàn)正常進行的同時,盡可能地降低報文轉(zhuǎn)發(fā)的次數(shù),進而降低網(wǎng)絡中由于報文洪泛所產(chǎn)生的冗余信息。
(3)路由發(fā)現(xiàn)機制
為了便于分析,給出以下定義:
定義1:θ={Path|存在的能夠到達目的節(jié)點的路徑};
定義2:Φ={node|路徑中的所有節(jié)點};
Path=minj∈θ(Rj) (2)
式中Wi為節(jié)點i的權值大小,Rj為帶有最大權值的路徑,Path表示所有可選路徑中最大的權值為最小的那條路徑。權值由節(jié)點間的hello交互信息得到。為了提高所選路徑的均衡性,引入路徑中間節(jié)點權值離散度這一概念:
M=λW (3)
式中M為聯(lián)合約束,λ為離散系數(shù)(0<λ<1),W為路徑中的節(jié)點的最大權值。對于路徑中間節(jié)點的權值W1、W2、W3...Wn取平均值和標準差Sn:
平均值通常反映某組數(shù)據(jù)的總體水平,標準差反映相對于平均值,該組數(shù)據(jù)的離散程度。對標準差進行歸一化,進而得到離散系數(shù)λ(0<λ<1):
綜合以上公式可得:
將公式(7)代入到(2)中,最終選擇的路徑Path是聯(lián)合約束最小的那一條。
通過權值的比較所選擇的路徑穩(wěn)定性較好,然而通過這種方式所選路徑不一定是最優(yōu)的路徑,當路徑a的聯(lián)合約束小于路徑b,同時,a的路由跳數(shù)遠遠大于路徑b,則通過路徑b進行數(shù)據(jù)傳輸時的路由距離和丟包率等方面優(yōu)于路徑a。因此,在路由選擇時還應同時考慮路由的長度,即路由跳數(shù)。對上述聯(lián)合約束進行改進,改進后的聯(lián)合最小約束為:
Path=minj∈θ(Rj×HOPj) (8)
式中HOPj表示第j條路由的轉(zhuǎn)發(fā)跳數(shù)。由公式(8)可得出最優(yōu)的路由選擇,從而提高路由性能,也使負載更加均衡,路由過程如圖3所示。整個協(xié)議的流程圖如圖4。
需要指出的是,本發(fā)明所訴的實施例是說明性的,而不是限定性的,因此本發(fā)明包括并不限于具體實施方式中所述的實施例,凡是由本領域技術人員根據(jù)本發(fā)明的技術方案得出的其它實施方式,同樣屬于本發(fā)明保護的范圍。