張 平
(中國電子科技集團公司第五十四研究所,河北 石家莊 050081)
DTN網(wǎng)絡是空間通信中的一種未來全局網(wǎng)絡通信架構[1-5],其利用存儲轉(zhuǎn)發(fā)機制進行數(shù)據(jù)傳輸。針對DTN網(wǎng)絡的研究依然是一個熱點,比如對于網(wǎng)絡體系[6]和網(wǎng)絡時間同步[7]、DTN網(wǎng)絡數(shù)據(jù)編碼[8]、路由算法[9-11]以及DTN應用等方面[12-13]。DTN網(wǎng)絡架構提供了一個覆蓋層網(wǎng)絡,并提出了束協(xié)議[14-15],將底層的不同協(xié)議進行統(tǒng)一。此外,工作組還提出了一種適用于空間DTN網(wǎng)絡的傳輸協(xié)議LTP[16],空間網(wǎng)絡傳輸層可靠傳輸可采用LTP協(xié)議紅段,不可靠傳輸可采用LTP協(xié)議綠段或UDP協(xié)議,以及針對文件的CFDP協(xié)議[17]。但在空間環(huán)境中,鏈路質(zhì)量是變化的,比如隨著天體運行遮蓋等,當信道鏈路較好時,采用不可靠傳輸也可以傳輸成功。因此,如何靈活地運用可靠傳輸與盡力而為的傳輸是一個研究熱點。這方面,標準DTN協(xié)議棧提供可供上層應用選擇的使用方式。本文提出了一種基于歷史重傳率的轉(zhuǎn)發(fā)決策方法(Forwarding Decision Method,F(xiàn)DM),在鏈路質(zhì)量較好時,采用不可靠方式進行數(shù)據(jù)傳輸;當鏈路質(zhì)量變差時,采用可靠傳輸,并搭建了場景進行了試驗,試驗結(jié)果表明該方法能夠提高轉(zhuǎn)發(fā)效率。
基于歷史重傳率的FDM在與轉(zhuǎn)發(fā)器銜接的傳輸層引入了一對傳輸服務,分別提供可靠傳輸和不可靠傳輸。首次,轉(zhuǎn)發(fā)節(jié)點采用盡力而為的傳輸服務對束進行轉(zhuǎn)發(fā)并對轉(zhuǎn)發(fā)結(jié)果進行檢測;根據(jù)轉(zhuǎn)發(fā)節(jié)點的每個下一跳節(jié)點的當前已轉(zhuǎn)發(fā)束個數(shù)以及當前重傳束總數(shù),計算得到轉(zhuǎn)發(fā)節(jié)點的每個下一跳節(jié)點的重傳束的重傳率P;查找當前待轉(zhuǎn)發(fā)束對應的下一跳節(jié)點的重傳率P,以重傳率P為概率將待轉(zhuǎn)發(fā)束提交給匯聚層可靠傳輸進行轉(zhuǎn)發(fā);以(1-P)為概率對當前待轉(zhuǎn)發(fā)束執(zhí)行下面步驟:判斷束的時間戳,若當前待轉(zhuǎn)發(fā)束的創(chuàng)建時間戳大于上一個被轉(zhuǎn)發(fā)束的創(chuàng)建時間戳,則將當前束提交給匯聚層盡力而為的傳輸服務進行傳輸,否則提交給匯聚層可靠傳輸服務進行傳輸。
DTN協(xié)議棧組成如圖1所示,DTN協(xié)議棧中包含應用層、Bundle束層、傳輸層、網(wǎng)絡層、鏈路層以及物理層等。上層應用通過調(diào)用BP協(xié)議發(fā)送方法進行數(shù)據(jù)發(fā)送,BP層將待轉(zhuǎn)發(fā)束傳入轉(zhuǎn)發(fā)器,如節(jié)點x的轉(zhuǎn)發(fā)器所示,采用一個可靠傳輸方法以及一個盡力而為的傳輸方法共同進行轉(zhuǎn)發(fā)決策,同時基于統(tǒng)計的方法來統(tǒng)計束重傳率,并進一步指導數(shù)據(jù)轉(zhuǎn)發(fā)。
在DTN轉(zhuǎn)發(fā)節(jié)點的匯聚層中引入一對傳輸服務——盡力而為的傳輸服務和可靠的傳輸服務;盡力而為的傳輸服務為不可靠傳輸,包括LTP協(xié)議的綠段服務和UDP協(xié)議;可靠傳輸服務包括LTP協(xié)議的紅段服務和TCP協(xié)議。束層采用保管傳輸機制,以提供當匯聚層盡力而為傳輸服務失效的情況下,數(shù)據(jù)的可靠傳輸保證;保管傳輸超時定時器采用單次超時,以避免由于鏈路延遲等因素引起的不必要重傳。
首次,轉(zhuǎn)發(fā)節(jié)點采用盡力而為的傳輸服務對束進行轉(zhuǎn)發(fā)并對轉(zhuǎn)發(fā)結(jié)果進行檢測。
根據(jù)轉(zhuǎn)發(fā)節(jié)點的每個下一跳節(jié)點的當前已轉(zhuǎn)發(fā)束個數(shù)以及當前重傳束總數(shù),計算得到轉(zhuǎn)發(fā)節(jié)點的每個下一跳節(jié)點的重傳束的重傳率P。
圖1 DTN協(xié)議棧組成
首先,基于信道環(huán)境計算理論的束丟失率/重傳率,例如當?shù)讓硬捎肐P網(wǎng)絡時,采用不可靠方法時,其Bundle丟失率。
P(theory)=丟包率(IP層)*Bundle尺寸/Packet尺寸(IP層)。
束重傳率與丟失率等價,丟失即會重傳。對計算出的理論重傳率進行判斷:
①P(theory)≥1時,即為信道環(huán)境差或Bundle尺寸過大,導致采用不可靠方法傳輸理論上100%的丟失概率時,則設定系統(tǒng)直接采用可靠傳輸方式進行轉(zhuǎn)發(fā)。
② 當0
設定2個變量:totalForwardBundleCnt為對于同一目的地統(tǒng)計的當前轉(zhuǎn)發(fā)束個數(shù)(不含重傳束);totalResendBundleCnt為當前重傳束總數(shù)。則當前重傳率P為:
1-轉(zhuǎn)發(fā)成功率=1-(totalResendBundleCnt)/
(totalForwardBundleCnt)。
查找當前待轉(zhuǎn)發(fā)束對應的下一跳節(jié)點的重傳率P,以重傳率P為概率將待轉(zhuǎn)發(fā)束提交給匯聚層可靠傳輸進行轉(zhuǎn)發(fā);以(1-P)為概率對當前待轉(zhuǎn)發(fā)束執(zhí)行下面步驟:判斷束的時間戳,若當前待轉(zhuǎn)發(fā)束的創(chuàng)建時間戳大于上一個被轉(zhuǎn)發(fā)束的創(chuàng)建時間戳,則將當前束提交給匯聚層盡力而為的傳輸服務進行傳輸,否則提交給匯聚層可靠傳輸服務進行傳輸。
評價方法采用傳輸延遲時間(Transform Delay Time,TDT)以及單位時間接收端接收的不重復束個數(shù)(Unrepeated Bundle Delivery Count,UBDC)來進行。ATDT定義為數(shù)據(jù)流接收完成時間與數(shù)據(jù)流發(fā)送時間的差值。UBDC定義為最終接收束的節(jié)點在一段時間內(nèi)接收到的不重復束個數(shù)。
試驗軟件以美國宇航局NASA噴氣推進實驗室JPL的開放源代碼的ION[18-19]軟件包為基礎進行代碼開發(fā),在BP轉(zhuǎn)發(fā)器層增加FDM算法代碼進行試驗。
試驗采用2個DTN節(jié)點,之間采用IP鏈路進行連接,每個DTN節(jié)點部署具有FDM方法的協(xié)議棧,LTP段最大凈荷單元尺寸Size_packet為1 472 Byte,重傳定時器Timeout采用15 s。采用3 Mbps的速率模擬數(shù)據(jù)流進行數(shù)據(jù)發(fā)送。試驗中用到的誤碼率BER是從空間通信領域中的通信鏈路屬性變化的表述中提取的[20],當前環(huán)境下束理想丟失率為:
LossRate_packet*(Size_bundle/Size_packet)。
式中,Size_bundle為束尺寸大??;LossRate_packet為不同信道環(huán)境下的丟包率。共設計了3種信道環(huán)境,即250 ms時延,10-6的誤碼率;1.3 s時延,10-6的誤碼率以及2 s時延,10-5的誤碼率。丟包率(Packet Error Rate,PER)與誤碼率(Bit Error Rate,BER)的換算關系如下:
PER=1-(1-BER)S,
式中,S=8*Packet尺寸(以Byte為單位)。
并采用Bundle級別聚合,即束凈荷采用20 866 Byte。接收端進行重復過濾,基于bundle創(chuàng)建時間戳,統(tǒng)計接收到的重復束個數(shù),不重復束個數(shù)等。試驗對比方法采用的是基于LTP紅段的可靠傳輸方法,這里稱為“傳統(tǒng)IPN方法”。
試驗結(jié)果如圖2和圖3所示。圖2為FDM方法與傳統(tǒng)IPN轉(zhuǎn)發(fā)方法,在不同誤碼率的信道環(huán)境下的傳輸延遲時間比較結(jié)果。從圖2中可以看出,在信道環(huán)境較好的情況下,F(xiàn)DM方法的傳輸延遲時間均小于傳統(tǒng)IPN方法,但當信道質(zhì)量變差時,F(xiàn)DM方法效果不及傳統(tǒng)方法。究其原因,算法本身是基于歷史重傳率來進行轉(zhuǎn)發(fā)決策的,信道較好時,如近地空間通信,鏈路誤碼率通常為10-7~10-6,F(xiàn)DM算法可以在下一次傳輸時,直接根據(jù)歷史重傳率來決定當前束是否直投遞給可靠傳輸方法或者非可靠傳輸方法,所以傳輸延遲時間較短,而當信道環(huán)境惡化導致采用不可靠傳輸投遞的束,有更多比例會丟失重傳,且FDM算法從惡劣信道傳輸中恢復到正常信道傳輸所花費的時間會更長,所以傳輸延時時間較長。
圖2 傳輸延遲時間TDT對比結(jié)果
圖3展示了傳輸開始50 s后,接收端接收到的不重復束的個數(shù),圖3中可以看到,當接收端接收50 s后,在信道環(huán)境較好時,F(xiàn)DM方法其接收到的不重復束個數(shù)均高于傳統(tǒng)IPN方法,僅在信道環(huán)境差時,其接收到的不重復數(shù)個數(shù)低于傳統(tǒng)方法,原因同上。因此,F(xiàn)DM方法更加適應于信道質(zhì)量較好的情況,可以采用初次采用不可靠方式傳輸時,其丟失概率的大小來評估信道質(zhì)量優(yōu)劣。
圖3 50 s后接收的不重復束個數(shù)UBDC對比
DTN網(wǎng)絡下的轉(zhuǎn)發(fā)決策方法FDM提供了信道質(zhì)量較好情況下的DTN數(shù)據(jù)可靠傳輸方法,相較傳統(tǒng)DTN方法而言,基于LTP紅段來提供可靠傳輸,基于UDP或LTP綠段提供不可靠傳輸,并基于歷史轉(zhuǎn)發(fā)重傳率來動態(tài)決定轉(zhuǎn)發(fā)方式,來提高傳輸成功率。并搭建了典型的試驗場景進行試驗,試驗結(jié)果表明,在信道質(zhì)量較好時,該方法可以提高傳輸成功率,在近地空間通信場景中,一般的誤碼率均在10-7~10-6之間,所以該方法可以為近地空間通信提供一種技術路線。以后的研究中,可以考慮增加更加復雜的轉(zhuǎn)發(fā)決策因子,并基于多點網(wǎng)絡的模擬情況來綜合考量更貼合實際情況的轉(zhuǎn)發(fā)決策算法。