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