一種面向深空網(wǎng)絡(luò)的文件傳輸方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明主要設(shè)及到空間網(wǎng)絡(luò)文件傳輸領(lǐng)域,特指一種面向深空網(wǎng)絡(luò)的文件傳輸方 法。
【背景技術(shù)】
[0002] 深空通信環(huán)境是典型的容遲容斷網(wǎng)絡(luò)值elay/Disruption Tolerant化twork, DTN)環(huán)境,其與普通陸地網(wǎng)絡(luò)最主要的差異是往返時(shí)延和誤碼率。星際網(wǎng)絡(luò)通信的往返時(shí) 延,尤其是信號(hào)的傳播時(shí)間,往往很大。例如,地球到木星衛(wèi)星化ropa的往返時(shí)延是66到 100分鐘。其次,深空網(wǎng)絡(luò)還有突發(fā)丟包的現(xiàn)象,即短時(shí)間內(nèi)出現(xiàn)連續(xù)丟包的問(wèn)題。
[0003] 針對(duì)深空網(wǎng)絡(luò)的長(zhǎng)時(shí)延高誤碼的特性,為在深空網(wǎng)絡(luò)中有效傳輸文件,目前已經(jīng) 提出了若干傳輸協(xié)議。例如:
[0004] (I)Licklider 傳輸協(xié)議 0;rp); 陽(yáng)0化]為解決深空環(huán)境下的可靠傳輸問(wèn)題,容延遲網(wǎng)絡(luò)研究小組值TNRG)提出了 Licklider傳輸協(xié)議化TP)。LTP協(xié)議作為DTN結(jié)構(gòu)中的傳輸層協(xié)議之一,設(shè)計(jì)目的是針對(duì) 端對(duì)端、長(zhǎng)時(shí)延的深空無(wú)線鏈路或長(zhǎng)時(shí)延、頻繁中斷的鏈路。LTP協(xié)議把數(shù)據(jù)分類成紅色部 分和綠色部分,只對(duì)紅色部分提供可靠傳輸。通過(guò)應(yīng)用對(duì)接收?qǐng)?bào)告的選擇性ACK機(jī)制,LTP 協(xié)議實(shí)現(xiàn)了數(shù)據(jù)自動(dòng)請(qǐng)求重傳(AR曲機(jī)制。
[0006] (2) DSTP 協(xié)議; 陽(yáng)007] DSTP引入了一種稱為雙自動(dòng)重傳值A(chǔ)R)的重傳技術(shù),能夠在發(fā)送端快速有效的填 補(bǔ)漏桐。DAR將每個(gè)報(bào)文重傳兩次,但在原始包和重傳包之間有一定延遲,每1/e-l個(gè)原始 包就會(huì)發(fā)出一個(gè)重傳包(e表示鏈路丟包率PER)。當(dāng)丟包時(shí),丟失的報(bào)文將會(huì)被后續(xù)到達(dá)的 重傳包代替。但是,DAR只會(huì)重傳有限的(N/(l/e-l),N代表文件總報(bào)文數(shù))原始包,不能 為所有報(bào)文提供有效重傳,因此需要更高效的重傳機(jī)制來(lái)提升傳輸效率。
[0008] (3) NCRTP 協(xié)議;
[0009] 基于編碼的匯聚層可靠傳輸機(jī)制(NCRT巧的提出就是為解決DSTP的重傳問(wèn)題,其 主要優(yōu)勢(shì)就是能夠在接收端計(jì)算出丟失的報(bào)文。NCRTP通過(guò)固定速率傳輸報(bào)文,且每M個(gè)報(bào) 文就傳輸一個(gè)編碼報(bào)文(M= l/e-l,e表示鏈路丟包率),運(yùn)個(gè)編碼報(bào)文是之前M個(gè)報(bào)文的 線性組合。通過(guò)編碼包和(M-I)個(gè)原始包,接收端可W通過(guò)高斯消元解碼產(chǎn)生運(yùn)M個(gè)原始 報(bào)文中任意一個(gè)丟失的報(bào)文。
[0010] 通過(guò)分析上述傳統(tǒng)方式存在的技術(shù)問(wèn)題總結(jié)為:當(dāng)出現(xiàn)突發(fā)丟包現(xiàn)象,若干報(bào)文 在短時(shí)間內(nèi)同時(shí)丟失時(shí),上述協(xié)議均無(wú)法有效應(yīng)對(duì),只能采取反饋丟包信息請(qǐng)求發(fā)送端重 傳的方法,運(yùn)在深空鏈路長(zhǎng)時(shí)延的情況下會(huì)消耗大量時(shí)間。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明要解決的技術(shù)問(wèn)題就在于:針對(duì)現(xiàn)有技術(shù)存在的技術(shù)問(wèn)題,本發(fā)明提供一 種能夠提高文件傳輸效率和文件傳輸可靠性的面向深空網(wǎng)絡(luò)的文件傳輸方法。
[0012] 為解決上述技術(shù)問(wèn)題,本發(fā)明采用W下技術(shù)方案:
[0013] 一種面向深空網(wǎng)絡(luò)的文件傳輸方法,其步驟為:
[0014] Sl :發(fā)送報(bào)文序列中的N個(gè)原始報(bào)文構(gòu)成一個(gè)原始編碼塊,而n個(gè)原始編碼塊構(gòu)成 一個(gè)組合編碼塊;
[001引S2:發(fā)送端根據(jù)探測(cè)到的深空鏈路丟包率數(shù)據(jù)陽(yáng)R計(jì)算出原始編碼塊的大小N和 組合到一起的原始編碼塊數(shù)n,進(jìn)而計(jì)算出組合編碼塊大小Nbktk,即Nbktk為一個(gè)組合編碼 塊中包含的原始報(bào)文數(shù)量;
[0016]S3:發(fā)送端首先發(fā)送Nbktk個(gè)原始報(bào)文,為一個(gè)組合編碼塊,然后發(fā)送n個(gè)該組合編 碼塊生成的編碼報(bào)文;
[0017]S4:接收端收到一個(gè)組合編碼塊的原始報(bào)文和編碼報(bào)文后進(jìn)行判斷:
[0018] 若原始報(bào)文無(wú)丟失,則不解碼;
[0019] 若原始報(bào)文丟失,且丟包數(shù)量不超過(guò)接收到的該組合編碼塊的編碼報(bào)文數(shù)量,貝U 進(jìn)行解碼操作,解碼產(chǎn)生丟失的原始報(bào)文,不進(jìn)行反饋重傳;否則,向發(fā)送端反饋丟包信息, 發(fā)送端進(jìn)行報(bào)文重傳。
[0020] 作為本發(fā)明的進(jìn)一步改進(jìn):所述步驟鏈路丟包率在數(shù)據(jù)發(fā)送之前進(jìn)行測(cè)量。
[0021] 作為本發(fā)明的進(jìn)一步改進(jìn):在步驟S4中,當(dāng)接收端接收到原始報(bào)文時(shí),將其加入 到接收緩沖區(qū)中;接收端定時(shí)產(chǎn)生ACK報(bào)文反饋到發(fā)送端,若接收端存在丟失的報(bào)文,則反 饋的ACK報(bào)文還要攜帶丟包信息;當(dāng)所有報(bào)文接收完畢時(shí),發(fā)送過(guò)程結(jié)束;否則,繼續(xù)接收 并處理報(bào)文。
[0022] 作為本發(fā)明的進(jìn)一步改進(jìn):當(dāng)發(fā)送端有數(shù)據(jù)需要發(fā)送時(shí),首先發(fā)送端根據(jù)鏈路丟 包率陽(yáng)R計(jì)算出原始編碼塊的大小N=1/PER;然后,發(fā)送端根據(jù)鏈路狀況計(jì)算出塊組合編 碼系數(shù)n,也即需要組合到一起的原始編碼塊數(shù);再計(jì)算整個(gè)文件需要重傳的報(bào)文數(shù):ave =E*filesize/Nbieek,ave隨n增大而減?。划?dāng)ave隨n增加而小于filesize沖ER*a時(shí), 則認(rèn)為此時(shí)的n是最佳值;其中,a是一個(gè)闊值,其取值根據(jù)具體任務(wù)而定;接下來(lái),根據(jù)
計(jì)算組合編碼塊大小,并開(kāi)始發(fā)送報(bào)文,先發(fā)送組合編碼塊中的Nbhtk個(gè)原始報(bào) 文,然后發(fā)送根據(jù)運(yùn)Nbktk個(gè)原始報(bào)文編碼產(chǎn)生的n個(gè)編碼報(bào)文。
[0023] 與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
[0024] 本發(fā)明的面向深空網(wǎng)絡(luò)的文件傳輸方法,能夠在不增加編碼冗余度的情況下,通 過(guò)合理組合編碼塊來(lái)有效應(yīng)對(duì)鏈路突發(fā)丟包的情況;即,當(dāng)編碼塊內(nèi)連續(xù)丟多個(gè)報(bào)文時(shí), 接收端通過(guò)組合編碼塊的n個(gè)編碼報(bào)文可W有效解碼出丟失的報(bào)文,而無(wú)需發(fā)送端重傳報(bào) 文,從而大量節(jié)省了重傳所需的時(shí)間。
【附圖說(shuō)明】
[00巧]圖1是本發(fā)明方法的流程示意圖。
[0026] 圖2是本發(fā)明在具體應(yīng)用實(shí)例中塊組合編碼的發(fā)送報(bào)文序列示意圖。
[0027] 圖3是本發(fā)明在具體應(yīng)用實(shí)例中塊組合編碼的發(fā)送端流程示意圖。
[002引圖4是本發(fā)明本發(fā)明在具體應(yīng)用實(shí)例中塊組合編碼的接收端流程示意圖。
【具體實(shí)施方式】
[0029] W下將結(jié)合說(shuō)明書附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。
[0030] 如圖1所示,本發(fā)明的面向深空網(wǎng)絡(luò)的文件傳輸方法,其步驟為:
[0031] Sl:發(fā)送報(bào)文序列中的N個(gè)原始報(bào)文構(gòu)成一個(gè)原始編碼塊,而n個(gè)原始編碼塊構(gòu)成 一個(gè)組合編碼塊;
[0032] S2:發(fā)送端根據(jù)探測(cè)到的深空鏈路丟包率數(shù)據(jù)P邸計(jì)算出原始編碼塊的大小N 和組合到一起的原始編碼塊數(shù)n(簡(jiǎn)稱塊組合編碼系數(shù)),進(jìn)而計(jì)算出組合編碼塊大小 Nbhek(即一個(gè)組合編碼塊中包含的原始報(bào)文數(shù)量);
[0033] S3:發(fā)送端首先發(fā)送Nbktk個(gè)原始報(bào)文,為一個(gè)組合編碼塊,然后發(fā)送n個(gè)該組合編 碼塊生成的