專利名稱:一種適用于深空星際衛(wèi)星網(wǎng)絡(luò)的高效交互傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明屬于深空星際衛(wèi)星網(wǎng)絡(luò)傳輸技術(shù)領(lǐng)域。
背景技術(shù):
目前,在國際互聯(lián)網(wǎng)上得到廣泛應(yīng)用的TCP協(xié)議提出于上世紀(jì)80年代,在幾十年的發(fā)展演變過程中,先后出現(xiàn)了 TCP-Tahoe、TCP-Reno、TCP-NewReno以及TCP-SACK等協(xié)議版本,TCP-Reno的應(yīng)用最普遍。這些不同版本的TCP協(xié)議都是針對誤碼率極低和傳播延時非常小的有線網(wǎng)絡(luò)設(shè)計的,即數(shù)據(jù)在傳輸過程中由于誤碼導(dǎo)致差錯的可能非常小,以及等待數(shù)據(jù)接收應(yīng)答的時間非常短。所以,一旦出現(xiàn)數(shù)據(jù)的丟失或損壞以及長時間的無應(yīng)答, TCP協(xié)議就會認(rèn)為網(wǎng)絡(luò)出現(xiàn)了擁塞,并采取擁塞回避等流量控制算法。這些假設(shè)不僅簡化了 TCP協(xié)議的處理流程,而且很好地利用了有線網(wǎng)絡(luò)的傳輸特性,滿足了地面互聯(lián)網(wǎng)的發(fā)展需要。然而,這些基于高速和可靠的信道傳輸假設(shè)卻在深空星際衛(wèi)星網(wǎng)絡(luò)環(huán)境中無法成立,因此也就對TCP協(xié)議的傳輸性能造成了非常不利的影響。深空星際衛(wèi)星網(wǎng)絡(luò)的特點主要包括如下幾點1)極長的傳播時延地面網(wǎng)絡(luò)的數(shù)據(jù)傳輸往返時間(RTT,發(fā)送端從發(fā)送數(shù)據(jù)到收到應(yīng)答所需的時間) 為幾到幾十個毫秒,典型的RTT為80毫秒。在深空星際衛(wèi)星網(wǎng)絡(luò)中的傳播時延則比地面網(wǎng)絡(luò)大得多,地球與月球之間的RTT在2. 6秒左右,是地面網(wǎng)絡(luò)的30多倍;地球與火星之間距離更遠(yuǎn)、RTT更長,是地面網(wǎng)絡(luò)的幾千倍;地球與太陽系內(nèi)其它行星之間的傳播時延最長可達(dá)幾小時。深空星際衛(wèi)星網(wǎng)絡(luò)中極長的傳播時延對TCP協(xié)議造成了非常不利的影響,突出表現(xiàn)在如下兩方面a)連接建立等待時間過長,超過了連接等待超時時間,使得TCP協(xié)議在數(shù)據(jù)傳輸之前就終止了連接;b)擁塞窗口增長速度非常緩慢,使得協(xié)議的慢啟動階段耗時過長,嚴(yán)重影響了星際網(wǎng)絡(luò)的鏈路資源利用。2)極高的信道隨機(jī)誤碼率深空星際衛(wèi)星網(wǎng)絡(luò)的電磁環(huán)境非常惡劣,不僅包括傳播距離非常遠(yuǎn)造成的信號能量大量衰減,而且還包括空間環(huán)境中強(qiáng)烈的電磁干擾。這些都造成了星際衛(wèi)星網(wǎng)絡(luò)極高的鏈路隨機(jī)誤碼,誤碼率可以高達(dá)ιοΛ深空星際衛(wèi)星網(wǎng)絡(luò)中極高的鏈路隨機(jī)誤碼率嚴(yán)重影響了 TCP協(xié)議的傳輸性能,使得協(xié)議在不斷重傳丟失信息的同時,重復(fù)啟動慢啟動算法,嚴(yán)重限制了 TCP連接信息流量的高速傳輸,有時甚至導(dǎo)致信息的無法傳輸。3)嚴(yán)重的信道突發(fā)誤碼由于深空環(huán)境中的帶電粒子沖擊、運(yùn)動天體傳輸鏈路的遮蔽以及行星大氣層的劇烈變化,經(jīng)常會有持續(xù)數(shù)分鐘的突發(fā)誤碼情況發(fā)生。深空星際衛(wèi)星網(wǎng)絡(luò)中嚴(yán)重的信道突發(fā)誤碼,使得TCP協(xié)議的性能更加不穩(wěn)定,有時甚至還會導(dǎo)致超時重傳,使得TCP的性能達(dá)到最差。4)嚴(yán)重的信道帶寬不對稱由于受到衛(wèi)星、飛船等等航天器的功率限制,深空星際網(wǎng)絡(luò)的傳輸鏈路帶寬呈現(xiàn)出非常嚴(yán)重的不對稱現(xiàn)象,即從地球向深空的前向傳輸鏈路帶寬比由深空返回的反向傳輸鏈路帶寬大的多,往往相差百余倍,有時甚至高達(dá)上千倍。深空星際衛(wèi)星網(wǎng)絡(luò)中嚴(yán)重的鏈路帶寬不對稱,使得TCP協(xié)議在信息傳輸過程中, 往往會因為反向傳輸鏈路的信息擁塞造成前向鏈路吞吐量的急劇下降。5)周期性的鏈路中斷由于受到地球、其它行星的自轉(zhuǎn)和衛(wèi)星運(yùn)動軌道相互之間的影響,深空星際衛(wèi)星網(wǎng)絡(luò)中的信息傳輸鏈路呈現(xiàn)周期性中斷的特點。在傳輸鏈路周期中斷期間,TCP協(xié)議的信息傳輸顯然無法實現(xiàn)。研究和分析表明,TCP協(xié)議中的連接建立、慢啟動、擁塞控制、接收應(yīng)答以及超時等待等算法和關(guān)鍵參數(shù)的設(shè)置是導(dǎo)致TCP協(xié)議在深空星際衛(wèi)星網(wǎng)絡(luò)中性能差的主要原因。為了改善TCP協(xié)議在誤碼率高、長傳播延時等各種網(wǎng)絡(luò)環(huán)境中的傳輸性能,目前已經(jīng)提出了很多改進(jìn)方案,可以歸納為如下幾類。一、基本改進(jìn)方案 這些方案提出較早,對TCP協(xié)議的改動也很小,有些已經(jīng)成為TCP協(xié)議中的擴(kuò)展選項。1)增大初始擁塞窗口值就是初始擁塞窗口 cwnd值IW從1個數(shù)據(jù)段按照以下公式增加:IW = min[4 · MSS,max(2 · MSS,4380bytes) ],MSS 為最大 TCP 數(shù)據(jù)段長度。2)擴(kuò)大最大TCP發(fā)送窗口 就是把發(fā)送窗口從16位比特擴(kuò)展到30位比特,這樣最大發(fā)送窗口值從64k字節(jié)擴(kuò)展到了 IG字節(jié)。3)T/TCP 在收發(fā)兩端的第一次連接之后,其后的TCP連接跳過連接建立的三次握手過程,直接進(jìn)入到信息傳輸階段。4)多TCP連接將一個TCP連接拆分成多個TCP連接,從收發(fā)兩端的信息傳輸效果上看,無疑是增加了數(shù)倍的信息傳輸流量。5)明確擁塞指示通過在IP數(shù)據(jù)報頭中設(shè)置網(wǎng)絡(luò)擁塞指示信息位來告知發(fā)送端網(wǎng)絡(luò)的信息傳輸狀態(tài)。6) TCP頭壓縮壓縮TCP頭的信息量從而提高傳輸效率。這些基本改進(jìn)方案雖然具有協(xié)議改動小、實施方便的優(yōu)點,但對協(xié)議性能的改進(jìn)
非常有限。二、數(shù)據(jù)報優(yōu)先級方案l)Fast Start協(xié)議為了解決連接開始階段數(shù)據(jù)流量低的問題,在數(shù)據(jù)傳輸初始階段采用最近一次TCP連接的發(fā)送窗口來控制數(shù)據(jù)流量。為了避免突發(fā)的數(shù)據(jù)流量造成網(wǎng)絡(luò)擁塞,設(shè)置初始階段的IP分組優(yōu)先級為低優(yōu)先級。2) TCP Peach 采用了 Sudden Mart 和 Rapid Recovery 等新的算法,其核心思想是發(fā)送大量低優(yōu)先級的重復(fù)數(shù)據(jù)段,根據(jù)返回的應(yīng)答情況探測網(wǎng)絡(luò)中的可用帶寬和控制信
息流量。3) TCP PBS 沿用了 TCP-Peach協(xié)議低優(yōu)先級數(shù)據(jù)段發(fā)送的思路,并改進(jìn)了 SuddenStart 禾口 Rapid Recovery,提出了 Accelerative Start 禾口 Expeditious Recovery 兩個新的算法。4)TP-Planet 對 TCP 協(xié)議改動非常大,包括"INITIAL STATE”禾口 “STEDY STATE” 兩個狀態(tài)集,兩個狀態(tài)集又包含多個子狀態(tài)。在兩個狀態(tài)集,協(xié)議均會發(fā)送大量低優(yōu)先級的無效數(shù)據(jù)段來探測網(wǎng)絡(luò)狀態(tài)。5)TP-Mtellite 采用了超起始Super Mart算法以取代慢啟動算法,增加了數(shù)據(jù)丟失判斷算法,并采用了主動周期選擇的應(yīng)答算法。協(xié)議的突出特點就是間隔發(fā)送高低優(yōu)先級數(shù)據(jù)段,根據(jù)不同優(yōu)先級數(shù)據(jù)的接收情況判斷網(wǎng)絡(luò)狀態(tài),并采取相應(yīng)的信息流量控制算法。三、可用帶寬估計方案DTCP Westwood 通過不斷監(jiān)測接收到的應(yīng)答數(shù)據(jù)段實現(xiàn)端到端的可用帶寬估計,并當(dāng)出現(xiàn)數(shù)據(jù)丟失時,利用可用帶寬的估計計算擁塞窗口和慢啟動門限等重要參數(shù)。2)TCP_STAR:除了通過監(jiān)測應(yīng)答數(shù)據(jù)段來估計可用帶寬,還增加了發(fā)送查詢數(shù)據(jù)段來判斷數(shù)據(jù)接收情況。3)Faster Recovery 是對TCP flfestwood協(xié)議的改進(jìn),提出了一個基于帶寬估計的數(shù)據(jù)丟失恢復(fù)機(jī)制。四、擁塞窗口指示方案此類方案的典型代表是XCP協(xié)議以及其改進(jìn)協(xié)議P-XCP。XCP協(xié)議中,ECN不再僅僅采用單比特信息來表示網(wǎng)絡(luò)擁塞與否,而是在TCP頭部分增加擁塞字段,傳輸過程中路由器參與擁塞字段參數(shù)值的調(diào)整和修改,以此達(dá)到信息流量的精確控制和傳輸帶寬的公平分配。五、信道不對稱改進(jìn)方案1) SACK 接收端通知發(fā)送端哪些數(shù)據(jù)段已經(jīng)正確接收,發(fā)送端可以根據(jù)SACK信息判斷出沒有成功接收的數(shù)據(jù)段,并一次重傳多個丟失的TCP數(shù)據(jù)段,減少重傳等待時間,提
高重傳效率。^NACK 當(dāng)接收端發(fā)現(xiàn)有數(shù)據(jù)丟失時,直接向發(fā)送端發(fā)送未正確接收的數(shù)據(jù)段的 fn息ο3) ACK擁塞控制為了減少瓶頸鏈路TCP應(yīng)答數(shù)據(jù)段的數(shù)量,接收端動態(tài)調(diào)整應(yīng)答數(shù)據(jù)段的發(fā)送周期因子。當(dāng)網(wǎng)絡(luò)出現(xiàn)應(yīng)答信息擁塞時,則延長ACK的發(fā)送間隔;反之,則減小應(yīng)答間隔。六、其它協(xié)議層修改方案在其它協(xié)議層的修改主要集中在網(wǎng)絡(luò)層下的數(shù)據(jù)鏈路層。鏈路層的協(xié)議修改則大多是增加重傳機(jī)制,即在發(fā)送端的鏈路層對接收到的ACK信息進(jìn)行判斷,若發(fā)現(xiàn)有數(shù)據(jù)丟失,則直接重傳該數(shù)據(jù),而不向傳輸層傳送重傳請求信息。目前,鏈路層的典型修改方案是 Snoop協(xié)議。七、代理方案DTCP-Splitting代理就是在網(wǎng)絡(luò)物理環(huán)境發(fā)生變化的交界處設(shè)置網(wǎng)關(guān)代理以切斷TCP連接。這樣一個端到端的TCP連接就會被切分成多段TCP連接。每一段連接都可以采用特殊的傳輸控制協(xié)議,如STP、突發(fā)誤碼重傳協(xié)議、AeroTCP等。
2) TCP-Spoofing代理與TCP-Splitting代理方案的不同是保持了 TCP協(xié)議端到端連接的完整性,在數(shù)據(jù)鏈路層實現(xiàn)虛假ACK應(yīng)答的發(fā)送以及差錯數(shù)據(jù)段的重傳。八、跨層聯(lián)合設(shè)計為了達(dá)到數(shù)據(jù)傳輸?shù)淖顑?yōu),各層內(nèi)部的信息相互共享,層次之間相互協(xié)作、聯(lián)合設(shè)計逐漸成為研究熱點。應(yīng)用層中的數(shù)據(jù)傳輸狀態(tài)信息(長數(shù)據(jù)流傳輸?shù)拈_始、中間、結(jié)束, 或者一個單獨的數(shù)據(jù)傳輸),物理層的鏈路可用帶寬和誤碼率信息,都可以成為各個層設(shè)計時考慮的參數(shù)??鐚勇?lián)合設(shè)計是把原本各層中的“私有”信息“共享”,使得每個層的設(shè)計不再獨立、單一,有利于整體性能提高。上述這些不同類型的改進(jìn)方案大多是針對網(wǎng)絡(luò)的某種特點而提出的,有的是針對誤碼率高的信道特點,有的是針對特殊網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的情況,有的則是針對傳輸延時不斷變化的特點,綜合考慮深空星際網(wǎng)絡(luò)環(huán)境特點提出的改進(jìn)方案則非常少。因此,這些TCP改進(jìn)方案在深空星際網(wǎng)絡(luò)中的性能表現(xiàn)就很差,現(xiàn)在就分析深空星際網(wǎng)絡(luò)的網(wǎng)絡(luò)特點對改進(jìn)方案的性能影響。1、極長的傳播時延,使得 Fast Mart、STP、TCP-Peach、TCP Westwood、TCP-STAR、 XCP和TP-Satellite等各類改進(jìn)方案中的典型協(xié)議消耗非常長的時間來等待連接建立的確認(rèn),同時也使得擁塞窗口增長非常緩慢,限制了信息流量;2、極高的信道隨機(jī)誤碼率,導(dǎo)致 Fast Start, STP, TCP Westwood、TCP-STAR 等改進(jìn)協(xié)議錯誤地認(rèn)為網(wǎng)絡(luò)擁塞情況嚴(yán)重,使得協(xié)議不斷啟動慢啟動算法,協(xié)議前向吞吐量受到極大限制;3、嚴(yán)重的信道突發(fā)誤碼,使得 Fast Start,STP,TCP WestwoocUXCP 和 TCP-STAR協(xié)議已經(jīng)無法正常傳輸數(shù)據(jù),也使得TCP-Peach協(xié)議通過發(fā)送大量無效數(shù)據(jù)段探測網(wǎng)絡(luò)鏈路狀態(tài)的方法失去作用,同時也降低了利用高低優(yōu)先級交替發(fā)送數(shù)據(jù)的TP-Satellite協(xié)議對鏈路狀態(tài)判斷的準(zhǔn)確性;4、嚴(yán)重的信道帶寬不對稱,使得反向鏈路數(shù)據(jù)傳輸嚴(yán)重?fù)砣?,?dǎo)致很多改進(jìn)方案的前向鏈路吞吐量極低,甚至無法傳輸數(shù)據(jù);目前提出的改進(jìn)方案除了存在上述的問題外,對于深空星際網(wǎng)絡(luò)的擁塞狀況也不能作出判斷,即無法針對網(wǎng)絡(luò)不同程度的擁塞作出相應(yīng)的數(shù)據(jù)流量控制。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種可靠的為深空星際衛(wèi)星網(wǎng)絡(luò)設(shè)計的TP-DSN深空星際衛(wèi)星網(wǎng)絡(luò)高效交互傳輸方法。此方法能夠避免連接等待的時間消耗,迅速提升信息流量,有效區(qū)分鏈路誤碼和擁塞情況,并根據(jù)網(wǎng)絡(luò)的擁塞程度采用相應(yīng)的信息流量控制,極大地降低了反向鏈路的傳輸帶寬要求。本發(fā)明的技術(shù)方案是一種適用于深空星際衛(wèi)星網(wǎng)絡(luò)的高效交互傳輸方法,特征在于,它是在源代碼公開的Linux操作系統(tǒng)上實現(xiàn)。該方法包含以下步驟步驟(1),連接監(jiān)聽客戶端進(jìn)入“監(jiān)聽”狀態(tài),等待服務(wù)器連接;步驟(2),建立連接步驟(2. 1),從服務(wù)器端發(fā)送連接請求,并按照擁塞窗口最大值Cwndmax的1/6開始發(fā)送數(shù)據(jù)信息,設(shè)置數(shù)據(jù)信息IP包頭中的兩比特“pri”分別為2、1、0,即高、中、低優(yōu)先級分
cwnd
組數(shù)據(jù)交錯發(fā)送,每間隔一個時間τ就發(fā)送一個分組數(shù)據(jù)。其中八,RTTmin為服務(wù)器與客戶端的星際網(wǎng)絡(luò)中兩行星之間最短的傳播時延;步驟(2. 2),從服務(wù)器來的連接請求,經(jīng)過深空星際網(wǎng)絡(luò)傳輸?shù)竭_(dá)客戶端;步驟(2. 3),客戶端收到連接請求后,判斷是否建立連接步驟(2. 3. 1)若拒絕連接,則返回拒絕連接應(yīng)答信息,丟棄之后接收到的分組數(shù)據(jù),結(jié)束連接;步驟(2. 3. 2)若接受連接,則開始估計RTTi時間,返回連接應(yīng)答信息,并接收到達(dá)的分組數(shù)據(jù);步驟(2. 4),客戶端在接收了 cWndmax/6的分組數(shù)據(jù)后,返回數(shù)據(jù)接收應(yīng)答信息,應(yīng)答信息采用M-NACK格式,即包括20個字節(jié)的標(biāo)準(zhǔn)TCP頭、期待服務(wù)器發(fā)送的下一個TCP 數(shù)據(jù)段的序列值、期待服務(wù)器發(fā)送的下一個連續(xù)TCP數(shù)據(jù)段的序列值,以及所有沒有正確接受的TCP數(shù)據(jù)段的序列值。計算出數(shù)據(jù)發(fā)送返回RTTi時間,并按照RTTi時間定時發(fā)送 M-NACK應(yīng)答信息;步驟(2.幻,服務(wù)器接收到連接應(yīng)答信息后,返回應(yīng)答確認(rèn)信息,估計數(shù)據(jù)發(fā)送返回RTTi時間,并轉(zhuǎn)入到步驟(3)。步驟(3),數(shù)據(jù)的丟失判斷步驟(3. 1),服務(wù)器接收到M-NACK應(yīng)答信息后,根據(jù)M-NACK的信息內(nèi)容判斷是否有數(shù)據(jù)丟失步驟(3. 1. 1),若存在數(shù)據(jù)丟失,則根據(jù)丟失數(shù)據(jù)的優(yōu)先級和數(shù)量判斷是否網(wǎng)絡(luò)出現(xiàn)擁塞步驟(3. 1. 11),若丟失數(shù)據(jù)高、中、低優(yōu)先級都存在,而且成功接收數(shù)據(jù)中各種優(yōu)先級的數(shù)據(jù)都有,則判斷為網(wǎng)絡(luò)中出現(xiàn)鏈路誤碼,則轉(zhuǎn)入到(3.1.2);步驟(3. 1. 1.幻,其他情況則判斷為網(wǎng)絡(luò)擁塞,根據(jù)具體的數(shù)據(jù)丟失情況分析網(wǎng)絡(luò)擁塞的情況步驟(3. 1. 1. 2. 1),若丟失的分組數(shù)據(jù)都是低優(yōu)先級分組數(shù)據(jù),即lost_num = low_pri, loSt_nUm為整個丟失分組數(shù)據(jù)的數(shù)量,low_pri為丟失的低優(yōu)先級分組數(shù)據(jù)數(shù)量,則判斷網(wǎng)絡(luò)的擁塞情況較輕,則將擁塞窗口 cwnd值設(shè)置為當(dāng)前值的1/2,并轉(zhuǎn)入到步驟 (3. 1. 1. 2. 4);步驟(3. 1. 1. 2.幻,若丟失分組數(shù)據(jù)為低優(yōu)先級的全部分組數(shù)據(jù)和部分中等優(yōu)先級分組數(shù)據(jù),即lost_num = low_num+mid_num, mid_num為丟失的中等優(yōu)先級分組數(shù)據(jù)數(shù)量,則判斷網(wǎng)絡(luò)的擁塞情況比較嚴(yán)重,不僅路由器隊列中的低優(yōu)先級分組數(shù)據(jù)全部被丟棄, 而且中等優(yōu)先級的分組數(shù)據(jù)開始被丟棄,則將擁塞窗口 cwnd值設(shè)置為當(dāng)前值的1/3,并轉(zhuǎn)入到步驟(3. 1. 1. 2. 4);步驟(3. 1. 1.2.3),若丟失分組數(shù)據(jù)為中、低優(yōu)先級的全部分組數(shù)據(jù)和部分或者
low — pri -- low — num
全部高優(yōu)先級分組數(shù)據(jù),即—= —,則判斷網(wǎng)絡(luò)的擁塞情況非常嚴(yán)
lost num > low pri + mid pri重,不僅中、低優(yōu)先級分組數(shù)據(jù)全部丟棄,而且還會有高優(yōu)先級分組數(shù)據(jù)的丟棄,則將擁塞窗口 cwnd值設(shè)置為當(dāng)前值的1/4,并轉(zhuǎn)入到步驟(3. 1. 1.2.4);步驟(3.1. 1. 2. 4),轉(zhuǎn)入步驟(7);步驟(3. 1. 2),沒有分組丟失,則直接進(jìn)入到步驟(4)。若判斷為網(wǎng)絡(luò)出現(xiàn)誤碼,則開始重傳丟失的分組數(shù)據(jù)。丟失分組數(shù)據(jù)的重傳仍然按照等間隔三級優(yōu)先級交錯發(fā)送的方
cwnd
式進(jìn)行,發(fā)送間隔τ按照如下公式計算得出7 = ^^。在發(fā)送完丟失數(shù)據(jù)后,并轉(zhuǎn)入到
· Kl Ii
步驟⑷;步驟(4),擁塞回避階段的判斷判斷收發(fā)兩端是否已經(jīng)執(zhí)行過擁塞回避Congestion Avoidance策略步驟(4. 1)若沒有,則并轉(zhuǎn)入到步驟(6);步驟(4. 2)若已經(jīng)執(zhí)行過擁塞回避Congestion Avoidance策略,則轉(zhuǎn)入到步驟 (7);步驟(5),擁塞恢復(fù)步驟(5. 1),重新計算數(shù)據(jù)發(fā)送間隔時間τ,即τ = RTTiZcwnd ;步驟(5. 2),三級優(yōu)先級間隔重傳丟失數(shù)據(jù),發(fā)送完丟失數(shù)據(jù)后,并轉(zhuǎn)入到步驟 (7);步驟(6),初始發(fā)送數(shù)據(jù)步驟(6. 1),將 cwnd 值增力口 1 倍,艮口 cwnd = 2 cwnd,若 cwnd ^ Cwndmax,貝Ij令 cwnd
=Cwndfflax0重新計算數(shù)據(jù)發(fā)送間隔τ,S卩r = ^^^^,并按照三級優(yōu)先級等間隔交錯發(fā)送的
2-cwnd
方式發(fā)送分組數(shù)據(jù);步驟(6. 2),當(dāng)cwnd的分組數(shù)據(jù)發(fā)送完后,將cwnd減半,即cwnd = cwnd/2,重新計
算數(shù)據(jù)發(fā)送間隔τ,g吖= ;^^,按照三級優(yōu)先級等間隔交錯發(fā)送的方式發(fā)送分組數(shù)據(jù);
2 _ cwnd步驟(6. 3),在發(fā)送完數(shù)據(jù)后,將cwnd增加1倍,即cwnd = 2 -cwnd,比較cwnd值步驟(6.3. 1)若 cwnd < Cwndmax,則轉(zhuǎn)入到步驟(3);步驟(6.3. 2)若 cwnd 彡 Cwndmax,則令 cwnd = Cwndmax,并轉(zhuǎn)入到步驟(7);步驟(7),擁塞回避每接收到一個M-NACK信息,判斷是否有數(shù)據(jù)包丟失步驟(7. 1)若無分組數(shù)據(jù)丟失,則判斷當(dāng)前擁塞窗口 cwnd值是否等于Cwndmax值 若小于Cwndmax,則按照成功接收的分組數(shù)據(jù)數(shù)量增加cwnd ;若等于Cwndmax,則不變。重新計算T,g卩τ =RnVcwnd,并根據(jù)τ值間隔交錯發(fā)送三級優(yōu)先級的分組數(shù)據(jù);步驟(7. 2)若發(fā)現(xiàn)分組數(shù)據(jù)丟失,則轉(zhuǎn)入到步驟(3);步驟(8),連接拆除步驟(8. 1),若服務(wù)器端發(fā)起連接拆除請求步驟(8. 1. 1),服務(wù)器發(fā)送連接結(jié)束分組信息,等待客戶端的應(yīng)答;步驟(8. 1.2),客戶端收到連接結(jié)束分組信息后,返回確認(rèn)應(yīng)答信息,拆除此次連接,進(jìn)入監(jiān)聽狀態(tài);步驟(8. 1.3),服務(wù)器接收到確認(rèn)應(yīng)答分組信息后,拆除此次連接,進(jìn)入監(jiān)聽狀態(tài);步驟(8. 2),若客戶端發(fā)起連接拆除請求步驟(8. 2. 1),客戶端發(fā)送連接結(jié)束分組信息,等待服務(wù)器的應(yīng)答;步驟(8. 2. 2),服務(wù)器收到連接結(jié)束分組信息后,返回確認(rèn)應(yīng)答信息,拆除此次連接,進(jìn)入到監(jiān)聽狀態(tài);步驟(8. 2. 3),客戶端接收到確認(rèn)應(yīng)答分組信息后,拆除此次連接,進(jìn)入到監(jiān)聽狀態(tài)。本發(fā)明在圖5的環(huán)境中進(jìn)行了仿真實驗。實驗中,深空星際衛(wèi)星網(wǎng)絡(luò)中從地球到月球的前向鏈路帶寬為IMbits/s,從月球到地球的反向鏈路帶寬分別設(shè)為lOlcbits/s、 5kbits/s、lkbits/s 等,RTTmin 設(shè)為 2. 4s,RTT 設(shè)為 3s,Cwndmax 設(shè)為 60。隨機(jī)誤碼的情況下, 分組數(shù)據(jù)的丟包率為10_2,突發(fā)誤碼情況下,鏈路平均突發(fā)誤碼長度為40個分組數(shù)據(jù)。實驗結(jié)果如下表1文件傳輸時間(S)
權(quán)利要求
1. 一種適用于深空星際衛(wèi)星網(wǎng)絡(luò)的高效交互傳輸方法,其特征在于它是在源代碼公開的Linux操作系統(tǒng)上實現(xiàn),該方法包含以下步驟 步驟(1),連接監(jiān)聽客戶端進(jìn)入“監(jiān)聽”狀態(tài),等待服務(wù)器連接; 步驟O),建立連接步驟(2. 1),從服務(wù)器端發(fā)送連接請求,并按照擁塞窗口最大值Cwndmax的1/6開始發(fā)送數(shù)據(jù)信息,設(shè)置數(shù)據(jù)信息IP包頭中的兩比特“pri”分別為2、1、0,即高、中、低優(yōu)先級分組數(shù)cwnd據(jù)交錯發(fā)送,每間隔一個時間τ就發(fā)送一個分組數(shù)據(jù),其中八^,RTTmin為服務(wù)器與客戶端的星際網(wǎng)絡(luò)中兩行星之間最短的傳播時延;步驟(2.幻,從服務(wù)器來的連接請求,經(jīng)過深空星際網(wǎng)絡(luò)傳輸?shù)竭_(dá)客戶端; 步驟(2.幻,客戶端收到連接請求后,判斷是否建立連接步驟(2. 3. 1)若拒絕連接,則返回拒絕連接應(yīng)答信息,丟棄之后接收到的分組數(shù)據(jù),結(jié)束連接;步驟(2. 3. 2)若接受連接,則開始估計RTTi時間,返回連接應(yīng)答信息,并接收到達(dá)的分組數(shù)據(jù);步驟(2. 4),客戶端在接收了 Cwndmax/6的分組數(shù)據(jù)后,返回數(shù)據(jù)接收應(yīng)答信息,應(yīng)答信息采用M-NACK格式,計算出數(shù)據(jù)發(fā)送返回RTTi時間,并按照RTTi時間定時發(fā)送M-NACK應(yīng)答信息;步驟(2.幻,服務(wù)器接收到連接應(yīng)答信息后,返回應(yīng)答確認(rèn)信息,估計數(shù)據(jù)發(fā)送返回 RTTi時間,并轉(zhuǎn)入到步驟(3); 步驟(3),數(shù)據(jù)的丟失判斷步驟(3. 1),服務(wù)器接收到M-NACK應(yīng)答信息后,根據(jù)M-NACK的信息內(nèi)容判斷是否有數(shù)據(jù)丟失步驟(3. 1. 1),若存在數(shù)據(jù)丟失,則根據(jù)丟失數(shù)據(jù)的優(yōu)先級和數(shù)量判斷是否網(wǎng)絡(luò)出現(xiàn)擁塞;步驟(3. 1. 1. 1),若丟失數(shù)據(jù)高、中、低優(yōu)先級都存在,而且成功接收數(shù)據(jù)中各種優(yōu)先級的數(shù)據(jù)都有,則判斷為網(wǎng)絡(luò)中出現(xiàn)鏈路誤碼,則轉(zhuǎn)入到(3.1.2);步驟(3. 1. 1.幻,其他情況則判斷為網(wǎng)絡(luò)擁塞,根據(jù)具體的數(shù)據(jù)丟失情況分析網(wǎng)絡(luò)擁塞的情況步驟(3. 1. 1. 2. 1),若丟失的分組數(shù)據(jù)都是低優(yōu)先級分組數(shù)據(jù),即l0St_nUm = low_ pri, loSt_nUm為整個丟失分組數(shù)據(jù)的數(shù)量,low_pri為丟失的低優(yōu)先級分組數(shù)據(jù)數(shù)量, 則判斷網(wǎng)絡(luò)的擁塞情況較輕,則將擁塞窗口 cwnd值設(shè)置為當(dāng)前值的1/2,并轉(zhuǎn)入到步驟 (3. 1. 1. 2. 4);步驟(3. 1. 1. 2.幻,若丟失分組數(shù)據(jù)為低優(yōu)先級的全部分組數(shù)據(jù)和部分中等優(yōu)先級分組數(shù)據(jù),即lost_num= low_num+mid_num, mid_num為丟失的中等優(yōu)先級分組數(shù)據(jù)數(shù)量,則判斷網(wǎng)絡(luò)的擁塞情況比較嚴(yán)重,不僅路由器隊列中的低優(yōu)先級分組數(shù)據(jù)全部被丟棄,而且中等優(yōu)先級的分組數(shù)據(jù)開始被丟棄,則將擁塞窗口 cwnd值設(shè)置為當(dāng)前值的1/3,并轉(zhuǎn)入到步驟(3. 1. 1. 2. 4);步驟(3. 1. 1. 2.幻,若丟失分組數(shù)據(jù)為中、低優(yōu)先級的全部分組數(shù)據(jù)和部分或者全部 高優(yōu)先級分組數(shù)據(jù),即
全文摘要
本發(fā)明屬于深空星際衛(wèi)星網(wǎng)絡(luò)傳輸技術(shù)領(lǐng)域,其特征在于在連接建立階段就開始發(fā)送信息數(shù)據(jù);采用三級優(yōu)先級分組數(shù)據(jù)等間隔交錯發(fā)送的傳輸策略;采用初始發(fā)送Initialization Sending策略;根據(jù)不同優(yōu)先級分組數(shù)據(jù)的丟失情況,判斷數(shù)據(jù)丟失原因,分析網(wǎng)絡(luò)的擁塞程度,并采用相應(yīng)的信息流量控制算法;采用主動周期選擇的接收應(yīng)答策略。在隨機(jī)誤碼極高、突發(fā)誤碼嚴(yán)重、傳播時延極長、信道帶寬非常不對稱的深空星際衛(wèi)星網(wǎng)絡(luò)中,此方法能夠避免連接等待的時間消耗,迅速提升信息流量,有效區(qū)分鏈路誤碼和擁塞情況,并根據(jù)網(wǎng)絡(luò)的擁塞程度采用相應(yīng)的信息流量控制,極大地降低了反向鏈路的傳輸帶寬要求。
文檔編號H04L1/00GK102420676SQ20111039056
公開日2012年4月18日 申請日期2011年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者劉炯, 宋宇, 底翔, 徐輝, 戰(zhàn)文杰, 羅凱, 羅國棟, 謝小平, 陳麒, 馬軍驥 申請人:中國人民解放軍西安通信學(xué)院