丟包感知的區分型擁塞控制方法
2023-09-22 03:47:55 1
丟包感知的區分型擁塞控制方法
【專利摘要】本發明提供一種丟包感知的區分型擁塞控制方法,通過利用鏈路層檢測到的鏈路狀態來區分擁塞、誤碼和鏈路斷開,將擁塞、誤碼和鏈路斷開分別通過不同類型的信令通知源端,使源端更新本地狀態信息;對不同的丟包類型,採用區分型擁塞控制機制,無法識別丟包原因時,採用預設的預設處理模式;該種丟包感知的區分型擁塞控制方法,能夠將衛星鏈路中三種不同的丟包類型區分開來,並針對不同原因進行不同的擁塞控制處理,解決了衛星鏈路存在擁塞和誤碼丟包,以及衛星鏈路遇到遮擋或由於終端移動使鏈路中斷時,TCP連接中斷導致的擁塞控制機制效率低的問題。增強了擁塞控制機制在衛星鏈路中的適應性,大大提高了鏈路吞吐量和信道效率。
【專利說明】丟包感知的區分型擁塞控制方法
【技術領域】
[0001]本發明涉及一種丟包感知的區分型擁塞控制方法。
【背景技術】
[0002]由於衛星鏈路具有傳播時延長、帶寬時延積大、誤碼率高的特點,導致了網際網路中廣泛應用的TCP協議在應用於衛星鏈路時性能受到很大影響,導致衛星網絡傳輸效率不高,嚴重限制了衛星鏈路資源的利用,傳輸效率無法滿足各種業務需求。
[0003]衛星信道的誤碼率大約為IO4數量級,這遠遠高於地面有線媒質。另外空間信道的各種隨機因素(如雨衰等)使得信道出現鏈路惡化,誤碼率相對高的衛星鏈路大大地降低了 TCP的性能。因為TCP是一個使用分組丟失來控制傳輸行為的丟失敏感協議,它無法區分擁塞丟失還是鏈路惡化突發錯誤丟失。TCP假定報文丟失都是由信道擁塞造成的,較大的誤碼率過早地觸發了窗口減小機制,雖然這時網絡並沒有擁塞,同時,ACK分組的丟失使吞吐量進一步惡化。此外,衛星鏈路遇到遮擋或由於終端移動使鏈路中斷時,TCP也會中斷連接,影響了終端用戶的使用。針對這一問題,提出一種丟包感知的區分型擁塞控制方法,來區分鏈路中的不同丟包類型。
【發明內容】
[0004]本發明的目的是提供一種丟包感知的區分型擁塞控制方法,解決現有技術中存在的:未發生擁塞時衛星鏈路較大的誤碼率過早地觸發窗口減小機制,ACK分組丟失使吞吐量進一步惡化,衛星鏈路遇到遮擋或由於終端移動使鏈路中斷時TCP連接中斷影響終端用戶使用的問題。
[0005]本發明的技術解決方案是:
一種丟包感知的區分型擁塞控制方法,通過利用鏈路層檢測到的鏈路狀態來區分擁塞、誤碼和鏈路斷開,將擁塞、誤碼和鏈路斷開分別通過不同類型的信令通知源端,使源端更新本地狀態信息;
對不同的丟包類型,採用區分型擁塞控制機制,無法識別丟包原因時,採用預設的預設處理模式。
[0006]優選地,對不同的丟包類型,發送節點將採用相應的響應方式;
對於擁塞丟包,採用TCP標準的VJ機制進行處理,將發送速率減半,並將重傳時鐘加
倍;
對於誤碼丟包,則不改變發送速率,重傳超時值也保持不變,同時擁塞控制機制轉換為Vegas機制;
當鏈路發生斷開的現象時,將停止發送任何新數據,終止重傳時鐘,同時周期性地探測鏈路是否恢復,當源端收到一個指示,表明對端已經恢復連接時,將恢復正常運轉。
[0007]優選地,從本地鏈路接口通過數據鏈路層信令獲得鏈路的可用信息;
維護鏈路可用性的狀態信息,當鏈路狀態發生改變時,向離該鏈路最近的上遊相鄰節點發送變化信息;
數據源獲知該變化信息。
[0008]優選地,通過監測節點處的報文隊列長度變化和定期發送探測報文來區分擁塞、誤碼和鏈路斷開;
在發生報文丟失時,如果報文隊列長度超過門限值P時,判斷為擁塞;
如果報文隊列長度沒有達到門限值P,則判斷為誤碼;
如果發生丟包時,定期發送的探測報文在超時時間內沒有收到響應,則判斷為鏈路斷開。
[0009]優選地,丟包原因判斷步驟描述如下:
步驟一:發現有報文丟失現象,查看探測報文是否超時,如果超時則轉步驟三;如果沒有超時則轉步驟二;
步驟二:節點緩衝區中的隊列長度小於P,則得出丟包原因為鏈路誤碼;如果隊列長度大於P,丟包原因為鏈路擁塞;
步驟三:給出丟包原因是鏈路斷開。
[0010]優選地,發送方無法判斷丟包類型時,發送方將採用預設的擁塞處理方法,即擁塞控制機制設置為VJ機制,同時將發送速率減半,重傳超時值加倍,也就是預設情況下按照擁塞丟包進行處理。
[0011]優選地,根據丟包原因信息,向鄰近上遊節點發送相應的通知報文。
[0012]優選地,通知報文用於向相鄰上遊節點發送報文丟失原因的信息,以使發送節點根據不同的丟包原因採取相應的擁塞控制策略。
[0013]優選地,依據不同的丟包原因發送相應的通知報文的步驟描述如下:
步驟一:判斷丟包原因如果為鏈路斷開,則發送鏈路斷開通知給相鄰上遊節點;
步驟二:判斷丟包原因如果為鏈路擁塞,則發送鏈路擁塞通知給相鄰上遊節點;
步驟三:判斷丟包原因如果為鏈路誤碼,則發送鏈路誤碼通知給相鄰上遊節點。
[0014]優選地,區分型擁塞控制機制的步驟描述如下:
步驟一:如果丟包類型為擁塞丟包,則將發送速率減半,重傳超時值加倍,設置擁塞控制機制為VJ機制,轉到步驟五;
步驟二:如果丟包類型為誤碼丟包,則發送速率不變,重傳超時值不變,擁塞控制機制設置為Vegas機制,轉到步驟五;
步驟三:如果丟包類型為鏈路斷開,則停止發送數據,終止重傳時鐘,並轉步驟四;步驟四:周期性發送探測報文,查看鏈路是否恢復,如果恢復則繼續發送報文,如果沒有恢復則不斷地探測;
步驟五:結束。
[0015]VJ機制是V.Jacobson在1988年的論文中提出的一種TCP的擁塞控制機制,由「慢啟動(Slow start) 」 和「擁塞避免(Congestion avoidance) 」 算法組成。
[0016]Vegas機制是針對大帶寬高延遲鏈路對傳統TCP擁塞控制的一種改進機制,主要對重傳、擁塞檢測和慢啟動機制進行了改進。
[0017]本發明的有益效果是:發明了一種丟包感知的區分型擁塞控制方法,能夠將衛星鏈路中三種不同的丟包類型區分開來,並針對不同原因進行不同的擁塞控制處理,解決了衛星鏈路存在擁塞和誤碼丟包,以及衛星鏈路遇到遮擋或由於終端移動使鏈路中斷時,TCP連接中斷導致的擁塞控制機制效率低的問題。增強了擁塞控制機制在衛星鏈路中的適應性,大大提高了鏈路吞吐量和信道效率。
【專利附圖】
【附圖說明】
[0018]圖1是本發明實施例中丟包原因判斷的流程圖;
圖2是本發明實施例中依據不同丟包原因發送通知報文的流程圖;
圖3是本發明實施例中通知報文的數據格式的示意圖;
圖4是本發明實施例中依據不同丟包類型進行區分型擁塞控制的流程圖。
【具體實施方式】
[0019]下面結合附圖詳細說明本發明的優選實施例。
[0020]如圖4所示,本實施例提供一種丟包感知的區分型擁塞控制方法,通過利用鏈路層檢測到的鏈路狀態來區分擁塞、誤碼和鏈路斷開,將擁塞、誤碼和鏈路斷開分別通過不同類型的信令通知源端,使源端更新本地狀態信息;對不同的丟包類型,採用區分型擁塞控制機制,無法識別丟包原因時,採用預設的預設處理模式。
[0021]丟包感知機制中,包含了一個監測模塊和通知模塊,利用鏈路層檢測到的鏈路狀態來區分擁塞、誤碼和鏈路斷開,並將擁塞、誤碼和鏈路斷開分別通過不同類型的信令通知源端,使之更新本地狀態信息。此外,在某些情況下,如果該機制無法識別丟包原因,將採用預先設置好的預設處理模式。監測模塊依賴從本地鏈路接口,如衛星信道接口,通過數據鏈路層信令獲得鏈路的可用信息。同時,通知模塊將維護鏈路可用性的狀態信息,包括可用、不可用。當鏈路狀態發生改變時,通知模塊將向離該鏈路最近的上遊相鄰節點發送變化信息。之後,數據源將獲知該信息。
[0022]如圖1所示,監測模塊是設置在網絡節點鏈路層的一個軟體模塊,通過監測節點處的報文隊列長度變化和定期發送探測報文來區分擁塞、誤碼和鏈路斷開。在發生報文丟失時,如果報文隊列長度超過門限值P時,判斷為擁塞,因為此時網絡中資源有限,無法處理過多的報文,因而導致網絡節點積壓了過多報文;如果報文隊列長度沒有達到門限值P,則判斷為誤碼。如果發生丟包時,定期發送的探測報文在超時時間內沒有收到響應,則判斷為鏈路斷開。
[0023]丟包原因判斷的步驟描述如下:
步驟一:發現有報文丟失現象,查看探測報文是否超時,如果超時則轉步驟三;如果沒有超時則轉步驟二;
步驟二:節點緩衝區中的隊列長度小於P,則得出丟包原因為鏈路誤碼;如果隊列長度大於P,丟包原因為鏈路擁塞;
步驟三:給出丟包原因是鏈路斷開。
[0024]如圖2所示,通知模塊同樣是設置在網絡節點鏈路層的一個軟體模塊,根據監測模塊提供的丟包原因信息,向鄰近上遊節點發送不同的通知報文。
[0025]依據不同的丟包原因發送相應的通知報文的步驟描述如下:
步驟一:判斷丟包原因如果為鏈路斷開,則發送鏈路斷開通知給相鄰上遊節點; 步驟二:判斷丟包原因如果為鏈路擁塞,則發送鏈路擁塞通知給相鄰上遊節點;
步驟三:判斷丟包原因如果為鏈路誤碼,則發送鏈路誤碼通知給相鄰上遊節點;
通知報文的格式定義:通知模塊發送的通知報文主要用於向相鄰上遊節點發送報文丟失原因的信息,從而使發送節點根據不同的丟包原因採取不同的擁塞控制策略。該通知報文採用UDP報文發送,其數據格式定義如圖3所示。
[0026]其中,丟包類型定義為:
鏈路擁塞=OxOl ;
鏈路誤碼=0x02 ;
鏈路斷開=0x03 ;
區分型擁塞控制機制:對於三種不同的丟包類型,發送節點將分別採用三種不同的響應方式。對於擁塞丟包,採用TCP標準的VJ機制進行處理,將發送速率減半,並將重傳時鐘加倍;對於誤碼丟包則不改變發送速率,重傳超時值也保持不變,同時擁塞控制機制轉換為Vegas機制。當衛星鏈路發生斷開的現象時,設備將停止發送任何新數據,終止重傳時鐘;同時周期性地探測鏈路是否恢復。這些探測消息可以通過包含一個字節數據的報文實現,也可以通過應答信息實現。當源端收到一個指示,表明對端已經恢復連接時,將恢復正常運轉,這裡的指示可以是通過從對端收到的新報文,也可以是通知機制中的鏈路恢復信令。該機制的處理流程如圖4所示。
[0027]區分型擁塞控制機制的具體步驟描述如下:
步驟一:如果丟包類型為擁塞丟包,則將發送速率減半,重傳超時值加倍,設置擁塞控制機制為VJ機制,轉到步驟五;
步驟二:如果丟包類型為誤碼丟包,則發送速率不變,重傳超時值不變,擁塞控制機制設置為Vegas機制,轉到步驟五;
步驟三:如果丟包類型為鏈路斷開,則停止發送數據,終止重傳時鐘,並轉步驟四;步驟四:周期性發送探測報文,查看鏈路是否恢復,如果恢復則繼續發送報文,如果沒有恢復則不斷地探測;
步驟五:結束。
[0028]在某些情況下,發送方無法判斷丟包類型,如丟包原因通知報文丟失,報文本身由於誤碼導致信息無法識別等,此時,發送方將採用預設的擁塞處理方法,即擁塞控制機制設置為VJ機制,同時將發送速率減半,重傳超時值加倍。也就是預設情況下按照擁塞丟包進行處理,以確保整個方法的可靠性。
【權利要求】
1.一種丟包感知的區分型擁塞控制方法,其特徵在於: 利用鏈路層檢測到的鏈路狀態來區分擁塞、誤碼和鏈路斷開,將擁塞、誤碼和鏈路斷開分別通過不同類型的信令通知源端,使源端更新本地狀態信息; 對不同的丟包類型,採用區分型擁塞控制機制,無法識別丟包原因時,採用預設的預設處理模式。
2.如權利要求1所述的丟包感知的區分型擁塞控制方法,其特徵在於:對不同的丟包類型,發送節點將採用相應的響應方式; 對於擁塞丟包,採用TCP標準的VJ機制進行處理,將發送速率減半,並將重傳時鐘加倍; 對於誤碼丟包,則不改變發送速率,重傳超時值也保持不變,同時擁塞控制機制轉換為Vegas機制; 當鏈路發生斷開的現象時,將停止發送任何新數據,終止重傳時鐘,同時周期性地探測鏈路是否恢復,當源端收到一個指示,表明對端已經恢復連接時,將恢復正常運轉。
3.如權利要求1所述的丟包感知的區分型擁塞控制方法,其特徵在於:從本地鏈路接口通過數據鏈路層信令獲得鏈路的可用信息; 維護鏈路可用性的狀 態信息,當鏈路狀態發生改變時,向離該鏈路最近的上遊相鄰節點發送變化信息; 數據源獲知該變化信息。
4.如權利要求1所述的丟包感知的區分型擁塞控制方法,其特徵在於:通過監測節點處的報文隊列長度變化和定期發送探測報文來區分擁塞、誤碼和鏈路斷開; 在發生報文丟失時,如果報文隊列長度超過門限值P時,判斷為擁塞; 如果報文隊列長度沒有達到門限值P,則判斷為誤碼; 如果發生丟包時,定期發送的探測報文在超時時間內沒有收到響應,則判斷為鏈路斷開。
5.如權利要求1所述的丟包感知的區分型擁塞控制方法,其特徵在於:丟包原因判斷步驟描述如下: 步驟一:發現有報文丟失現象,查看探測報文是否超時,如果超時則轉步驟三;如果沒有超時則轉步驟二; 步驟二:節點緩衝區中的隊列長度小於P,則得出丟包原因為鏈路誤碼;如果隊列長度大於P,丟包原因為鏈路擁塞; 步驟三:給出丟包原因是鏈路斷開。
6.如權利要求1所述的丟包感知的區分型擁塞控制方法,其特徵在於:發送方無法判斷丟包類型時,發送方將採用預設的擁塞處理方法,即擁塞控制機制設置為VJ機制,同時將發送速率減半,重傳超時值加倍,也就是預設情況下按照擁塞丟包進行處理。
7.如權利要求1所述的丟包感知的區分型擁塞控制方法,其特徵在於:根據丟包原因信息,向鄰近上遊節點發送相應的通知報文。
8.如權利要求7所述的丟包感知的區分型擁塞控制方法,其特徵在於:通知報文用於向相鄰上遊節點發送報文丟失原因的信息,以使發送節點根據不同的丟包原因採取相應的擁塞控制策略。
9.如權利要求1-8任一項所述的丟包感知的區分型擁塞控制方法,其特徵在於:依據不同的丟包原因發送相應的通知報文的步驟描述如下: 步驟一:判斷丟包原因如果為鏈路斷開,則發送鏈路斷開通知給相鄰上遊節點; 步驟二:判斷丟包原因如果為鏈路擁塞,則發送鏈路擁塞通知給相鄰上遊節點; 步驟三:判斷丟包原因如果為鏈路誤碼,則發送鏈路誤碼通知給相鄰上遊節點。
10.如權利要求1-8任一項所述的丟包感知的區分型擁塞控制方法,其特徵在於:區分型擁塞控制機制的步驟描述如下: 步驟一:如果丟包類型為擁塞丟包,則將發送速率減半,重傳超時值加倍,設置擁塞控制機制為VJ機制,轉到步驟五; 步驟二:如果丟包類型為誤碼丟包,則發送速率不變,重傳超時值不變,擁塞控制機制設置為Vegas機制,轉到步驟五; 步驟三:如果丟包類型為鏈路斷開,則停止發送數據,終止重傳時鐘,並轉步驟四;步驟四:周期性發送探測報文,查看鏈路是否恢復,如果恢復則繼續發送報文,如果沒有恢復則不斷地探測; 步驟五: 結束。
【文檔編號】H04L12/823GK103825832SQ201410074062
【公開日】2014年5月28日 申請日期:2014年3月3日 優先權日:2014年3月3日
【發明者】湯凱, 續欣, 陳國友 申請人:中國人民解放軍理工大學