Dtn網(wǎng)絡中基于cfdp的中繼文件傳輸方法
【專利摘要】DTN網(wǎng)絡中基于CFDP的中繼文件傳輸方法,屬于通信領域。為了解決現(xiàn)有深空通信性能不好的問題。所述傳輸方法:發(fā)送節(jié)點將要發(fā)送的文件分成若干段,每一段形成一個文件數(shù)據(jù)單元數(shù)據(jù)包;發(fā)送節(jié)點在傳輸過程中,實時檢測中繼節(jié)點返回的NAK,進行第一階段重發(fā);當文件數(shù)據(jù)單元數(shù)據(jù)包全部發(fā)送完后,根據(jù)返回的NAK,進行第二階段重發(fā);中繼節(jié)點實時接收文件數(shù)據(jù)單元數(shù)據(jù)包存儲并轉(zhuǎn)發(fā),若出現(xiàn)丟包,反饋相應NAK至發(fā)送節(jié)點;根據(jù)返回的NAK,進行重發(fā);發(fā)送節(jié)點實時接收,若出現(xiàn)丟包,將相應NAK返回,直至文件數(shù)據(jù)單元數(shù)據(jù)包全部接收,將接收的文件數(shù)據(jù)單元數(shù)據(jù)包通過繪圖還原成圖片文件。本發(fā)明用于深空通信。
【專利說明】
DTN網(wǎng)絡中基于CFDP的中繼文件傳輸方法
技術(shù)領域
[0001 ]本發(fā)明涉及一種中繼鏈路數(shù)據(jù)傳輸方法,屬于通信領域。
【背景技術(shù)】
[0002] 在深空探測中,傳統(tǒng)點對點通信技術(shù)已經(jīng)發(fā)展到瓶頸,未來深空通信系統(tǒng)更趨于 采用鏈路中繼技術(shù)。近年來,隨著網(wǎng)絡技術(shù)的發(fā)展和人們應用需求的不斷增加,出現(xiàn)了一類 新的網(wǎng)絡。這類網(wǎng)絡往往存在節(jié)點能力低下,網(wǎng)絡經(jīng)常斷開,數(shù)據(jù)往返延時長等特點。在這 種背景下,延時容忍網(wǎng)絡(Delay/Disrupted Tolerant Networks,DTN)應運而生。研究在這 種受限網(wǎng)絡與鏈路體系下的數(shù)據(jù)傳輸思想,具有重要的意義。與此同時,地面段、地空段以 及航天器之間可能采用不同的網(wǎng)絡技術(shù),而每種網(wǎng)絡技術(shù)都最適合特定的應用環(huán)境。在各 種網(wǎng)絡的傳輸層與應用層之間插入一個集束層提供"覆蓋"協(xié)議,正是DTN重要的體系結(jié)構(gòu)。 本發(fā)明以火星至地球站中繼鏈路通信的實驗床為基礎,致力于研究基于CFDP的中繼鏈路傳 輸協(xié)議以提高傳輸鏈路的性能。比較普通模式與基于CFDP的中繼傳輸模式的文件傳輸時延 與信道時延,文件傳輸時延與丟包率的關(guān)系、數(shù)據(jù)成功到達率、數(shù)據(jù)傳輸速率以及有效速率 等傳輸性能。
[0003] 目前的技術(shù)主要集中于以TCP和UDP為傳輸層協(xié)議進行發(fā)送和接受束,并進行匯聚 和Bundle層的傳輸,但幾乎沒有人基于CFDP協(xié)議的對DTN的網(wǎng)絡在傳輸層,匯聚層以及 Bundle層進行研究與發(fā)明。本發(fā)明則以此為重點進行發(fā)明。
[0004] DTN結(jié)構(gòu)能否成功的應用于衛(wèi)星通信和深空通信已經(jīng)得到證實,使用DTN作為衛(wèi)星 通信的替代網(wǎng)絡將其與地面網(wǎng)絡通信,并且取得了成功。在深空通信中,比較DTN使用不同 的匯聚層協(xié)議所得的數(shù)據(jù)傳輸性能,有一些考慮了非對稱、長延時等深空環(huán)境的特點。但是 這些研究的重點都是通過實驗獲取使用不同匯聚協(xié)議時獲取數(shù)據(jù)傳輸?shù)男阅軈?shù),而沒有 任何數(shù)學模型的理論推導。同時,我國在國家自然科學基金領域安排了移動DTN的基礎理論 和關(guān)鍵技術(shù)研究方面的一些課題,研究主要集中在路由增強算法、異步角度下的路由決策 問題、基于選擇復制的動態(tài)數(shù)據(jù)傳輸策略和鏈路中斷的統(tǒng)計特性問題,研究基本處于理論 階段,沒有具體的可操作性規(guī)范,對于深空通信中的應用研究也非常少。
[0005] 近年來深空通信團隊,尤其是地球和火星之間的通信,普遍使用中繼作為橋梁以 便存儲和轉(zhuǎn)發(fā)數(shù)據(jù),數(shù)據(jù)通過作為中繼的飛行器從行星傳輸?shù)降厍?。圖1描述的是一種典型 的基于中繼星際互聯(lián)網(wǎng)結(jié)構(gòu),即火星和地球的通信通過中繼來實現(xiàn),這種結(jié)構(gòu)的中繼實現(xiàn) 方法有兩種:一種是由接近地球軌道的航天器充當中繼,如圖1中的地球軌道飛行器,還有 一種是由接近行星軌道的航天器充當中繼,如圖1中的火星軌道飛行器。本發(fā)明是以火星至 地球站中繼鏈路通信的實驗床為基礎,致力于研究基于CFDP的中繼鏈路傳輸協(xié)議以提高傳 輸鏈路的性能。比較普通模式與基于CFDP的中繼傳輸模式的文件傳輸時延與信道時延,文 件傳輸時延與丟包率的關(guān)系、數(shù)據(jù)成功到達率、數(shù)據(jù)傳輸速率以及有效速率等傳輸性能。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的是為了解決現(xiàn)有深空通信性能不好的問題,本發(fā)明提供一種DTN網(wǎng) 絡中基于CFDP的中繼文件傳輸方法。
[0007] 本發(fā)明的DTN網(wǎng)絡中基于CFDP的中繼文件傳輸方法,所述傳輸方法為:
[0008]發(fā)送節(jié)點將要發(fā)送的文件分成若干段,每一段形成一個文件數(shù)據(jù)單元數(shù)據(jù)包,每 一個文件數(shù)據(jù)單元數(shù)據(jù)包都含有一個特殊的域,該域標明這個文件數(shù)據(jù)單元數(shù)據(jù)包所攜帶 的文件內(nèi)容的起始位和終止位;
[0009]發(fā)送節(jié)點的發(fā)送流程為:將文件數(shù)據(jù)單元數(shù)據(jù)包傳輸給中繼節(jié)點,在傳輸過程中, 實時檢測中繼節(jié)點返回的NAK,根據(jù)NAK,將相應的文件數(shù)據(jù)單元數(shù)據(jù)包進行第一階段重發(fā); NAK中特定的域標明了丟失后需要重傳的文件數(shù)據(jù)單元數(shù)據(jù)包的序列信息,當沒有數(shù)據(jù)段 元丟失時,該段內(nèi)容為空;當文件數(shù)據(jù)單元數(shù)據(jù)包全部發(fā)送完后,根據(jù)返回的NAK,進行第二 階段重發(fā);
[0010]中繼節(jié)點的轉(zhuǎn)發(fā)流程為:實時接收文件數(shù)據(jù)單元數(shù)據(jù)包存儲,轉(zhuǎn)發(fā)給接收節(jié)點,若 出現(xiàn)丟包,反饋相應NAK至發(fā)送節(jié)點;根據(jù)接收節(jié)點返回的NAK,將相應文件數(shù)據(jù)單元數(shù)據(jù)包 進行重發(fā),直至文件數(shù)據(jù)單元數(shù)據(jù)包全部發(fā)送至發(fā)送節(jié)點;
[0011]發(fā)送節(jié)點的接收流程:實時接收文件數(shù)據(jù)單元數(shù)據(jù)包,若出現(xiàn)丟包,將相應NAK返 回至中繼節(jié)點,直至文件數(shù)據(jù)單元數(shù)據(jù)包全部接收,將接收的文件數(shù)據(jù)單元數(shù)據(jù)包通過繪 圖還原成圖片文件。
[0012] 所述發(fā)送節(jié)點的發(fā)送流程具體包括如下步驟:
[0013] 步驟Al:發(fā)送節(jié)點首先發(fā)送元數(shù)據(jù)包,不需要等待接收節(jié)點返回確認信息,開始發(fā) 送文件數(shù)據(jù)單元數(shù)據(jù)包;所述元數(shù)據(jù)包內(nèi)含待發(fā)送文件名稱、文件大小、源和目的ID信息;
[0014] 步驟A2:實時檢測接收到的NAK,判斷NAK是否等于1,若是,根據(jù)NAK,發(fā)送相應文件 數(shù)據(jù)單元數(shù)據(jù)包,進行第一階段重發(fā),若否,繼續(xù)發(fā)送文件數(shù)據(jù)單元數(shù)據(jù)包,重復該步驟,直 至文件數(shù)據(jù)單元數(shù)據(jù)包全部發(fā)送,發(fā)送EOFl,轉(zhuǎn)入步驟A3;
[0015]步驟A3:檢測是否在設定時間內(nèi)接收到EOFl-ACK,若否,重新發(fā)送E0F1;若是,轉(zhuǎn)入 步驟A4;
[0016] 步驟A4:當收到返回的NAK,根據(jù)NAK,發(fā)送相應文件數(shù)據(jù)單元數(shù)據(jù)包,進行第二階 段重發(fā);
[0017] 步驟A5:當收到FINl,將FINl-ACK反饋至中繼節(jié)點,發(fā)送流程結(jié)束;
[0018] 所述中繼節(jié)點轉(zhuǎn)發(fā)流程具體包括如下步驟:
[0019] 步驟Bl:中繼節(jié)點建立存儲文件指針;
[0020] 步驟B2:判斷接收到是發(fā)送節(jié)點的數(shù)據(jù)或接收節(jié)點的數(shù)據(jù),若是發(fā)送節(jié)點的數(shù)據(jù) 執(zhí)行步驟B3至步驟B5,若是接收節(jié)點的數(shù)據(jù),執(zhí)行步驟B6至步驟B7;
[0021] 步驟B3:當接收到發(fā)送節(jié)點的文件數(shù)據(jù)單元數(shù)據(jù)包,存儲并轉(zhuǎn)發(fā)至接收節(jié)點,當檢 測到丟包,將相應丟失的數(shù)據(jù)包的NAK反饋至發(fā)送節(jié)點;
[0022] 步驟M:當接收到EOFl,向發(fā)送節(jié)點反饋E0F1-ACK,向接收節(jié)點發(fā)送E0F2,檢測丟 包,將相應丟失的數(shù)據(jù)包的NAK反饋至發(fā)送節(jié)點;
[0023]步驟B5:當已經(jīng)接收到所有的文件數(shù)據(jù)單元數(shù)據(jù)包,發(fā)送FINl至發(fā)送節(jié)點,當接收 到FINl-ACK,與發(fā)送節(jié)點交互結(jié)束;
[0024]步驟B6:當接收到接收節(jié)點反饋回的NAK,根據(jù)返回的NAK,發(fā)送相應的文件數(shù)據(jù)單 元數(shù)據(jù)包;
[0025] 步驟B7:當接收到FIN2,將FIN2-ACK反饋至接收節(jié)點,與接收節(jié)點交互結(jié)束;
[0026] 接收節(jié)點的接收流程具體包括如下步驟:
[0027] 步驟Cl:接收文件數(shù)據(jù)單元數(shù)據(jù)包,同時執(zhí)行步驟C2至步驟C4;
[0028] 步驟C2:當檢測到丟包,將相應丟失的數(shù)據(jù)包的NAK反饋至中繼節(jié)點;
[0029] 步驟C3:對接收到的文件數(shù)據(jù)單元數(shù)據(jù)包,解析繪圖,還原成圖片文件,轉(zhuǎn)入步驟 C5;
[0030] 步驟C4:當接收至ljE0F2,向中繼節(jié)點反饋E0F2-ACK,轉(zhuǎn)入步驟C5:
[0031 ]步驟C5:檢測是否丟包,若是,將相應丟失的數(shù)據(jù)包的NAK反饋至中繼節(jié)點,轉(zhuǎn)入步 驟C6;若否,轉(zhuǎn)入步驟C7;
[0032]步驟C6:繼續(xù)接收文件數(shù)據(jù)單元數(shù)據(jù)包,對接收到的文件數(shù)據(jù)單元數(shù)據(jù)包,解析繪 圖,還原成圖片文件;
[0033]步驟C7:判斷是否接收到所有的文件數(shù)據(jù)單元數(shù)據(jù)包,若是,發(fā)送FIN2至中繼節(jié) 點,轉(zhuǎn)入步驟C8;若否,轉(zhuǎn)入步驟C5;
[0034] 步驟C8:當接收到FIN2-ACK,傳輸結(jié)束。
[0035]本發(fā)明的有益效果在于,本發(fā)明采用新的冗余數(shù)據(jù)自動重傳機制,以加強鏈路高 錯誤率下的可靠傳輸效能,實驗證明,在深空高丟包率的情況下,本發(fā)明DTN網(wǎng)絡中基于 CFDP的中繼文件傳輸方法的總時延大幅優(yōu)于普通模式。隨著丟包率的逐漸增大,較于普通 模式,本發(fā)明DTN網(wǎng)絡中基于CFDP的中繼文件傳輸方法呈現(xiàn)了越來越好的性能。通過仿真發(fā) 現(xiàn),在高丟包率、長時延的情況下,基于CFDP的中繼模式在鏈路傳輸文件的數(shù)個性能指標 中,如文件傳輸時延、數(shù)據(jù)成功到達率以及數(shù)據(jù)傳輸有效速率等性能方面有著顯著提高,從 而很好地彌補了 TCP協(xié)議在深空通信鏈路中性能極具惡化,UDP在深空通信鏈路中不夠可靠 的問題。
【附圖說明】
[0036]圖1為試驗床模型的原理示意圖。
[0037]圖2為基于CFDP的中繼傳輸機制示意圖。
[0038] 圖3為【具體實施方式】中發(fā)送節(jié)點的發(fā)送流程的流程示意圖。
[0039] 圖4為【具體實施方式】中中繼節(jié)點的轉(zhuǎn)發(fā)流程的流程示意圖。
[0040] 圖5為【具體實施方式】中接收節(jié)點的接收流程的流程示意圖。圖6為不同丟包率下, 基于CFDP的中繼文件傳輸方法和普通模式的文件傳輸時延的對比。
[0041 ]圖7為不同信道時延下,基于CFDP的中繼文件傳輸方法和普通模式的的文件傳輸 時延的對比。
[0042] 圖8為信道時延為Is時,數(shù)據(jù)傳輸總速率與丟包率的關(guān)系。
[0043] 圖9為信道時延為Is時,數(shù)據(jù)傳輸有效速率與丟包率的關(guān)系。
【具體實施方式】
[0044] 本實施方式是以火星至地球站中繼鏈路通信的實驗床為基礎,結(jié)合圖1說明本實 施方式的DTN網(wǎng)絡中基于CFDP的中繼文件傳輸方法;
[0045]本實施方式中的數(shù)據(jù)包格式如表1:包頭信息30字節(jié),數(shù)據(jù)包信息1000字節(jié)。
[0046]表1數(shù)據(jù)包格式
[0050]傳輸機制基于CFDP進行存儲和自動轉(zhuǎn)發(fā),采用新的冗余數(shù)據(jù)自動重傳機制,如圖2 所示。
[0051]發(fā)送節(jié)點將要發(fā)送的文件分成若干段,每一段形成一個文件數(shù)據(jù)單元數(shù)據(jù)包,即: 要發(fā)送的文件包括元數(shù)據(jù)包和文件數(shù)據(jù)單元數(shù)據(jù)包,元數(shù)據(jù)包內(nèi)含文件名稱、文件大小、源 和目的ID信息。每一個文件數(shù)據(jù)單元數(shù)據(jù)包都含有一個特殊的域,該域標明這個文件數(shù)據(jù) 單元數(shù)據(jù)包所攜帶的文件內(nèi)容的起始位和終止位;
[0052]發(fā)送節(jié)點的發(fā)送流程為:首先發(fā)送元數(shù)據(jù)包,但它和大部分文件數(shù)據(jù)單元數(shù)據(jù)包 一樣,沒有確認信息,也就是說發(fā)送節(jié)點不需要等待接收節(jié)點返回確認信息,無論元數(shù)據(jù)包 被成功接收與否,發(fā)送節(jié)點都會在發(fā)出元數(shù)據(jù)包之后繼續(xù)傳輸文件數(shù)據(jù)單元數(shù)據(jù)包。即發(fā) 送節(jié)點和接收節(jié)點不需要握手便可開始傳輸文件,這在深空中將節(jié)省大量時間。每一個數(shù) 據(jù)單元頭部都標有源ID。將文件數(shù)據(jù)單元數(shù)據(jù)包傳輸給中繼節(jié)點,在傳輸過程中,實時檢測 中繼節(jié)點返回的NAK,根據(jù)NAK,將相應的文件數(shù)據(jù)單元數(shù)據(jù)包進行第一階段重發(fā);NAK中特 定的域標明了丟失后需要重傳的文件數(shù)據(jù)單元數(shù)據(jù)包的序列信息,當沒有數(shù)據(jù)段元丟失 時,該段內(nèi)容為空;當文件數(shù)據(jù)單元數(shù)據(jù)包全部發(fā)送完后,根據(jù)返回的NAK,進行第二階段重 發(fā);
[0053]中繼節(jié)點的轉(zhuǎn)發(fā)流程為:實時接收文件數(shù)據(jù)單元數(shù)據(jù)包存儲,轉(zhuǎn)發(fā)給接收節(jié)點,若 出現(xiàn)丟包,反饋相應NAK至發(fā)送節(jié)點;根據(jù)接收節(jié)點返回的NAK,將相應文件數(shù)據(jù)單元數(shù)據(jù)包 進行重發(fā),直至文件數(shù)據(jù)單元數(shù)據(jù)包全部發(fā)送至發(fā)送節(jié)點;
[0054] 接收節(jié)點的接收流程:如果接收節(jié)點接收到了一個標有新ID的文件數(shù)據(jù)單元數(shù)據(jù) 包,就代表一個新的文件傳輸開始了。
[0055] 實時接收文件數(shù)據(jù)單元數(shù)據(jù)包,若出現(xiàn)丟包,將相應NAK返回至中繼節(jié)點,直至文 件數(shù)據(jù)單元數(shù)據(jù)包全部接收,將接收的文件數(shù)據(jù)單元數(shù)據(jù)包通過繪圖還原成圖片文件。 [0056]接收節(jié)點通過檢查已經(jīng)接收到的文件數(shù)據(jù)單元數(shù)據(jù)包的序列就可以確定哪些文 件數(shù)據(jù)單元數(shù)據(jù)包發(fā)送失敗了。同時進行重傳來保證信息的可靠性。
[0057]如圖3所示,發(fā)送節(jié)點的發(fā)送流程具體包括如下步驟:
[0058] 步驟Al:發(fā)送節(jié)點首先發(fā)送元數(shù)據(jù)包,不需要等待接收節(jié)點返回確認信息,開始發(fā) 送文件數(shù)據(jù)單元數(shù)據(jù)包;所述元數(shù)據(jù)包內(nèi)含待發(fā)送文件名稱、文件大小、源和目的ID信息;
[0059] 步驟A2:實時檢測接收到的NAK,判斷NAK是否等于1,若是,根據(jù)NAK,發(fā)送相應文件 數(shù)據(jù)單元數(shù)據(jù)包,進行第一階段重發(fā),若否,繼續(xù)發(fā)送文件數(shù)據(jù)單元數(shù)據(jù)包,重復該步驟,直 至文件數(shù)據(jù)單元數(shù)據(jù)包全部發(fā)送,發(fā)送EOFl,轉(zhuǎn)入步驟A3;
[0060] 步驟A3:檢測是否在設定時間內(nèi)接收到EOFl-ACK,若否,重新發(fā)送E0F1;若是,轉(zhuǎn)入 步驟A4;
[0061] 步驟A4:當收到返回的NAK,根據(jù)NAK,發(fā)送相應文件數(shù)據(jù)單元數(shù)據(jù)包,進行第二階 段重發(fā);
[0062] 步驟A5:當收到FINl,將FINl-ACK反饋至中繼節(jié)點,發(fā)送流程結(jié)束;
[0063] 如圖4所示,中繼節(jié)點轉(zhuǎn)發(fā)流程具體包括如下步驟:
[0064] 步驟Bl:中繼節(jié)點建立存儲文件指針;
[0065] 步驟B2:判斷接收到是發(fā)送節(jié)點的數(shù)據(jù)或接收節(jié)點的數(shù)據(jù),若是發(fā)送節(jié)點的數(shù)據(jù) 執(zhí)行步驟B3至步驟B5,若是接收節(jié)點的數(shù)據(jù),執(zhí)行步驟B6至步驟B7;
[0066] 步驟B3:當接收到發(fā)送節(jié)點的文件數(shù)據(jù)單元數(shù)據(jù)包,存儲并轉(zhuǎn)發(fā)至接收節(jié)點,當檢 測到丟包,將相應丟失的數(shù)據(jù)包的NAK反饋至發(fā)送節(jié)點;
[0067] 步驟M:當接收到EOFl,向發(fā)送節(jié)點反饋E0F1-ACK,向接收節(jié)點發(fā)送E0F2,檢測丟 包,將相應丟失的數(shù)據(jù)包的NAK反饋至發(fā)送節(jié)點;
[0068]步驟B5:當已經(jīng)接收到所有的文件數(shù)據(jù)單元數(shù)據(jù)包,發(fā)送FINl至發(fā)送節(jié)點,當接收 到FINl-ACK,與發(fā)送節(jié)點交互結(jié)束;
[0069]步驟B6:當接收到接收節(jié)點反饋回的NAK,根據(jù)返回的NAK,發(fā)送相應的文件數(shù)據(jù)單 元數(shù)據(jù)包;
[0070]步驟B7:當接收到FIN2,將FIN2-ACK反饋至接收節(jié)點,與接收節(jié)點交互結(jié)束;
[0071] 如圖5所示,接收節(jié)點的接收流程具體包括如下步驟:
[0072] 步驟Cl:接收文件數(shù)據(jù)單元數(shù)據(jù)包,同時執(zhí)行步驟C2至步驟C4;
[0073] 步驟C2:當檢測到丟包,將相應丟失的數(shù)據(jù)包的NAK反饋至中繼節(jié)點;
[0074] 步驟C3:對接收到的文件數(shù)據(jù)單元數(shù)據(jù)包,解析繪圖,還原成圖片文件,轉(zhuǎn)入步驟 C5;
[0075] 步驟C4:當接收到E0F2,向中繼節(jié)點反饋E0F2-ACK,轉(zhuǎn)入步驟C5:
[0076] 步驟C5:檢測是否丟包,若是,將相應丟失的數(shù)據(jù)包的NAK反饋至中繼節(jié)點,轉(zhuǎn)入步 驟C6;若否,轉(zhuǎn)入步驟C7;
[0077] 步驟C6:繼續(xù)接收文件數(shù)據(jù)單元數(shù)據(jù)包,對接收到的文件數(shù)據(jù)單元數(shù)據(jù)包,解析繪 圖,還原成圖片文件;
[0078]步驟C7:判斷是否接收到所有的文件數(shù)據(jù)單元數(shù)據(jù)包,若是,發(fā)送FIN2至中繼節(jié) 點,轉(zhuǎn)入步驟C8;若否,轉(zhuǎn)入步驟C5;
[0079] 步驟C8:當接收到FIN2-ACK,傳輸結(jié)束。
[0080]首先,對這種模式兩輪交互時間進行估算,需要對變量進行一些說明:假設N為文 件傳輸過程中文件數(shù)據(jù)單元數(shù)據(jù)包PDU的個數(shù),包括元數(shù)據(jù)包MPDU,Lpdu為每個PDU的長度, Pe為鏈路誤碼率,Leqf為EOF PDU的長度,1\_代表單鏈路傳輸時延,Tpdu代表傳輸PDU所需的 時間,Tack代表傳輸NAK所需的時間,T eqf代單鏈路傳輸EOF所需的時間,Tack-Eof代表單鏈路傳 輸ACK-EOF所需的時間,Td-eof為EOF傳輸時間,P ePDU代表兩條前向鏈路中PDU的差錯概率, PeEOF代表傳輸EOF的差錯概率,PeNAK代表傳輸NAK的差錯概率。所有的數(shù)據(jù)PDU的長度以及誤 碼率都相同且所有的NAK的長度以及誤碼率都相同。那么單鏈路PDU發(fā)生差錯的概率P ePDU以 及PeEQF與誤碼率Pe的關(guān)系分別為
[0081 ] PePDU = I - ( I -pe ) LPDU , peE0F = I - ( I -Pe ) LEOF (I)
[0082] Tinc表示第一階段傳輸時延,Tinc的期望為
[0083] E(Tinc)=2NXTpDU+E(TD-E〇F) (2)
[0084] 設E(TlEQF)為接收端成功接收到EOF時,發(fā)送端總共發(fā)送EOF的次數(shù),那么可知E (Heof)的期望為
[0092] Tdef表示第二階段傳輸時延,假設整個Tdef階段兩個鏈路的重傳交互次數(shù)分別為Ml和M2,那么,N個PDU數(shù)據(jù)包經(jīng)過Tinc階段后,仍然需要進行重傳交互的PDU個數(shù)2Y的期望為
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0093]
[0094] 進入Tdef階段后,不得不考慮NAK的差錯概率PeNM,因此,在Tdef階段單鏈路rou的交 互失敗概率P ef為
[0095] Pef=I-(I-PePDu)(I-PeNAK) (8)
[0096] 已知Tdef階段所需交互的總包數(shù)為2Y,從上式已知Pef,我們需要知道Tdef階段NV + N2'個數(shù)據(jù)包交互完成時重傳交互次數(shù)M的期望。
[0097] 假設N/為經(jīng)i汝重傳奪百后所垂丨丨會的仍需重傳的包數(shù)的期望值,貝丨J有
[0098]
[0099] 假設經(jīng)Mli次重傳交互后,令N1"為NI/個數(shù)據(jù)包經(jīng)Mli次重傳交互剩余包數(shù)的期望, Mli滿足如下兩個關(guān)系 [0100]
[0101] 那么,剩余ΝΓ個數(shù)據(jù)包交互完畢的次數(shù)的期望Ml2為
[0102]
(9)
[0103]那么就可求NV個數(shù)據(jù)包在整個Tdef階段的重傳交互次數(shù)Ml的期望值為
[0104] E(Ml) =M1i+M12 (10)
[0105] 已知在第一鏈路Tdef階段的重傳交互次數(shù)M,在單鏈路每一次的交互過程中,第一 鏈路第i次交互階段的時延T spurt (i)為
[0106]
(11)
[0107] 整個重傳階段的時延Tdef由M次的交互階段時延及Tack-EOF組成,即
[0108]
[0109] 已知Tdef階段需要重傳的包數(shù)為YY個rou的正確發(fā)送來自于所有交互階段重發(fā) 的數(shù)據(jù)包經(jīng)過數(shù)據(jù)包差錯概率為p e?的信道所得,可得
[0110]
[0111]
[0112]
[0113] 總時延Tme的期望值為
[0114] E(Tfile) =E(Tinc)+E(Tdef) (14)
[0115] 實驗驗證:為了對比普通模式以及本實施方式的DTN網(wǎng)絡中基于CFDP的中繼文件 傳輸方法的性能,需要統(tǒng)計一些性能參數(shù)。這些參數(shù)有:數(shù)據(jù)端到端平均時延、數(shù)據(jù)成功到 達率和用戶數(shù)據(jù)速率。實驗床中仿真中的參數(shù)設置見下表。
[0116] 表3仿真參數(shù)設置
[0118] 發(fā)送數(shù)據(jù)包總時延與丟包率間的關(guān)系
[0119] 在鏈路a與鏈路b不同丟包率下,對實驗床的文件傳輸時延進行測量,每組數(shù)據(jù)測 十個,取平均值,得到相關(guān)數(shù)據(jù)如圖6。
[0120] 由圖6,在丟包率較低的情況下,二者網(wǎng)絡通信情況類似,此時基于CFDP的中繼傳 輸模式和普通模式傳輸文件的時延基本一致。當信道a與信道b丟包率逐漸增大時,即越來 越接近于深空通信的通信條件時,兩者的時延差距在不斷增大。說明在深空高丟包率的情 況下,于CFDP的中繼傳輸模式具有很強的研究價值。
[0121] 下面,將從理論和實際測得的數(shù)據(jù)綜合分析傳輸文件的總時延。
[0122] 表4重傳次數(shù)與到達概率
[0124] 將時延和丟包率全部設置為零,此時基于CFDP的中繼傳輸模式和普通模式文件傳 輸時延僅與計算機處理速度等客觀因素有關(guān)系,兩者時延基本相同,多次測量后,TSO = 25s,TNO = 24s。傳輸方式為:選擇性重傳 ARQ,串行異步傳輸。
[0125] 普通模式下:在鏈路a與鏈路b的丟包率都為20 %時,從節(jié)點1到節(jié)點3要經(jīng)過兩條 鏈路,所以成功傳輸?shù)母怕蕿椹? 8 X 0.8 = 0.64,傳輸失敗的概率為0.36。則未重傳時,節(jié)點1 已經(jīng)將64%的數(shù)據(jù)包傳送至節(jié)點3。則第一次重傳,需再傳輸36%的數(shù)據(jù)包,應為采用的是 選擇性重傳 ARQ,由于計算機運行等原因,為更精確探求結(jié)果,采用時延差的模式來分析文 件傳輸?shù)目倳r延。
[0126] 可求得總平均時延差為:
[0127] Tfiie7-TfiieO7 =48.3225s
[0128] 實際上二者的時間差為47.5642s,基本一致。
[0129] 基于CFDP的中繼傳輸模式下:下面分別計算η次重傳事件發(fā)生的概率以及該事件 下一跳時延,見表5。
[0130]表5發(fā)送節(jié)點到中繼節(jié)點的η重傳事件及概率
[0132]中繼節(jié)點到接收節(jié)點的情況與發(fā)送節(jié)點到中繼節(jié)點的相同。故存儲轉(zhuǎn)發(fā)的模式下 總的時延差Tme-Tfiie0為
[0133] Tfiie-Tfiie〇 = 36.4675s
[0134] 理論上二者的差值為35.8457s,理論分析與仿真輸出基本一致?;贑FDP的中繼 傳輸模式下總時延較普通模式有一定幅度的提升。
[0135] 發(fā)送數(shù)據(jù)包的總時延與信道時延間的關(guān)系:
[0136] 在鏈路a與鏈路b不同信道時延下,對實驗床的文件傳輸時延進行測量,每組數(shù)據(jù) 測十個,取平均值,得到相關(guān)數(shù)據(jù)如下圖7。
[0137]由圖7可知,在信道時延為0時,基于CFDP的中繼傳輸模式和普通模式基本沒有區(qū) 另IJ,當信道時延達到1~2s時,即達到地月通信時延時,兩者之間的差異逐漸明顯化。當時延 進一步加大時,基于CFDP的中繼傳輸模式的文件總時延大幅優(yōu)于普通模式。
[0138] 以信道時延為IOs為例,進行理論分析。將數(shù)據(jù)公式
[0139] 普通模式:
[0140] Tfiie7-TfiieO7 =50.3582s
[0141] 基于CFDP的中繼傳輸模式:
[0142] Tfiie-Tfiie〇 = 29.4839s
[0143] 與測得的數(shù)據(jù)基本一致。
[0144] 表6重發(fā)次數(shù)與剩余包數(shù) LUM/」數(shù)據(jù)傳湔運卒及W效運卒:
[0148] 在鏈路a與鏈路b不同丟包率下,對平臺文件傳輸總速率進行測量,每組數(shù)據(jù)測五 次,取平均值,得到相關(guān)數(shù)據(jù)如下圖8和圖9。
[0149] 由圖8,在信道時延為Is時(模擬地月通信時延條件),在0%丟包率的情況下,基于 CFDP的中繼傳輸模式的數(shù)據(jù)總傳輸速率略高于正常模式,隨著丟包率的逐漸增大,由于處 理機制的增加,較于正常模式,基于CFDP的中繼傳輸模式的數(shù)據(jù)傳輸總速率有小幅下降,但 基本保持一致。由圖9,關(guān)于有效速率,在信道時延為Is時(模擬地月通信時延條件),在0% 丟包率的情況下,基于CFDP的中繼傳輸模式的數(shù)據(jù)有效傳輸速率與正常模式基本一致,隨 著丟包率的逐漸增大,較于正常模式,基于CFDP的中繼傳輸模式呈現(xiàn)了越來越好的性能。
【主權(quán)項】
1. 一種DTN網(wǎng)絡中基于CFDP的中繼文件傳輸方法,其特征在于,所述傳輸方法為: 發(fā)送節(jié)點將要發(fā)送的文件分成若干段,每一段形成一個文件數(shù)據(jù)單元數(shù)據(jù)包,每一個 文件數(shù)據(jù)單元數(shù)據(jù)包都含有一個特殊的域,該域標明這個文件數(shù)據(jù)單元數(shù)據(jù)包所攜帶的文 件內(nèi)容的起始位和終止位; 發(fā)送節(jié)點的發(fā)送流程為:將文件數(shù)據(jù)單元數(shù)據(jù)包傳輸給中繼節(jié)點,在傳輸過程中,實時 檢測中繼節(jié)點返回的NAK,根據(jù)NAK,將相應的文件數(shù)據(jù)單元數(shù)據(jù)包進行第一階段重發(fā);NAK 中特定的域標明了丟失后需要重傳的文件數(shù)據(jù)單元數(shù)據(jù)包的序列信息,當沒有數(shù)據(jù)段元丟 失時,該段內(nèi)容為空;當文件數(shù)據(jù)單元數(shù)據(jù)包全部發(fā)送完后,根據(jù)返回的NAK,進行第二階段 重發(fā); 中繼節(jié)點的轉(zhuǎn)發(fā)流程為:實時接收文件數(shù)據(jù)單元數(shù)據(jù)包存儲,轉(zhuǎn)發(fā)給接收節(jié)點,若出現(xiàn) 丟包,反饋相應NAK至發(fā)送節(jié)點;根據(jù)接收節(jié)點返回的NAK,將相應文件數(shù)據(jù)單元數(shù)據(jù)包進行 重發(fā),直至文件數(shù)據(jù)單元數(shù)據(jù)包全部發(fā)送至發(fā)送節(jié)點; 接收節(jié)點的接收流程:實時接收文件數(shù)據(jù)單元數(shù)據(jù)包,若出現(xiàn)丟包,將相應NAK返回至 中繼節(jié)點,直至文件數(shù)據(jù)單元數(shù)據(jù)包全部接收,將接收的文件數(shù)據(jù)單元數(shù)據(jù)包通過繪圖還 原成圖片文件。2. 根據(jù)權(quán)利要求1所述的DTN網(wǎng)絡中基于CFDP的中繼文件傳輸方法,其特征在于,所述 發(fā)送節(jié)點的發(fā)送流程具體包括如下步驟: 步驟Al:發(fā)送節(jié)點首先發(fā)送元數(shù)據(jù)包,不需要等待接收節(jié)點返回確認信息,開始發(fā)送文 件數(shù)據(jù)單元數(shù)據(jù)包;所述元數(shù)據(jù)包內(nèi)含待發(fā)送文件名稱、文件大小、源和目的ID信息; 步驟A2:實時檢測接收到的NAK,判斷NAK是否等于1,若是,根據(jù)NAK,發(fā)送相應文件數(shù)據(jù) 單元數(shù)據(jù)包,進行第一階段重發(fā),若否,繼續(xù)發(fā)送文件數(shù)據(jù)單元數(shù)據(jù)包,重復該步驟,直至文 件數(shù)據(jù)單元數(shù)據(jù)包全部發(fā)送,發(fā)送EOFl,轉(zhuǎn)入步驟A3; 步驟A3:檢測是否在設定時間內(nèi)接收到EOFl-ACK,若否,重新發(fā)送EOFl;若是,轉(zhuǎn)入步驟 A4; 步驟A4:當收到返回的NAK,根據(jù)NAK,發(fā)送相應文件數(shù)據(jù)單元數(shù)據(jù)包,進行第二階段重 發(fā); 步驟A5:當收到FINl,將FINl-ACK反饋至中繼節(jié)點,發(fā)送流程結(jié)束; 所述中繼節(jié)點轉(zhuǎn)發(fā)流程具體包括如下步驟: 步驟Bl:中繼節(jié)點建立存儲文件指針; 步驟B2:判斷接收到是發(fā)送節(jié)點的數(shù)據(jù)或接收節(jié)點的數(shù)據(jù),若是發(fā)送節(jié)點的數(shù)據(jù)執(zhí)行 步驟B3至步驟B5,若是接收節(jié)點的數(shù)據(jù),執(zhí)行步驟B6至步驟B7; 步驟B3:當接收到發(fā)送節(jié)點的文件數(shù)據(jù)單元數(shù)據(jù)包,存儲并轉(zhuǎn)發(fā)至接收節(jié)點,當檢測到 丟包,將相應丟失的數(shù)據(jù)包的NAK反饋至發(fā)送節(jié)點; 步驟M:當接收到EOFl,向發(fā)送節(jié)點反饋E0F1-ACK,向接收節(jié)點發(fā)送E0F2,檢測丟包,將 相應丟失的數(shù)據(jù)包的NAK反饋至發(fā)送節(jié)點; 步驟B5:當已經(jīng)接收到所有的文件數(shù)據(jù)單元數(shù)據(jù)包,發(fā)送FINl至發(fā)送節(jié)點,當接收到 FINl-ACK,與發(fā)送節(jié)點交互結(jié)束; 步驟B6:當接收到接收節(jié)點反饋回的NAK,根據(jù)返回的NAK,發(fā)送相應的文件數(shù)據(jù)單元數(shù) 據(jù)包; 步驟B7:當接收到FIN2,將FIN2-ACK反饋至接收節(jié)點,與接收節(jié)點交互結(jié)束; 接收節(jié)點的接收流程具體包括如下步驟: 步驟Cl:接收文件數(shù)據(jù)單元數(shù)據(jù)包,同時執(zhí)行步驟C2至步驟C4; 步驟C2:當檢測到丟包,將相應丟失的數(shù)據(jù)包的NAK反饋至中繼節(jié)點; 步驟C3:對接收到的文件數(shù)據(jù)單元數(shù)據(jù)包,解析繪圖,還原成圖片文件,轉(zhuǎn)入步驟C5; 步驟C4:當接收到E0F2,向中繼節(jié)點反饋E0F2-ACK,轉(zhuǎn)入步驟C5: 步驟C5:檢測是否丟包,若是,將相應丟失的數(shù)據(jù)包的NAK反饋至中繼節(jié)點,轉(zhuǎn)入步驟 C6;若否,轉(zhuǎn)入步驟C7; 步驟C6:繼續(xù)接收文件數(shù)據(jù)單元數(shù)據(jù)包,對接收到的文件數(shù)據(jù)單元數(shù)據(jù)包,解析繪圖, 還原成圖片文件; 步驟C7:判斷是否接收到所有的文件數(shù)據(jù)單元數(shù)據(jù)包,若是,發(fā)送FIN2至中繼節(jié)點,轉(zhuǎn) 入步驟C8;若否,轉(zhuǎn)入步驟C5; 步驟C8:當接收到FIN2-ACK,傳輸結(jié)束。
【文檔編號】H04L1/18GK105915649SQ201610452005
【公開日】2016年8月31日
【申請日】2016年6月21日
【發(fā)明人】李德志, 尼堯擎, 王振永, 郭慶, 李卓明, 孔德陽
【申請人】哈爾濱工業(yè)大學