一種面向空天信息網(wǎng)絡的跨層tcp優(yōu)化方法
【專利摘要】本發(fā)明涉及空天信息網(wǎng)絡協(xié)議領域,尤其涉及一種面向空天信息網(wǎng)絡的跨層TCP優(yōu)化方法。本方法包括快速擁塞通知機制,由中繼點本身來判斷擁塞并且通過擁塞通知消息直接通知源節(jié)點;及面向業(yè)務的擁塞控制機制,中繼節(jié)點判斷造成擁塞的數(shù)據(jù)包的業(yè)務類型,根據(jù)不同的業(yè)務類型設置擁塞通知消息中的窗口減小方式,然后將擁塞通知消息發(fā)送給此業(yè)務的源節(jié)點,該源節(jié)點根據(jù)擁塞通知消息減小發(fā)送窗口。本發(fā)明方法能夠快速發(fā)現(xiàn)網(wǎng)絡擁塞、區(qū)分丟包原因,并且能夠根據(jù)業(yè)務類型采取不同的發(fā)送窗口減小方式,能有效地提高數(shù)據(jù)傳輸效率,并且保障瓶頸鏈路資源的合理分配,實現(xiàn)TCP業(yè)務在無線、多跳長延時環(huán)境中的高效傳輸。
【專利說明】—種面向空天信息網(wǎng)絡的跨層TCP優(yōu)化方法
【技術(shù)領域】
[0001]本發(fā)明涉及空天信息網(wǎng)絡協(xié)議領域,尤其涉及一種面向空天信息網(wǎng)絡的跨層TCP優(yōu)化方法。
【背景技術(shù)】
[0002]空天信息網(wǎng)絡是一種融合多種空基和天基通信系統(tǒng)的綜合網(wǎng)絡。其潛在的網(wǎng)絡節(jié)點將包括各類飛行器、臨近空間平臺以及軌道高度、類型不同的各種衛(wèi)星,它們共同構(gòu)成空天一體化的網(wǎng)絡系統(tǒng),為各類空中以及地面的用戶提供信息傳輸服務。在通信中繼、環(huán)境和資源監(jiān)測、應急通信、空間數(shù)據(jù)傳輸、異構(gòu)網(wǎng)絡融合等領域具有廣闊的應用前景。
[0003]空天信息網(wǎng)絡在數(shù)據(jù)傳輸方面具有以下特點:
[0004](I)誤碼率高:網(wǎng)絡采用無線信道進行傳輸,相對于有線信道,其誤碼率要高得多,一般認為誤碼率在10_4到10_6之間。
[0005](2)傳播延時長:各空間節(jié)點之間的距離遠,數(shù)據(jù)的傳播延時長。例如通過同步衛(wèi)星進行數(shù)據(jù)轉(zhuǎn)發(fā)的單向傳播延時在250ms左右,即使是臨近空間平臺之間的傳播延時也是不可忽略的。
[0006](3)延時帶寬積大:傳播延時長并且數(shù)據(jù)傳輸技術(shù)向高速寬帶化發(fā)展,造成大的延時帶寬積。
[0007](4)多跳傳輸:用戶數(shù)據(jù)通過空間節(jié)點逐跳轉(zhuǎn)發(fā)。
[0008](5)業(yè)務多樣性:由于空天信息網(wǎng)絡應用范圍廣,所承載的業(yè)務也具有多樣性。
[0009]TCP (Transmission Control Protocol)傳輸控制協(xié)議可以實現(xiàn)端到端的可靠傳輸和擁塞控制等功能,是目前各類通信網(wǎng)絡中應用最為廣泛的傳輸層協(xié)議。TCP協(xié)議的核心是通過接收端返回的ACK(Acknowledgement)確認信息判斷數(shù)據(jù)是否被成功接收,通過調(diào)整發(fā)送端的發(fā)送窗口控制數(shù)據(jù)發(fā)送速率,進行擁塞控制。由于空天信息網(wǎng)絡的上述特點,傳統(tǒng)的TCP協(xié)議應用于空天信息網(wǎng)絡會面臨以下問題:
[0010](I)擁塞發(fā)生時不能得到及時的緩解
[0011]目前的TCP方案中,TCP源端主要是通過兩種方法對網(wǎng)絡的擁塞進行感知:一種是基于源端RTO(retransmit time out)計時器,當RTO計時器超時,TCP源端判斷網(wǎng)絡產(chǎn)生了擁塞并減小發(fā)送窗口,這至少需要經(jīng)歷一個RTT(round trip times);另一種是基于返回的ACK,利用ACK的間隔或其中的附加消息來判斷擁塞,從中繼節(jié)點產(chǎn)生擁塞,到TCP源端感知到擁塞,至少需要經(jīng)過1/2個RTT,并且擁塞節(jié)點越接近源端,所需的反應時間越長。
[0012]在空天信息網(wǎng)絡中,由于節(jié)點距離遠,傳播延時長,RTT和RTO都比傳統(tǒng)網(wǎng)絡中大得多,因此發(fā)送端不能立即對擁塞作出反應。由于網(wǎng)絡的延時帶寬積比較大,在這個比較長的反應時間中,更多的數(shù)據(jù)被發(fā)送到信道,造成了擁塞的加劇。
[0013](2)高誤碼率降低了 TCP的傳輸效率
[0014]在有線網(wǎng)絡中,數(shù)據(jù)包的丟失都是由擁塞造成的,所以當RTO計時器超時,發(fā)送端認為網(wǎng)絡發(fā)生了擁塞,減小發(fā)送窗口,降低數(shù)據(jù)的發(fā)送速率。但是在無線網(wǎng)絡中,由于誤碼率較高,數(shù)據(jù)包的丟失很大一部分是由于誤碼造成的,此時發(fā)送端沒有必要減小發(fā)送窗口降低發(fā)送速率。傳統(tǒng)的TCP協(xié)議無法區(qū)分數(shù)據(jù)包丟失的原因,會經(jīng)常不必要地減小發(fā)送窗口,降低了數(shù)據(jù)傳輸效率。
[0015](3)擁塞控制方法不適應業(yè)務多樣性
[0016]空天信息網(wǎng)絡中的業(yè)務具有多樣性,主要可分為三種類型:緊急業(yè)務、寬帶業(yè)務和盡力而為業(yè)務。其中緊急業(yè)務通常是一些數(shù)據(jù)量小但是比較緊急的控制、指令和語音等信息,需要盡快傳輸;寬帶業(yè)務包括文件下載、視頻點播等數(shù)據(jù)量大,需要占用較大帶寬的業(yè)務;盡力而為業(yè)務是指網(wǎng)頁瀏覽、電子郵件、短信等對延時、帶寬等沒有嚴格要求的業(yè)務。在傳統(tǒng)的TCP擁塞控制方法中,當發(fā)生擁塞時,所有業(yè)務采用同樣的機制減小發(fā)送窗口,瓶頸鏈路的資源在不同類型的業(yè)務之間平均分配,不利于對業(yè)務需求的保障。
[0017]現(xiàn)有的一些TCP優(yōu)化方法針對無線環(huán)境和衛(wèi)星鏈路對TCP進行了改進。主要通過增大初始窗口、發(fā)送啞元信息、區(qū)分丟包原因等方法提高TCP在誤碼率高、往返延時大的環(huán)境下的性能。但是現(xiàn)有方法沒有解決TCP在多跳長延時環(huán)境中的問題,并且在多種業(yè)務共存的情況下,不能保障瓶頸鏈路帶寬的合理分配,不能完全適應空天信息網(wǎng)絡的特點。
[0018]針對空天信息網(wǎng)絡的TCP協(xié)議應能夠盡快發(fā)現(xiàn)網(wǎng)絡中的擁塞;能夠區(qū)分造成丟包的原因,避免不必要地減小發(fā)送窗口 ;能夠在發(fā)生擁塞時,根據(jù)業(yè)務特點合理分配瓶頸鏈路的帶寬。
【發(fā)明內(nèi)容】
[0019]針對現(xiàn)有技術(shù)中存在的缺陷或不足,本發(fā)明所要解決的技術(shù)問題是:提供一種面向空天信息網(wǎng)絡的跨層TCP優(yōu)化方法,通過設計快速擁塞通知機制和面向業(yè)務的擁塞控制機制,對數(shù)據(jù)傳輸過程中的擁塞發(fā)現(xiàn)和擁塞控制環(huán)節(jié)進行優(yōu)化,能夠快速發(fā)現(xiàn)網(wǎng)絡擁塞、區(qū)分丟包原因,并且能夠根據(jù)業(yè)務類型采取不同的發(fā)送窗口減小方式。
[0020]本發(fā)明采取的技術(shù)方案為提供一種面向空天信息網(wǎng)絡的跨層TCP優(yōu)化方法,包括快速擁塞通知機制:所述快速擁塞通知機制是由中繼節(jié)點本身來判斷擁塞并且通過擁塞通知消息直接通知源節(jié)點;
[0021]面向業(yè)務的擁塞控制機制:所述面向業(yè)務的擁塞控制機制是將有限的瓶頸鏈路資源更多地分配給高優(yōu)先級業(yè)務,當某中繼節(jié)點發(fā)生擁塞時,該節(jié)點判斷當前造成擁塞的數(shù)據(jù)包的業(yè)務類型,根據(jù)不同的業(yè)務類型設置擁塞通知消息中的“窗口減小方式”,然后將擁塞通知消息發(fā)送給此業(yè)務的源節(jié)點,該源節(jié)點根據(jù)擁塞通知消息減小發(fā)送窗口 ;
[0022]所述方法利用擁塞通知消息、RTO計時器和重復的ACK來區(qū)分丟包的原因。
[0023]作為本發(fā)明的進一步改進,所述中繼節(jié)點在接收到需要轉(zhuǎn)發(fā)的數(shù)據(jù)包時,查看自身轉(zhuǎn)發(fā)隊列的狀態(tài),判斷是否發(fā)生擁塞,所述擁塞的判斷采用RED隊列管理方法,該方法為當RED隨機標記需要丟棄的數(shù)據(jù)包時,中繼節(jié)點繼續(xù)發(fā)送此數(shù)據(jù)包,同時向源節(jié)點發(fā)送擁塞通知消息;源節(jié)點收到擁塞通知消息后進行擁塞控制,通過減小發(fā)送窗口降低發(fā)送速率。
[0024]作為本發(fā)明的進一步改進,所述丟包原因判斷方法如下,
[0025]如果沒有擁塞通知消息,代表網(wǎng)絡中沒有擁塞;如果收到擁塞通知消息,減少發(fā)送窗口 ;
[0026]如果RTO計時器超時,或者收到重復的ACK,可以判斷丟包的原因是由誤碼造成的,TCP源節(jié)點將重傳未被確認的數(shù)據(jù),不減少發(fā)送窗口。
[0027]作為本發(fā)明的進一步改進,中繼節(jié)點的擁塞通知以及源節(jié)點的擁塞判斷過程是:中繼節(jié)點保存一個“擁塞標識”,用來表示轉(zhuǎn)發(fā)隊列當前是否擁塞。當接收到的待轉(zhuǎn)發(fā)數(shù)據(jù)包造成擁塞時,如果“擁塞標識”為“否”,則表示該數(shù)據(jù)包造成了新的擁塞,將“序列號”加1,并發(fā)送擁塞通知消息;如果“擁塞標識”為“是”則只發(fā)送擁塞通知消息,“序列號”不變。由于造成中繼節(jié)點擁塞的數(shù)據(jù)包可能來自不同的TCP源節(jié)點,采用此方法可以通知所有造成中繼節(jié)點擁塞的TCP源節(jié)點;
[0028]作為本發(fā)明的進一步改進,所述源節(jié)點為每個中繼節(jié)點保存一個“最大序列號”,收到擁塞通知消息后,根據(jù)其中的“擁塞節(jié)點”、“序列號”和自身保存的“最大序列號”來判斷此擁塞通知消息是否代表了一個新的擁塞事件。
[0029]作為本發(fā)明的進一步改進,所述新的擁塞事件的判斷過程如下:當擁塞通知消息中的“序列號”大于“最大序列號”,可以確定發(fā)生擁塞,將“最大序列號”設置為擁塞通知消息中的“序列號”,并減小發(fā)送窗口 ;
[0030]當擁塞通知消息中的“序列號”小 于“最大序列號”,不需要對此擁塞通知消息做任何操作。
[0031]作為本發(fā)明的進一步改進,所述業(yè)務類型分為三種:實時業(yè)務、寬帶業(yè)務、盡力而為業(yè)務,根據(jù)當前造成擁塞的數(shù)據(jù)包的業(yè)務類型設置擁塞通知消息中的“窗口減小方式”。
[0032]作為本發(fā)明的進一步改進,所述擁塞通知消息包括
[0033]“消息類型”代表此消息為擁塞通知消息;
[0034]“擁塞節(jié)點”是指發(fā)生擁塞的節(jié)點;
[0035]“TCP源端”是指造成當前擁塞的數(shù)據(jù)包的源節(jié)點;
[0036]及“序列號”是此擁塞通知消息的序號。
[0037]作為本發(fā)明的進一步改進,當引起擁塞的數(shù)據(jù)包是實時業(yè)務時,即最高優(yōu)先級,“窗口減小方式”為方式4;當引起擁塞的數(shù)據(jù)包是寬帶業(yè)務,即中等優(yōu)先級,“窗口減小方式”為方式3 ;當引起擁塞的數(shù)據(jù)包是盡力而為業(yè)務時,擁塞節(jié)點要查找轉(zhuǎn)發(fā)隊列中是否有更高優(yōu)先級,如果有,“窗口減小方式”為方式2,如有沒有,“窗口減小方式”為方式I。
[0038]作為本發(fā)明的進一步改進,所述“窗口減少方式”包括調(diào)整發(fā)送窗口和慢啟動門限,所述調(diào)整發(fā)送窗口和慢啟動門限分為下列四種方式:
【權(quán)利要求】
1.一種面向空天信息網(wǎng)絡的網(wǎng)絡維護方法,其特征在于:該方法包括以下步驟: A、普通節(jié)點損壞時的網(wǎng)絡維護,采用局部路由重建和全局路由重建相結(jié)合的方式,所述局部重建是通過從上游節(jié)點到目的節(jié)點的局部路由重建,所述全局路由重建是通過管理衛(wèi)星來更新網(wǎng)絡狀態(tài),在全網(wǎng)進行全局的路由重建; B、關(guān)鍵節(jié)點損壞時的網(wǎng)絡維護,通過中軌衛(wèi)星層的多顆衛(wèi)星共同承擔管理衛(wèi)星的任務; C、節(jié)點擁塞時的網(wǎng)絡維護,通過額外代價的設置避免其轉(zhuǎn)發(fā)更多的數(shù)據(jù),并通過強制路由保持原有業(yè)務的傳輸路徑。
2.根據(jù)權(quán)利要求1所述的面向空天信息網(wǎng)絡的網(wǎng)絡維護方法,其特征在于:所述步驟A包括以下步驟 Al、在所有骨干節(jié)點更新NIB之前,采用局部重建的路由來傳輸數(shù)據(jù); A2、在網(wǎng)絡中各骨干節(jié)點更新NIB之后,根據(jù)新的NIB繞開失效的鏈路和節(jié)點來計算路由。
3.根據(jù)權(quán)利要求2所述的面向空天信息網(wǎng)絡的網(wǎng)絡維護方法,其特征在于:當骨干節(jié)點i發(fā)現(xiàn)其與節(jié)點j之間的鏈路(i,j)失效時,所述步驟A2包括以下步驟: A20、(i, j)的上游節(jié)點i發(fā)起網(wǎng)絡維護過程,上游節(jié)點i更新自身的網(wǎng)絡狀態(tài)信息庫NIBJf (i,j)這條鏈路的額外代價設為A、=c?,重新計算業(yè)務傳輸?shù)穆窂?,并按照新的路徑轉(zhuǎn)發(fā)數(shù)據(jù); A30、上游節(jié)點i向管理衛(wèi)星發(fā)送失效消息ERROR,啟動全局路由重建過程,管理衛(wèi)星收到 ERROR后,在NIB中將(i,j)這條鏈路的額外代價設為Aij = ^?,將計算結(jié)果通過管理衛(wèi)星發(fā)送到各個骨干節(jié)點; A40、上游節(jié)點i在發(fā)送ERROR消息之后,周期性地發(fā)送HELLO消息。
4.根據(jù)權(quán)利要求3所述的面向空天信息網(wǎng)絡的網(wǎng)絡維護方法,其特征在于:所述步驟A40包括以下分步驟: A41:如果i到j的鏈路恢復并且穩(wěn)定,上游節(jié)點i向管理衛(wèi)星發(fā)送一個鏈路恢復消息RECOVER,管理衛(wèi)星收到RECOVER消息后重置NIB中(i,j)這條鏈路的額外代價為Aij = 0,并將NIB的更新部分發(fā)送給各骨干節(jié)點; A42:如果節(jié)點j與所有鄰居之間的鏈路都失效,則網(wǎng)絡判斷節(jié)點j損壞,將其從NIB中刪除,減少路由計算時的計算量,并且鄰居節(jié)點也停止發(fā)送HELLO消息,減少不必要的開銷; A43:如果節(jié)點j從故障中恢復,通過廣播HELLO消息來通知鄰居節(jié)點。
5.根據(jù)權(quán)利要求1所述的面向空天信息網(wǎng)絡的網(wǎng)絡維護方法,其特征在于:所述步驟B包括以下分步驟: B1.當某節(jié)點i發(fā)現(xiàn)鏈路其與管理衛(wèi)星之間的鏈路(i,g)失效時,i在與自身相連的中軌衛(wèi)星中選擇連接度最大的一個Hli作為管理節(jié)點,將需要發(fā)送給g的控制信息發(fā)送給IV由Hii完成此次控制信息的轉(zhuǎn)發(fā),其中節(jié)點連接度根據(jù)NIB來獲得; B2.Hii在收到i發(fā)來的控制信息后,判斷出鏈路(i,g)失效,將控制信息廣播給其連接的所有骨干節(jié)點; B3.骨干節(jié)點收到衛(wèi)星失效通知后,當有網(wǎng)絡狀態(tài)更新時,選擇與自身相連的節(jié)點連接度最大的中軌衛(wèi)星傳輸控制信息,當同步衛(wèi)星從故障中恢復,或者備份衛(wèi)星開始工作,則中軌衛(wèi)星層廣播同步衛(wèi)星恢復通知,網(wǎng)絡恢復正常狀態(tài)。
6.根據(jù)權(quán)利要求1所述的面向空天信息網(wǎng)絡的網(wǎng)絡維護方法,其特征在于:所述節(jié)點擁塞時的網(wǎng)絡維護是根據(jù)節(jié)點隊列長度不同狀態(tài)對節(jié)點的擁塞進行判斷和網(wǎng)絡維護操作,所述節(jié)點擁塞包括無擁塞狀態(tài)、擁塞避免狀態(tài)及擁塞狀態(tài)。
7.根據(jù)權(quán)利要求6所述的面向空天信息網(wǎng)絡的網(wǎng)絡維護方法,其特征在于:所述隊列長度包括最小隊列長度minth、最大隊列長度maxth、平均隊列長度qavg、總隊列qlim ;當qavg小于minth時,為無擁塞狀態(tài),不丟棄數(shù)據(jù)包;當qavg在minth與maxth之間時,為擁塞避免狀態(tài),以一定的概率隨機丟棄數(shù)據(jù)包;當qavg大于Hiaxth時,為擁塞狀態(tài),丟棄新到的數(shù)據(jù)包。
8.根據(jù)權(quán)利要求6所述的面向空天信息網(wǎng)絡的網(wǎng)絡維護方法,其特征在于:節(jié)點的擁塞狀態(tài)通過ERROR、WARRING和RECOVER等消息發(fā)送給管理衛(wèi)星,并通過額外代價的設置將擁塞狀態(tài)反映到NIB中; 對所有鏈路(j,i) e G,鏈路的額外代價根據(jù)隊列長度設置:
9.根據(jù)權(quán)利要求6所述的面向空天信息網(wǎng)絡的網(wǎng)絡維護方法,其特征在于: 所述步驟C包括以下分步驟: Cl、當節(jié)點處于無擁塞狀態(tài)時,無需進行維護,網(wǎng)絡根據(jù)NIB計算路由,正常轉(zhuǎn)發(fā)數(shù)據(jù),如果節(jié)點是從其他狀態(tài)變?yōu)闊o擁塞狀態(tài),則向管理衛(wèi)星發(fā)送RECOVER消息,其中的“鏈路源端”和“鏈路目的端”都設為該節(jié)點,網(wǎng)絡按更新的NIB正常轉(zhuǎn)發(fā)數(shù)據(jù); C2、當節(jié)點i處于擁塞避免狀態(tài)時,網(wǎng)絡應避免該節(jié)點轉(zhuǎn)發(fā)更多的業(yè)務,但目前正在轉(zhuǎn)發(fā)的業(yè)務可以繼續(xù)。該骨干節(jié)點向管理衛(wèi)星發(fā)送一個WARRING消息,其中包含當前所轉(zhuǎn)發(fā)信息的列表。管理衛(wèi)星收到WARRING之后,將NIB中所有目的端為i的鏈路的額外代價設為采用同步衛(wèi)星進行轉(zhuǎn)發(fā)時的鏈路傳播延時De。即對所有鏈路(j,i) e G,有Aji = Dg ; C3、當節(jié)點i處于擁塞狀態(tài),則發(fā)送ERROR消息,使所有業(yè)務避開此節(jié)點。
10.根據(jù)權(quán)利要求6所述的面向空天信息網(wǎng)絡的網(wǎng)絡維護方法,其特征在于:所述NIB由鏈路傳播延時和鏈路額外代價構(gòu)成,將整個網(wǎng)絡抽象為一個加權(quán)有向圖G(V,E)。其中V是圖的頂點,表示網(wǎng)絡中骨干節(jié)點的集合,V= IV1, V2,…,VJ出是圖的邊,表示骨干節(jié)點之間的鏈路,E= {(V1, V2), (V11V3), -, (Vi, Vj) },NIB可表示為由eij構(gòu)成的鄰接矩陣N,如公式⑵所示;
【文檔編號】H04L12/807GK103957121SQ201410181253
【公開日】2014年7月30日 申請日期:2014年4月30日 優(yōu)先權(quán)日:2014年4月30日
【發(fā)明者】張欽宇, 吳偉強, 陳培培, 羅冰妮, 張曼曼, 王玉鵬 申請人:哈爾濱工業(yè)大學深圳研究生院