一種空間tcp流量控制和差錯控制方法
2023-10-09 05:55:04 3
專利名稱:一種空間tcp流量控制和差錯控制方法
技術領域:
本發明涉及衛星通信領域中的一種空間TCP流量控制和差錯控制方法。特別適用 於空間鏈路利用TCP協議進行可靠的數據傳輸。
背景技術:
標準TCP協議主要是為地面網絡而開發的。標準TCP協議的重傳、恢復和超時機 制不完全適用於空間操作,會造成低下的空間信息傳輸效率。因此針對空間鏈路長時延、高誤碼、非對稱等特點的TCP協議是需要迫切解決的 關鍵技術。
發明內容
本發明的目的在於提出一種空間TCP流量控制和差錯控制方法,使之適應空間鏈 路特徵,提高信息傳送效率。空間TCP協議是我們設計用於衛星鏈路的傳輸協議,採用基於 接收端驅動的流量控制策略以及基於重複確認和基於重傳定時器超時的差錯控制方法,當 它運行於衛星鏈路上時,不受鏈路上長傳播延時和較高誤碼率等因素的影響。本發明的目的是這樣實現的,一種空間TCP流量控制和差錯控制方法,包括如下 步驟①流量控制a.空間TCP協議的接收端根據衛星鏈路帶寬的使用情況完成由接收端通告窗口 尺寸決定發送端擁塞窗口尺寸的流量控制機制;b.對上、下行鏈路協議轉換網關的緩衝區的尺寸進行有效的設置緩衝區尺寸要 至少等於衛星鏈路的帶寬延時積;②差錯控制a.基於重複確認的差錯控制空間TCP協議的差錯控制方法規定,發送端在接收到第一個重複確認以後就可以 認為數據包已經丟失了,需要進入差錯恢復階段對丟失的數據包進行恢復;下行鏈路協議 轉換網關利用重複確認中包含的選擇性否定確認(SNACK)選項來通知上行鏈路協議轉換 網關鏈路上發生了數據包丟失的情況;SNACK選項能夠明確地通知上行鏈路協議轉換網關 哪些數據包沒有到達接收端,並請求上行鏈路協議轉換網關立即重傳這些被認為丟失的數 據包;當上行鏈路協議轉換網關接收到一個帶有SNACK的重複確認時,要記錄到目前為 止發送的數據包的最高序列號,然後重傳SNACK中指明的數據包;當上行鏈路協議轉換網 關接收到與最高序列號相對應的數據包的確認以後,連接退出丟失恢復階段;b.基於重傳定時器超時的差錯控制空間TCP協議中使用重傳定時器對丟失的數據包進行檢測和恢復;上行鏈路協議 轉換網關利用時間戳選項來測量數據包的往返時間,並採用與標準TCP—樣的算法來計算重傳超時值;當重傳定時器超時以後,上行鏈路協議轉換網關將擁塞窗口和接收窗口重新 設置為1,並重傳超時的數據包;如果數據包沒有經歷超時,在接收到確認該數據包的確認 包以後,要重新設置重傳定時器;其中,步驟①中由接收端通告窗口尺寸決定發送端擁塞窗口尺寸的流量控制機制 包括以下步驟a.獲得數據包大小、空間鏈路帶寬、數據包往返時延的基本參數;b.計算空間鏈路數據吞吐量、空間鏈路可用帶寬、發送端總的可用有效窗口大c.根據當前連接個數更新每個連接的接收窗口 ;d.計算最大接收窗口並調整接收通告窗口 e.發送端擁塞窗口大小設置為接收端通告窗口大小。本發明相比背景技術具有以下優點1、本發明採用了基於接收端驅動的流量控制策略,從而確保了可用帶寬能被充分 地利用。2、本發明不使用類似於TCP協議的擁塞避免機制。3、本發明採用了基於重複確認的差錯控制方法,提高了信息傳送的效率。4、本發明的空間TCP流量控制和差錯控制方法具有抗長延時、高誤碼等優點。
具體實施例方式一種空間TCP流量控制和差錯控制方法,包括如下步驟①流量控制a.空間TCP流量控制和差錯控制方法的接收端根據衛星鏈路帶寬的使用情況來 設置其通告窗口的尺寸,並根據共享衛星帶寬的動態連接數來動態地調整通告窗口的尺 寸,完成由接收端通告窗口尺寸決定發送端擁塞窗口尺寸的流量控制機制;b.對上、下行鏈路協議轉換網關的緩衝區的尺寸進行有效的設置緩衝區尺寸要 至少等於衛星鏈路的帶寬延時積;②差錯控制a.基於重複確認的差錯控制空間TCP流量控制和差錯控制方法的差錯控制方法規定,發送端在接收到第一個 重複確認以後就可以認為數據包已經丟失了,需要進入差錯恢復階段對丟失的數據包進行 恢復;下行鏈路協議轉換網關利用重複確認中包含的選擇性否定確認(SNACK)選項來通知 上行鏈路協議轉換網關鏈路上發生了數據包丟失的情況;SNACK選項能夠明確地通知上行 鏈路協議轉換網關哪些數據包沒有到達接收端,並請求上行鏈路協議轉換網關立即重傳這 些被認為丟失的數據包;當上行鏈路協議轉換網關接收到一個帶有SNACK的重複確認時,要記錄到目前為 止發送的數據包的最高序列號,然後重傳SNACK中指明的數據包;當上行鏈路協議轉換網 關接收到與最高序列號相對應的數據包的確認以後,連接退出丟失恢復階段;b.基於重傳定時器超時的差錯控制空間TCP流量控制和差錯控制方法中使用重傳定時器對丟失的數據包進行檢測和恢復;上行鏈路協議轉換網關利用時間戳選項來測量數據包的往返時間,並採用與標準 TCP —樣的算法來計算重傳超時值;當重傳定時器超時以後,上行鏈路協議轉換網關將擁 塞窗口和接收窗口重新設置為1,並重傳超時的數據包;如果數據包沒有經歷超時,在接收 到確認該數據包的確認包以後,要重新設置重傳定時器;步驟①當中所述的流量控制具體包括以下步驟a.收到來自空間無線部分的TCP數據包;b.獲得基本參數數據包大小(pk_siZe)、空間鏈路帶寬(BW)、數據包往返時延
(rtt);c.計算空間鏈路數據吞吐量Through = pk_size/rtt空間鏈路可用帶寬Avail_bw = Bff-through發送端總的可用有效窗口大小Avail_window = avail_bw*rttd.更新每個連接的接收窗口 獲得當前連接個數n每個連接當前的接收窗口 rwndi將可用有效窗口公平的分給每個連接Det (rwndi) = 2*Avail_window/n-Avail_window*rwndi/ Σ rwndj更新每個連接的接收窗口 Rwndi = rwndi+det (rwndi)e.計算最大接收窗口 max_rwnd = (1+c) *bw*rtt/n調整接收窗口 If (rwndi > max_rwnd)Rwndi = max_rwndif.發送端擁塞窗口大小設置為接收端通告窗口大小Cwndi = Rwndi。本發明的工作原理為,本發明採用基於接收端驅動的流量控制策略以及基於重複 確認和基於重傳定時器超時的差錯控制方法,當它運行於衛星鏈路上時,不受鏈路上長傳 播延時和較高誤碼率等因素的影響。改進的空間TCP流量控制和差錯控制方法採用基於接收端驅動的流量控制策略, 該思想來源於接收端驅動的帶寬共享的想法。改進TCP協議的流量控制機制是由接收端控 制完成的,為了保證發送端不以大於衛星鏈路帶寬的速率發送數據包,改進TCP協議規定 發送端的擁塞窗口尺寸(Cwnd)由接收端的通告窗口尺寸(rwnd)來確定。在實現中,cwnd 和rwnd的尺寸是以字節(bytes)來計量的。在建立連接時,改進TCP協議採用標準TCP的 三次握手過程,cwnd和rwnd的初始值設置與標準TCP相同。連接建立後當改進的TCP協 議的接收端,接收到發送端返回的ACK包時,調整rwnd和cwnd的尺寸。改進空間TCP流量控制和差錯控制方法的接收端根據衛星鏈路帶寬的使用情況,設置其通告窗口的尺寸,並根據共享衛星帶寬的動態連接數,動態地調整通告窗口的尺寸。 完成由接收端通告窗口尺寸決定發送端擁塞窗口尺寸的流量控制機制,從而確保了可用帶 寬能被充分地利用。為了保證衛星鏈路上不發生擁塞,通過對上、下行鏈路協議轉換網關的緩衝區的 尺寸進行有效的設置緩衝區尺寸要至少等於衛星鏈路的帶寬延時積時才能確保衛星鏈路 上不發生擁塞。衛星鏈路上不發生任何擁塞,也就不需要採取任何擁塞控制措施,因此,空 間TCP協議不使用類似於TCP協議的擁塞避免機制。空間TCP流量控制和差錯控制方法使用流量控制機制能夠確保上行鏈路協議轉 換網關發送數據包的速率不大於衛星鏈路的傳輸速率,因此衛星鏈路上沒有擁塞發生,數 據包的丟失僅僅是由鏈路差錯造成的。當上行鏈路協議轉換網關檢測到數據包丟失以後, 必須對丟失的數據包進行恢復。上行鏈路協議轉換網關主要採用兩種方式進行差錯控制 基於重複確認的差錯控制方式和基於重傳定時器超時的差錯控制方式。空間TCP流量控制和差錯控制方法的差錯控制方法規定,發送端在接收到第一個 重複確認以後就可以認為數據包已經丟失了,需要進入差錯恢復階段對丟失的數據包進行 恢復。下行鏈路協議轉換網關利用重複確認中包含的選擇性否定確認(SNACK)選項來通知 上行鏈路協議轉換網關鏈路上發生了數據包丟失的情況。SNACK選項能夠明確地通知上行 鏈路協議轉換網關哪些數據包沒有到達接收端,並請求上行鏈路協議轉換網關立即重傳這 些被認為丟失的數據包。當上行鏈路協議轉換網關接收到一個帶有SNACK的重複確認時,要記錄到目前為 止發送的數據包的最高序列號,然後重傳SNACK中指明的數據包。當上行鏈路協議轉換網 關接收到與最高序列號相對應的數據包的確認以後,連接退出丟失恢復階段。空間TCP流量控制和差錯控制方法中使用重傳定時器對丟失的數據包進行檢測 和恢復。上行鏈路協議轉換網關利用時間戳選項來測量數據包的往返時間,並採用與標準 TCP—樣的算法來計算重傳超時值。當重傳定時器超時以後,上行鏈路協議轉換網關將擁塞 窗口和接收窗口重新設置為1,並重傳超時的數據包。如果數據包沒有經歷超時,在接收到 確認該數據包的確認包以後,要重新設置重傳定時器。
權利要求
一種空間TCP流量控制和差錯控制方法,其特徵在於如下步驟①流量控制a.空間TCP協議的接收端根據衛星鏈路帶寬的使用情況完成由接收端通告窗口尺寸決定發送端擁塞窗口尺寸的流量控制機制;b.對上、下行鏈路協議轉換網關的緩衝區的尺寸進行有效的設置緩衝區尺寸要至少等於衛星鏈路的帶寬延時積;②差錯控制a.基於重複確認的差錯控制空間TCP協議的差錯控制方法規定,發送端在接收到第一個重複確認以後就可以認為數據包已經丟失了,需要進入差錯恢復階段對丟失的數據包進行恢復;下行鏈路協議轉換網關利用重複確認中包含的選擇性否定確認(SNACK)選項來通知上行鏈路協議轉換網關鏈路上發生了數據包丟失的情況;SNACK選項能夠明確地通知上行鏈路協議轉換網關哪些數據包沒有到達接收端,並請求上行鏈路協議轉換網關立即重傳這些被認為丟失的數據包;當上行鏈路協議轉換網關接收到一個帶有SNACK的重複確認時,要記錄到目前為止發送的數據包的最高序列號,然後重傳SNACK中指明的數據包;當上行鏈路協議轉換網關接收到與最高序列號相對應的數據包的確認以後,連接退出丟失恢復階段;b.基於重傳定時器超時的差錯控制空間TCP協議中使用重傳定時器對丟失的數據包進行檢測和恢復;上行鏈路協議轉換網關利用時間戳選項來測量數據包的往返時間,並採用與標準TCP一樣的算法來計算重傳超時值;當重傳定時器超時以後,上行鏈路協議轉換網關將擁塞窗口和接收窗口重新設置為1,並重傳超時的數據包;如果數據包沒有經歷超時,在接收到確認該數據包的確認包以後,要重新設置重傳定時器。
2.根據權利要求1所述的一種空間TCP流量控制和差錯控制方法,其特徵在於步驟 ①中由接收端通告窗口尺寸決定發送端擁塞窗口尺寸的流量控制機制包括以下步驟a.獲得數據包大小、空間鏈路帶寬、數據包往返時延的基本參數;b.計算空間鏈路數據吞吐量、空間鏈路可用帶寬、發送端總的可用有效窗口大小;c.根據當前連接個數更新每個連接的接收窗口;d.計算最大接收窗口並調整接收通告窗口e.發送端擁塞窗口大小設置為接收端通告窗口大小。
全文摘要
本發明提出了一種空間TCP流量控制和差錯控制方法。它採用基於接收端驅動的流量控制策略以及基於重複確認和基於重傳定時器超時的差錯控制方法。本發明具有改善空間數據傳輸的性能,對終端用戶保持完全透明,與網際網路的基礎結構兼容等特點,特別適用於在空間鏈路環境中,進行可靠的數據傳輸。
文檔編號H04W28/10GK101895332SQ201010248048
公開日2010年11月24日 申請日期2010年8月9日 優先權日2010年8月9日
發明者吳巍, 吳渭, 閆長江 申請人:中國電子科技集團公司第五十四研究所