專利名稱:異構(gòu)網(wǎng)絡(luò)的tcp擁塞控制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及異構(gòu)網(wǎng)絡(luò)的TCP擁塞控制。
背景技術(shù):
TCP擁塞控制算法的功能是調(diào)整協(xié)議利用一個擁塞控制窗口 cwnd向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)包的速率。一個好的擁塞算法可以完全地利用帶寬,從而避免過驅(qū)動網(wǎng)絡(luò)而引起的丟包。自從介紹了第一個廣泛使用的TCP擁塞控制算法TCPReno,已經(jīng)提出了許多TCP擁塞控制算法。從更高一個層面來說,基于控制機(jī)制的輸入,現(xiàn)有的TCP擁塞算法可以被分為三個主要的種類即基于丟失的TCP,基于延遲的TCP和混合的TCP?;趤G失的TCP包括原始的TCP Reno, TCP Bic, TCP CUBIC,高速TCP,可擴(kuò)展的 TCP等。這些基于延遲的TCP的變型中,TCP Reno和TCP CUBIC是廣泛開發(fā)的丟失的TCP,分別作為標(biāo)準(zhǔn)的TCP算法和Linux系統(tǒng)的默認(rèn)TCP。利用丟包作為網(wǎng)絡(luò)擁塞的表征,當(dāng)丟包發(fā)生時,基于丟失的TCP降低cwnd的值,反之則增加cwnd的值。在基于丟失的TCP擁塞控制的設(shè)計中的一個基本的假設(shè)是僅由于過驅(qū)動網(wǎng)絡(luò)而導(dǎo)致丟包,當(dāng)該算法應(yīng)用于無線網(wǎng)絡(luò)時,這個假設(shè)就無效了。對無線網(wǎng)絡(luò)來說典型的隨機(jī)物理層偽跡(例如多徑,干擾)而導(dǎo)致的丟包將引起該擁塞控制算法攻擊性地降低cwnd。另一個方面,在一個大帶寬BDP網(wǎng)絡(luò)中,基于丟失的TCP要求一個非常低(10_7或更低)的隨機(jī)丟包率從而完全地利用網(wǎng)絡(luò)容量。這個要求遠(yuǎn)離了網(wǎng)絡(luò)狀況的現(xiàn)實(shí)情況。基于延遲的TCP包括利用序列延遲來作為擁塞表征的TCP Vegas和FASTTCP。該序列延遲定義為RTT和傳播延遲之間的差值,即一個數(shù)據(jù)包從發(fā)送機(jī)被傳輸?shù)浇邮諜C(jī)而實(shí)際需要的時間?;谘舆t的TCP更適應(yīng)于網(wǎng)絡(luò)狀況的暫時改變,例如隨機(jī)的丟包,并且更加適用于大帶寬BDP網(wǎng)絡(luò)。另一個方面,該方法的缺點(diǎn)是,由于往返延遲的增加將不能必然地快速地導(dǎo)致丟包(取決于緩存器),當(dāng)基于延遲的TCP和基于丟失的TCP遇到相同的瓶頸時,在延遲開始增加的時間和丟包開始發(fā)生的時間之間,基于延遲的TCP的cwnd將會遞減,而基于丟失的TCP的cwnd將不會遞減,這導(dǎo)致對于基于延遲的會話的帶寬“饑餓”。混合TCP同時使用丟包和延遲作為cwnd控制機(jī)制的輸入,并且包括用于無線環(huán)境的TCP版本,例如Veno和TCP Westwood,也包括用于高速鏈路,例如復(fù)合TCP,TCP-Illinois, H-TCP 和 TCP-Fusion,的 TCP 版本。這些算法中,作為微軟 Windows Vista操作系統(tǒng)的TCP擁塞控制算法的復(fù)合TCP已經(jīng)廣泛地開發(fā),同時TCP-Fusion被用于SUNSolaris 10中。盡管這些TCP版本的性能優(yōu)于它們最初被設(shè)計的應(yīng)用方案,但是對于高帶寬無線網(wǎng)絡(luò)的新興的一代,例如LTE和WiMAX,并且對于組合有線和無線鏈路部分的異構(gòu)網(wǎng)絡(luò)中的應(yīng)用,現(xiàn)有的TCP擁塞控制算法很難實(shí)現(xiàn)地很好。并行TCP已經(jīng)是另一個TCP擁塞控制的研究領(lǐng)域。并行TCP的核心思想是建立多個實(shí)際或虛擬的TCP會話,這些會話被聯(lián)合控制從而完全地利用網(wǎng)絡(luò)帶寬。高速無線網(wǎng)絡(luò)中的并行TCP可以實(shí)現(xiàn)非常好的性能,并行TCP會話用于優(yōu)化無線網(wǎng)絡(luò)中多媒體流的用戶體驗(yàn)。在這個系統(tǒng)中,要求監(jiān)視多個TCP會話的內(nèi)容,并且修改應(yīng)用層軟件。在MulTCP中,利用N個虛擬TCP會話來仿真多個實(shí)際的并行TCP會話的行為,當(dāng)N選擇的恰當(dāng)時,可以達(dá)到非常好的性能,但是當(dāng)N的值不恰當(dāng)時,可能導(dǎo)致對該網(wǎng)絡(luò)的欠驅(qū)動或過驅(qū)動。期望有一個TCP擁塞控制機(jī)制,可以充分和完全地利用不同網(wǎng)絡(luò)的帶寬,包括大帶寬BDP網(wǎng)絡(luò)和無線網(wǎng)絡(luò)。
發(fā)明內(nèi)容
依據(jù)說明書,提供了一種用于網(wǎng)絡(luò)中通信會話的擁塞控制的方法,該方法包括確定網(wǎng)絡(luò)狀況的一個估計;基于充分和完全地利用網(wǎng)絡(luò)帶寬的若干并行虛擬通信會話和該通f目會話的擁塞控制機(jī)制,確定該通彳目會話的Iv擁塞窗口 ;和,將該確定的擁塞窗口設(shè)直為該通信會話的擁塞窗口。依據(jù)說明書,提供了一種用于網(wǎng)絡(luò)中通信會話的擁塞控制的計算設(shè)備,該設(shè)備包括一處理單元,用于執(zhí)行指令;一存儲單元,用于存儲由處理單元執(zhí)行的指令;當(dāng)執(zhí)行所述 指令時,該計算設(shè)備被配置來提供一網(wǎng)絡(luò)狀況估計裝置,用于確定網(wǎng)絡(luò)狀況的一個估計;一擁塞窗口確定裝置,用于基于充分和完全地利用網(wǎng)絡(luò)帶寬的若干并行虛擬通信會話和該通信會話的擁塞控制機(jī)制,確定該通信會話的一個擁塞窗口 ;該擁塞控制窗口確定裝置進(jìn)一步用于將該確定的擁塞窗口設(shè)置為該通信會話的擁塞窗口。
本發(fā)明示例性實(shí)施例將參考如下附圖而被描述,其中;圖I描述一個示例性網(wǎng)絡(luò)的框圖,網(wǎng)絡(luò)中可使用TCP-FIT擁塞控制機(jī)制;圖2描述了一個示例性計算設(shè)備的框圖,該計算設(shè)備可被用于執(zhí)行此處描述的TCP-FIT擁塞控制機(jī)制;圖3描述了一個示例性擁塞控制方法的流程圖;圖4描述了另一個擁塞控制方法的示例性實(shí)施例的流程圖;圖5描述了用于此處描述的擁塞控制機(jī)制評估的一個示例性仿真器設(shè)置;圖6描述了針對此處描述的擁塞控制機(jī)制的仿真,Linktropy仿真器的一個示例性的圖形用戶接口;圖7(a)和(b)分別示出了 IGbps鏈路和IOOMbps鏈路的組合的吞吐量的比較;圖8(a)_(d)示出了丟包率設(shè)為1% -7%時必然產(chǎn)生的組合的吞吐量的比較;圖9(a)和(b)示出了丟包率分別為0%和5%時的帶寬利用率的比較;圖10(a)_(c)示出了不同擁塞控制機(jī)制的帶寬失竊率;圖ll(a)-(i)示出了在不同網(wǎng)絡(luò)中測試的不同的擁塞控制機(jī)制的吞吐量;和,圖12示出了在北京的中國電信3G網(wǎng)絡(luò)上測量的TCP-FIT和E-MulTCP之間的比較;
具體實(shí)施例方式應(yīng)當(dāng)認(rèn)識到,為了說明的簡單和清楚,并被認(rèn)為是恰當(dāng)?shù)?,附圖之間用于指示相應(yīng)或相似的元素的參考數(shù)字可以是重復(fù)的。另外,為了提供對此處描述的實(shí)施例的徹底的理解,許多特定的細(xì)節(jié)提前被設(shè)置。然而,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解此處描述的實(shí)施例沒有這些特定的細(xì)節(jié)也可以實(shí)施。在其它的例子中,公知的方法,過程和元件沒有詳細(xì)地描述,這樣不會使此處描述的實(shí)施例不清楚。并且,說明書不應(yīng)當(dāng)被認(rèn)為是對此處描述的實(shí)施例的范圍的限定。描述了一種TCP擁塞控制機(jī)制,此處稱為TCP-FIT。TCP-FIT利用多個并行虛擬TCP連接來充分和完全地利用網(wǎng)絡(luò)的帶寬。比較于其它的并行TCP技術(shù),例如MulTCP,TCP-FIT是一個充分兼容的TCP擁塞控制算法,不需要修改協(xié)議棧中的其它層和/或任何應(yīng)用軟件。利用TCP-FTP,對于每個TCP會話只建立一個具有一個相關(guān)cwnd的一個實(shí)際的連接。盡管虛擬并行會話的思想對于理解TCP-FIT的擁塞控制窗口的調(diào)整公式是有用的,但是在該擁塞控制機(jī)制的一個實(shí)際的實(shí)現(xiàn)中,只建立一個物理連接,基于若干并行虛擬連接的明顯的cwnd大小來確定該物理連接的cwnd。
在TCP-FIT的一個實(shí)施例中,保留了虛擬TCP-Reno連接的一個動態(tài)數(shù)字N。每個獨(dú)立的虛擬連接的cwnd根據(jù)TCP擁塞控制機(jī)制被調(diào)整,如下所示Each RTT cwnd — cwnd+1 ;
r n,77 ,cwnd、.Each Loss cwnd cwnd - (~~),TCP-FIT利用這個例子中的TCP-RENO的擁塞控制機(jī)制的cwnd調(diào)整和虛擬連接的數(shù)目N來確定實(shí)際的物理連接的Cwnd,如下所示Each RTT Cwnd — Cwnd+N ;
「 ],^ 7 ^ 7 ,Cwnd,.Each Loss ;Cwnd Cwnd -(-),
IN其中Cwnd是實(shí)際的物理TCP會話的擁塞窗口的值,由N個虛擬會話的擁塞窗口的值cwnd組成。基于發(fā)送一個數(shù)據(jù)包和從接收機(jī)接收一個對應(yīng)于該數(shù)據(jù)包的ACK之間的時間來計算RTT,或回程時間。RTT的值可能是一個瞬時值,或者是基于先前的RTT值的平均或加權(quán)平均值。對于每個RTT,即每一次接收到一個ACK,該RTT可能被更新,并且Cwnd的大小按照上面列出的公式進(jìn)行調(diào)整。當(dāng)與一個數(shù)據(jù)包發(fā)送相關(guān)的超時計時器在接收到對于該數(shù)據(jù)包的ACK之前到期時,一個丟失就發(fā)生了。當(dāng)該計時器到期時,Cwnd可以因此按照上面列出的公式被調(diào)整。上述增加Cwnd的調(diào)整的一個潛在的問題是,對于兩個共享相同瓶頸的MulTCP或TCP-FIT會話來說,具有較長RTT的會話將具有較少的改變來更新其Cwnd,并且這將成為一個缺點(diǎn),因?yàn)镃wnd的值在每個RTT中都更新。為了緩解這個問題,代替上面列出的公式來增加Cwnd,在Cwnd的計算中包括一個歸一化因子,如下所示Each RTT Cwnd — Cwnd+ 入 N ;其中入=RTT/RTT。,RTT0是一個RTT基線值,表示網(wǎng)絡(luò)中的RTT值的統(tǒng)計“底面”值。在TCP-FIT中,虛擬并列類似Reno的會話的數(shù)目N可以利用下面的等式來動態(tài)地
調(diào)整Nm = maxjl,N1 +[a-N1 j| ;其中Q是當(dāng)前緩存在網(wǎng)絡(luò)中的傳輸包的數(shù)目的估計值,a是一個參數(shù)
權(quán)利要求
1.一種網(wǎng)絡(luò)中通信會話的擁塞控制方法,包括 確定網(wǎng)絡(luò)狀況的一個估計; 基于利用網(wǎng)絡(luò)帶寬的若干并行虛擬通信會話和該通信會話的擁塞控制機(jī)制,確定所述通信會話的擁塞窗ロ ;和, 將所述確定的擁塞窗ロ設(shè)置為所述通信會話的擁塞窗ロ。
2.如權(quán)利要求I所述的方法,進(jìn)ー步包括基于所述網(wǎng)絡(luò)狀況的確定的估計和ー擁塞控制算法,確定并行虛擬通信會話的數(shù)目。
3.如權(quán)利要求2所述的方法,其中根據(jù)如下公式,周期地更新并行虛擬通信會話的數(shù)目
4.如權(quán)利要求2所述的方法,其中并行虛擬通信會話的數(shù)目周期地根據(jù)如下公式來更新
5.如權(quán)利要求4所述的方法,其中,
6.如權(quán)利要求4所述的方法,其中
7.如權(quán)利要求3所述的方法,其中,
8.如權(quán)利要求7所述的方法,進(jìn)ー步包括 進(jìn)入ー個base_rtt的估計模式,從而更新base_rtt的值,所述base_rtt估計模式包括 將并行虛擬連接的數(shù)目設(shè)定為I ; 確定m個RTT抽樣; 將min_rtt設(shè)定為m個RTT抽樣中的最小值;并且根據(jù)如下公式來更新base_rtt
9.如權(quán)利要求I所述的方法,進(jìn)ー步包括 基于所述網(wǎng)絡(luò)狀況的確定的估計,為通信會話選擇擁塞控制機(jī)制。
10.如權(quán)利要求I所述的方法,其中確定網(wǎng)絡(luò)狀況的一個估計包括如下ー個或多個 確定通信會話的發(fā)送機(jī)和接收機(jī)之間的網(wǎng)絡(luò)傳輸延遲的ー個估計; 確定通信會話的發(fā)送機(jī)和接收機(jī)之間的若干傳輸數(shù)據(jù)包的ー個估計; 確定通信會話的發(fā)送機(jī)和接收機(jī)之間的網(wǎng)絡(luò)帶寬的一個估計;和, 確定通信會話的發(fā)送機(jī)和接收機(jī)值之間的丟包率的ー個估計。
11.如權(quán)利要求10所述的方法,其中 基于所述發(fā)送機(jī)觀察的往返時間(RTT),確定網(wǎng)絡(luò)傳輸延遲的所述估計; 基于所述RTT和所述擁塞窗ロ,確定傳輸數(shù)據(jù)包的數(shù)目的所述估計。
12.如權(quán)利要求I所述的方法,其中所述擁塞控制機(jī)制從下面的機(jī)制中選擇 TCP-Reno ;TCP-Vegas ;TCP-Fast ;混合的TCP ;TCP Veno ;TCP Westwood ;TCP Cubic ;和,TCP BICo
13.一種用于網(wǎng)絡(luò)中通信會話的擁塞控制的計算設(shè)備,包括 一處理單元,用于執(zhí)行指令; 一存儲單元,用于存儲由處理單元執(zhí)行的指令;當(dāng)執(zhí)行所述指令時,所述計算設(shè)備被配置來提供 一網(wǎng)絡(luò)狀況估計裝置,用于確定網(wǎng)絡(luò)狀況的ー個估計; 一擁塞窗ロ確定裝置,用于基于利用網(wǎng)絡(luò)帶寬的若干并行虛擬通信會話和所述通信會話的ー個擁塞控制機(jī)制,確定所述通信會話的擁塞窗ロ ;所述擁塞控制窗ロ確定裝置進(jìn)ー步用于將所述確定的擁塞窗ロ設(shè)置為所述通信會話的擁塞窗ロ。
14.如權(quán)利要求13所述的計算設(shè)備,進(jìn)一歩包括 一 N-調(diào)整器裝置,用于基于所述網(wǎng)絡(luò)狀況的確定的估計和ー個擁塞控制機(jī)制來確定并行虛擬通信會話的數(shù)目。
15.如權(quán)利要求14所述的計算設(shè)備,其中根據(jù)如下公式,周期地更新并行虛擬通信會話的數(shù)目
16.如權(quán)利要求14所述的計算設(shè)備,其中并行虛擬通信會話的數(shù)目周期地根據(jù)如下公式來更新
17.如權(quán)利要求15所述的計算設(shè)備,其中,
18.如權(quán)利要求13所述的計算設(shè)備,進(jìn)一歩包括一機(jī)制選擇裝置,用于基于網(wǎng)絡(luò)狀況的確定的估計,從多個擁塞控制機(jī)制中選擇所述擁塞控制機(jī)制,包括TCP-Reno ;TCP-Vegas ;TCP-Fast ; 混合的TCP ;TCP Veno ;TCP Westwood ;TCP Cubic ;和,TCP BICo
19.如權(quán)利要求13所述的計算設(shè)備,其中確定網(wǎng)絡(luò)狀況的一個估計包括如下一個或多個 確定通信會話的發(fā)送機(jī)和接收機(jī)之間的網(wǎng)絡(luò)傳輸延遲的ー個估計; 確定通信會話的發(fā)送機(jī)和接收機(jī)之間的若干傳輸數(shù)據(jù)包的ー個估計;· 確定通信會話的發(fā)送機(jī)和接收機(jī)之間的網(wǎng)絡(luò)帶寬的一個估計;和, 確定通信會話的發(fā)送機(jī)和接收機(jī)值之間的丟包率的ー個估計。
20.如權(quán)利要求19所述的計算設(shè)備,其中, 基于所述發(fā)送機(jī)測量的往返時間(RTT),確定網(wǎng)絡(luò)傳輸延遲的所述估計; 基于所述RTT和所述擁塞窗ロ,確定傳輸數(shù)據(jù)包的數(shù)目的所述估計。
全文摘要
本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)中通信會話的擁塞控制方法及用于網(wǎng)絡(luò)中通信會話的擁塞控制的計算設(shè)備,其中,該擁塞控制方法包括確定網(wǎng)絡(luò)狀況的一個估計;基于充分和完全地利用網(wǎng)絡(luò)帶寬的若干并行虛擬通信會話和該通信會話的擁塞控制機(jī)制,確定所述通信會話的擁塞窗口;和,將所述確定的擁塞窗口設(shè)置為所述通信會話的擁塞窗口。
文檔編號H04L12/56GK102739515SQ20121010972
公開日2012年10月17日 申請日期2012年4月13日 優(yōu)先權(quán)日2010年4月13日
發(fā)明者溫江濤, 王靜遠(yuǎn), 韓宇星 申請人:北京英華高科科技有限公司