杜 丹,王 凱
(1.陸軍裝備部駐石家莊地區(qū)第一軍代室,河北 石家莊 050081;2.中國(guó)人民解放軍32382部隊(duì),北京 100072)
MANET[1],由于它不依賴任何固定基礎(chǔ)設(shè)備的快速組網(wǎng)能力,得到了廣泛的應(yīng)用。網(wǎng)絡(luò)路由算法的研究也多種多樣[1-12]。由于MANET自組織網(wǎng)絡(luò)應(yīng)用中存在大量組播業(yè)務(wù),因此 MANET 自組織網(wǎng)絡(luò)的組播路由技術(shù)是近幾十年來(lái)的研究熱點(diǎn)之一。MANET現(xiàn)有的組播路由協(xié)議各有其優(yōu)缺點(diǎn)。樹(shù)型組播路由協(xié)議如AMRIS[13]協(xié)議和MAODV[14]協(xié)議,有較高的數(shù)據(jù)組分發(fā)效率,但其魯棒性不足。CAMP[15]和ODMRP[16]是網(wǎng)格型組播路由協(xié)議,具有很高的健壯性,但它們多重路由增加了網(wǎng)絡(luò)負(fù)載,在一定程度上增加了組播路由協(xié)議的控制開(kāi)銷。結(jié)合樹(shù)型與網(wǎng)格型的混合型組播路由協(xié)議具有二者共同的優(yōu)勢(shì),取長(zhǎng)補(bǔ)短。如AMRoute協(xié)議[17]和MCEADR協(xié)議[18],能較好地實(shí)現(xiàn)協(xié)議的性能,但實(shí)現(xiàn)較為復(fù)雜,將網(wǎng)格型和樹(shù)型二者的優(yōu)勢(shì)更有效地結(jié)合,將是下一步研究的主要內(nèi)容。針對(duì)網(wǎng)格型組播路由協(xié)議的不足,在ODMRP協(xié)議基礎(chǔ)上,提出了備用轉(zhuǎn)發(fā)節(jié)點(diǎn)的概念,用于減少并控制多重路由,降低了網(wǎng)絡(luò)負(fù)載,保證了路由的魯棒性,完善了ODMRP協(xié)議。
按需組播路由協(xié)議 ODMRP 是網(wǎng)格型組播路由協(xié)議,其中轉(zhuǎn)發(fā)網(wǎng)格由轉(zhuǎn)發(fā)組構(gòu)成。轉(zhuǎn)發(fā)組由多個(gè)用于轉(zhuǎn)發(fā)組播數(shù)據(jù)分組的成員節(jié)點(diǎn)構(gòu)成。ODMRP的路由維護(hù)與創(chuàng)建是由組播源節(jié)點(diǎn)按照需要進(jìn)行的。
在 ODMRP 中,如果有消息需要發(fā)送,就在全網(wǎng)使用廣播泛洪路由建立請(qǐng)求。因?yàn)檗D(zhuǎn)發(fā)網(wǎng)格中,任意兩個(gè)組播成員節(jié)點(diǎn)間的傳輸路由長(zhǎng)度均為最短,故組建成以組播發(fā)送節(jié)點(diǎn)為跟的逆向最短路由樹(shù)。當(dāng)組播組內(nèi)其它成員收到路由建立請(qǐng)求時(shí),按照最短路由樹(shù)向組播源節(jié)點(diǎn)發(fā)送應(yīng)答消息。樹(shù)的節(jié)點(diǎn)都是該組的轉(zhuǎn)發(fā)成員,而這些樹(shù)的疊加便構(gòu)成了組播路由協(xié)議的轉(zhuǎn)發(fā)網(wǎng)格。當(dāng)網(wǎng)格構(gòu)建完成以后,就可以通過(guò)網(wǎng)格中的轉(zhuǎn)發(fā)節(jié)點(diǎn)發(fā)送數(shù)據(jù)分組,轉(zhuǎn)發(fā)網(wǎng)格的建立如圖1所示。
圖1 單組播源ODMRP的網(wǎng)格發(fā)現(xiàn)過(guò)程Fig.1 Grid discovery process for single multicast source ODMRP
改進(jìn):原協(xié)議因?yàn)楹写罅糠潜仨氜D(zhuǎn)發(fā)節(jié)點(diǎn),增加了多重路由,雖然增強(qiáng)了魯棒性,但產(chǎn)生了極大的分組傳輸量及網(wǎng)絡(luò)負(fù)載。本文對(duì)轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行處理,減少轉(zhuǎn)發(fā)節(jié)點(diǎn)數(shù)量,在保證原協(xié)議魯棒性的基礎(chǔ)上,減少了網(wǎng)絡(luò)控制開(kāi)銷。
請(qǐng)求及應(yīng)答消息結(jié)構(gòu):
{組播組地址,消息類型(接入請(qǐng)求/數(shù)據(jù)),發(fā)送節(jié)點(diǎn)地址,TTL跳數(shù),...}
{組播組地址,消息類型(接入應(yīng)答),下一跳節(jié)點(diǎn)地址,轉(zhuǎn)發(fā)標(biāo)識(shí)(0:轉(zhuǎn)發(fā),1:備用轉(zhuǎn)發(fā)),...}
改進(jìn)ODMRP 中組播路由的建立由接入請(qǐng)求及接入應(yīng)答兩部分構(gòu)成,且根據(jù)需要執(zhí)行。當(dāng)有數(shù)據(jù)需要發(fā)送且無(wú)可達(dá)路由時(shí),便周期性地發(fā)送泛洪路由請(qǐng)求 JOIN-QUERY(JQ),更新組播路由及組播成員。轉(zhuǎn)發(fā)節(jié)點(diǎn)收到在存活期限不為零,且不重復(fù)的 JQ 請(qǐng)求,記錄其上一跳節(jié)點(diǎn)的ID或IP,并繼續(xù)廣播。當(dāng)該組播其它成員節(jié)點(diǎn)收到它的接入請(qǐng)求消息時(shí),則廣播接入應(yīng)答JQ消息,消息中包括該組源節(jié)點(diǎn)和下一跳成員地址信息及轉(zhuǎn)發(fā)標(biāo)識(shí)(首次或前N次(自定義控制轉(zhuǎn)發(fā)組節(jié)點(diǎn)數(shù)量)收到路由請(qǐng)求置0,非首次收到路由請(qǐng)求置1)。收到JR應(yīng)答消息的節(jié)點(diǎn),首先查看該接入應(yīng)答中的下一跳節(jié)點(diǎn)地址是否是自己的地址。若是,則表明該節(jié)點(diǎn)是轉(zhuǎn)發(fā)節(jié)點(diǎn),在通往組播發(fā)送節(jié)點(diǎn)的路由上。然后查看應(yīng)答消息中轉(zhuǎn)發(fā)標(biāo)識(shí),對(duì)本節(jié)點(diǎn)轉(zhuǎn)發(fā)標(biāo)識(shí)FG-FLAG(默認(rèn)-1不轉(zhuǎn)發(fā))進(jìn)行更新置0,使其進(jìn)入該組的轉(zhuǎn)發(fā)網(wǎng)格,一直繼續(xù)轉(zhuǎn)發(fā),直到接入應(yīng)答消息傳送至其發(fā)送者。應(yīng)答消息中的轉(zhuǎn)發(fā)標(biāo)識(shí)如果不是0,若本節(jié)點(diǎn)FG-FLAG為0,則不變;若本節(jié)點(diǎn)FG-FLAG為-1,則置1;若本節(jié)點(diǎn)FG-FLAG為其它值,則FG-FLAG加1,用作數(shù)據(jù)轉(zhuǎn)發(fā)的概率。ODMRP改進(jìn)組播路由協(xié)議網(wǎng)格的發(fā)現(xiàn)過(guò)程如圖2所示。ODMRP改進(jìn)協(xié)議中路由建立的具體算法流程如圖3所示。
圖2 單組播源ODMRP改進(jìn)組播路由協(xié)議的網(wǎng)格發(fā)現(xiàn)過(guò)程Fig.2 Grid discovery process for improving single multicast source ODMRP
圖3 ODMRP改進(jìn)協(xié)議中路由建立的具體算法流程Fig.3 Specific algorithm flow for routing establishment in ODMRP improvement protocol
ODMRP中組播成員及路由的形成是根據(jù)需要完成的,因此存在相應(yīng)的生存期限TTL。超過(guò)該TTL且未接收到新的 JQ 消息,就判定該節(jié)點(diǎn)已經(jīng)不再是組播網(wǎng)格的轉(zhuǎn)發(fā)成員,該節(jié)點(diǎn)將停止對(duì)其數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。所以,組播組內(nèi)的源和目的節(jié)點(diǎn)需要周期性地分別發(fā)送接入請(qǐng)求及應(yīng)答報(bào)文,使得網(wǎng)格中的轉(zhuǎn)發(fā)節(jié)點(diǎn)能夠在TTL結(jié)束前更新它的上一跳節(jié)點(diǎn)及下一跳節(jié)點(diǎn)的地址,從而對(duì)該組播組的轉(zhuǎn)發(fā)網(wǎng)格進(jìn)行維護(hù)。根據(jù)網(wǎng)絡(luò)規(guī)模和組播內(nèi)節(jié)點(diǎn)間的距離,動(dòng)態(tài)調(diào)整發(fā)送路由請(qǐng)求的周期,降低路由控制開(kāi)銷。
當(dāng)ODMRP組播路由形成之后,其發(fā)送節(jié)點(diǎn)便能經(jīng)由組播轉(zhuǎn)發(fā)網(wǎng)格向其目的節(jié)點(diǎn)傳輸消息。在源節(jié)點(diǎn)發(fā)送組播消息過(guò)程中,其源節(jié)點(diǎn)需通過(guò)周期性發(fā)送路由控制報(bào)文來(lái)對(duì)轉(zhuǎn)發(fā)網(wǎng)格進(jìn)行維護(hù),收到組播消息的轉(zhuǎn)發(fā)節(jié)點(diǎn),在檢查該消息不是重復(fù)消息,且自身轉(zhuǎn)發(fā)標(biāo)志 FG-FLAG為0有效之后,對(duì)其進(jìn)行轉(zhuǎn)發(fā);在FG-FLAG不為-1且不為0,以概率轉(zhuǎn)發(fā)組播分組,概率與節(jié)點(diǎn)移動(dòng)速度快、FG-FLAG數(shù)值成正相關(guān)。該過(guò)程在為組播成員節(jié)點(diǎn)提供冗余路徑的同時(shí),降低了控制報(bào)文開(kāi)銷,且能避免消息通過(guò)失效路由傳送。同原有ODMRP協(xié)議相比,減少了節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)量,并在一定程度上保證了魯棒性。同樹(shù)型結(jié)構(gòu)相比,增加了分組傳遞率。
本文在傳統(tǒng)ODMRP協(xié)議基礎(chǔ)上,對(duì)轉(zhuǎn)發(fā)節(jié)點(diǎn)數(shù)量進(jìn)行控制,既保持了原ODMRP協(xié)議的魯棒性,又在數(shù)據(jù)消息接收率相當(dāng)?shù)那闆r下降低了網(wǎng)絡(luò)控制報(bào)文的開(kāi)銷,并且算法簡(jiǎn)單,容易實(shí)現(xiàn)。下一步工作在仿真軟件上對(duì)改進(jìn)方案和原ODMRP協(xié)議進(jìn)行仿真,觀察改進(jìn)方案的實(shí)際運(yùn)行效果。隨著對(duì)組播協(xié)議研究漸熱,我們后期的工作還要將該方案應(yīng)用到混合組播路由協(xié)議中,并和原混合組播路由協(xié)議進(jìn)行比較,并仿真觀察效果。