移動AdHoc網(wǎng)絡(luò)中基于距離的合作廣播方法技術(shù)領(lǐng)域本發(fā)明屬于無線通信技術(shù)領(lǐng)域,具體涉及一種能夠有效抑制廣播風(fēng)暴,提高廣播的可靠性,具有較高的到達(dá)率和較低時延的移動AdHoc網(wǎng)絡(luò)中基于距離的合作廣播方法。
背景技術(shù):移動AdHoc網(wǎng)絡(luò)是由一組帶有無線收發(fā)裝置的移動終端組成的臨時性自治系統(tǒng),是一種特殊的無線網(wǎng)絡(luò),節(jié)點(diǎn)可以隨時加入或離開移動AdHoc網(wǎng)絡(luò)。在移動AdHoc網(wǎng)絡(luò)中,每個節(jié)點(diǎn)地位平等,它們既有普通移動終端所具備的功能,還具有路由的報(bào)文轉(zhuǎn)發(fā)功能。在移動AdHoc網(wǎng)絡(luò)中,廣播是將網(wǎng)絡(luò)中某一節(jié)點(diǎn)的消息傳遞給所有其他節(jié)點(diǎn)的過程,它被廣泛應(yīng)用于許多移動AdHoc網(wǎng)絡(luò)協(xié)議中,其中最簡單的廣播方式就是洪泛廣播,很多廣播方法也是在洪泛的基礎(chǔ)上提出來的。但洪泛廣播會造成信息冗余、信道爭搶和信號碰撞,帶來廣播風(fēng)暴問題,嚴(yán)重影響網(wǎng)絡(luò)吞吐量和其他QoS指標(biāo)。同時,信號碰撞將導(dǎo)致廣播的不可靠性?,F(xiàn)階段國內(nèi)外廣播風(fēng)暴的抑制方案主要可以分為四類:基于概率的廣播方法、基于覆蓋面積的廣播方法、基于鄰居信息的廣播方法以及混合型方法。以上這些抑制廣播風(fēng)暴的方法在一定程度上減少了網(wǎng)絡(luò)的廣播冗余,有些方案比較簡單,如基于概率方案,但是減少冗余效果一般而且廣播覆蓋率低;有些方案又比較復(fù)雜,如基于鄰居信息方案,它對網(wǎng)絡(luò)拓?fù)湟筝^高而且容易出現(xiàn)NP問題;還有些基于覆蓋面積的方案,需要GPS定位裝置來判斷距離或位置,實(shí)際應(yīng)用時受到局限。相對于廣播風(fēng)暴來說,關(guān)于不可靠廣播的研究較少。不可靠廣播會使某些路由不能建立、路由信息不一致等。關(guān)于不可靠廣播的研究方案有基于洪泛的方案、基于最小生成樹的方案和混合型的方案。基于洪泛的方法相對來說比較簡單,也具有相對較高的可靠性,但是它會帶來廣播風(fēng)暴問題?;谧钚∩蓸涞姆桨钢?,構(gòu)造最小生成樹計(jì)算量較大,也難以分布式實(shí)現(xiàn)。例如,Abdalla等人提出了一種基于概率和鄰居信息的混合型方案:動態(tài)概率廣播方法DP(DynamicProbabilisticbroadcastingalgorithms)。DP方案通過調(diào)整重播概率,使得在節(jié)點(diǎn)密度大的區(qū)域,廣播概率較小,在節(jié)點(diǎn)密度稀疏的區(qū)域,重播概率較大,可以有效的減少廣播信息冗余。但DP方法需要周期性地發(fā)送HELL0消息給周圍的節(jié)點(diǎn)來交換拓?fù)湫畔?,而接收到HELL0信息的節(jié)點(diǎn)除了自身要發(fā)送HELL0消息給鄰居節(jié)點(diǎn)外,還需要對接收到的這個信息進(jìn)行回復(fù),這就造成了網(wǎng)絡(luò)中資源和節(jié)點(diǎn)能量的消耗。中國專利授權(quán)公開號:CN101072076A,授權(quán)公開日2007年11月14日,公開了一種網(wǎng)絡(luò)廣播方法,在網(wǎng)絡(luò)廣播頻道中插入文字和/或圖片,用戶在用網(wǎng)絡(luò)終端接收廣播頻道信息的同時,還可以看到不斷刷新的附加文字和/或圖片,同時還可以即時發(fā)送自己的信息和/或圖片到頻道服務(wù)器,繼而有選擇的插入到廣播頻道中。本發(fā)明公開了一種網(wǎng)絡(luò)廣播服務(wù)軟件。該發(fā)明的不足之處是,會造成信息冗余、信道爭搶和信號碰撞,帶來廣播風(fēng)暴問題,嚴(yán)重影響網(wǎng)絡(luò)吞吐量和其他QoS指標(biāo);同時,信號碰撞將導(dǎo)致廣播的不可靠性。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明的發(fā)明目的是為了克服現(xiàn)有技術(shù)中的廣播方法造成的信息冗余、信道爭搶、信號碰撞、廣播風(fēng)暴、網(wǎng)絡(luò)吞吐量小和QoS指標(biāo)下降的問題,提供了一種能夠有效抑制廣播風(fēng)暴,提高廣播的可靠性,具有較高的到達(dá)率和較低時延的移動AdHoc網(wǎng)絡(luò)中基于距離的合作廣播方法。為了實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:一種移動AdHoc網(wǎng)絡(luò)中基于距離的合作廣播方法,包括如下步驟:(1-1)網(wǎng)絡(luò)中的任意一個節(jié)點(diǎn)J均周期性地廣播HELL0分組,J的任一鄰居節(jié)點(diǎn)工接收HELL0分組,接收到以后做如下處理:(1-1-1)若工節(jié)點(diǎn)尚未創(chuàng)建節(jié)點(diǎn)J的鄰居信息表,則工節(jié)點(diǎn)建立節(jié)點(diǎn)J的鄰居信息表;(1-1-2)若工節(jié)點(diǎn)已經(jīng)創(chuàng)建了節(jié)點(diǎn)J的鄰居信息表,則利用接收到的HELL0分組的信息更新節(jié)點(diǎn)J的鄰居信息表中的信息;(1-2)工節(jié)點(diǎn)將工節(jié)點(diǎn)的節(jié)點(diǎn)信息封裝在HELL0分組中進(jìn)行回復(fù);(1-3)若節(jié)點(diǎn)J需要發(fā)送廣播分組,則節(jié)點(diǎn)J在其鄰居節(jié)點(diǎn)中選擇至多四個節(jié)點(diǎn)作為其下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn),并在廣播分組中填入下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)地址及與各個轉(zhuǎn)發(fā)節(jié)點(diǎn)相對應(yīng)的互不相同的轉(zhuǎn)發(fā)延遲時間,發(fā)送廣播分組;(1-4)節(jié)點(diǎn)工收到廣播分組后,判斷是否是第一次收到所述廣播分組,并進(jìn)行如下處理:(1-4-1)若節(jié)點(diǎn)工不是第一次接收到該廣播分組,則丟棄收到的分組;(1-4-2)若節(jié)點(diǎn)工第一次接收到該廣播分組,節(jié)點(diǎn)工將廣播分組存入其接收信息表中,并檢查廣播分組中的轉(zhuǎn)發(fā)節(jié)點(diǎn)地址字段;如果轉(zhuǎn)發(fā)節(jié)點(diǎn)地址字段中沒有節(jié)點(diǎn)工的地址信息,則節(jié)點(diǎn)工不再對該分組做進(jìn)一步處理;如果轉(zhuǎn)發(fā)節(jié)點(diǎn)地址字段中有節(jié)點(diǎn)工的地址信息,則節(jié)點(diǎn)工讀取其所對應(yīng)的延遲時間t,并在節(jié)點(diǎn)工的鄰居節(jié)點(diǎn)中選擇最多四個節(jié)點(diǎn)作為其下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn),在廣播分組中填入下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)地址及與各個轉(zhuǎn)發(fā)節(jié)點(diǎn)相對應(yīng)的互不相同的轉(zhuǎn)發(fā)延遲時間,當(dāng)節(jié)點(diǎn)工的延遲時間t達(dá)到之后,節(jié)點(diǎn)工轉(zhuǎn)發(fā)廣播分組。在移動AdHoc網(wǎng)絡(luò)中,要想實(shí)現(xiàn)可靠廣播,必須同時解決信息冗余帶來的廣播風(fēng)暴問題,以及碰撞帶來的不可靠廣播問題。目前,將廣播風(fēng)暴和廣播的不可靠性結(jié)合起來進(jìn)行研究的方案很少。因此,本發(fā)明提出了基于距離的合作廣播方法(DistanceandCooperationBasedBroadcastingAlgorithm,DCBB)。本方法通過節(jié)點(diǎn)間的HELL0分組交互來獲取鄰居信息,根據(jù)鄰居節(jié)點(diǎn)的分布,確定最多四個鄰居節(jié)點(diǎn)作為中繼節(jié)點(diǎn)對廣播消息進(jìn)行分時合作轉(zhuǎn)發(fā)。通過確定最多四個轉(zhuǎn)發(fā)節(jié)點(diǎn),大大降低了信息冗余度,抑制了廣播風(fēng)暴。同時通過分時轉(zhuǎn)發(fā),避免了同時發(fā)送信息時造成的廣播碰撞,提高了廣播的可靠性。作為優(yōu)選,任一節(jié)點(diǎn)J的下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的選擇方法包括如下步驟:(2-1)計(jì)算節(jié)點(diǎn)J的距離門限值Dth:(2-1-1)若網(wǎng)絡(luò)中節(jié)點(diǎn)分布均勻,則設(shè)定節(jié)點(diǎn)J的距離門限值Dth=aver(d),其中,aver(d)為網(wǎng)絡(luò)中所有鄰居節(jié)點(diǎn)的距離平均值;(2-1-2)若網(wǎng)絡(luò)中節(jié)點(diǎn)分布不均勻,當(dāng)aver(d)≤r時,設(shè)定節(jié)點(diǎn)J的距離門限值Dth=aver(d);當(dāng)aver(d)>r時,設(shè)定Dth=r,其中,r值為設(shè)定的特定距離值。(2-2)在節(jié)點(diǎn)J的下一跳節(jié)點(diǎn)選出若干個至多包括4個節(jié)點(diǎn)的組合,將每個組合中的各個節(jié)點(diǎn)的覆蓋范圍之和定義為組合的覆蓋范圍,當(dāng)組合的覆蓋范圍最大并且組合范圍內(nèi)的節(jié)點(diǎn)與節(jié)點(diǎn)J之間的距離均大于Dth時,將所述組合中的各個節(jié)點(diǎn)作為下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)。當(dāng)覆蓋范圍最大的組合有多個時,選取其中任意一個組合中的各個節(jié)點(diǎn)為下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)。作為優(yōu)選,所述HELL0分組包括分組序列號、發(fā)送節(jié)點(diǎn)的地址、發(fā)送節(jié)點(diǎn)的鄰居節(jié)點(diǎn)地址、發(fā)送節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間距離。作為優(yōu)選,所述(1-1-2)中節(jié)點(diǎn)工中關(guān)于節(jié)點(diǎn)J的鄰居信息表包括J節(jié)點(diǎn)的地址、節(jié)點(diǎn)工與節(jié)點(diǎn)J的距離、J節(jié)點(diǎn)的所有一跳鄰居節(jié)點(diǎn)K1,K2,…KM的地址、節(jié)點(diǎn)K1,K2,…KM到J節(jié)點(diǎn)的距離dK1,dK2,…dKM,其中M表示節(jié)點(diǎn)J的鄰居節(jié)點(diǎn)個數(shù)。作為優(yōu)選,所述節(jié)點(diǎn)工的節(jié)點(diǎn)信息包括節(jié)點(diǎn)工的地址、節(jié)點(diǎn)工的所有一跳鄰居節(jié)點(diǎn)L1,L2,…LN的地址、節(jié)點(diǎn)L1,L2,…LN到節(jié)點(diǎn)工的距離dL1,dL2,…dLN,其中N表示節(jié)點(diǎn)工的鄰居節(jié)點(diǎn)個數(shù)。作為優(yōu)選,所述特定距離值r的取值范圍為R至R,其中R為網(wǎng)絡(luò)中的節(jié)點(diǎn)信號所能覆蓋范圍的半徑。作為優(yōu)選,所述接收信息表包括已接收到的分組的序列號、源節(jié)點(diǎn)地址和分組在接收信息表中存儲的時間。作為優(yōu)選,節(jié)點(diǎn)的各個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的覆蓋范圍互不重疊。作為優(yōu)選,當(dāng)節(jié)點(diǎn)的下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)為4個時,各個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的延遲時間分別為0,T,2T,3T;當(dāng)節(jié)點(diǎn)的下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)為3個時,各個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的延遲時間分別為0,T,2T;當(dāng)節(jié)點(diǎn)的下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)為2個時,各個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的延遲時間分別為0,T;當(dāng)節(jié)點(diǎn)的下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)為1個時,該合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的延遲時間為0;其中,T為發(fā)完一個廣播分組的最大所需時間。因此,本發(fā)明具有如下有益效果:(1)本發(fā)明中,由于移動AdHoc網(wǎng)絡(luò)是分布式的網(wǎng)絡(luò),網(wǎng)絡(luò)中所有節(jié)點(diǎn)的地位都是均等的,每個節(jié)點(diǎn)通過分布式協(xié)議互聯(lián),所以每個節(jié)點(diǎn)都有各自下一跳節(jié)點(diǎn)相關(guān)的局部信息,通過這些局部信息可以確定合作轉(zhuǎn)發(fā)節(jié)點(diǎn),因此具有轉(zhuǎn)發(fā)時延低的特點(diǎn)。(2)發(fā)送節(jié)點(diǎn)發(fā)送分組給其下一跳節(jié)點(diǎn),如果這些下一跳節(jié)點(diǎn)相距比較近,都轉(zhuǎn)發(fā)分組的話就會產(chǎn)生嚴(yán)重的信道爭搶。因此,根據(jù)合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的選擇要求最終確定四個或少于四個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)來轉(zhuǎn)發(fā)分組,避免了發(fā)送節(jié)點(diǎn)的所有下一跳節(jié)點(diǎn)都轉(zhuǎn)發(fā)分組而導(dǎo)致的信道爭搶;各個轉(zhuǎn)發(fā)節(jié)點(diǎn)相互組合后能夠覆蓋比較多的兩跳鄰居節(jié)點(diǎn),提高了廣播覆蓋率。這樣抑制了廣播信息的冗余,減少了信號之間的碰撞,提高了廣播的可靠性。(3)本發(fā)明最多選擇四個節(jié)點(diǎn)進(jìn)行合作分時轉(zhuǎn)發(fā),各個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的廣播延遲時間互不重疊,因此避免了某些接收節(jié)點(diǎn)同時接收來自各個轉(zhuǎn)發(fā)節(jié)點(diǎn)的分組而產(chǎn)生的碰撞,因此提高了廣播的可靠性。附圖說明圖1為本發(fā)明基于距離的合作廣播方法的流程示意圖;圖2為本發(fā)明基于距離的合作廣播方法HELL0分組的交互示意圖;圖3為本發(fā)明基于距離的合作廣播方法合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的選擇示意圖;圖4為本發(fā)明基于距離的合作廣播方法選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)的流程示意圖;圖5為本發(fā)明基于距離的合作廣播方法分組收發(fā)流程示意圖。具體實(shí)施方式為了更為具體地描述本發(fā)明,下面結(jié)合附圖及具體實(shí)施方式對本發(fā)明基于距離的合作廣播方法進(jìn)行詳細(xì)說明。如圖1所示,一種移動AdHoc網(wǎng)絡(luò)中基于距離的合作廣播方法,包括如下步驟:(1)獲取鄰居信息網(wǎng)絡(luò)中的任意一個節(jié)點(diǎn)J均周期性地廣播HELL0分組,J的任一鄰居節(jié)點(diǎn)工接收HELL0分組,接收到以后做如下處理:若工節(jié)點(diǎn)尚未創(chuàng)建節(jié)點(diǎn)J的鄰居信息表,則工節(jié)點(diǎn)建立節(jié)點(diǎn)J的鄰居信息表;若工節(jié)點(diǎn)已經(jīng)創(chuàng)建了節(jié)點(diǎn)J的鄰居信息表,則利用接收到的HELL0分組的信息更新節(jié)點(diǎn)J的鄰居信息表中的信息,包括(J節(jié)點(diǎn)的地址、節(jié)點(diǎn)工與節(jié)點(diǎn)J的距離、J節(jié)點(diǎn)的所有一跳鄰居節(jié)點(diǎn)K1,K2,…KM的地址、節(jié)點(diǎn)K1,K2,…KM到J節(jié)點(diǎn)的距離dL1,dL2,…dKM);然后工節(jié)點(diǎn)將自身的信息(工節(jié)點(diǎn)的地址、工節(jié)點(diǎn)的所有一跳鄰居節(jié)點(diǎn)L1,L2,…LN的地址、節(jié)點(diǎn)L1,L2,…LN到工節(jié)點(diǎn)的距離dL1,dL2,…dLM)封裝在HELL0分組中進(jìn)行回復(fù);例如,圖2中,節(jié)點(diǎn)S在準(zhǔn)備發(fā)送第i個HELL0分組時,S已經(jīng)知道其周圍的鄰居節(jié)點(diǎn)有A,B,E。那么,S就將自己的地址、本次HELL0分組的序列號,以及到鄰居節(jié)點(diǎn)A,B,E的距離、鄰居A,B,E的地址等信息添加到HELL0分組中,在其一跳的范圍內(nèi)進(jìn)行廣播。正常情況下,位于S覆蓋范圍內(nèi)的節(jié)點(diǎn)都會收到這個HELL0分組。此處以節(jié)點(diǎn)C為例,分析其如何進(jìn)行HELL0分組的回復(fù)。假設(shè)由于節(jié)點(diǎn)的移動,C第一次進(jìn)入S的覆蓋范圍內(nèi)或者由于其他因素導(dǎo)致C第一次正確接收到來自S的HELL0分組。那么,節(jié)點(diǎn)C在接收到HELL0分組之后,首先計(jì)算自己與S的距離,然后提取S的鄰居信息。由于C第一接收到來自S的消息,所以,C將在自己的鄰居信息表中添加一條節(jié)點(diǎn)S的鄰居信息表。這條鄰居信息表的內(nèi)容包括:節(jié)點(diǎn)S的地址,S到C的距離,節(jié)點(diǎn)S的鄰居信息。這樣,C除了知道自己的鄰居信息之外,還獲得了節(jié)點(diǎn)S的鄰居信息,C相當(dāng)于知道了其兩跳范圍內(nèi)的鄰居信息。同樣地,當(dāng)節(jié)點(diǎn)C將自己的地址、鄰居(B,M,N)的信息等記錄添加到HELL0分組中進(jìn)行回復(fù)后,S也會獲得C的鄰居信息。(2)確定距離門限值每個節(jié)點(diǎn)根據(jù)所獲得的所有鄰居節(jié)點(diǎn)的距離值來確定一個距離門限值Dth。如果網(wǎng)絡(luò)中節(jié)點(diǎn)分布均勻,則采用平均值法確定Dth,即將所有鄰居節(jié)點(diǎn)的距離平均值作為Dth。如果網(wǎng)絡(luò)中節(jié)點(diǎn)分布不均勻,除了需要確定距離平均值aver(d),還需要確定一個特殊距離值r(如)。例如,在與上一跳的距離小于r的節(jié)點(diǎn)再次轉(zhuǎn)播廣播所獲得的額外覆蓋面積很小、冗余很大,所以,它們將不參與轉(zhuǎn)發(fā)。最終門限值的確定由距離平均值與特定距離值r共同決定。如果距離平均值小于r,就以距離平均值作為距離門限值,如果平均值大于r,則以r值作為距離門限值。兩種特殊的節(jié)點(diǎn)分布情況:①如果一個節(jié)點(diǎn)的鄰居信息表中只有1-4個節(jié)點(diǎn)的鄰居信息,則這些鄰居節(jié)點(diǎn)選為轉(zhuǎn)發(fā)節(jié)點(diǎn)。②發(fā)送節(jié)點(diǎn)與其一跳鄰居節(jié)點(diǎn)的距離都很近:盡管這些鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)廣播分組所獲得的額外覆蓋面積很小,但是仍然要從這些節(jié)點(diǎn)中選擇若干個節(jié)點(diǎn)作為中繼節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)。在這兩種節(jié)點(diǎn)分布的情況下,Dth都可以根據(jù)上述條件所確定。即不管發(fā)送節(jié)點(diǎn)的下一跳節(jié)點(diǎn)多少、分布如何,根據(jù)上述的距離門限值選擇方法都能得到一個滿足條件的Dth。(3)確定合作轉(zhuǎn)發(fā)節(jié)點(diǎn)在距離門限值以內(nèi)的節(jié)點(diǎn)由于轉(zhuǎn)發(fā)所獲得的額外覆蓋面積較小,所以不參與轉(zhuǎn)發(fā),在距離門限值以外的節(jié)點(diǎn)將作為候選節(jié)點(diǎn),有可能轉(zhuǎn)發(fā)。如果轉(zhuǎn)發(fā)節(jié)點(diǎn)多,它們?nèi)慷嫁D(zhuǎn)發(fā)廣播分組給接收節(jié)點(diǎn),可能會導(dǎo)致分組在接收節(jié)點(diǎn)處發(fā)生碰撞,接收節(jié)點(diǎn)無法正確接收分組(即廣播的不可靠性)。所以本協(xié)議利用合作的思想,在候選轉(zhuǎn)發(fā)節(jié)點(diǎn)集中,選擇以發(fā)送節(jié)點(diǎn)為圓心,為半徑的圓環(huán)處的最多四個節(jié)點(diǎn)分時合作轉(zhuǎn)發(fā)。位于圓環(huán)附近的候選節(jié)點(diǎn)可能很多,選擇的標(biāo)準(zhǔn)是:求各個鄰居節(jié)點(diǎn)與的距離之差的絕對值;絕對值越小,說明該鄰居節(jié)點(diǎn)距離圓環(huán)越近,信號可靠性越高。同時還要求這四個節(jié)點(diǎn)盡可能都不在彼此的覆蓋范圍內(nèi)。這樣既可擴(kuò)大額外覆蓋面積,又降低了廣播冗余度。如圖3所示,按上述選擇標(biāo)準(zhǔn)選出H1、H2、H3、H4作為合作轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行分組轉(zhuǎn)發(fā),在附近且不在對方的覆蓋范圍內(nèi)。S為網(wǎng)絡(luò)中第一個發(fā)送節(jié)點(diǎn),H1、H2、H3、H4為S的下一跳中確定的四個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)。下面將介紹選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)的具體操作步驟:①發(fā)送節(jié)點(diǎn)首先檢查自己的鄰居信息表。如果只有1-4個鄰居節(jié)點(diǎn),那么這些鄰居節(jié)點(diǎn)就作為轉(zhuǎn)發(fā)節(jié)點(diǎn),如果鄰居數(shù)目大于4,則計(jì)算鄰居距離的平均值aver(d)和特定距離門限值r。根據(jù)aver(d)和r確定距離門限值Dth。②如果鄰居節(jié)點(diǎn)的距離值小于門限值Dth,那么這樣的節(jié)點(diǎn)將不轉(zhuǎn)發(fā)。③計(jì)算距離值大于門限值Dth的節(jié)點(diǎn)個數(shù)Num。如果Num≤4,則這些鄰居節(jié)點(diǎn)都作為合作轉(zhuǎn)發(fā)節(jié)點(diǎn),并按轉(zhuǎn)發(fā)延遲時間進(jìn)行分時轉(zhuǎn)發(fā)。如果Num>4,則需做進(jìn)一步考慮,轉(zhuǎn)至步驟④。④計(jì)算這些節(jié)點(diǎn)的距離值與之差的絕對值,選擇絕對值較小且累計(jì)都不在其他節(jié)點(diǎn)覆蓋范圍的鄰居節(jié)點(diǎn)。如果這樣的節(jié)點(diǎn)數(shù)目多于4個,則選擇距離最近的四個節(jié)點(diǎn)進(jìn)行分時轉(zhuǎn)發(fā),如果這樣的節(jié)點(diǎn)數(shù)目等于四個,則確定這四個節(jié)點(diǎn)進(jìn)行分時轉(zhuǎn)發(fā)。如果節(jié)點(diǎn)數(shù)目不足四個,則可將位于發(fā)送節(jié)點(diǎn)附近的這個條件刪除,選擇都不在彼此覆蓋范圍內(nèi)的四個節(jié)點(diǎn)進(jìn)行分時合作轉(zhuǎn)發(fā)。轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇的具體流程圖如圖4所示。(4)廣播分組的收發(fā)任一節(jié)點(diǎn)H收到來自上一跳節(jié)點(diǎn)的廣播分組后,首先檢查判斷是否是第一次收到過這個廣播分組。若否,則無需做進(jìn)一步處理,直接丟棄這個重復(fù)接收的廣播分組即可;若是,H就將這個分組數(shù)據(jù)存入接收信息表,然后再進(jìn)一步檢查廣播分組頭中的轉(zhuǎn)發(fā)節(jié)點(diǎn)字段。如果該字段中沒有H的地址信息,那么H將不再對該分組做進(jìn)一步處理。如果該字段中包含有本節(jié)點(diǎn)的地址,那么,H將根據(jù)收到的分組中節(jié)點(diǎn)H的延遲時間字段進(jìn)行延時,時間到,H就轉(zhuǎn)發(fā)這個分組。在轉(zhuǎn)發(fā)這個廣播分組之前,H也會在自己的鄰居節(jié)點(diǎn)中選擇最多四個節(jié)點(diǎn)作為它的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn),并將這些轉(zhuǎn)發(fā)節(jié)點(diǎn)的地址和每個節(jié)點(diǎn)的延遲時間添加到廣播分組中。其他的接收節(jié)點(diǎn)也將按照相同的方法對接收到的廣播分組進(jìn)行處理。當(dāng)節(jié)點(diǎn)的下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)為4個時,各個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的延遲時間分別為0,T,2T,3T;當(dāng)節(jié)點(diǎn)的下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)為3個時,各個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的延遲時間分別為0,T,2T;當(dāng)節(jié)點(diǎn)的下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)為2個時,各個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的延遲時間分別為0,T;當(dāng)節(jié)點(diǎn)的下一跳合作轉(zhuǎn)發(fā)節(jié)點(diǎn)為1個時,該合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的延遲時間為0。由于各個合作轉(zhuǎn)發(fā)節(jié)點(diǎn)的延遲時間各不相同,避免它們對信道的競爭以及數(shù)據(jù)分組的碰撞,提高廣播分組的可靠性,這樣的廣播是分時合作轉(zhuǎn)發(fā)。廣播分組的收發(fā)過程流程圖如圖5所示。本發(fā)明協(xié)議方法主要可以從三個性能指標(biāo)進(jìn)行分析:(1)轉(zhuǎn)發(fā)節(jié)點(diǎn)比例(Retransmittedratio):定義為參與轉(zhuǎn)發(fā)廣播分組的節(jié)點(diǎn)數(shù)與網(wǎng)絡(luò)中所有節(jié)點(diǎn)數(shù)的比值。(2)到達(dá)率(Reachability):也被稱為可達(dá)度,定義為所有目的節(jié)點(diǎn)收到數(shù)據(jù)分組個數(shù)與所有目的節(jié)點(diǎn)應(yīng)當(dāng)收到的數(shù)據(jù)分組個數(shù)的比值。其中所有目的節(jié)點(diǎn)應(yīng)當(dāng)收到的數(shù)據(jù)分組個數(shù)就是源節(jié)點(diǎn)發(fā)送的數(shù)據(jù)分組的個數(shù)與所有目的節(jié)點(diǎn)個數(shù)之積。(3)端到端時延平均值(Averageend-to-enddelay):定義為源節(jié)點(diǎn)產(chǎn)生數(shù)據(jù)分組到所有目的節(jié)點(diǎn)收到數(shù)據(jù)分組之間的時延的平均值。為了能更好地看出本發(fā)明協(xié)議方法在這三項(xiàng)指標(biāo)上的優(yōu)勢所在,將其與DP方法作為對比方法,對節(jié)點(diǎn)靜止時和節(jié)點(diǎn)移動時兩種情況下的轉(zhuǎn)發(fā)節(jié)點(diǎn)比例、到達(dá)率、端到端時延平均值仿真比較??梢?,通過仿真后的數(shù)據(jù)分析,本發(fā)明協(xié)議方法在在較低轉(zhuǎn)發(fā)節(jié)點(diǎn)比例的基礎(chǔ)上獲得較高的到達(dá)率,從而達(dá)到了去除廣播冗余,降低網(wǎng)絡(luò)負(fù)載,提高廣播可靠性的目的。而且在節(jié)點(diǎn)密度較高時也得到了較低的時延。應(yīng)理解,本實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等價(jià)形式同樣落于本申請所附權(quán)利要求書所限定的范圍。