吳海濤 梁迎春
肇慶學(xué)院,廣東 526061
作為維系深空探測(cè)活動(dòng)的紐帶,深空通信與地面通信及衛(wèi)星通信相比[1],不但要忍受極長(zhǎng)且可變的時(shí)延,還要遭受各種干擾、損耗及衰減等交疊影響,更要面對(duì)由星體及探測(cè)器運(yùn)動(dòng)導(dǎo)致的頻繁鏈路斷續(xù)等問題,復(fù)雜多變的環(huán)境嚴(yán)重制約著數(shù)據(jù)傳輸效率。當(dāng)前,通過增加發(fā)射功率、增大天線口徑等技術(shù)手段提升點(diǎn)對(duì)點(diǎn)鏈路的傳輸能力,已難以支撐未來空間科學(xué)活動(dòng)的全面展開[2]。隨著探測(cè)任務(wù)深入開展、探測(cè)距離持續(xù)加大及載荷性能不斷提升,空間通信迫切需要一個(gè)互連、互操作且能提供容忍中斷、容忍延時(shí)服務(wù)的傳輸網(wǎng)絡(luò)。
如今,美國(guó)已建立了性能強(qiáng)大的深空測(cè)控網(wǎng)與火星中繼網(wǎng)絡(luò),“洞察”號(hào)火星探測(cè)器成功著陸并回傳圖片,彰顯了其強(qiáng)大的測(cè)控能力。我國(guó)深空探測(cè)起步較晚,現(xiàn)階段已解決了深空點(diǎn)對(duì)點(diǎn)通信問題,“天鏈”系列數(shù)據(jù)中繼衛(wèi)星組網(wǎng)、“鵲橋”月球中繼衛(wèi)星及嫦娥四號(hào)的成功發(fā)射標(biāo)志著我國(guó)正朝著網(wǎng)絡(luò)化傳輸發(fā)展。為了有效支撐未來更復(fù)雜、更遙遠(yuǎn)的深空探測(cè)任務(wù),滿足對(duì)數(shù)據(jù)傳輸效率的需求,人們正努力將CCSDS(Consultative Committee for Space Data Systems)空間通信協(xié)議簇,不斷移植到延時(shí)/中斷容忍網(wǎng)絡(luò)(Delay /Disruption-Tolerant Network,DTN)體系下,期望在極其艱難的星際環(huán)境中,DTN能提供如地面因特網(wǎng)般的服務(wù)。
眼下,DTN協(xié)議體系僅包含CCSDS正式頒布的BP(Bundle Protocol)、LTP(Licklider Transmission Protocol)等少數(shù)協(xié)議[3-4]。BP協(xié)議是核心覆蓋層協(xié)議,采用保管傳輸及存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制,改善了端到端的可靠性。作為BP協(xié)議的一種匯聚層協(xié)議,LTP協(xié)議秉承了CFDP(CCSDS File Delivery Protocol)的設(shè)計(jì)思路,是專為深空長(zhǎng)距離鏈路設(shè)計(jì)的點(diǎn)對(duì)點(diǎn)協(xié)議。LTP協(xié)議通過會(huì)話(Session)將應(yīng)用數(shù)據(jù)以塊(Block)形式傳輸,既能提供類似TCP的可靠傳輸,也可提供如同UDP的盡力而為服務(wù)。
目前,空間TCP/IP協(xié)議體系已被證實(shí)無法適用于深空環(huán)境,CCSDS協(xié)議體系雖得到成功應(yīng)用,但需針對(duì)不同場(chǎng)景人工選擇相應(yīng)協(xié)議,DTN協(xié)議體系被視為解決深空通信面臨的長(zhǎng)距離、大衰減及鏈路斷續(xù)等困難的有效手段[5-6]。
近幾年,在LTP協(xié)議方面出現(xiàn)了不少代表性的研究成果:1)根據(jù)LTP協(xié)議傳輸機(jī)理,利用實(shí)驗(yàn)平臺(tái)在特定場(chǎng)景中對(duì)比驗(yàn)證其傳輸性能。文獻(xiàn)[7-8]在上下行非對(duì)稱地月場(chǎng)景中,對(duì)比分析了LTP與TCP、UDP作為匯聚層協(xié)議的性能;2)通過數(shù)學(xué)建模,仿真估算會(huì)話傳輸時(shí)延。文獻(xiàn)[9-10]對(duì)LTP協(xié)議傳輸過程建模,在地火場(chǎng)景中仿真驗(yàn)證了會(huì)話傳輸時(shí)延;3)將LTP協(xié)議與編碼結(jié)合設(shè)計(jì)傳輸協(xié)議,提升有效吞吐量。文獻(xiàn)[11-12]分別將Reed-Solomon碼、噴泉碼與LTP協(xié)議結(jié)合設(shè)計(jì)了新的傳輸協(xié)議,并分析了特定場(chǎng)景下的吞吐量;4)通過跨層聯(lián)合優(yōu)化設(shè)計(jì),以最小化文件傳遞時(shí)延等條件為約束,給出了在特定任務(wù)和環(huán)境下的數(shù)據(jù)單元大小優(yōu)化方案[13-14]。
但研究工作大都集中在LTP協(xié)議的單會(huì)話性能比較、傳輸過程建模、提高吞吐量及數(shù)據(jù)單元優(yōu)化等方面,對(duì)多會(huì)話傳輸及Bundle聚合研究較少。LTP單會(huì)話傳輸?shù)难舆t應(yīng)答機(jī)制,在以長(zhǎng)距離、斷續(xù)為顯著特征的深空鏈路中,會(huì)導(dǎo)致信道資源的利用率不足。因此,提高深空信道利用率就顯得尤為重要。
目前,作者對(duì)CFDP協(xié)議性能進(jìn)行了深入研究,提出了一種改進(jìn)方案并做了仿真對(duì)比驗(yàn)證[15-17];并在此基礎(chǔ)上建模分析了LTP會(huì)話傳輸過程,提出了異步加速重傳策略[18]。本文基于前期研究成果,采用多會(huì)話傳輸機(jī)制及Bundle聚合方法,提出一種多會(huì)話數(shù)據(jù)聚合策略,仿真分析其傳輸性能。
首先,根據(jù)鏈路層的最大傳輸單元(Maximum Transmission Unit, MTU)大小,將要傳輸?shù)恼麄€(gè)文件數(shù)據(jù)塊分割為數(shù)據(jù)段(Segments)。邏輯上,既包含需基于重傳保障可靠傳輸?shù)募t數(shù)據(jù)段,也包含無需可靠傳輸?shù)木G數(shù)據(jù)段。按照實(shí)際傳輸需求,會(huì)話數(shù)據(jù)塊也可全為紅數(shù)據(jù)段或綠數(shù)據(jù)段。然后,按照紅數(shù)據(jù)段先發(fā),綠數(shù)據(jù)段后發(fā)的原則依次發(fā)送。數(shù)據(jù)發(fā)送時(shí),數(shù)據(jù)塊中的最后一個(gè)紅數(shù)據(jù)段被標(biāo)記為紅數(shù)據(jù)結(jié)束(End of Red-Part, EORP),用于指示數(shù)據(jù)塊中的紅數(shù)據(jù)傳輸完畢,并將其作為檢查點(diǎn)(CheckPoint, CP),要求接收端一旦收到EORP后必須馬上回復(fù)接收?qǐng)?bào)告(Report Segment, RS)。當(dāng)發(fā)出EROP后,發(fā)送端立刻啟動(dòng)一個(gè)定時(shí)器,以備EORP在定時(shí)器超時(shí)后的自動(dòng)重傳。整個(gè)數(shù)據(jù)塊中的最后一個(gè)數(shù)據(jù)段也被標(biāo)記為塊結(jié)束(End of Block, EOB),表示整個(gè)會(huì)話數(shù)據(jù)塊傳輸完畢。
接收端在收到第一個(gè)數(shù)據(jù)段后,立刻啟動(dòng)會(huì)話接收過程。如果在接收過程中未發(fā)生數(shù)據(jù)錯(cuò)誤或丟失的話,接收端一旦收到EORP立刻回復(fù)一個(gè)RS,并啟動(dòng)一個(gè)定時(shí)器以便發(fā)送端無回應(yīng)時(shí)自動(dòng)重傳RS。發(fā)送端在成功收到RS后,馬上關(guān)閉對(duì)應(yīng)的EORP定時(shí)器,即刻產(chǎn)生并發(fā)送一個(gè)回復(fù)報(bào)告(Report-Acknowledgment segment, RA)。接收端在收到RA后,立刻關(guān)閉RS定時(shí)器,會(huì)話結(jié)束。如果在數(shù)據(jù)傳輸過程中有紅數(shù)據(jù)段丟失,就會(huì)啟動(dòng)重傳過程。接收端返回一個(gè)(或多個(gè))詳細(xì)描述丟失數(shù)據(jù)的接收?qǐng)?bào)告,并分別為每個(gè)RS開啟一個(gè)定時(shí)器。發(fā)送端在收到RS后,回復(fù)RA并重傳丟失的數(shù)據(jù)段,將重傳數(shù)據(jù)中的最后一個(gè)數(shù)據(jù)段標(biāo)記為CP。接收端在收到RA后,關(guān)閉相應(yīng)的RS定時(shí)器。當(dāng)接收端收到CP后,再次統(tǒng)計(jì)收到的數(shù)據(jù),如果仍有數(shù)據(jù)丟失,需不斷重復(fù)上述重傳過程,如果此時(shí)所有數(shù)據(jù)均被成功接收,會(huì)話結(jié)束。
深空通信節(jié)點(diǎn)稀少、鏈路斷續(xù)及存儲(chǔ)轉(zhuǎn)發(fā)等特點(diǎn)要求必須高效地利用鏈路資源。如果LTP直至收到前一數(shù)據(jù)塊的回復(fù)信息,才繼續(xù)傳輸后面數(shù)據(jù)塊,就會(huì)造成可用傳輸時(shí)機(jī)的極大浪費(fèi)。因此,須考慮開啟多個(gè)會(huì)話提高信道利用率。
設(shè)想的一種LTP多會(huì)話傳輸機(jī)制如圖1所示。為方便闡述多會(huì)話傳輸機(jī)制,假設(shè)各會(huì)話中數(shù)據(jù)塊長(zhǎng)度相同,都包含3個(gè)紅數(shù)據(jù)段和1個(gè)綠數(shù)據(jù)段。
由圖1可見,在會(huì)話1中,當(dāng)數(shù)據(jù)塊Block1中標(biāo)記為EOB的綠數(shù)據(jù)段傳輸完后,發(fā)送端需等待一段時(shí)間才收到回復(fù)的接收?qǐng)?bào)告RS。如果需要等待的往返時(shí)間(Round Trip Time, RTT)很長(zhǎng),勢(shì)必導(dǎo)致珍貴鏈路資源的極大浪費(fèi)。
圖1 LTP多會(huì)話傳輸機(jī)制
為此,在發(fā)送端的處理能力、存儲(chǔ)空間等條件允許的情況下,可在會(huì)話1中的綠數(shù)據(jù)段發(fā)出后準(zhǔn)備開啟會(huì)話2。同樣地,在會(huì)話2的數(shù)據(jù)塊Block2發(fā)送完后開啟會(huì)話3,并以此方式依次開啟多個(gè)會(huì)話并發(fā)傳輸,充分利用等待接收?qǐng)?bào)告RS的空閑期,可大大提高深空信道的利用率。理論上來說,雖然可通過不斷開啟新的會(huì)話獲得更大的吞吐量,但是實(shí)際深空通信節(jié)點(diǎn)的存儲(chǔ)及處理能力都是嚴(yán)重受限的。因此,只能開啟有限的并發(fā)會(huì)話數(shù)。
目前,深空通信的業(yè)務(wù)類型日趨多樣,載荷性能不斷增強(qiáng),遙測(cè)數(shù)據(jù)日益增多,這為深空環(huán)境下的數(shù)據(jù)傳輸帶來了新的挑戰(zhàn)。在實(shí)際任務(wù)中,采用何種協(xié)議體系傳輸,以及將數(shù)據(jù)分割為多大的協(xié)議數(shù)據(jù)單元(Protocol Data Unit, PDU)來匹配信道特性,是一個(gè)需要考慮的問題。
通常在DTN協(xié)議體系中,應(yīng)用數(shù)據(jù)首先在BP層被分割為具有一定長(zhǎng)度的“Bundle”,并經(jīng)由DTN節(jié)點(diǎn)不斷向LTP匯聚層轉(zhuǎn)發(fā);其次,LTP匯聚層通過服務(wù)數(shù)據(jù)聚合(Service Data Aggregation, SDA)的方式,按照傳輸需求將一個(gè)或多個(gè)Bundle打包成一個(gè)數(shù)據(jù)塊Block;最后,LTP再根據(jù)數(shù)據(jù)鏈路層規(guī)定的MTU,將Block分割成多個(gè)一定長(zhǎng)度的數(shù)據(jù)段(Segment),并將其作為基本的數(shù)據(jù)傳輸單元。
深空通信的一個(gè)突出特點(diǎn)就是上下行傳輸速率非對(duì)稱,速率比可達(dá)1:1000,上行鏈路難免會(huì)對(duì)回復(fù)RS帶來較大的時(shí)延。有時(shí),應(yīng)用數(shù)據(jù)在BP層被分割為很多個(gè)小的Bundle,并要求為每個(gè)Bundle單獨(dú)回復(fù),如果一個(gè)數(shù)據(jù)塊Block僅封裝一個(gè)如此小的Bundle的話,接收端產(chǎn)生的回復(fù)RS數(shù)就會(huì)增多,容易導(dǎo)致回復(fù)的接收?qǐng)?bào)告RS得不到及時(shí)傳輸,并不斷累積繼而產(chǎn)生擁塞,嚴(yán)重影響到數(shù)據(jù)傳輸效率。在這種情況下,為了保證RS的及時(shí)傳輸,必須減少產(chǎn)生的RS數(shù)目,需要將BP層產(chǎn)生的多個(gè)小Bundle聚合為一個(gè)大的數(shù)據(jù)Block,以此降低回復(fù)的RS數(shù)目,減輕上行信道的壓力。
基于以上分析,提出了一種面向深空通信的LTP數(shù)據(jù)聚合方法,如圖2所示。首先,要傳輸?shù)脑磾?shù)據(jù)在BP層被分成多個(gè)小Bundle;然后,LTP通過SDA將多個(gè)Bundle聚合為一個(gè)Block;最后,按照數(shù)據(jù)鏈路層的MTU將Block 分割為多個(gè)Segment。究竟將多少個(gè)小Bundle聚合為一個(gè)Block,以此提高深空環(huán)境下的數(shù)據(jù)傳輸效率,是接下來要討論的問題。
圖2 數(shù)據(jù)聚合方法
下面結(jié)合多會(huì)話傳輸機(jī)制及數(shù)據(jù)聚合方法,對(duì)LTP多會(huì)話數(shù)據(jù)聚合過程進(jìn)行數(shù)學(xué)分析,并仿真驗(yàn)證。
為了分析方便,做出如下假設(shè):
1)不考慮收發(fā)節(jié)點(diǎn)的存儲(chǔ)能力;
2)EORP、CP、RS及RA錯(cuò)誤概率為0;
3)數(shù)據(jù)塊大小相同,會(huì)話間無等待時(shí)延;
4)接收端每次只產(chǎn)生一個(gè)回復(fù)報(bào)告RS;
5)無前向糾錯(cuò)機(jī)制。
文中分析用到的記號(hào)規(guī)定見表1。
表1 符號(hào)定義
LTP多會(huì)話數(shù)據(jù)聚合過程如圖3所示??梢姡谡麄€(gè)數(shù)據(jù)傳輸過程中,當(dāng)會(huì)話S1中的EORP/CP發(fā)送完畢后,發(fā)送端無需等待回復(fù)的信息,可立即開啟會(huì)話S2,并依次開啟S3等多個(gè)會(huì)話,且每個(gè)會(huì)話數(shù)據(jù)塊Block長(zhǎng)度一樣,都由一定數(shù)目的小Bundle聚合而成,且滿足LBlock=N·LBundle。當(dāng)會(huì)話數(shù)據(jù)塊中的EORP/CP到達(dá)接收端后,就會(huì)觸發(fā)接收端回復(fù)RS,發(fā)送端在收到RS后就會(huì)啟動(dòng)重傳過程,重傳的數(shù)據(jù)如圖3中的黑塊所示,所需的重傳回合數(shù)可視具體情況設(shè)定。每個(gè)會(huì)話皆按前述LTP單會(huì)話的過程將數(shù)據(jù)可靠傳輸,直至全部會(huì)話結(jié)束。
如前所述,聚合而成的數(shù)據(jù)塊Block依據(jù)鏈路層的MTU大小,被分割為多個(gè)一定長(zhǎng)度的數(shù)據(jù)段Segment,并以此為單位進(jìn)行傳輸。假設(shè)會(huì)話中每個(gè)數(shù)據(jù)段的錯(cuò)誤概率恒定,在整個(gè)多會(huì)話數(shù)據(jù)傳輸過程中,接收?qǐng)?bào)告RS均以會(huì)話“數(shù)據(jù)塊”的粒度產(chǎn)生,其大小由數(shù)據(jù)塊所含紅數(shù)據(jù)量的多少?zèng)Q定。在重傳階段中,由于是以“數(shù)據(jù)段”的粒度實(shí)現(xiàn)可靠傳輸?shù)?,重傳?shù)據(jù)量的多少由數(shù)據(jù)段的長(zhǎng)度及數(shù)量決定。
下面以會(huì)話S1和S2為例,簡(jiǎn)要分析多會(huì)話數(shù)據(jù)聚合過程。在會(huì)話S1中,接收端在收到EORP后,需要產(chǎn)生回復(fù)用的接收?qǐng)?bào)告RS,其長(zhǎng)度由錯(cuò)誤數(shù)據(jù)的多少及范圍決定。為了分析方便,將數(shù)據(jù)段發(fā)生錯(cuò)誤或丟失的錯(cuò)誤概率大小,以及數(shù)據(jù)塊的長(zhǎng)度集中映射到RS的報(bào)告長(zhǎng)度內(nèi),即用RS數(shù)據(jù)段的長(zhǎng)短來表征錯(cuò)誤數(shù)據(jù)量的多少。記會(huì)話S1中RS初次產(chǎn)生的時(shí)刻為初始0時(shí)刻。根據(jù)假設(shè),會(huì)話S1與S2間無等待時(shí)延,會(huì)話S2中初次產(chǎn)生RS的時(shí)刻即為TBlock。若忽略收發(fā)兩端的排隊(duì)處理時(shí)延,為了避免RS的累積導(dǎo)致?lián)砣?,接收端須做到在?huì)話S2的RS產(chǎn)生前,將會(huì)話S1產(chǎn)生的RS傳輸完畢,即滿足:
圖3 多會(huì)話數(shù)據(jù)聚合過程
TRS≤TBlock
(1)
易知,RS的發(fā)送時(shí)間為:
(2)
會(huì)話Block的發(fā)送時(shí)間為:
(3)
將公式(2)、(3)代入公式(1),可得:
(4)
又可表示為:
(5)
定義上下行信道速率比為:
(6)
公式(5)可表示為:
(7)
可得,
(8)
綜上可見,采用多會(huì)話傳輸時(shí),需要聚合的Bundle數(shù)目N與上下行信道速率比、RS長(zhǎng)度及Bundle長(zhǎng)度有著密切的關(guān)系。
下面通過仿真對(duì)影響B(tài)undle聚合數(shù)目的因素進(jìn)行分析,討論Bundle聚合數(shù)的下界,仿真場(chǎng)景參數(shù)如表2所示,仿真結(jié)果如圖4所示。
表2 仿真場(chǎng)景參數(shù)設(shè)置
由圖4(a)可以看出,在地火場(chǎng)景中Bundle的聚合數(shù)與接收?qǐng)?bào)告RS長(zhǎng)度為線性變化,且隨CR的增大而不斷減小;在地月場(chǎng)景中,Bundle聚合數(shù)目因CR較大變化不太明顯。從圖4(b)可見,不管是地月還是地火場(chǎng)景中,在RS長(zhǎng)度為30B的情況下,Bundle聚合數(shù)都隨Bundle長(zhǎng)度的增大而減少,并逐漸趨于1。當(dāng)Bundle長(zhǎng)度為4KB時(shí),不同CR(1∶50,1∶100,1∶200和1∶400)下的Bundle聚合數(shù)分別為1、1、2和3個(gè)。圖4(c)及(d)分別描述了地月、地火場(chǎng)景中,在不同Bundle長(zhǎng)度情況下,Bundle聚合數(shù)與RS長(zhǎng)度的變化關(guān)系。當(dāng)Bundle長(zhǎng)度為2KB時(shí),Bundle聚合數(shù)隨RS長(zhǎng)度成階梯上升變化。然而,當(dāng)Bundle長(zhǎng)度增大到16KB時(shí),Bundle聚合數(shù)為1,這意味著Bundle較長(zhǎng)時(shí)無需聚合。
綜上可得,當(dāng)Bundle長(zhǎng)度及CR較大時(shí),需要聚合的Bundle數(shù)目較小甚至無需聚合;反之,當(dāng)Bundle長(zhǎng)度及CR較小時(shí),才需采用聚合手段。既不能簡(jiǎn)單地認(rèn)為每個(gè)會(huì)話Block中僅含一個(gè)Bundle,也不能一味地通過聚合來減輕上行信道壓力,需要根據(jù)實(shí)際傳輸需求采取合適的聚合策略。
圖4 影響B(tài)undle聚合的因素
深空通信正朝著業(yè)務(wù)多樣化、數(shù)據(jù)海量化及傳輸網(wǎng)絡(luò)化的趨勢(shì)發(fā)展,這對(duì)提高數(shù)據(jù)傳輸效率提出了更高的要求,需要一個(gè)能容忍延時(shí)/中斷且能提供互連、互操作服務(wù)的網(wǎng)絡(luò)架構(gòu)及協(xié)議體系。DTN網(wǎng)絡(luò)架構(gòu)及傳輸協(xié)議為深空通信面臨的諸多挑戰(zhàn)提供了解決方案。本文提出了一種面向未來深空通信的LTP多會(huì)話數(shù)據(jù)聚合策略,可為我國(guó)航天測(cè)控中的深空通信傳輸協(xié)議設(shè)計(jì)提供參考。下一步將結(jié)合節(jié)點(diǎn)存儲(chǔ)空間受限的實(shí)際情況,分析數(shù)據(jù)傳輸過程中存儲(chǔ)空間的動(dòng)態(tài)變化,確定能開啟的并發(fā)會(huì)話數(shù),對(duì)深空環(huán)境下的LTP多會(huì)話數(shù)據(jù)聚合策略進(jìn)行更深入的研究。