劉 臺(tái),王一鳴,張希杰,趙瑞峰,周 君
(武漢中原電子集團(tuán)有限公司,武漢 430205)
組播是一種一對多或多對多的信息傳遞的方式[1],一般是在數(shù)據(jù)傳遞路徑出現(xiàn)分叉的情況下才進(jìn)行數(shù)據(jù)包的復(fù)制,而不是將相同的數(shù)據(jù)多次復(fù)制發(fā)送給每個(gè)目的端,能有效降低對鏈路帶寬的占用。在互聯(lián)網(wǎng)發(fā)展過程中,先后出現(xiàn)了IP組播和應(yīng)用層組播技術(shù)[2],它們的基本原理都是在組成員之間建立數(shù)據(jù)傳遞樹,在組播傳輸過程中,一般是通過傳遞樹確定數(shù)據(jù)包的傳遞路徑,減少不必要的傳輸路徑和數(shù)據(jù)復(fù)制,提升數(shù)據(jù)的傳輸效率。
戰(zhàn)術(shù)通信系統(tǒng)是通過網(wǎng)絡(luò)互聯(lián)協(xié)議將各類戰(zhàn)術(shù)通信設(shè)備和終端設(shè)備互聯(lián)而成的通信系統(tǒng)[3]。在戰(zhàn)術(shù)通信系統(tǒng)中,通過傳遞各類戰(zhàn)術(shù)通信業(yè)務(wù)來滿足各個(gè)指揮與作戰(zhàn)要素之間數(shù)據(jù)通信需求,如指揮控制、態(tài)勢感知、語音呼叫等,其中許多戰(zhàn)術(shù)通信業(yè)務(wù)的傳遞方式為一發(fā)多收,并具有高時(shí)敏性。為滿足機(jī)動(dòng)通信要求,戰(zhàn)術(shù)通信系統(tǒng)一般含有大量遠(yuǎn)距離無線鏈路,具有帶寬有限、傳輸時(shí)延較大、拓?fù)渥兓l繁的特點(diǎn)?;谏鲜鰳I(yè)務(wù)特點(diǎn)和網(wǎng)絡(luò)特點(diǎn),戰(zhàn)術(shù)通信對數(shù)據(jù)業(yè)務(wù)的傳輸一般要求具備高實(shí)時(shí)性、相對低的帶寬占用、網(wǎng)絡(luò)拓?fù)渥兓瘯r(shí)能快速恢復(fù)通信??梢钥闯觯瑹o論是IP組播還是應(yīng)用層組播,都難以滿足戰(zhàn)術(shù)通信的要求:一方面,它們生成傳遞樹都是基于額外協(xié)議的,無法及時(shí)響應(yīng)網(wǎng)絡(luò)變化;另一方面,它們是基于盡力而為模型的,無法針對時(shí)敏業(yè)務(wù)提供高實(shí)時(shí)傳輸[4-5]。
名址分離技術(shù)可以在戰(zhàn)術(shù)通信系統(tǒng)中得到很好的應(yīng)用,它能將節(jié)點(diǎn)身份與物理地址(IP地址)分離,使業(yè)務(wù)通信可以直接通過節(jié)點(diǎn)身份來尋址,對用戶屏蔽IP層細(xì)節(jié)。在戰(zhàn)術(shù)通信系統(tǒng)中,節(jié)點(diǎn)身份往往比IP地址的長度更短,將名址分離思想與組播傳輸方式進(jìn)行融合設(shè)計(jì),可以節(jié)省IP報(bào)頭開銷,傳輸更多的控制信息。同時(shí),由于它簡化了復(fù)雜的網(wǎng)絡(luò)配置,便于理解,可以很好地應(yīng)用于戰(zhàn)術(shù)通信系統(tǒng)。
本文提出了一個(gè)不依賴額外協(xié)議的、基于名址分離尋址的數(shù)據(jù)組播方案,可以較好地滿足戰(zhàn)術(shù)通信系統(tǒng)中組播業(yè)務(wù)的需求。
針對IP組播及應(yīng)用層組播模型在戰(zhàn)術(shù)通信環(huán)境下的問題,本文設(shè)計(jì)了一種新的組播方案,主要設(shè)計(jì)思想如下:
(1)運(yùn)用名址分離機(jī)制,將組播尋址由IP改為節(jié)點(diǎn)身份,根據(jù)節(jié)點(diǎn)身份管理組成員,不再動(dòng)態(tài)維護(hù)組成員信息。用戶終端收發(fā)組播信息直接根據(jù)節(jié)點(diǎn)身份進(jìn)行,不需要加入組播組的動(dòng)作。
(2)組播轉(zhuǎn)發(fā)信息附加在自定義報(bào)頭中,無額外交互機(jī)制。網(wǎng)絡(luò)變化時(shí),后續(xù)數(shù)據(jù)包可以立即根據(jù)新單播路由信息產(chǎn)生新的組播轉(zhuǎn)發(fā)信息,完全消除重建組播樹的報(bào)文傳輸產(chǎn)生的等待時(shí)間。
1.2.1 基本原理
每個(gè)節(jié)點(diǎn)擁有一個(gè)核心IP地址和一個(gè)身份地址,IP地址僅用于IP組網(wǎng),維持路由可達(dá),上層業(yè)務(wù)通過身份地址來尋址通信。身份與網(wǎng)絡(luò)節(jié)點(diǎn)解除綁定關(guān)系,上層應(yīng)用發(fā)送的數(shù)據(jù)中,源和目的地址為身份地址,同時(shí),本地局域網(wǎng)的地址分配不受外網(wǎng)影響,更加簡便。
典型流程如圖1所示。
圖1 名址分離基本原理
首先,名址分離服務(wù)需要在各個(gè)節(jié)點(diǎn)間交互信息,建立IP-身份映射表。隨后,不同節(jié)點(diǎn)的計(jì)算機(jī)即可進(jìn)行業(yè)務(wù)通信。
圖1中將計(jì)算機(jī)#1與計(jì)算機(jī)#2的IP地址均設(shè)置為192.168.1.2,以計(jì)算機(jī)#1向身份地址為05060708H的計(jì)算機(jī)#2發(fā)送數(shù)據(jù)為例:
(1)計(jì)算機(jī)#1向路由器#1發(fā)送目的IP地址為192.168.1.1的局域網(wǎng)報(bào)文,報(bào)文的業(yè)務(wù)數(shù)據(jù)內(nèi)的目的地址為計(jì)算機(jī)#2的身份地址。
(2)路由器#1收計(jì)算機(jī)#1發(fā)送來的報(bào)文后,根據(jù)目的身份地址查找計(jì)算機(jī)#2對應(yīng)路由器#2的目的IP地址為2.2.2.2,再根據(jù)此目的匹配單播路由表找到下一跳IP及出接口將報(bào)文轉(zhuǎn)發(fā)出去,目的地址仍為身份地址05060708H。
(3)路由器#2收到該報(bào)文后,根據(jù)目的身份地址查找到對應(yīng)的計(jì)算機(jī)#2的IP地址。由于計(jì)算機(jī)#2的IP地址屬于本地,路由器#2添加對應(yīng)IP報(bào)頭將此報(bào)文從路由器#2發(fā)送給計(jì)算機(jī)#2。
(4)計(jì)算機(jī)#2收到數(shù)據(jù)后,發(fā)送過程完成。
1.2.2 工作流程
從網(wǎng)絡(luò)開通到正常轉(zhuǎn)發(fā)業(yè)務(wù)數(shù)據(jù)的流程如圖2所示。首先路由器之間會(huì)先交互路由協(xié)議,并生成路由表,然后計(jì)算機(jī)向路由器注冊本節(jié)點(diǎn)的用戶身份地址、計(jì)算機(jī)的IP地址等信息。注冊完成后,路由器會(huì)將用戶地址與路由器的廣域網(wǎng)IP(核心IP)地址綁定并建立對應(yīng)關(guān)系。路由器之間交互用戶地址相關(guān)信息生成各個(gè)節(jié)點(diǎn)用戶地址與廣域網(wǎng)IP地址的對應(yīng)關(guān)系表,至此所有的轉(zhuǎn)發(fā)表已經(jīng)建立完成,可以開始業(yè)務(wù)數(shù)據(jù)的轉(zhuǎn)發(fā)。
圖2 名址分離工作流程
業(yè)務(wù)數(shù)據(jù)會(huì)包含用于轉(zhuǎn)發(fā)的目的用戶地址和源用戶地址,計(jì)算機(jī)將業(yè)務(wù)數(shù)據(jù)封裝到局域網(wǎng)IP報(bào)文中,并通過局域網(wǎng)發(fā)送給路由器。路由器收到業(yè)務(wù)數(shù)據(jù)后,提取目的用戶地址,并根據(jù)用戶地址與廣域網(wǎng)IP地址對應(yīng)關(guān)系表找到該目的用戶地址對應(yīng)的目的廣域網(wǎng)IP地址,使用查找到的廣域網(wǎng)IP地址進(jìn)行路由匹配,獲得下一跳路由器IP地址和出接口,將業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)到下一跳路由器上。
目的端的路由器接收到該業(yè)務(wù)數(shù)據(jù)后,根據(jù)業(yè)務(wù)數(shù)據(jù)內(nèi)的目的用戶地址查找本節(jié)點(diǎn)的注冊用戶,找到匹配用戶后根據(jù)注冊信息獲取到該用戶的IP地址,如果用戶IP地址為局域網(wǎng)IP地址,則路由器將該業(yè)務(wù)數(shù)據(jù)封裝到對應(yīng)的局域網(wǎng)IP報(bào)文中發(fā)送給目的用戶計(jì)算機(jī)。目的用戶計(jì)算機(jī)收到該報(bào)文后發(fā)送給上層應(yīng)用程序進(jìn)行接收處理。
1.2.3 用戶地址交互協(xié)議
用戶地址交互協(xié)議負(fù)責(zé)在整個(gè)網(wǎng)絡(luò)域中同步節(jié)點(diǎn)身份信息與IP地址對應(yīng)關(guān)系表,它的消息報(bào)文類型主要包括Request消息、Normal消息、Update消息。
(1)Request消息
Request消息向鄰居節(jié)點(diǎn)發(fā)送,用于向鄰居節(jié)點(diǎn)請求其所持有的全部消息記錄。在路由器啟動(dòng)后或重啟后進(jìn)行報(bào)文發(fā)送,可以快速獲取整個(gè)網(wǎng)絡(luò)的消息記錄。
如圖3所示,當(dāng)節(jié)點(diǎn)#1啟動(dòng)(或重啟)后,當(dāng)前只有本節(jié)點(diǎn)的消息記錄。節(jié)點(diǎn)#1通過各個(gè)接口(路由使能接口)向外發(fā)送Request消息,節(jié)點(diǎn)#2與節(jié)點(diǎn)#1直連,在收到節(jié)點(diǎn)#1的Request消息后,節(jié)點(diǎn)#2向節(jié)點(diǎn)#1發(fā)送Normal報(bào)文,同時(shí)記錄節(jié)點(diǎn)#1的信息。節(jié)點(diǎn)#2發(fā)送的Normal報(bào)文,包含節(jié)點(diǎn)#2本身的消息記錄和不是從該接收接口學(xué)習(xí)來的消息記錄(即正常的Normal報(bào)文)。
節(jié)點(diǎn)#1在收到這些消息記錄后更新自己的消息記錄表。
圖3 Request消息交互流程
(2)Normal消息
Normal消息向鄰居節(jié)點(diǎn)發(fā)送,用于向鄰居節(jié)點(diǎn)定時(shí)通告本節(jié)點(diǎn)所擁有的消息記錄。
Normal報(bào)文的交互流程如下:
(1)定時(shí)發(fā)送。節(jié)點(diǎn)定時(shí)通過接口向外發(fā)送Normal報(bào)文,通常情況下使用水平分割(即從某接口學(xué)習(xí)到的消息記錄不會(huì)再從該接口發(fā)送回去),將允許從該接口發(fā)送的active狀態(tài)的消息記錄封裝到Normal報(bào)文并發(fā)送出去。
(2)響應(yīng)Request報(bào)文。接收到Request報(bào)文后,會(huì)向接收Request報(bào)文的接口發(fā)送允許從該接口發(fā)送的active狀態(tài)消息記錄(有水平分割)的Normal報(bào)文。
(3)Update消息。Update消息用于讓消息記錄內(nèi)容變動(dòng)信息盡可能快的在網(wǎng)內(nèi)傳播。Update報(bào)文分為刪除報(bào)文、添加報(bào)文、報(bào)文更新,其內(nèi)容是單條有變動(dòng)的消息記錄。其他節(jié)點(diǎn)收到Update消息后直接更新本節(jié)點(diǎn)消息記錄。
Update報(bào)文的交互流程如下:
(1)節(jié)點(diǎn)通過接口協(xié)議得到本節(jié)點(diǎn)消息記錄變動(dòng)的信息后,更新消息記錄表。
(2)節(jié)點(diǎn)將該消息記錄變動(dòng)通過Update報(bào)文向各個(gè)直連節(jié)點(diǎn)通告。
(3)直連節(jié)點(diǎn)收到該通告后,更新對應(yīng)的消息記錄內(nèi)容,并將該Update報(bào)文通過各個(gè)接口泛洪出去(不包括來源接口)。
(4)節(jié)點(diǎn)只有第一次收到Update報(bào)文才會(huì)擴(kuò)散和更新,第二次收到時(shí)直接丟棄。
通過名址分離,路由器之間傳遞的數(shù)據(jù)僅包含業(yè)務(wù)數(shù)據(jù)本身,單播業(yè)務(wù)數(shù)據(jù)中的目的地址為節(jié)點(diǎn)身份地址,而組播業(yè)務(wù)數(shù)據(jù)的身份地址為戰(zhàn)術(shù)通信系統(tǒng)規(guī)劃的組播地址,那么只需要預(yù)先將戰(zhàn)術(shù)通信系統(tǒng)規(guī)劃的組播地址與所包含的乘員身份地址的對應(yīng)關(guān)系表寫入路由器,即可實(shí)現(xiàn)在轉(zhuǎn)發(fā)報(bào)文時(shí)根據(jù)組播地址獲取到其組成員的身份地址。此時(shí)路由器的轉(zhuǎn)發(fā)邏輯發(fā)生變化,對于每一包路由器之間的數(shù)據(jù),應(yīng)判斷其目的身份地址是否為組播地址,若是,則進(jìn)行組播轉(zhuǎn)發(fā)策略;否則,按前文描述的單播轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā)。
組播數(shù)據(jù)在第一次轉(zhuǎn)發(fā)時(shí),路由器負(fù)責(zé)生成組播轉(zhuǎn)發(fā)信息,并附加在業(yè)務(wù)數(shù)據(jù)之前作為組播報(bào)頭。
組播報(bào)頭及轉(zhuǎn)發(fā)策略根據(jù)鏈路類型不同而不同,目的是盡量減少報(bào)頭開銷。鏈路類型分為點(diǎn)對點(diǎn)鏈路和廣播鏈路。
1.4.1 點(diǎn)對點(diǎn)鏈路
在點(diǎn)對點(diǎn)鏈路中,組播報(bào)頭僅包含一個(gè)組播對象列表,如圖4所示,它由成員個(gè)數(shù)字段和一系列組成員身份號組成。每個(gè)身份號長度為1 B,它是根據(jù)地址進(jìn)行編制規(guī)劃,由身份地址轉(zhuǎn)換而來,在每個(gè)戰(zhàn)術(shù)通信子系統(tǒng)中唯一,因此在組播業(yè)務(wù)中可以唯一標(biāo)識(shí)一個(gè)組成員。組播對象列表用于表示從某接口發(fā)送出去的組播數(shù)據(jù)需要將該數(shù)據(jù)送達(dá)的目的節(jié)點(diǎn)列表。
圖4 點(diǎn)對點(diǎn)鏈路的組播對象列表格式
1.4.2 廣播鏈路
廣播鏈路中,組播對象列表比點(diǎn)對點(diǎn)鏈路增加了一個(gè)下一跳節(jié)點(diǎn)指示字段,該字段用于標(biāo)識(shí)若干個(gè)組播對象列表中的節(jié)點(diǎn),若標(biāo)記的第n個(gè)比特位為1,則表示組播對象列表的第n個(gè)節(jié)點(diǎn)被標(biāo)記,只有被標(biāo)記的節(jié)點(diǎn)才能轉(zhuǎn)發(fā)該數(shù)據(jù),未被標(biāo)記的節(jié)點(diǎn)只接收數(shù)據(jù)而不轉(zhuǎn)發(fā)。這樣做是為了避免組播路徑樹的其他節(jié)點(diǎn)重復(fù)轉(zhuǎn)發(fā)報(bào)文。報(bào)文格式如圖5所示。
圖5 廣播鏈路的組播對象列表格式
對于某個(gè)路由器,接收到的組播報(bào)文有用戶終端的組播報(bào)文、點(diǎn)對點(diǎn)鏈路的組播報(bào)文、廣播鏈路的組播報(bào)文三類,路由器對它們分別執(zhí)行不同的轉(zhuǎn)發(fā)策略。
當(dāng)接收到用戶終端的組播報(bào)文,轉(zhuǎn)發(fā)策略如下:
Step1 去掉IP部分,提取業(yè)務(wù)數(shù)據(jù),根據(jù)目的組播地址與組成員映射表獲取所有組成員的身份號。
Step2 對每個(gè)身份號通過名址分離機(jī)制獲取對應(yīng)的外網(wǎng)IP地址。
Step3 對每個(gè)IP地址進(jìn)行單播路由表匹配,得到出接口和下一跳IP地址。
Step4 將出接口相同的IP地址對應(yīng)的身份號歸為一類,根據(jù)接口類型,參考下一跳IP對應(yīng)的身份號,按1.4節(jié)的描述構(gòu)造組播對象列表,附加在業(yè)務(wù)數(shù)據(jù)之前。
Step5 將構(gòu)造完成的數(shù)據(jù)轉(zhuǎn)發(fā)到所有出接口。
當(dāng)接收到點(diǎn)對點(diǎn)鏈路的組播報(bào)文,轉(zhuǎn)發(fā)策略如下:
Step1 提取報(bào)文中的每個(gè)身份號,檢查身份號是否屬于本地局域網(wǎng),若是,轉(zhuǎn)到Step 2,否則轉(zhuǎn)到Step 3。
Step2 以身份號對應(yīng)的IP地址為目的構(gòu)造IP報(bào)頭,封裝業(yè)務(wù)數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)發(fā)到本地局域網(wǎng),并將該身份號從組播對象列表中刪除,轉(zhuǎn)到Step 3。
Step3 依次對組播對象列表剩余的節(jié)點(diǎn)執(zhí)行接收到用戶終端的組播報(bào)文的轉(zhuǎn)發(fā)策略中的Step 2~5。
當(dāng)接收到廣播鏈路的組播報(bào)文,轉(zhuǎn)發(fā)策略如下:
Step1 提取報(bào)文中的每個(gè)身份號,檢查身份號是否屬于本地局域網(wǎng),若是,轉(zhuǎn)到Step 2;否則丟棄報(bào)文,結(jié)束。
Step2 以身份號對應(yīng)的IP地址為目的構(gòu)造IP報(bào)頭,封裝業(yè)務(wù)數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)發(fā)到本地局域網(wǎng),并將該身份號從組播對象列表中刪除,轉(zhuǎn)到Step 3。
Step3 檢查本地局域網(wǎng)的身份號是否在組播對象列表中被標(biāo)記,若是,轉(zhuǎn)到Step 4,否則結(jié)束。
Step4 依次對組播對象列表剩余的節(jié)點(diǎn)執(zhí)行接收到用戶終端的組播報(bào)文的轉(zhuǎn)發(fā)策略中的Step 2~5,結(jié)束。
基于上述流程,在組播的轉(zhuǎn)發(fā)過程中,由第一跳路由器負(fù)責(zé)根據(jù)組成員及單播路由生成組播對象列表,后續(xù)的路由器逐級對組播對象的節(jié)點(diǎn)進(jìn)行分流轉(zhuǎn)發(fā),最終效果是使組播數(shù)據(jù)沿著根據(jù)單播路由生成的轉(zhuǎn)發(fā)樹進(jìn)行轉(zhuǎn)發(fā),與現(xiàn)有IP組播基于組播轉(zhuǎn)發(fā)樹的轉(zhuǎn)發(fā)是類似的。
按照圖6搭建測試網(wǎng)絡(luò),其中各節(jié)點(diǎn)均為實(shí)物形式的路由交換節(jié)點(diǎn),用來陪測的無線接入設(shè)備的帶寬和速率等參數(shù)設(shè)置為接近實(shí)際戰(zhàn)術(shù)通信場景下的參數(shù)值,通過組建組播網(wǎng)絡(luò)實(shí)物拓?fù)淠M戰(zhàn)術(shù)通信系統(tǒng)組播業(yè)務(wù)網(wǎng)絡(luò)環(huán)境。
圖6 測試網(wǎng)絡(luò)拓?fù)?/p>
網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)由路由器、計(jì)算機(jī)終端、無線接入設(shè)備、有線接入設(shè)備組成。路由器中已經(jīng)實(shí)現(xiàn)了單播路由轉(zhuǎn)發(fā)[6]、PIM-SM路由協(xié)議及本文的組播轉(zhuǎn)發(fā)方案的功能,用來對比驗(yàn)證本文的組播轉(zhuǎn)發(fā)策略的功能和性能。無線接入設(shè)備、有線接入設(shè)備分別用于實(shí)現(xiàn)無線廣播鏈路、有線點(diǎn)對點(diǎn)鏈路的接入。計(jì)算機(jī)終端上運(yùn)行戰(zhàn)術(shù)通信組播業(yè)務(wù)測試軟件,用于收發(fā)組播業(yè)務(wù)數(shù)據(jù)。
在路由器各接口使能單播路由協(xié)議,待網(wǎng)絡(luò)中路由收斂完成,即可開始測試組播策略的功能和性能。
組播測試用到3個(gè)組播組,分別為:組播身份號0xF1,成員為節(jié)點(diǎn)#1節(jié)點(diǎn)#2節(jié)點(diǎn)#3節(jié)點(diǎn)#4;組播身份號0xF3,成員為節(jié)點(diǎn)#5節(jié)點(diǎn)#6節(jié)點(diǎn)#7節(jié)點(diǎn)#8節(jié)點(diǎn)#9節(jié)點(diǎn)#10;組播身份號0xFF,成員為所有節(jié)點(diǎn)。
在圖6的網(wǎng)絡(luò)中,分別在節(jié)點(diǎn)#1、節(jié)點(diǎn)#5、節(jié)點(diǎn)#2的計(jì)算機(jī)終端發(fā)送組播身份號0xF1、0xF2、0xFF的組播業(yè)務(wù)數(shù)據(jù),間隔250 ms,發(fā)送1 000次。同時(shí)在網(wǎng)絡(luò)中用測試軟件添加廣播鏈路帶寬50%的其他測試數(shù)據(jù),模擬有一定鏈路負(fù)荷的情況。在節(jié)點(diǎn)#3、節(jié)點(diǎn)#6、節(jié)點(diǎn)#7分別記錄數(shù)據(jù)接收情況,統(tǒng)計(jì)最大時(shí)延和平均時(shí)延。對于單個(gè)數(shù)據(jù)傳輸,如果在測試延遲的時(shí)間窗口τ內(nèi)收到分組數(shù)量為n,那么測量得到的平均延遲E[T]可以表示為
(1)
試驗(yàn)中反復(fù)進(jìn)行10次測試,即n=20,測試結(jié)果的平均值如表1所示。
表1 運(yùn)用組播策略的時(shí)延測試結(jié)果
然后對應(yīng)添加3組IP組播組,在每個(gè)節(jié)點(diǎn)路由器上運(yùn)行PIM-SM,配置節(jié)點(diǎn)#1為RP,使用IP組播測試工具重復(fù)上面的試驗(yàn),反復(fù)進(jìn)行10次測試,即n=20,測試結(jié)果的平均值如表2所示。
表2 IP組播的時(shí)延測試結(jié)果
可以看到,運(yùn)用組播策略后的最大時(shí)延比IP組播有較大縮短。這是因?yàn)镻IM-SM中,組播樹切換為SPT前,數(shù)據(jù)都要先匯聚到RP再分發(fā)給成員,存在重復(fù)傳輸路徑,增加了最大時(shí)延。
本節(jié)測試網(wǎng)絡(luò)拓?fù)渥兓?,組播數(shù)據(jù)從中斷到恢復(fù)的時(shí)間。
在圖6的網(wǎng)絡(luò)中,從節(jié)點(diǎn)#5持續(xù)發(fā)送組播身份號為0xFF的組播業(yè)務(wù)數(shù)據(jù),間隔125 ms。所有成員收到數(shù)據(jù)后,斷開節(jié)點(diǎn)#5與節(jié)點(diǎn)#3之間的有線鏈路,記錄此時(shí)到恢復(fù)接收數(shù)據(jù)的丟包數(shù),可以估算出組播業(yè)務(wù)數(shù)據(jù)在網(wǎng)絡(luò)變化后的恢復(fù)時(shí)間,記錄估算的恢復(fù)時(shí)間。然后對應(yīng)添加IP組播組,在每個(gè)節(jié)點(diǎn)路由器上運(yùn)行PIM-SM,配置節(jié)點(diǎn)#1為RP,使用IP組播測試工具重復(fù)上面的試驗(yàn)。反復(fù)進(jìn)行20次測試,測試結(jié)果的平均值如表3所示。
表3 組播恢復(fù)時(shí)間測試結(jié)果
可以看到,新組播方案中單播路由恢復(fù)后組播數(shù)據(jù)通信立即恢復(fù)正常,沒有額外等待時(shí)間。而IP組播下額外等待了約875 ms才恢復(fù)通信,原因是單播路由在斷開與恢復(fù)過程中PIM-SM需要重新交互剪枝或嫁接報(bào)文,產(chǎn)生了傳輸時(shí)延開銷。
本文的主要?jiǎng)?chuàng)新點(diǎn)在于基于名址分離技術(shù),設(shè)計(jì)實(shí)現(xiàn)了一種將組播信息報(bào)頭附加在組播數(shù)據(jù)報(bào)文頭部,配合相應(yīng)的組播轉(zhuǎn)發(fā)策略進(jìn)行組播轉(zhuǎn)發(fā)的方案,解決了戰(zhàn)術(shù)通信系統(tǒng)中網(wǎng)絡(luò)頻繁變化及鏈路帶寬低對組播業(yè)務(wù)影響較大的問題,可以較好地應(yīng)用于高實(shí)時(shí)、低帶寬、高動(dòng)態(tài)的戰(zhàn)術(shù)通信場景。試驗(yàn)結(jié)果表明,在網(wǎng)絡(luò)拓?fù)渥兓蠡謴?fù)組播通信的過程中不產(chǎn)生額外等待時(shí)延,且在窄帶鏈路具有較好的時(shí)延表現(xiàn),在這兩方面具有比PIM-SM更好的性能,能滿足戰(zhàn)術(shù)通信系統(tǒng)對組播業(yè)務(wù)通信的要求。
下一步的研究工作主要是在大規(guī)模有無線混合組網(wǎng)場景下驗(yàn)證本方案所能達(dá)到的極限性能。