(空軍工程大學(xué) 電訊工程學(xué)院,西安 710077)
短波數(shù)據(jù)通信由于其自身信道的不穩(wěn)定性,相較于其它通信方式存在信道質(zhì)量差、丟包率高等特點(diǎn),且電離層的變化、多徑干擾、衰落、頻偏等因素都會(huì)影響數(shù)據(jù)的傳輸。
美軍在MIL-STD-188-184軍標(biāo)中定義了無線多播數(shù)據(jù)鏈路協(xié)議;Johnson博士借鑒ACP142中的P-MUL協(xié)議定義了一種需要接收方反饋ACK/NCK信息的短波通信可靠多播協(xié)議;北約標(biāo)準(zhǔn)STANAG4538定義了一對(duì)數(shù)據(jù)傳輸協(xié)議HDL(High throughput Data Link)和LDL(Low latency Data Link);Harris公司在HDL的基礎(chǔ)上發(fā)展了一種新的數(shù)據(jù)鏈路傳輸協(xié)議HDL+,并在其生產(chǎn)的商業(yè)短波電臺(tái)中提供了一種不需要答復(fù)的廣播服務(wù)[1]。通過對(duì)這些協(xié)議的分析發(fā)現(xiàn),目前短波多播群組管理方面還不是很完善。
在多播協(xié)議中群組管理是需要解決的一個(gè)重要問題,外軍協(xié)議也未對(duì)多播的群組管理問題給出清晰的設(shè)計(jì)方案,網(wǎng)絡(luò)結(jié)構(gòu)只是傳統(tǒng)的單層模型。多播數(shù)據(jù)傳輸網(wǎng)絡(luò)內(nèi)部成員數(shù)量并不固定,當(dāng)有臨時(shí)節(jié)點(diǎn)加入或退出時(shí),存在工作效率低、節(jié)點(diǎn)處理時(shí)延較長、網(wǎng)絡(luò)復(fù)雜度較高等問題。本文針對(duì)這些問題,在基于異步短波通信可靠多播協(xié)議條件下,提出一種樹形分層多播網(wǎng)絡(luò)群組管理模型,通過“分層”降低短波多播網(wǎng)絡(luò)在有節(jié)點(diǎn)加入或退出時(shí)與網(wǎng)絡(luò)內(nèi)部成員的交互次數(shù),使上述問題能得到明顯改善。
由于第二代短波通信并沒有實(shí)現(xiàn)發(fā)送方和接收方的時(shí)鐘同步,故短波可靠多播傳輸協(xié)議都是基于異步反饋的條件,因此在實(shí)現(xiàn)可靠多播時(shí)存在的主要問題是反饋信息的信道爭用方式[2]。
短波網(wǎng)絡(luò)中應(yīng)對(duì)每個(gè)節(jié)點(diǎn)進(jìn)行編號(hào),以便區(qū)分和管理,同時(shí)要求編號(hào)自適應(yīng)調(diào)整。當(dāng)有節(jié)點(diǎn)加入時(shí),其節(jié)點(diǎn)編號(hào)自動(dòng)補(bǔ)到網(wǎng)絡(luò)末尾;當(dāng)有節(jié)點(diǎn)退出時(shí),該節(jié)點(diǎn)編號(hào)由網(wǎng)絡(luò)最末編號(hào)頂替。一般來說,發(fā)送數(shù)據(jù)的多播節(jié)點(diǎn)的網(wǎng)絡(luò)編號(hào)為1,在網(wǎng)絡(luò)內(nèi)某一節(jié)點(diǎn)需要發(fā)送數(shù)據(jù)時(shí),對(duì)應(yīng)節(jié)點(diǎn)網(wǎng)絡(luò)編號(hào)自動(dòng)更新為1,而原1號(hào)節(jié)點(diǎn)的網(wǎng)絡(luò)編號(hào)自動(dòng)更新為當(dāng)前多播節(jié)點(diǎn)的原網(wǎng)絡(luò)編號(hào),這主要是為了方便后面接收節(jié)點(diǎn)的超時(shí)計(jì)算。
多播節(jié)點(diǎn)處理接收節(jié)點(diǎn)的反饋信息。反饋信息是在多播節(jié)點(diǎn)向網(wǎng)絡(luò)內(nèi)所有接收節(jié)點(diǎn)發(fā)送完全部數(shù)據(jù)之后傳輸,按照一定的信道爭用方式順序發(fā)送反饋信息,采用一個(gè)類似于令牌環(huán)的信道爭用方式。以多播節(jié)點(diǎn)為例,在多播節(jié)點(diǎn)發(fā)送完全部數(shù)據(jù)后,各接收節(jié)點(diǎn)按照網(wǎng)絡(luò)編號(hào)依次發(fā)送反饋信息,當(dāng)編號(hào)為2的接收節(jié)點(diǎn)收到多播節(jié)點(diǎn)的數(shù)據(jù)發(fā)送完畢標(biāo)志位之后,首先廣播反饋信息,多播節(jié)點(diǎn)與其它接收節(jié)點(diǎn)都將收到這個(gè)信息,則編號(hào)為3及后續(xù)節(jié)點(diǎn)也將依次發(fā)送自己的反饋信息。
由于短波數(shù)據(jù)傳輸?shù)牡涂煽啃?,所有二?jí)節(jié)點(diǎn)特別是與自身編號(hào)相鄰的接收節(jié)點(diǎn)可能會(huì)出現(xiàn)信息丟失情況,因此對(duì)于某一個(gè)接收節(jié)點(diǎn)從最近的一次接收到其它接收節(jié)點(diǎn)的反饋信息開始根據(jù)相應(yīng)編號(hào)的差值計(jì)算并更新超時(shí),多播節(jié)點(diǎn)同樣計(jì)算并更新超時(shí)。單節(jié)點(diǎn)傳輸超時(shí)的設(shè)定略大于實(shí)際反饋信息發(fā)送所需的時(shí)間,同時(shí)對(duì)超時(shí)設(shè)定要確保滿足以下條件:
Tturnar+(n-2)Ttran+Tmax>(n-2)Tmax+Ttran
(1)
(2)
式中,n為二級(jí)節(jié)點(diǎn)數(shù),Tmax為實(shí)際節(jié)點(diǎn)反饋信息需要的傳輸時(shí)間,Tturnar是鏈路輪回時(shí)間,Ttran是為單節(jié)點(diǎn)超時(shí)設(shè)定。
這樣保證了在極限情況下反饋信道不發(fā)生擁塞:即在編號(hào)為n-1的接收節(jié)點(diǎn)沒有收到任何前面接收節(jié)點(diǎn)反饋信息,同時(shí)其它接收節(jié)點(diǎn)均可以正確接收反饋信息;編號(hào)為n的接收節(jié)點(diǎn)無法接收到編號(hào)為n-1的接收節(jié)點(diǎn)反饋信息的情況下,編號(hào)為n-1的節(jié)點(diǎn)從多播節(jié)點(diǎn)接收信息的接收標(biāo)志開始計(jì)算超時(shí)后發(fā)送反饋信息,仍然與編號(hào)為n的接收節(jié)點(diǎn)接收到編號(hào)為n-2的接收節(jié)點(diǎn)的反饋信息開始計(jì)算超時(shí)后發(fā)送發(fā)反饋信息的數(shù)據(jù)不發(fā)生碰撞。
當(dāng)接收節(jié)點(diǎn)返回的是ACK信息時(shí),則不再接收多播節(jié)點(diǎn),針對(duì)其它接收節(jié)點(diǎn)要求重發(fā)數(shù)據(jù),直到新一輪多播開始。
對(duì)于多播節(jié)點(diǎn)在接收到反饋信息之后,自動(dòng)記錄返回ACK或NCK的子網(wǎng)編號(hào),同時(shí)根據(jù)所有的NCK信息確定需要重發(fā)的數(shù)據(jù)包隊(duì)列。實(shí)際中存在多播節(jié)點(diǎn)未收到某一個(gè)接收節(jié)點(diǎn)的反饋信息,系統(tǒng)設(shè)定若在第五次多播中仍沒有這個(gè)接收節(jié)點(diǎn)的反饋信息,則認(rèn)為這個(gè)接收節(jié)點(diǎn)第一次丟失的是ACK信息,系統(tǒng)默認(rèn)該接收節(jié)點(diǎn)已經(jīng)可靠接收全部數(shù)據(jù),多播節(jié)點(diǎn)就不需要繼續(xù)給該節(jié)點(diǎn)發(fā)送數(shù)據(jù)。若存在只有一個(gè)接收節(jié)點(diǎn)的反饋信息丟失而其它節(jié)點(diǎn)均為ACK信息的情況,多播節(jié)點(diǎn)無法確認(rèn)丟失為何種反饋信息及需要重傳的數(shù)據(jù)包隊(duì)列,就將上一次發(fā)送的數(shù)據(jù)包隊(duì)列進(jìn)行重新發(fā)送。
單層多播網(wǎng)絡(luò)是單個(gè)多播節(jié)點(diǎn)對(duì)多個(gè)接收節(jié)點(diǎn)的單層網(wǎng)絡(luò)結(jié)構(gòu)(見圖1),當(dāng)有一個(gè)節(jié)點(diǎn)或多個(gè)節(jié)點(diǎn)需要加入或退出該網(wǎng)絡(luò)時(shí),則需要通知該網(wǎng)絡(luò)的所有節(jié)點(diǎn)。
圖1 單層多播網(wǎng)絡(luò)模型
假設(shè)多播網(wǎng)絡(luò)有n個(gè)節(jié)點(diǎn),采用異步短波可靠多播協(xié)議,若有m個(gè)節(jié)點(diǎn)需加入該網(wǎng)絡(luò),則必須通知網(wǎng)絡(luò)中所有節(jié)點(diǎn)。為了防止頻率沖突,該節(jié)點(diǎn)不能在網(wǎng)絡(luò)多播時(shí)加入,而且該節(jié)點(diǎn)不是網(wǎng)絡(luò)成員,所以不能以廣播形式通知該網(wǎng)絡(luò)的所有節(jié)點(diǎn),故只能采取點(diǎn)對(duì)點(diǎn)的方式進(jìn)行通知。在通知過程中,若出現(xiàn)數(shù)據(jù)丟失,則丟失數(shù)據(jù)的節(jié)點(diǎn)根據(jù)反饋到該節(jié)點(diǎn)的信息來確定重發(fā)的數(shù)據(jù)。當(dāng)該節(jié)點(diǎn)收到網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)的確認(rèn)信息后,該節(jié)點(diǎn)加入網(wǎng)絡(luò)成功,直到m個(gè)節(jié)點(diǎn)均加入到該網(wǎng)絡(luò)為止。
假設(shè)添加第一個(gè)節(jié)點(diǎn)時(shí)網(wǎng)絡(luò)有n個(gè)節(jié)點(diǎn),Pe為數(shù)據(jù)交付率,T服從二項(xiàng)分布,xi為概率大小,則:
TT1ωXiPe1-Pe
其中T1為發(fā)送信息的時(shí)間和收到確認(rèn)信息所用的時(shí)間之和,t為通知一個(gè)節(jié)點(diǎn)成功所需時(shí)間,則添加1個(gè)節(jié)點(diǎn)所需總時(shí)間為
Tall=[T1·Pe+ω·(1-Pe)]·n+t·n
(3)
令t=T1·Pe+ω·(1-Pe),則添加m個(gè)節(jié)點(diǎn)需要的時(shí)間為
T=tn+t(n+1)+…+t(n+m-1)=
(4)
而網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)的退出分為兩種情況。第一種是某節(jié)點(diǎn)通知網(wǎng)絡(luò)退出的情況,該節(jié)點(diǎn)必須通知網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn),發(fā)送退出信息,并處理反饋信息,在收到網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)的確認(rèn)反饋信息后,該節(jié)點(diǎn)退出。網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)總數(shù)為n,退出節(jié)點(diǎn)數(shù)為m,數(shù)據(jù)交付率為Pe,則若退出m個(gè)節(jié)點(diǎn)需要的時(shí)間為
(5)
第二種是某節(jié)點(diǎn)在未通知網(wǎng)絡(luò)的情況下退出,此時(shí),多播節(jié)點(diǎn)在多播時(shí)將不會(huì)得到該節(jié)點(diǎn)的反饋信息,根據(jù)若干次超時(shí)計(jì)算,多播節(jié)點(diǎn)就判定該節(jié)點(diǎn)退出,并將這一信息多播給網(wǎng)絡(luò)其它節(jié)點(diǎn),在收到所有節(jié)點(diǎn)反饋信息后,該節(jié)點(diǎn)確認(rèn)退出。
在短波網(wǎng)絡(luò)初建時(shí)將整個(gè)網(wǎng)絡(luò)劃分為若干個(gè)子網(wǎng)絡(luò)[3],子網(wǎng)不影響各節(jié)點(diǎn)之間的點(diǎn)對(duì)點(diǎn)通信(如圖2)。各子網(wǎng)中規(guī)定一個(gè)節(jié)點(diǎn)作為該子網(wǎng)的首節(jié)點(diǎn),即群首節(jié)點(diǎn),另外規(guī)定一個(gè)節(jié)點(diǎn)作為備用群首節(jié)點(diǎn),設(shè)置備用群首節(jié)點(diǎn)是為了避免該子網(wǎng)群首節(jié)點(diǎn)變?yōu)橄麓味嗖ス?jié)點(diǎn)而導(dǎo)致加入網(wǎng)絡(luò)失敗,當(dāng)群首節(jié)點(diǎn)成為下次多播節(jié)點(diǎn)時(shí),備用節(jié)點(diǎn)將頂替該群首節(jié)點(diǎn),成為該子網(wǎng)新的群首節(jié)點(diǎn)。臨時(shí)有節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí),在可覆蓋范圍內(nèi),根據(jù)鏈路質(zhì)量分析原則任意加入到與自己通信狀況最好的群首節(jié)點(diǎn),并加入該群首節(jié)點(diǎn)所在的子網(wǎng)中[4]。
圖2 分層可靠多播網(wǎng)絡(luò)模型
子網(wǎng)內(nèi)的群首節(jié)點(diǎn)可以由任意節(jié)點(diǎn)擔(dān)任,但是在網(wǎng)絡(luò)建立初期就已經(jīng)選定好。
假設(shè)分層多播網(wǎng)絡(luò)內(nèi)有n個(gè)節(jié)點(diǎn),有m個(gè)節(jié)點(diǎn)需加入該網(wǎng)絡(luò),并設(shè)子網(wǎng)數(shù)量為P,每組成員(節(jié)點(diǎn))不固定,采用異步短波可靠多播協(xié)議。當(dāng)有節(jié)點(diǎn)需要加入網(wǎng)絡(luò)時(shí),首先根據(jù)鏈路質(zhì)量分析原則判定與哪一群首節(jié)點(diǎn)通信狀況最好,則其確定加入哪一子網(wǎng)絡(luò),欲加入網(wǎng)絡(luò)的節(jié)點(diǎn)不必像單層多播網(wǎng)絡(luò)那樣去通知所有的網(wǎng)絡(luò)成員,該節(jié)點(diǎn)只需通知其所加入子網(wǎng)的群首節(jié)點(diǎn)和備用群首節(jié)點(diǎn)即可;當(dāng)有節(jié)點(diǎn)退出時(shí),該節(jié)點(diǎn)同樣只需通知所在群群首節(jié)點(diǎn)和備用節(jié)點(diǎn)即可,所以:
Tall=2t
(6)
由于子網(wǎng)的劃分?jǐn)?shù)量和網(wǎng)絡(luò)規(guī)模、可用頻點(diǎn)數(shù)量、網(wǎng)絡(luò)中信道質(zhì)量因素之間的關(guān)系還未進(jìn)行深入研究,故未能給出在有多個(gè)節(jié)點(diǎn)需要加入或退出網(wǎng)絡(luò)時(shí)的具體最優(yōu)分組方法,只是推導(dǎo)出其所需的最大時(shí)間,但對(duì)體現(xiàn)這種分層模型的優(yōu)越性并無影響。所以m個(gè)節(jié)點(diǎn)加入或退出時(shí)所需時(shí)間為
T=2tm<最大時(shí)間>
(7)
使用Matlab軟件對(duì)兩種模型節(jié)點(diǎn)變動(dòng)時(shí)處理時(shí)延進(jìn)行模擬分析,實(shí)驗(yàn)結(jié)果選擇相同參數(shù)情況下多次測試的平均值。設(shè)定反饋信息的分組交付率為0.8、0.85、0.9、0.95,單個(gè)數(shù)據(jù)包的傳輸時(shí)間為4.8 s,鏈路輪回時(shí)間設(shè)置為1.5 s。仿真中設(shè)整個(gè)網(wǎng)絡(luò)有30個(gè)節(jié)點(diǎn)。仿真結(jié)果如圖3和圖4所示。
圖3 節(jié)點(diǎn)加入處理延時(shí)曲線
短波數(shù)據(jù)通信由于其自身的信道特點(diǎn),如信道質(zhì)量差、數(shù)據(jù)傳輸時(shí)丟包與錯(cuò)誤概率高,要實(shí)現(xiàn)可靠傳輸則需要重傳的次數(shù)也較多,對(duì)傳輸延時(shí)影響較大[5]。
通過對(duì)兩種網(wǎng)絡(luò)模型的比較,由圖3和圖4可以看出,當(dāng)網(wǎng)絡(luò)有臨時(shí)節(jié)點(diǎn)加入和退出時(shí),要交互的節(jié)點(diǎn)過多,工作效率低,節(jié)點(diǎn)處理時(shí)延受節(jié)點(diǎn)加入和退出數(shù)量的影響較明顯;而分層網(wǎng)絡(luò)模型在網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)變動(dòng)時(shí)影響不大,當(dāng)有臨時(shí)節(jié)點(diǎn)加入或退出時(shí),只需通知該群組的群首節(jié)點(diǎn)和備用節(jié)點(diǎn)即可,使得交互次數(shù)明顯減少,降低了節(jié)點(diǎn)管理的處理時(shí)延。通過仿真比較可以明顯看出,該分層模型在有節(jié)點(diǎn)加入、退出等群組管理時(shí)具有優(yōu)越性并且較單層模型有了很大改善。
圖4 節(jié)點(diǎn)刪除處理延時(shí)曲線
此外由仿真結(jié)果可以看到,節(jié)點(diǎn)處理時(shí)延與節(jié)點(diǎn)個(gè)數(shù)呈線性關(guān)系,且受到數(shù)據(jù)交付率的影響;而分層可靠多播網(wǎng)絡(luò)模型在網(wǎng)絡(luò)節(jié)點(diǎn)變動(dòng)時(shí),受數(shù)據(jù)分組交付率影響較小,傳輸?shù)目煽啃暂^單層網(wǎng)絡(luò)模型也有很大提高。
目前,我國的短波網(wǎng)絡(luò)化發(fā)展尚處于起步階段,可靠多播通信協(xié)議和規(guī)程并不完善,其中群組管理是短波可靠多播協(xié)議的一個(gè)重要部分,它影響到多播過程能否高效、可靠地運(yùn)行。本文通過網(wǎng)絡(luò)分層方法來進(jìn)行多播群組管理,對(duì)臨時(shí)節(jié)點(diǎn)加入或退出網(wǎng)絡(luò)的節(jié)點(diǎn)處理時(shí)延進(jìn)行了具體分析和比較。理論分析和仿真結(jié)果表明,該方法可為未來短波多播協(xié)議的完善起到一定的參考作用,在短波多播業(yè)務(wù)中也有良好的實(shí)用價(jià)值。進(jìn)一步研究的重點(diǎn)是當(dāng)多播通信過程中正常節(jié)點(diǎn)成為盲節(jié)點(diǎn)時(shí),群首節(jié)點(diǎn)對(duì)盲節(jié)點(diǎn)當(dāng)前狀態(tài)的判定和處理問題。
參考文獻(xiàn):
[1] Eric Koski. Concepts for A Reliable Multicast Data Link Protocol for HF Radio Communications[R].[S.l.]:Harris Corporation Rochester,2009.
[2] Johnson E E, Balakrishnan M,Tang Z. Impact of Turnaround Time on Wireless MAC Protocols[C]//Proceedings of MILCOM 2003. Boston:IEEE, 2003:375-381.
[3] 林祥軍.多對(duì)多組島層級(jí)可靠組播的研究與設(shè)計(jì)[D]. 吉林:吉林大學(xué),2005.
LIN Xiang-jun.The Research and Design of the Reliable Many-to-Many Group Islands Level Multicast[D]. Jilin: Jilin University, 2005. (in Chinese)
[4] Zhang Huiyan,Eric E Johnson. A Third-Generation Multicast Protocol for HF Wireless Networks[D].Las Cruces,New Mexico:New Mexico State University,2005.
[5] 黃慶寧.低速率短波傳輸系統(tǒng)中混合ARQ技術(shù)實(shí)現(xiàn)[D].南京:東南大學(xué),2005.
HUANG Qing-ning.Mix ARQ Techniques Implement in Low-spreed of HF Transmit System [D]. Nanjing: Southeast University, 2005. (in Chinese)