專利名稱:高速網(wǎng)絡(luò)中基于路由器顯式虛擬負(fù)載反饋的流量控制方法
技術(shù)領(lǐng)域:
本發(fā)明屬于流量控制和擁塞控制領(lǐng)域。
背景技術(shù):
就目前的現(xiàn)狀和未來(lái)的發(fā)展而言,下一代互聯(lián)網(wǎng)的骨干帶寬必將呈現(xiàn)指數(shù)增長(zhǎng)的趨勢(shì)。美國(guó)的Internet2和歐盟的下一代互聯(lián)試驗(yàn)網(wǎng)主干網(wǎng)GEANT(Gigabit European AcademicNetwork)的帶寬不斷升級(jí),并于2002年完成了5Gbps的高速互聯(lián)。2004年2月,Internet2的獨(dú)立高速試驗(yàn)床Abilene的骨干帶寬從2.5Gbps全面升級(jí)到10Gbps。亞太地區(qū)高速網(wǎng)絡(luò)(APAN,Asia-Pacific Advanced Network)聯(lián)盟也發(fā)起了GTRN(Global Terabit ResearchNetwork)計(jì)劃,旨在推動(dòng)骨干的升級(jí)和實(shí)現(xiàn)全球互聯(lián)。國(guó)內(nèi)也于2001年成功搭建了主干為2.5Gbps的高速研究試驗(yàn)網(wǎng)NSFCNET,并實(shí)現(xiàn)了CERNET(中國(guó)教育科研計(jì)算機(jī)網(wǎng))、CSNET(計(jì)算機(jī)科學(xué)網(wǎng))、APAN(亞太地區(qū)高速網(wǎng))和Internet2的互聯(lián)。由此可見大規(guī)模高速下一代互聯(lián)網(wǎng)試驗(yàn)環(huán)境已經(jīng)形成。未來(lái)幾年內(nèi),互聯(lián)網(wǎng)骨干也將全面升級(jí)到支持近10Gbps的高速鏈路,而且很有可能持續(xù)增長(zhǎng)。目前,已經(jīng)有越來(lái)越多的研究人員開始經(jīng)常利用這些高速試驗(yàn)網(wǎng)絡(luò)進(jìn)行海量數(shù)據(jù)的傳輸,代表性的應(yīng)用有量子物理學(xué)、地球觀察、生物信息科學(xué)、射電天文學(xué)等領(lǐng)域中數(shù)據(jù)密集型的網(wǎng)格計(jì)算,Web鏡像,以及基于push(推)技術(shù)的Web高速緩存更新等應(yīng)用。
雖然互聯(lián)網(wǎng)的骨干帶寬呈現(xiàn)指數(shù)性的增長(zhǎng),但實(shí)踐中上述海量數(shù)據(jù)傳輸業(yè)務(wù)的用戶似乎沒有身切感受到網(wǎng)絡(luò)帶寬劇增所帶來(lái)的好處,于是人們開始懷疑高速網(wǎng)絡(luò)中傳輸系統(tǒng)的性能。為澄清事實(shí),加州理工大學(xué)的Sylvain Ravot通過(guò)試驗(yàn)手段分析和評(píng)價(jià)了Internet上流行的TCP Reno協(xié)議的傳輸性能。在互聯(lián)GEANT和Internet2的Wave Triangle試驗(yàn)床上,用iperf持續(xù)監(jiān)測(cè)Chicago超級(jí)計(jì)算中心與CERN(歐洲粒子物理研究所)之間1Gpbs的鏈路,測(cè)量結(jié)果表明端到端的有效吞吐量(goodput)的確還達(dá)不到400Mbps。之后,美國(guó)北卡羅來(lái)納州立大學(xué)的Lisong Xu借助NS2仿真平臺(tái)的分析結(jié)果也證實(shí)傳統(tǒng)的TCP流量控制協(xié)議在高速網(wǎng)絡(luò)中確實(shí)存在效率問(wèn)題。進(jìn)一步的細(xì)致分析將問(wèn)題癥結(jié)鎖定在TCP流量控制中加性增加乘性減小(AIMD,Additive Increase Multiplicative Decrease)的調(diào)節(jié)模式及其相關(guān)系數(shù)上。為方便論述,我們舉例說(shuō)明假設(shè)高速鏈路帶寬是10Gbps,分組大小為1500btyes,往返時(shí)延(RTT,Round Trip Time)為100ms,則到達(dá)穩(wěn)定傳輸時(shí)發(fā)送端窗口為83333個(gè)分組,同時(shí)依據(jù)AIMD的窗口調(diào)整規(guī)則,TCP擁塞避免階段所經(jīng)歷的時(shí)間應(yīng)該是4167秒,約1.2小時(shí),這意味著豐富的帶寬資源在長(zhǎng)時(shí)間內(nèi)都無(wú)法得到充分利用,AIMD調(diào)節(jié)機(jī)制在高速網(wǎng)絡(luò)環(huán)境中顯得適應(yīng)性不強(qiáng),有些呆板僵硬。此外,傳統(tǒng)的TCP流量控制機(jī)制還面臨著如下問(wèn)題依據(jù)TCP窗口大小W與丟包率p之間的約束關(guān)系,要使窗口大小穩(wěn)定在83333個(gè)分組,丟包率必須等于2×10-10,這意味著每5×109個(gè)分組中只允許1個(gè)分組丟失,也就是在將近1.7小時(shí)內(nèi)只允許發(fā)生一個(gè)丟失事件,即便是當(dāng)前誤碼率最低的光通信技術(shù)也很難達(dá)到這樣的苛刻要求,于是,實(shí)踐中網(wǎng)絡(luò)傳輸系統(tǒng)性能低下便成為必然。究其根本原因,主要是傳統(tǒng)的TCP流量控制機(jī)制無(wú)法適應(yīng)高速網(wǎng)絡(luò)環(huán)境所致。
上述工程實(shí)踐中發(fā)現(xiàn)的問(wèn)題引起了眾多網(wǎng)絡(luò)研究者的關(guān)注,研究適應(yīng)于高速網(wǎng)絡(luò)的流量控制方法成了網(wǎng)絡(luò)研究的新熱點(diǎn)。在短短兩年多的時(shí)間內(nèi),已經(jīng)相繼提出了若干新的流控機(jī)制和改進(jìn)算法,典型的有High Speed TCP(HSTCP)(高速TCP),Scalable TCP(STCP)(可擴(kuò)展TCP),Hamilton TCP(H-TCP)(哈密爾頓TCP),F(xiàn)ast AQM Scalable TCP(FAST)(快速AQM可擴(kuò)展TCP),Binary Increase Congestion TCP(BICTCP)(倍增擁塞TCP)、eXplicitControl Protocol(XCP)(顯式控制協(xié)議)、Exponential Max-min Kelly Control(EMKC)(指數(shù)最大/最小凱利控制)和Variable-structure congestion Control Protocol(VCP)(可變結(jié)構(gòu)擁塞控制協(xié)議)。仔細(xì)研究各協(xié)議的實(shí)現(xiàn)機(jī)理,我們可以依照擁塞判定機(jī)制的不同將它們大致分為三類(1)基于丟包判定擁塞;(2)基于延時(shí)觀測(cè)擁塞;(3)顯式反饋擁塞狀態(tài)信息。其中,HSTCP、STCP和BICTCP屬于第一類。HSTCP修改了傳統(tǒng)的AIMD機(jī)制,使得擁塞窗口的加性因子和乘性因子能夠隨著當(dāng)前擁塞窗口的大小進(jìn)行自適應(yīng)的調(diào)整,進(jìn)而達(dá)到加速響應(yīng)的目的;相反,Scalable TCP則放棄了AIMD機(jī)制,轉(zhuǎn)而支持了乘性增加乘性減小機(jī)制(MIMD,Multiplicative Increase Multiplicative Decrease)來(lái)調(diào)整擁塞窗口的大小,著重解決AIMD機(jī)制擁塞窗口增加過(guò)程中的慢速問(wèn)題;BICTCP則不再沿用窗口單向調(diào)整,逐次逼近的設(shè)計(jì)思路,而采用了雙向夾逼的調(diào)整策略,其核心思想類似于折半搜索算法,通過(guò)設(shè)置窗口的最大值和最小值,運(yùn)用折半搜索方法尋找理想的目標(biāo)窗口大小。FAST和H-TCP屬于第二類,F(xiàn)AST協(xié)議借鑒了TCP Vegas使用RTT作為擁塞觀測(cè)變量的機(jī)理,即往返時(shí)間觀測(cè)序列保持在最小觀測(cè)值附近時(shí),判定網(wǎng)絡(luò)中沒有擁塞發(fā)生,而當(dāng)RTT增加時(shí)意味著網(wǎng)絡(luò)出現(xiàn)擁塞,且RTT值越大,擁塞越嚴(yán)重,并在試驗(yàn)的基礎(chǔ)上擬合出了擁塞窗口大小與RTT值之間的分段線性函數(shù)關(guān)系作為調(diào)節(jié)終端向網(wǎng)絡(luò)釋放分組多少的依據(jù)。H-TCP也選擇時(shí)間作為擁塞觀測(cè)變量,但非RTT,而是采用丟包事件之間的時(shí)間間隔作為預(yù)測(cè)擁塞的手段。當(dāng)丟包時(shí)間間隔較長(zhǎng)時(shí),認(rèn)為網(wǎng)絡(luò)狀況良好;當(dāng)丟包時(shí)間間隔變小時(shí),則認(rèn)為是擁塞導(dǎo)致隊(duì)列溢出所致。需要指出的是,盡管FAST和H-TCP采用不同的時(shí)間變量觀測(cè)網(wǎng)絡(luò)擁塞狀態(tài),但對(duì)擁塞的響應(yīng)卻是相同的,依舊沿用了傳統(tǒng)的AIMD機(jī)制。XCP、EMKC和VCP都采用了顯式反饋機(jī)制,屬于第三類。在XCP中,網(wǎng)絡(luò)中間節(jié)點(diǎn)動(dòng)態(tài)分配可用帶寬給經(jīng)過(guò)它的業(yè)務(wù)流,分配結(jié)果被嵌入TCP分組頭的可選域中返回端系統(tǒng),發(fā)送端直接參照反饋值調(diào)節(jié)發(fā)送窗口大小。該機(jī)制與ATM(異步傳輸模式)網(wǎng)絡(luò)中ABR(自適應(yīng)比特)流量顯式閉環(huán)反饋控制機(jī)制非常相似,不同的是后者有專門的資源管理信元(RM)攜帶速率分配值,而前者將其集成到了載荷分組中。EMKC也采用了顯式反饋機(jī)制,路由器統(tǒng)計(jì)聚合輸入流量,計(jì)算丟包率,并利用擴(kuò)展的分組頭將它反饋給發(fā)送端。與VCP不同的是EMKC沒有直接反饋可用帶寬分配結(jié)果,而是擁塞狀態(tài)觀測(cè)變量的大小,發(fā)送端再利用它動(dòng)態(tài)調(diào)節(jié)發(fā)送窗口。調(diào)節(jié)律是基于F.Kelly的“影子價(jià)格”模型發(fā)展而來(lái)的,主要?jiǎng)?chuàng)新點(diǎn)在于引入了負(fù)丟包率的概念來(lái)表示網(wǎng)絡(luò)處于欠載狀態(tài),并相應(yīng)地采用乘性增加來(lái)加大注入網(wǎng)絡(luò)的流量。當(dāng)丟包率為正時(shí),表明網(wǎng)絡(luò)過(guò)載,啟用乘性減小機(jī)制來(lái)減輕負(fù)載,與Scalable TCP的MIMD機(jī)制不同的是EMKC的乘性因子是丟包率的函數(shù)。Xia Yong等人設(shè)計(jì)的VCP顯式反饋的是網(wǎng)絡(luò)負(fù)載狀態(tài)。路由器依賴鏈路利用率將網(wǎng)絡(luò)負(fù)載狀態(tài)分為三類輕載、重載和過(guò)載,并用兩比特編碼后嵌入IP分組的ECN(顯式擁塞通知)位中顯式通告發(fā)送端,發(fā)送端解碼后采用不同的控制結(jié)構(gòu)來(lái)調(diào)節(jié)發(fā)送窗口大小輕載時(shí)采用乘性增加;重載時(shí)采用適度的加性增加;而過(guò)載后則乘性減小。
雖然該方向因?yàn)榭茖W(xué)實(shí)驗(yàn)和研究中海量數(shù)據(jù)傳輸以及數(shù)據(jù)密集型網(wǎng)格計(jì)算等實(shí)際應(yīng)用的推動(dòng)而進(jìn)展迅速,但遠(yuǎn)沒有形成一種普遍認(rèn)同,可以全面在高速網(wǎng)絡(luò)環(huán)境中部署實(shí)施的相對(duì)穩(wěn)定成熟的新的傳輸控制方法。最先關(guān)注這一問(wèn)題的網(wǎng)絡(luò)擁塞控制領(lǐng)域的學(xué)術(shù)權(quán)威S.Floyd提出的HighSpeed TCP雖然在2003年11月的IETF會(huì)議被表決通過(guò)成為RFC,但隨后的實(shí)際測(cè)試結(jié)果表明HSTCP在TCP友好性和RTT公平性方面存在比較嚴(yán)重的問(wèn)題。具體的說(shuō),前者指協(xié)議間公平性,且當(dāng)鏈路帶寬越高,這種不公平問(wèn)題就越嚴(yán)重。而后者指協(xié)議內(nèi)公平性,同構(gòu)的HSTCP流由于RTT的不同而產(chǎn)生流間的不公平,且當(dāng)RTT的差距越大,這種RTT不公平性就越突出。如何加以克服和改進(jìn)依舊吸引了不少研究者的關(guān)注。Scalable TCP也存在類似問(wèn)題,Tom Kelly也再?zèng)]有進(jìn)一步給出改進(jìn)方案。BICTCP在TCP友好性方面取得了一些進(jìn)展,但沒有徹底解決問(wèn)題,當(dāng)帶寬較高而RTT較小時(shí),TCP友好性問(wèn)題依舊很嚴(yán)重;還有,目前算法中某些門限值的設(shè)定過(guò)分依賴仿真經(jīng)驗(yàn),缺少理論分析和試驗(yàn)來(lái)驗(yàn)證取值的合理性。FAST和H-TCP采用時(shí)間變量觀測(cè)網(wǎng)絡(luò)擁塞狀態(tài)的有效性遭到部分研究者的質(zhì)疑;另外,F(xiàn)AST中控制參數(shù)α的分段映射策略帶有明顯的經(jīng)驗(yàn)色彩,當(dāng)網(wǎng)絡(luò)環(huán)境發(fā)生變化時(shí),這種方法缺乏自適應(yīng)性,如何動(dòng)態(tài)選取α參數(shù)仍然是一個(gè)開放問(wèn)題。雖然仿真試驗(yàn)表明H-TCP在高帶寬情況下的收斂速度,公平性要優(yōu)于HSTCP和Scalable TCP,但目前H-TCP還是初步的階段性研究成果,諸多技術(shù)細(xì)節(jié)和性能問(wèn)題還有待于進(jìn)一步深入研究,如時(shí)間閥值Δt的設(shè)置等。雖然XCP表現(xiàn)出了其他機(jī)制無(wú)法比擬的綜合性能,鏈路利用率高、收斂速度快、公平性好、排隊(duì)時(shí)延小等,但它在機(jī)制上近乎革命性的變革無(wú)法提供向后兼容性,這必將影響它在Internet上的部署和實(shí)施,可實(shí)踐性差。因此,隨后的顯式反饋機(jī)制采取了更為溫和的漸進(jìn)策略,EMKC的擴(kuò)展分組頭和VCP對(duì)ECN比特位的重新定義都考慮了協(xié)議的向后兼容性和工程實(shí)踐的可行性,但由此給設(shè)計(jì)造成的約束和限制也使性能受到了不同程度的影響,例如EMCK采用丟包率觀測(cè)網(wǎng)絡(luò)的擁塞狀態(tài),自然就無(wú)法實(shí)現(xiàn)分組的零丟失,這是機(jī)制固有的缺陷。VCP中僅用兩個(gè)比特位來(lái)編碼區(qū)分表示網(wǎng)絡(luò)的三種負(fù)載狀態(tài),在某些網(wǎng)絡(luò)配置(如大延時(shí)和業(yè)務(wù)突發(fā)性明顯等)中,這種粗粒度的分類很難準(zhǔn)確描述網(wǎng)絡(luò)的狀態(tài),與之相應(yīng)的簡(jiǎn)單的“乒乓”控制容易導(dǎo)致系統(tǒng)振蕩。從我們前期仿真驗(yàn)證試驗(yàn)的結(jié)果看,當(dāng)RTT超過(guò)160毫秒后,VCP瓶頸路由器的隊(duì)列振蕩明顯,空隊(duì)列概率增加,鏈路利用率僅能維持在80%左右,還有較大的優(yōu)化空間。
綜上所述,在高速網(wǎng)絡(luò)環(huán)境下,只有綜合性能(包括響應(yīng)性、公平性、魯棒性和兼容性)良好的流量控制方法才會(huì)最終在未來(lái)高速的互聯(lián)網(wǎng)中占據(jù)主流地位,得以廣泛的部署和實(shí)施。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出適應(yīng)高速網(wǎng)絡(luò)環(huán)境的高性能流量控制機(jī)制與方法響應(yīng)性快、穩(wěn)定性好、魯棒性強(qiáng),適應(yīng)典型網(wǎng)絡(luò)參數(shù)的大范圍變化,同時(shí)能很好的抑制非響應(yīng)性業(yè)務(wù)流等噪聲流量的干擾,較好地保證協(xié)議間和協(xié)議內(nèi)公平性,具備向后兼容性,為在高速網(wǎng)絡(luò)中實(shí)現(xiàn)規(guī)模性部署和實(shí)施、最終實(shí)現(xiàn)平滑過(guò)渡提供支持與保障。
本發(fā)明借鑒了生態(tài)學(xué)中描述種群演化的相關(guān)模型來(lái)設(shè)計(jì)新的流量控制方法,并通過(guò)基于路由器顯式虛擬負(fù)載反饋的方式進(jìn)行了具體實(shí)施,為了敘述方便,我們將這種流控方法命名為EVLF-TCP(Explicit Virtual Load Feedback)。仿真試驗(yàn)結(jié)果表明,無(wú)論是在簡(jiǎn)單的啞鈴網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)還是在復(fù)雜的多瓶頸網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,EVLF-TCP都能夠體現(xiàn)出了高效、公平和魯棒的特性。
它的工作原理如下自然界種群的繁衍和資源的消耗是一對(duì)矛盾,但總能達(dá)到理想的平衡資源不會(huì)大量過(guò)剩,物種數(shù)量也不會(huì)無(wú)限制的膨脹。而高速網(wǎng)絡(luò)傳輸系統(tǒng)目前面臨的主要問(wèn)題卻是要么帶寬資源大量空閑,利用率無(wú)法提高;要么多個(gè)用戶流盲目占用帶寬,造成擁塞,導(dǎo)致分組丟失。初步分析認(rèn)為原因在于傳統(tǒng)的窗口流量控制終端系統(tǒng)的調(diào)節(jié)機(jī)制在高速網(wǎng)絡(luò)環(huán)境中顯得有些呆板僵硬。被廣泛使用的加性增加(AI)、乘性增加(MI)和乘性減小(MD)中的加性因子和乘性因子雖然進(jìn)行了必要的優(yōu)化設(shè)計(jì),但實(shí)際應(yīng)用中卻固定不變,按部就班的增量式調(diào)節(jié)自然難以適應(yīng)網(wǎng)絡(luò)配置參數(shù)的大范圍變化,這應(yīng)該是導(dǎo)致AIMD機(jī)制在高速網(wǎng)絡(luò)中低效的根本原因。該認(rèn)識(shí)啟發(fā)我們考慮放棄傳統(tǒng)調(diào)節(jié)機(jī)制,尋求適應(yīng)性強(qiáng)的新機(jī)制。生態(tài)學(xué)中的種群演化模型給了我們新思路,以Logistic模型為例,dxdt=rx(1-xK)...(1)]]>其中x表示種群規(guī)模,K為有限資源所能容納的種群規(guī)模上限,r為種群繁衍的內(nèi)在速率。當(dāng)x遠(yuǎn)小于K時(shí),它呈指數(shù)增長(zhǎng);隨著x的增加,其本身的增幅也逐漸減小;達(dá)到K后停止增加;當(dāng)x超過(guò)K后,呈現(xiàn)指數(shù)減小,減幅隨x的增加而增加。這一變化過(guò)程正是網(wǎng)絡(luò)端系統(tǒng)調(diào)節(jié)流量大小所期望的。如果將瓶頸鏈路的帶寬信息映射到Logistic模型中,并將種群規(guī)模x等效為流量大小,我們就可以用Logistic模型來(lái)驅(qū)動(dòng)發(fā)送端的窗口調(diào)節(jié)。
基于以上分析,我們考慮當(dāng)N個(gè)流競(jìng)爭(zhēng)容量為B的帶寬資源情況,假設(shè)第i流的流量大小為xi(t),瓶頸帶寬處的隊(duì)列長(zhǎng)度為q(t),提出如下的EVLF-TCP的流量控制模型 其中,a、b和T為待定常數(shù)。一般而言,在瓶頸處的真實(shí)網(wǎng)絡(luò)負(fù)載可以表示為ρ=Σi=1Nxi(t)/B,]]>即聚合流量與瓶頸帶寬的比率。為了在流量控制過(guò)程中,將隊(duì)列控制在合理的長(zhǎng)度,避免隊(duì)列溢出造成數(shù)據(jù)包丟失的情況,我們定義虛擬負(fù)載因子ρ~=(Σi=1Nxi(t)+q(t)T)/B,]]>其中T為時(shí)間常數(shù),用來(lái)完成將隊(duì)列長(zhǎng)度轉(zhuǎn)化為流量的量綱轉(zhuǎn)化過(guò)程。
圖1完整的描述了一個(gè)EVLF-TCP控制過(guò)程所經(jīng)歷的四個(gè)階段(1)當(dāng)網(wǎng)絡(luò)負(fù)載較低,虛擬負(fù)載因子 接近于0時(shí),流量的增長(zhǎng)速率dx(t)/dt可以近似等價(jià)為(a+bxi(t)),這其中包含了加性增加過(guò)程和乘性增加過(guò)程。與單純的TCP線性加性機(jī)制相比,此時(shí)EVLF-TCP機(jī)制將會(huì)使流量x(t)得以迅速爬升。而且當(dāng)流量逐漸增大時(shí),虛擬負(fù)載因子 也將逐漸增大,于是乘性增加過(guò)程的作用將被逐漸弱化,直到所有可用帶寬都被消耗為止,即ρ~=1.]]>(2)由于加性增加過(guò)程的持續(xù)影響,流量x(t)將繼續(xù)增大,使得虛擬負(fù)載因子ρ~>1,]]>于是乘性增加過(guò)程將會(huì)轉(zhuǎn)變成為乘性減少過(guò)程,但是此時(shí)加性增加過(guò)程的正作用大于乘性增加過(guò)程的負(fù)作用,所以流量仍將緩慢上升。
(3)當(dāng)加性增加過(guò)程所產(chǎn)生的正作用與乘性減少過(guò)程所產(chǎn)生的負(fù)作用正好相互抵消時(shí),系統(tǒng)進(jìn)入穩(wěn)態(tài),此時(shí)增長(zhǎng)率dx(t)/dt為0,流量x(t)將進(jìn)入穩(wěn)態(tài)。
(4)如果網(wǎng)絡(luò)中出現(xiàn)突發(fā)流量,造成網(wǎng)絡(luò)負(fù)載突然增加,此時(shí),虛擬負(fù)載因子 也會(huì)迅速變大以反應(yīng)網(wǎng)絡(luò)負(fù)載變化情況,此時(shí)乘性減少過(guò)程所產(chǎn)生的負(fù)作用將大于加性增加過(guò)程所產(chǎn)生的正作用,于是流量x(t)將乘性減少,直到達(dá)到新的穩(wěn)態(tài)。
為了確定模型中待定參數(shù)a,b和T的取值,我們推導(dǎo)了以下三條定理定理1該模型局部漸進(jìn)穩(wěn)定,且在穩(wěn)態(tài)下,各流的流量均為B/N,穩(wěn)定的隊(duì)列長(zhǎng)度為aTN/b.
證明思路加入隊(duì)列和聚合流量的約束關(guān)系dq(t)dt=Σi=1Nxi(t)+-B]]>(當(dāng)隊(duì)列長(zhǎng)度大于0時(shí)),然后通過(guò)線性化方法容易證明模型(2)的漸進(jìn)穩(wěn)定性,并求得模型的穩(wěn)態(tài)解。
定理2假定單流流量從初始態(tài)x0開始,定義期望鏈路利用率為θ,那收斂到效率的時(shí)間tθ≈(lnθ1-θ+lnBNx0)/b,]]>即收斂到效率的時(shí)間反比于b.
證明思路已知各流初始態(tài),利用atanh函數(shù),通過(guò)求解微分方程(2)可以得到收斂到效率的時(shí)間的近似解。
定理3假定N個(gè)流已經(jīng)穩(wěn)定的平分帶寬資源,第N+1個(gè)流(流量為初始態(tài)x0)進(jìn)入網(wǎng)絡(luò),定義期望的第N+1個(gè)流與前N個(gè)流中任意一個(gè)流的比率為ε,那收斂到公平的時(shí)間tϵ≈(Bln11-θ)/aN,]]>即收斂到公平的時(shí)間反比于a.
證明思路已知前N個(gè)流和第N+1個(gè)流的初始態(tài),令g(t)≈xN+1(t)/xN(t),通過(guò)替換,可以單獨(dú)分離出函數(shù)g(t)的微分方程,通過(guò)近似求解該微分方程可以得到收斂到公平的時(shí)間。
在這三條定理的基礎(chǔ)上,為了平衡穩(wěn)態(tài)隊(duì)列長(zhǎng)度,收斂到效率的時(shí)間和收斂到公平的時(shí)間,我們?nèi)=2Mbps,b=0.5,T=5ms。
本發(fā)明的特征在于,在仿真平臺(tái)上依據(jù)如下步驟實(shí)現(xiàn)步驟(1)發(fā)送端初始化數(shù)據(jù)包將一個(gè)顯式虛擬負(fù)載反饋報(bào)頭EVLF報(bào)頭插入到TCP報(bào)頭和IPv6報(bào)頭之間,該報(bào)頭包含包含一個(gè)8比特位的“下一頭部”域和一個(gè)24比特位的“虛擬負(fù)載因子”域。在EVLF-TCP的“下一頭部”域,指定TCP為其下一報(bào)頭,所以將TCP對(duì)應(yīng)的“下一頭部”值6放入該域;步驟(2)發(fā)送端向路由器發(fā)送數(shù)據(jù)包步驟(2.1)發(fā)送端啟動(dòng)數(shù)據(jù)發(fā)送定時(shí)器Timer的同時(shí),記錄當(dāng)前的發(fā)送時(shí)間和流量大小;步驟(2.2)向路由器發(fā)送數(shù)據(jù)包;步驟(3)路由器定期計(jì)算虛擬負(fù)載因子并將該因子寫入EVLF報(bào)頭步驟(3.1)路由器本身定期計(jì)算虛擬負(fù)載因子;采用100Hz的采樣頻率,在一個(gè)采樣周期內(nèi),路由器記錄總的到達(dá)數(shù)據(jù)包量L,那總的聚合流量可以通過(guò)Σi=1Nxi(t)=100L]]>來(lái)計(jì)算。同時(shí)在每個(gè)采樣點(diǎn),路由器采樣得到瞬時(shí)的隊(duì)列長(zhǎng)度q(t),并根據(jù)路由器已知的帶寬信息,根據(jù)下式計(jì)算虛擬負(fù)載因子ρ~=Σi=1Nxi(t)+q(t)TB]]>其中,T為時(shí)間常數(shù),用來(lái)完成將隊(duì)列長(zhǎng)度轉(zhuǎn)化為流量的量綱轉(zhuǎn)化過(guò)程,N為流的數(shù)量,B為帶寬。
步驟(3.2)路由器將虛擬負(fù)載因子寫EVLF報(bào)頭。
當(dāng)路由器接受到數(shù)據(jù)包時(shí),路由器需要檢測(cè)數(shù)據(jù)包中已攜帶的虛擬負(fù)載因子,將EVLF-TCP報(bào)頭中的虛擬負(fù)載因子域與當(dāng)前路由器的虛擬負(fù)載因子進(jìn)行比較,如果當(dāng)前路由器的虛擬負(fù)載因子較大,則將當(dāng)前路由器自身的虛擬負(fù)載因子寫入,否則,則不更新EVLF-TCP報(bào)頭中的虛擬負(fù)載因子。
步驟(3.3)路由器繼續(xù)轉(zhuǎn)發(fā)分組。
重復(fù)步驟(3.1)~(3.3)
步驟(4)接收端接收步驟當(dāng)接收端接受到數(shù)據(jù)分組,將EVLF-TCP報(bào)頭信息復(fù)制到新的EVLF-TCP報(bào)頭,并通過(guò)TCP協(xié)議的ACK數(shù)據(jù)包反饋回發(fā)送端。
步驟(5)發(fā)送端調(diào)整發(fā)送流量當(dāng)發(fā)送端接收到ACK數(shù)據(jù)包時(shí),發(fā)送端從中讀出ACK包所攜帶的虛擬負(fù)載因子和時(shí)戳信息,并根據(jù)之前所記錄的發(fā)送時(shí)間和流量大小計(jì)算出回路延時(shí)τ,然后通過(guò)如下的表達(dá)式計(jì)算新的流量x(t)=x(t-τ)+τ[1+x(t-τ)(1-ρ~)]...(3)]]>最后,我們重新設(shè)置發(fā)送定時(shí)器的值Timer Value=8*packetsize/x(t),其中packetsize為數(shù)據(jù)包大小,來(lái)達(dá)到控制流量的目的。然后重復(fù)步驟(1)~步驟(5),從而完成連續(xù)的數(shù)據(jù)傳輸過(guò)程。
由于了一個(gè)虛擬負(fù)載反饋因子,在網(wǎng)絡(luò)瓶頸處綜合考慮聚合流量、隊(duì)列長(zhǎng)度很好的反映了網(wǎng)絡(luò)的擁塞情況,路由器可據(jù)此向發(fā)送端發(fā)送最為擁塞的路由器負(fù)載信息,而發(fā)送端則在此基礎(chǔ)上,基于生態(tài)學(xué)中的種群演化模型,把種群規(guī)模類比成流量大小,用Logistic種群演化模型來(lái)驅(qū)動(dòng)發(fā)送端的流量調(diào)節(jié)。在仿真平臺(tái)上的試驗(yàn)結(jié)果表明,與其它流量控制方法相比,即使加入了噪聲流量之后,本發(fā)明仍然具有鏈路平均利用率高,平均丟包率低和平均隊(duì)列長(zhǎng)度短的優(yōu)點(diǎn)。
圖1.EVLF-TCP控制過(guò)程所經(jīng)歷的四個(gè)階段。
圖2.本發(fā)明的工作流程圖。
圖3.EVLF-TCP報(bào)頭格式。
圖4.啞鈴?fù)負(fù)浣Y(jié)構(gòu)。
圖5.不同RTT的多個(gè)流共存于單瓶頸網(wǎng)絡(luò)時(shí)六種方法分別對(duì)應(yīng)的流量變化情況(a)TCP-SACK選擇確認(rèn)傳輸協(xié)議;(b)HSTCP高速傳輸協(xié)議;(c)STCP擴(kuò)展傳輸協(xié)議;(d)BICTCP二進(jìn)制搜索傳輸協(xié)議;(e)VCP可變結(jié)構(gòu)擁塞控制協(xié)議;(f)EVLF顯式虛擬負(fù)載反饋傳輸協(xié)議。
圖6.未加入web流量,突發(fā)流量和反向流量時(shí)六種方法分別對(duì)應(yīng)的流量變化曲線。
圖7.加入web流量,突發(fā)流量和反向流量時(shí)六種方法分別對(duì)應(yīng)的流量變化曲線。
圖8.多瓶頸網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
圖9.多瓶頸網(wǎng)絡(luò)下六種方法分別對(duì)應(yīng)的4個(gè)流的流量變化曲線。
具體實(shí)施例方式
下面我們將詳細(xì)介紹如何通過(guò)端系統(tǒng)和路由器聯(lián)合實(shí)現(xiàn)EVLF-TCP控制方法。第一步,當(dāng)發(fā)送端初始化數(shù)據(jù)包時(shí),將EVLF-TCP報(bào)頭插入到TCP報(bào)頭和IPv6報(bào)頭之間,并將EVLF-TCP報(bào)頭中的虛擬負(fù)載因子域初始化為0,然后將該數(shù)據(jù)包發(fā)送給路由器。第二步,路由器本身定期計(jì)算虛擬負(fù)載因子,當(dāng)路由器接受到數(shù)據(jù)包時(shí),路由器需要檢測(cè)數(shù)據(jù)包中已攜帶的虛擬負(fù)載因子,將EVLF-TCP報(bào)頭中的虛擬負(fù)載因子域與當(dāng)前路由器的虛擬負(fù)載因子進(jìn)行比較,如果當(dāng)前路由器的虛擬負(fù)載因子較大,則將當(dāng)前路由器自身的虛擬負(fù)載因子寫入。第三步,當(dāng)接收端接受到數(shù)據(jù)分組,將EVLF-TCP報(bào)頭信息復(fù)制到新的EVLF-TCP報(bào)頭,并通過(guò)TCP協(xié)議的ACK數(shù)據(jù)包反饋會(huì)發(fā)送端,然后發(fā)送端根據(jù)所收到的虛擬負(fù)載因子信息調(diào)整發(fā)送流量大小。圖2描述了EVLF-TCP工作的三個(gè)過(guò)程。
(1)EVLF-TCP報(bào)頭如圖3所示,在IPv6中包含了一個(gè)8比特位的“下一頭部”域,用來(lái)連接下一報(bào)頭,因此我們定義EVLF-TCP對(duì)應(yīng)的“下一頭部”值為135(134~254之間屬于未被分配的“下一頭部”值),并設(shè)計(jì)EVLF-TCP報(bào)頭包含一個(gè)8比特位的“下一頭部”域和一個(gè)24比特位的“虛擬負(fù)載因子”域。在EVLF-TCP的“下一頭部”域,指定TCP為其下一報(bào)頭,所以將TCP對(duì)應(yīng)的“下一頭部”值6放入該域。
(2)發(fā)送端發(fā)送端需要執(zhí)行兩部分工作第一,當(dāng)準(zhǔn)備發(fā)送數(shù)據(jù)包之前,發(fā)送端必須將EVLF-TCP報(bào)頭中的虛擬負(fù)載因子域初始化為0,并在啟動(dòng)數(shù)據(jù)發(fā)送定時(shí)器Timer的同時(shí),記錄當(dāng)前的發(fā)送時(shí)間和流量大??;第二,當(dāng)接收到ACK數(shù)據(jù)包時(shí),發(fā)送端從中讀出ACK包所攜帶的虛擬負(fù)載因子和時(shí)戳信息,并根據(jù)之前所記錄的發(fā)送時(shí)間和流量大小計(jì)算出回路延時(shí)τ,然后通過(guò)如下的表達(dá)式計(jì)算新的流量x(t)=x(t-τ)+τ[1+x(t-τ)(1-ρ~)]...(3)]]>最后,我們重新設(shè)置發(fā)送定時(shí)器的值Timer Value=8*packetsize/x(t)(其中packetsize為數(shù)據(jù)包大小)來(lái)達(dá)到控制流量的目的。
(3)路由器路由器在EVLF-TCP流控方法中所承擔(dān)的主要作用就是計(jì)算虛擬負(fù)載因子并將其寫入到所有經(jīng)過(guò)的數(shù)據(jù)包的EVLF-TCP報(bào)頭中。為了計(jì)算虛擬負(fù)載因子,路由器必須實(shí)時(shí)獲取總的聚合流量和隊(duì)列長(zhǎng)度。在EVFL機(jī)制中,我們采用100Hz的采樣頻率,在一個(gè)采樣周期內(nèi),路由器記錄總的到達(dá)數(shù)據(jù)包量L,那總的聚合流量可以通過(guò)Σi=1Nxi(t)=100L]]>來(lái)計(jì)算。同時(shí)在每個(gè)采樣點(diǎn),路由器采樣得到瞬時(shí)的隊(duì)列長(zhǎng)度q(t),并根據(jù)路由器已知的帶寬信息,可以根據(jù)下式計(jì)算虛擬負(fù)載因子ρ~=Σi=1Nxi(t)+q(t)TB...(4)]]>另外,當(dāng)每個(gè)數(shù)據(jù)包到達(dá)時(shí),路由器需要檢測(cè)數(shù)據(jù)包中攜帶的虛擬負(fù)載因子,并將EVLF-TCP報(bào)頭中的虛擬負(fù)載因子與當(dāng)前路由器的虛擬負(fù)載因子進(jìn)行比較,如果當(dāng)前路由器的虛擬負(fù)載因子較大,則將當(dāng)前路由器自身的虛擬負(fù)載因子寫入,如果當(dāng)前路由器的虛擬負(fù)載因子較小,則不更新該數(shù)據(jù)包中攜帶的虛擬負(fù)載因子。通過(guò)這種方式,保證了當(dāng)EVLF-TCP報(bào)頭到達(dá)接收端時(shí),記錄了最擁塞路由器的負(fù)載信息。
(4)接收端EVLF-TCP的接收端與TCP接收端十分相似,唯一的區(qū)別在于EVLF-TCP機(jī)制需要接收端將EVLF-TCP報(bào)頭的信息復(fù)制到ACK數(shù)據(jù)包中。
我們?cè)贜S2(Network Simulator 2,網(wǎng)絡(luò)模擬器)網(wǎng)絡(luò)仿真平臺(tái)上實(shí)現(xiàn)了EVLF-TCP協(xié)議,并對(duì)它的性能進(jìn)行了測(cè)試。NS2(Network Simulator 2,網(wǎng)絡(luò)模擬器)是一種通用的網(wǎng)絡(luò)仿真軟件,它是在互聯(lián)網(wǎng)上公開發(fā)布的開源軟件,目前已被網(wǎng)絡(luò)研究者廣泛使用。為了說(shuō)明協(xié)議性能,我們選擇了TCP-SACK,HSTCP,STCP,XCP和VCP等同類方法一起進(jìn)行測(cè)試比較。在路由器中使用的是隊(duì)尾丟棄策略,緩存大小設(shè)置為2Mbytes。在所有試驗(yàn)中,數(shù)據(jù)分組大小均為1000字節(jié),ACK分組大小均為40字節(jié)。在采樣數(shù)據(jù)過(guò)程中,吞吐量,利用率,丟包率和隊(duì)列長(zhǎng)度的采樣周期均為1秒。
(1)實(shí)驗(yàn)1不同RTT的多個(gè)流共存于單瓶頸網(wǎng)絡(luò)采用圖4所示的啞鈴?fù)負(fù)浣Y(jié)構(gòu),瓶頸鏈路帶寬為120Mbps,設(shè)定回路延時(shí)為400ms、300ms、200ms、150ms、100ms和50ms的6個(gè)流分別在0秒、200秒、400秒、600秒、800秒和1000秒啟動(dòng),仿真實(shí)驗(yàn)持續(xù)1500秒。各個(gè)流的流量變化情況如圖5所示,鏈路的平均利用率、平均丟包率和平均隊(duì)列長(zhǎng)度如表1所示。
如圖5所示,在TCP-SACK,HSTCP,STCP,XCP和VCP中,都存在明顯的流量振蕩和RTT不公平問(wèn)題,因?yàn)槭褂眠@些機(jī)制的短RTT流能夠從長(zhǎng)RTT流中搶占帶寬,甚至造成長(zhǎng)RTT流“餓死”。而圖5(f)和表1表明EVLF與其它協(xié)議相比,不僅提供了快速達(dá)到接近100%的鏈路利用率、零丟包率以及很小的隊(duì)列長(zhǎng)度的優(yōu)點(diǎn),而且不存RTT不公平問(wèn)題,所有的流都能公平的獲得30Mbps帶寬資源。并且,第一個(gè)進(jìn)入網(wǎng)絡(luò)的EVLF-TCP流在11s左右就能夠達(dá)到接近120Mbps的速率,這正是高速網(wǎng)絡(luò)傳輸所迫切需要的。
表1鏈路平均利用率、平均丟包率和平均隊(duì)列長(zhǎng)度
(2)實(shí)驗(yàn)2魯棒性能測(cè)試仍然采用圖4所示的啞鈴?fù)負(fù)浣Y(jié)構(gòu),設(shè)定瓶頸鏈路帶寬為120Mbps,所有流的回路延時(shí)均為50ms。為了對(duì)比方便,我們進(jìn)行兩組仿真。第一組,不加入任何噪聲流量,僅僅測(cè)試10個(gè)前向流的運(yùn)行結(jié)果,如圖6和表2的S1列所示。第二組,我們運(yùn)行10個(gè)前向流和10個(gè)反向流,并且在200秒的仿真時(shí)間內(nèi)一直運(yùn)行平均值為20M的Web流量。同時(shí)在100秒時(shí),加入由10個(gè)UDP源產(chǎn)生的平均值為40Mbps的突發(fā)CBR流量,在150秒時(shí),所有UDP源退出網(wǎng)絡(luò)。圖7顯示了加入web流量,突發(fā)流量和反向流量時(shí)的10個(gè)前向流的流量變化曲線,表2的S2列顯示了相應(yīng)的平均鏈路利用率,平均丟包率和平均隊(duì)列長(zhǎng)度。
從圖6和圖7對(duì)比可以很明顯看出,在不加入噪聲流量的情況下,所有機(jī)制都取得了比較好的結(jié)果,但是一旦模擬真實(shí)的網(wǎng)絡(luò)環(huán)境,加入噪聲流量的影響,只有EVLF-TCP依然保持平滑和穩(wěn)定,而且在鏈路利用率,丟包率和隊(duì)列長(zhǎng)度等指標(biāo)上要明顯優(yōu)于其它機(jī)制。
表2鏈路平均利用率、平均丟包率和平均隊(duì)列長(zhǎng)度
S1列表示未加入web流量,突發(fā)流量和反向流量時(shí)的統(tǒng)計(jì)結(jié)果S1列表示加入web流量,突發(fā)流量和反向流量時(shí)的統(tǒng)計(jì)結(jié)果(3)實(shí)驗(yàn)3多瓶頸網(wǎng)絡(luò)測(cè)試采用圖8所示的啞鈴多瓶頸網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),三條中間鏈路的帶寬分別設(shè)定為120Mbps、60Mbps和120Mbps,所有單一鏈路的傳播延時(shí)均設(shè)定為20ms,長(zhǎng)流1經(jīng)過(guò)所有的中間鏈路,而短流2,短流3和短流4分別于流1共享一條中間鏈路。圖9顯示了4個(gè)流在200秒仿真實(shí)驗(yàn)的流量變化曲線。從圖9可以看出,只有EVLF-TCP機(jī)制達(dá)到了最大-最小公平性,此時(shí),流1和流3平分了60M帶寬資源,而流2和流4占用剩余的90M帶寬。在其它機(jī)制中,長(zhǎng)流1與其它短流相比,只獲得了很少的帶寬資源,即這些機(jī)制都存在明顯的多瓶頸偏置問(wèn)題。
權(quán)利要求
1.高速網(wǎng)絡(luò)中基于路由器顯式虛擬負(fù)載反饋的流量控制方法,其特征在于,在網(wǎng)絡(luò)模擬器仿真平臺(tái)上依據(jù)如下步驟實(shí)現(xiàn)步驟(1)發(fā)送端初始化數(shù)據(jù)包,將一個(gè)顯式虛擬負(fù)載反饋報(bào)頭EVLF報(bào)頭插入到TCP報(bào)頭和IPv6報(bào)頭之間,該報(bào)頭包含包含一個(gè)8比特位的“下一頭部”域和一個(gè)24比特位的“虛擬負(fù)載因子”域。在EVLF-TCP的“下一頭部”域,指定TCP為其下一報(bào)頭,所以將TCP對(duì)應(yīng)的“下一頭部”值6放入該域;步驟(2)發(fā)送端向路由器發(fā)送數(shù)據(jù)包,步驟(2.1)發(fā)送端啟動(dòng)數(shù)據(jù)發(fā)送定時(shí)器Timer的同時(shí),記錄當(dāng)前的發(fā)送時(shí)間和流量大??;步驟(2.2)向路由器發(fā)送數(shù)據(jù)包;步驟(3)路由器定期計(jì)算虛擬負(fù)載因子并將該因子寫入EVLF報(bào)頭,步驟(3.1)路由器本身定期計(jì)算虛擬負(fù)載因子;采用100Hz的采樣頻率,在一個(gè)采樣周期內(nèi),路由器記錄總的到達(dá)數(shù)據(jù)包量L,那總的聚合流量可以通過(guò)Σi=1Nxi(t)=100L]]>來(lái)計(jì)算。同時(shí)在每個(gè)采樣點(diǎn),路由器采樣得到瞬時(shí)的隊(duì)列長(zhǎng)度q(t),并根據(jù)路由器已知的帶寬信息,根據(jù)下式計(jì)算虛擬負(fù)載因子ρ~=Σi=1Nxi(t)+q(t)TB]]>其中,T為時(shí)間常數(shù),用來(lái)完成將隊(duì)列長(zhǎng)度轉(zhuǎn)化為流量的量綱轉(zhuǎn)化過(guò)程,N為流的數(shù)量,B為帶寬;步驟(3.2)路由器將虛擬負(fù)載因子寫入EVLF報(bào)頭,當(dāng)路由器接受到數(shù)據(jù)包時(shí),路由器需要檢測(cè)數(shù)據(jù)包中已攜帶的虛擬負(fù)載因子,將EVLF-TCP報(bào)頭中的虛擬負(fù)載因子域與當(dāng)前路由器的虛擬負(fù)載因子進(jìn)行比較,如果當(dāng)前路由器的虛擬負(fù)載因子較大,則將當(dāng)前路由器自身的虛擬負(fù)載因子寫入,否則,則不更新EVLF-TCP報(bào)頭中的虛擬負(fù)載因子;步驟(3.3)路由器繼續(xù)轉(zhuǎn)發(fā)分組,重復(fù)步驟(3.1)~(3.3);步驟(4)接收端接收步驟,當(dāng)接收端接受到數(shù)據(jù)分組,將EVLF-TCP報(bào)頭信息復(fù)制到新的EVLF-TCP報(bào)頭,并通過(guò)TCP協(xié)議的ACK數(shù)據(jù)包反饋回發(fā)送端;步驟(5)發(fā)送端調(diào)整發(fā)送流量,當(dāng)發(fā)送端接收到ACK數(shù)據(jù)包時(shí),發(fā)送端從中讀出ACK包所攜帶的虛擬負(fù)載因子和時(shí)戳信息,并根據(jù)之前所記錄的發(fā)送時(shí)間和流量大小計(jì)算出回路延時(shí)τ,然后通過(guò)如下的表達(dá)式計(jì)算新的流量x(t)=x(t-τ)+[1+x(t-τ)(1-ρ~)]---(3)]]>最后,我們重新設(shè)置發(fā)送定時(shí)器的值TimerValue=8*packetsize/x(t),其中packetsize為數(shù)據(jù)包大小,來(lái)達(dá)到控制流量的目的。然后重復(fù)步驟(1)~步驟(5),從而完成連續(xù)的數(shù)據(jù)傳輸過(guò)程。
全文摘要
高速網(wǎng)絡(luò)中基于路由器顯式虛擬負(fù)載反饋的流量控制方法屬于本發(fā)明屬于流量控制和擁塞控制領(lǐng)域,其特征在于,引入了一個(gè)虛擬負(fù)載反饋因子,以便于在網(wǎng)絡(luò)瓶頸處綜合考慮聚合流量、隊(duì)列長(zhǎng)度以反映網(wǎng)絡(luò)的擁塞情況,路由器可據(jù)此向發(fā)送端發(fā)送最為擁塞的路由器負(fù)載信息,而發(fā)送端則在此基礎(chǔ)上,基于生態(tài)學(xué)中的種群演化模型,把種群規(guī)模類比成流量大小,用Logistic種群演化模型來(lái)驅(qū)動(dòng)發(fā)送端的流量調(diào)節(jié)。與其它流量控制方法相比,即使加入了噪聲流量之后,本發(fā)明仍然具有鏈路平均利用率高,平均丟包率低和平均隊(duì)列長(zhǎng)度短的優(yōu)點(diǎn)。
文檔編號(hào)H04L12/46GK101075960SQ20071011771
公開日2007年11月21日 申請(qǐng)日期2007年6月22日 優(yōu)先權(quán)日2007年6月22日
發(fā)明者林闖, 黃小猛, 任豐原 申請(qǐng)人:清華大學(xué)