基于丟包率的衛(wèi)星通信自適應(yīng)擁塞控制方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于衛(wèi)星通信技術(shù)領(lǐng)域,具體涉及一種基于丟包率的衛(wèi)星通信自適應(yīng)擁塞 控制方法。
【背景技術(shù)】
[0002] 常用的衛(wèi)星通信模型由通信終端、地面站及地面端鏈路、衛(wèi)星及衛(wèi)星鏈路組成,如 圖1所示。其中,地面站與衛(wèi)星之間的衛(wèi)星鏈路在整個通信鏈路中占主體地位,地面端鏈路 相對較短而忽略不計。衛(wèi)星鏈路由于受到天氣等外界條件的影響極易出現(xiàn)突發(fā)性錯誤。
[0003] 基于衛(wèi)星鏈路的上述特征,傳統(tǒng)TCP協(xié)議應(yīng)用于衛(wèi)星通信時數(shù)據(jù)傳輸?shù)男屎?低,其主要原因在于:(1)傳統(tǒng)TCP協(xié)議將鏈路錯誤當(dāng)作網(wǎng)絡(luò)擁塞進(jìn)行窗口減小的處理,這 樣不僅降低了傳輸效率,而且浪費(fèi)了信道的可用帶寬;(2)傳統(tǒng)TCP協(xié)議不能持續(xù)使用較大 窗口進(jìn)行傳輸,數(shù)據(jù)傳輸一旦失敗,其窗口值會立即減小,這樣就導(dǎo)致帶寬嚴(yán)重浪費(fèi),大大 降低了數(shù)據(jù)的傳輸速率。
[0004] 目前,用于衛(wèi)星通信的TCP改進(jìn)協(xié)議主要有TCP Vegas、TCP-peach、TCP-Westwood 等。TCP Vegas的主要思想是用傳輸速率來控制擁塞窗口。TCP-Peach的算法思想 是針對長時延對傳輸效率的影響,通過快速發(fā)送較多的虛報文段,來更快地獲得確認(rèn) ACK (Acknowledgment,確認(rèn)數(shù)據(jù)包),從而加快TCP啟動和重傳后的恢復(fù)速率。此處,虛報文 段指的是由發(fā)送端產(chǎn)生的優(yōu)先級較低的數(shù)據(jù)包。TCP-Westwood算法的關(guān)鍵思想是一直在發(fā) 送端對TCP鏈接的可用帶寬進(jìn)行估計(Bandwidth Estimate),估計的方法是觀察返回ACK 的速度,一旦發(fā)生丟包就迅速把窗口恢復(fù)到帶寬相應(yīng)水平。上述三種方法雖然對于傳統(tǒng)的 TCP協(xié)議有較大改動,但都要求對RTT進(jìn)行較為精確的測量,這在衛(wèi)星通信鏈路中實現(xiàn)非常 困難。另外,上述方案并沒有針對衛(wèi)星鏈路高突發(fā)錯誤率的特點進(jìn)行優(yōu)化,鏈路的利用率較 低。
[0005] 為此,本發(fā)明提出了一種由基于數(shù)據(jù)塊發(fā)送的直接啟動算法和基于丟包率判定的 自適應(yīng)擁塞避免算法組成的衛(wèi)星通信擁塞控制算法,以提高衛(wèi)星通信的擁塞控制處理能 力。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明提出了一種基于丟包率的衛(wèi)星通信自適應(yīng)擁塞控制方法,包括基于數(shù)據(jù)塊 發(fā)送的直接啟動算法和基于丟包率判定的自適應(yīng)擁塞避免算法。
[0007] 本發(fā)明將發(fā)送單位定義為數(shù)據(jù)塊,數(shù)據(jù)塊由多個數(shù)據(jù)段組成,而每個數(shù)據(jù)段又由1 個或多個數(shù)據(jù)包組成,如圖2所示。為簡化衛(wèi)星通信鏈路資源分配的復(fù)雜性,將發(fā)送窗口的 大小定義為數(shù)據(jù)塊中新發(fā)送數(shù)據(jù)包的個數(shù)或者新發(fā)送數(shù)據(jù)段的長度,忽略發(fā)送端和接收端 的數(shù)據(jù)處理時延。
[0008] 本發(fā)明技術(shù)方案的主要思路是基于丟包率大小的判斷從而實現(xiàn)自適應(yīng)的擁塞控 制。整個擁塞控制方法包括基于數(shù)據(jù)塊發(fā)送的直接啟動算法和基于丟包率判定的自適應(yīng)擁 塞處理算法。基于數(shù)據(jù)塊發(fā)送的直接啟動算法代替?zhèn)鹘y(tǒng)的慢開始算法,直接以歷史最大窗 口進(jìn)行數(shù)據(jù)發(fā)送,并通過反饋調(diào)節(jié)的方式實現(xiàn)算法的正常運(yùn)行?;趤G包率判定的自適應(yīng) 擁塞處理算法是根據(jù)丟包率進(jìn)行自適應(yīng)的窗口調(diào)整。
[0009] 本發(fā)明采取以下技術(shù)方案:
[0010] 1、啟動階段
[0011] 101、生成并發(fā)送初始數(shù)據(jù)塊。
[0012] 生成初始發(fā)送數(shù)據(jù)塊時,將發(fā)送端(終端A)緩存中的最大窗口值M作為初始發(fā)送 窗口值,記為M 1。發(fā)送端(終端A)生成數(shù)據(jù)塊并將其發(fā)送至接收端(終端B)。初始發(fā)送 數(shù)據(jù)塊的結(jié)構(gòu)如圖2所示,包括初始發(fā)送數(shù)據(jù)段的長度M 1、由編號1到乂的數(shù)據(jù)包所組成 的初始發(fā)送數(shù)據(jù)段。
[0013] 102、生成并發(fā)送確認(rèn)數(shù)據(jù)塊。
[0014] 接收端(終端B)收到數(shù)據(jù)塊后,進(jìn)行差錯判斷,形成一個由"0"和"1"組成的長 度為乂個比特的接收指示序列(正確接收的數(shù)據(jù)包置為"0",未正確接收的數(shù)據(jù)包置為 " 1")。此處假設(shè)重傳數(shù)據(jù)段中的數(shù)據(jù)重傳后不會再出現(xiàn)錯誤,因此不論是初始確認(rèn)還是后 續(xù)確認(rèn),該01序列均只進(jìn)行1到吣的排列。
[0015] 接收端(終端B)生成確認(rèn)數(shù)據(jù)塊并將其發(fā)送至發(fā)送端(終端A)。確認(rèn)數(shù)據(jù)塊的 結(jié)構(gòu)如圖3所示,包括丟包起始序號Sp數(shù)據(jù)接收指示序列(長度為M i個比特)及丟包數(shù) NiO
[0016] 103、確認(rèn)返回數(shù)據(jù)塊及生成新發(fā)送數(shù)據(jù)塊。
[0017] 發(fā)送端(終端A)接收到確認(rèn)數(shù)據(jù)塊后,按照下列步驟生成新的數(shù)據(jù)塊:
【主權(quán)項】
1. 基于丟包率的衛(wèi)星通信自適應(yīng)擁塞控制方法,其按如下步驟進(jìn)行: 步驟101、發(fā)送端生成結(jié)構(gòu)為初始發(fā)送數(shù)據(jù)段的長度Ml和由編號1到Ml的數(shù)據(jù)包所組 成的初始發(fā)送數(shù)據(jù)段的初始數(shù)據(jù)塊并將其發(fā)送至接收端; 步驟102、接收端生成結(jié)構(gòu)為丟包起始序號Si、數(shù)據(jù)接收指示序列及丟包數(shù)Ni的確認(rèn)數(shù) 據(jù)塊并將其發(fā)送至發(fā)送端; 步驟103、發(fā)送端接收到確認(rèn)數(shù)據(jù)塊后,按照步驟生成新的數(shù)據(jù)塊,新數(shù)據(jù)塊的結(jié)構(gòu)為 新發(fā)送數(shù)據(jù)段的長度Mi、編號1到Mi的新發(fā)數(shù)據(jù)段、編號為1到Ni的重傳數(shù)據(jù)段;其中,重 傳數(shù)據(jù)段用丟包起始序號Si進(jìn)行標(biāo)識W便接收端進(jìn)行辨認(rèn); 步驟201、根據(jù)丟包率Xi的大小,自適應(yīng)地計算新發(fā)送數(shù)據(jù)段的長度Mw,從而實現(xiàn)自適 應(yīng)的擁塞控制。
2. 如權(quán)利要求1所述的基于丟包率的衛(wèi)星通信自適應(yīng)擁塞控制方法,其特征在于:步 驟101、將發(fā)送端緩存中的最大窗口值M作為初始發(fā)送窗口值,記為Ml;發(fā)送端生成數(shù)據(jù)塊 并將其發(fā)送至接收端;初始發(fā)送數(shù)據(jù)塊的結(jié)構(gòu)為初始發(fā)送數(shù)據(jù)段的長度Ml、由編號1到Ml 的數(shù)據(jù)包所組成的初始發(fā)送數(shù)據(jù)段。
3. 如權(quán)利要求2所述的基于丟包率的衛(wèi)星通信分段式擁塞控制方法,其特征在于:步 驟102、接收端收到數(shù)據(jù)塊后,進(jìn)行差錯判斷,形成一個由"0"和"1"組成的長度為Mi個比 特的接收指示序列,正確接收的數(shù)據(jù)包置為"0",未正確接收的數(shù)據(jù)包置為"1";接收端生成 確認(rèn)數(shù)據(jù)塊并將其發(fā)送至發(fā)送端;確認(rèn)數(shù)據(jù)塊的結(jié)構(gòu)為丟包起始序號Si、數(shù)據(jù)接收指示序 列及丟包數(shù)Ni。
4. 如權(quán)利要求3所述的基于丟包率的衛(wèi)星通信自適應(yīng)擁塞控制方法,其特征在于:步 驟103、發(fā)送端接收到確認(rèn)數(shù)據(jù)塊后,按照下列步驟生成新的數(shù)據(jù)塊: 1) 計算丟包率Xi 根據(jù)確認(rèn)數(shù)據(jù)塊中的丟包數(shù)Ni和發(fā)送數(shù)據(jù)段的長度Mi進(jìn)行計算,計算式如下:
(1) 2) 計算新發(fā)送數(shù)據(jù)段的長度Mw,計算式如下:
(2) 其中,a為預(yù)設(shè)的鏈路狀況參考值(〇<a<l),取值依據(jù)是衛(wèi)星通信鏈路狀況由正常開 始變差的臨界值,Mw值取整數(shù); 3) 通過數(shù)據(jù)接收序列與原數(shù)據(jù)段的比對提取所有未成功接收的數(shù)據(jù)包,并重新組合成 為重傳數(shù)據(jù)段,編號1到Ni; 4) 生成新數(shù)據(jù)塊,其結(jié)構(gòu)為新發(fā)送數(shù)據(jù)段的長度Mw、編號1到Mw的新發(fā)送數(shù)據(jù)段、編 號為1到Ni的重傳數(shù)據(jù)段;其中,重傳數(shù)據(jù)段用丟包起始序號Si進(jìn)行標(biāo)識W便接收端進(jìn)行 辨認(rèn)。
5. 如權(quán)利要求4所述的基于丟包率的衛(wèi)星通信自適應(yīng)擁塞控制方法,其特征在于:步 驟201、如式(2),當(dāng)Xi>a時,Mw值變小,當(dāng)Xi<a時,Mw值變大,實現(xiàn)自適應(yīng)地窗口調(diào)節(jié)。
【專利摘要】本發(fā)明公開了基于丟包率的衛(wèi)星通信自適應(yīng)擁塞控制方法:1、發(fā)送端生成結(jié)構(gòu)為初始發(fā)送數(shù)據(jù)段的長度M1和由編號1到M1的數(shù)據(jù)包所組成的初始發(fā)送數(shù)據(jù)段的初始數(shù)據(jù)塊并將其發(fā)送至接收端;2、接收端生成結(jié)構(gòu)為丟包起始序號Si、數(shù)據(jù)接收指示序列及丟包數(shù)Ni確認(rèn)數(shù)據(jù)塊并將其發(fā)送至發(fā)送端;3、發(fā)送端接收到確認(rèn)數(shù)據(jù)塊后,按照步驟生成新的數(shù)據(jù)塊,新數(shù)據(jù)塊的結(jié)構(gòu)為新發(fā)送數(shù)據(jù)段的長度Mi、編號1到Mi的新發(fā)數(shù)據(jù)段、編號為1到Ni的重傳數(shù)據(jù)段;重傳數(shù)據(jù)段用丟包起始序號Si進(jìn)行標(biāo)識以便接收端進(jìn)行辨認(rèn);4、根據(jù)丟包率Xi的大小,通過公式Mi+1=αMi/Xi自適應(yīng)地計算新發(fā)送數(shù)據(jù)段的長度Mi+1。
【IPC分類】H04W28-02, H04L1-18
【公開號】CN104796235
【申請?zhí)枴緾N201510170652
【發(fā)明人】嚴(yán)軍榮, 盧玉龍, 章堅武
【申請人】杭州電子科技大學(xué)
【公開日】2015年7月22日
【申請日】2015年4月13日