两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法

文檔序號:7587853閱讀:295來源:國知局
專利名稱:通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種通信網(wǎng)絡(luò)中傳輸層調(diào)整擁塞窗口的方法。
背景技術(shù)
Internet(互聯(lián)網(wǎng))是一種提供盡力而為服務(wù)的網(wǎng)絡(luò),TCP(TransportControl Protocol,傳輸控制協(xié)議)是其上一種可靠的傳輸層協(xié)議,被廣泛地應(yīng)用于電子郵件、文件傳輸、音頻和視頻數(shù)據(jù)流以及Web(環(huán)球網(wǎng))等應(yīng)用中。據(jù)統(tǒng)計(jì),TCP數(shù)據(jù)流量要占Internet中95%以上,故TCP協(xié)議是Internet中一種占主導(dǎo)地位的端到端的傳輸協(xié)議,當(dāng)今Internet的可靠性和穩(wěn)定性均與TCP協(xié)議的擁塞控制機(jī)制密不可分。
目前Internet上最為通用的TCP實(shí)現(xiàn)是TCP Reno,TCP Reno是一種端對端的傳輸層協(xié)議,采用了AIMD(Additive Increase MultiplicatiVeDecrease,加性增乘數(shù)減)的窗口調(diào)整機(jī)制。
在TCP Reno中,發(fā)送端實(shí)際發(fā)送窗口大小為MIN(RCVWND,CWDN+NDUP),即“RCVWND”和“CWDN+NDUP”值中較小的一個(gè)值作為實(shí)際發(fā)送窗口大小;其中RCVWND指接收者通知的窗口,CWDN指發(fā)送端擁塞窗口,NDUP在發(fā)送端收到重復(fù)ACK(證實(shí))的個(gè)數(shù)小于tcprexmtthresh(tcprexmtthresh為使TCP啟動快速重傳機(jī)制的重復(fù)ACK個(gè)數(shù))之前,等于0,之后為再收到的重復(fù)ACK的個(gè)數(shù)。如果不考慮流量控制,則發(fā)送窗口等于CWDN+NDUP。
Reno的擁塞控制策略描述如下①如果接收到非重復(fù)ACK報(bào)文,則
if w<ssthresh,set w=w+1;如果當(dāng)前的擁塞窗口w小于慢啟動門限值ssthresh,則每收到一個(gè)ACK,就將窗口增加一個(gè)TCP段的大小,且這一過程稱之為慢啟動過程;Else set 否則,如果當(dāng)前的擁塞窗口大于慢啟動門限值而小于通知窗口,每收到一個(gè)ACK,就將窗口增加當(dāng)前窗口的倒數(shù)分之一,且這一過程稱之為擁塞避免過程;②如果收到的重復(fù)ACK報(bào)文,且收到的ACK報(bào)文數(shù)>tcprexmtthresh,則retranmit“next expected”segment;重傳重復(fù)ACK證實(shí)信息里說明的需要重傳的報(bào)文段,即分組;set 同時(shí)令慢啟動門限值等于當(dāng)前窗口的一半;then set w=ssthresh;擁塞窗口等于更新的慢啟動門限值;③如果重傳計(jì)時(shí)器超時(shí),則進(jìn)入SlowStart(慢啟動)set 慢啟動門限值等于當(dāng)前窗口的一半;set w=1;擁塞窗口等于一個(gè)報(bào)文段;然而,上述最初為有線環(huán)境設(shè)計(jì)的TCP Reno在具有突發(fā)差錯(cuò)的無線鏈路上的性能卻不令人滿意。TCP Reno認(rèn)為所有的分組丟失都是由于擁塞產(chǎn)生的,所以把由于鏈路特性變化引起的隨機(jī)分組丟失都當(dāng)作擁塞丟失來處理,直接將窗口降為分組丟失前窗口的一半。這種窗口的減半往往是不必要的,造成系統(tǒng)性能下降,導(dǎo)致網(wǎng)絡(luò)資源的浪費(fèi)。

發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)存在的問題,本發(fā)明的目的是提供一種通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,該方法可以區(qū)分分組丟失產(chǎn)生的原因是隨機(jī)丟失還是擁塞丟失,并根據(jù)分組產(chǎn)生的原因確定針對窗口的調(diào)整策略。
本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的所述的一種通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,包括A、計(jì)算網(wǎng)絡(luò)中交換節(jié)點(diǎn)的緩存隊(duì)列的長度;B、根據(jù)所述的緩存隊(duì)列的長度確定導(dǎo)致網(wǎng)絡(luò)中分組丟失產(chǎn)生的原因,并針對不同原因分別采用相應(yīng)的控制策略對交換節(jié)點(diǎn)的擁塞窗口進(jìn)行調(diào)整。
所述步驟A包括A1、根據(jù)網(wǎng)絡(luò)中傳輸?shù)膱?bào)文確定網(wǎng)絡(luò)的帶寬;A2、根據(jù)網(wǎng)絡(luò)的帶寬計(jì)算交換節(jié)點(diǎn)處的緩存隊(duì)列的長度;所述的步驟A1包括根據(jù)網(wǎng)絡(luò)中發(fā)送節(jié)點(diǎn)收到的ACK(證實(shí))報(bào)文所證實(shí)的報(bào)文長度及相鄰兩個(gè)ACK報(bào)文的間隔時(shí)間確定網(wǎng)絡(luò)的帶寬。
所述的步驟A1進(jìn)一步包括分別以發(fā)送節(jié)點(diǎn)收到的ACK(證實(shí))報(bào)文所證實(shí)的報(bào)文長度除以該ACK報(bào)文與前一個(gè)ACK報(bào)文的間隔時(shí)間,獲得的結(jié)果作為基于該ACK報(bào)文的網(wǎng)絡(luò)帶寬的采樣值;將獲得的多個(gè)網(wǎng)絡(luò)帶寬采樣值進(jìn)行平滑處理,獲得網(wǎng)絡(luò)的帶寬。
所述的步驟B包括根據(jù)獲得的網(wǎng)絡(luò)的帶寬值、分組的大小、當(dāng)前期望的網(wǎng)絡(luò)帶寬及發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)間的最小往返時(shí)間計(jì)算交換節(jié)點(diǎn)處的緩存隊(duì)列的長度。
所述的步驟A具體包括網(wǎng)絡(luò)帶寬采樣值sample_BWE[k]為sample_BWE[k]=(ACKed*seg_size*8)/now~lastACKtime,其中,ACKed表示由本次收到的ACK所證實(shí)的報(bào)文段數(shù)目,seg_size表示報(bào)文段所含字節(jié),now~lastACKtime表示本次收到ACK與上次收到ACK的時(shí)間間隔,K為本次收到的ACK所證實(shí)的報(bào)文的序號;對網(wǎng)絡(luò)帶寬采樣值進(jìn)行平滑處理,估計(jì)確定網(wǎng)絡(luò)帶寬BWE[k]為BWE[k]=(1921)*BWE[k-1]+(121)*(sample_BWE[k]+sample_BWE[k-1]);]]>且,所述的步驟B具體包括交換節(jié)點(diǎn)處的緩存隊(duì)列長度N為N‾=(Expected-BWEseg_size)*BaseRTT,]]>其中,Expected=cwndBaseRtt]]>是當(dāng)前時(shí)刻的期望速率,cwnd表示擁塞窗口的大小,BaseRtt是交換節(jié)點(diǎn)間報(bào)文的最小往返時(shí)間,seg_size如前所述為是報(bào)文段大小,BWE為上述步驟A獲得的當(dāng)前時(shí)刻網(wǎng)絡(luò)帶寬的估計(jì)值BWE[k]。
所述的步驟A包括根據(jù)當(dāng)前網(wǎng)絡(luò)的期望速率、實(shí)際速率及交換節(jié)點(diǎn)間報(bào)文往返的最小時(shí)間計(jì)算交換節(jié)點(diǎn)的緩存隊(duì)列長度。
所述的步驟A進(jìn)一步包括計(jì)算期望速率Expected和實(shí)際速率ActualExpected=cwndBaseRtt,Actual=cwndRtt;]]>其中,cwnd表示擁塞窗口大小,BaseRtt表示交換節(jié)點(diǎn)間報(bào)文的最小往返時(shí)間,RTT表示交換節(jié)點(diǎn)間報(bào)文的實(shí)際往返時(shí)間;計(jì)算確定交換節(jié)點(diǎn)的緩存隊(duì)列長度N為N=Actual*(RTT-BaseRTT)=Diff*BaseRTT,其中,Diff=Expected-Actual,為期望速率Expected和實(shí)際速率Actual的差值。
所述的步驟C包括C1、如果所述的緩存隊(duì)列的長度大于設(shè)定的隊(duì)列長度門限值,則確定網(wǎng)絡(luò)帶寬飽和,且網(wǎng)絡(luò)中產(chǎn)生的分組丟失為因?yàn)閾砣麑?dǎo)致,并根據(jù)相應(yīng)的擁塞控制策略進(jìn)行該交換節(jié)點(diǎn)的窗口和啟動門限值的調(diào)整;C2、如果所述的緩存隊(duì)列的長度小于設(shè)定的隊(duì)列長度門限值,則確定網(wǎng)絡(luò)帶寬未飽和,且網(wǎng)絡(luò)中產(chǎn)生的分組丟失為因?yàn)殒溌诽匦宰兓瘜?dǎo)致,并根據(jù)基于鏈路特性變化的控制策略進(jìn)行該交換節(jié)點(diǎn)的窗口和啟動門限值的調(diào)整。
所述的通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法中,步驟C2所述的根據(jù)基于鏈路特性變化的控制策略進(jìn)行該交換節(jié)點(diǎn)的窗口和啟動門限值的調(diào)整為如果收到如果收到三個(gè)重復(fù)的ACK報(bào)文,調(diào)整慢啟動門限等于估計(jì)帶寬和最小往返時(shí)間的乘積與TCP報(bào)文段大小的比值,并且,如果當(dāng)前擁塞窗口大于慢啟動門限值,則令擁塞窗口等于慢啟動門限;如果重傳計(jì)時(shí)器超時(shí),則令擁塞窗口等于1,令慢啟動門限等于估計(jì)帶寬和最小往返時(shí)間的乘積與TCP報(bào)文段大小的比值,且若慢啟動門限小于2,則令慢啟動門限等于2。
TCP Reno在處理網(wǎng)絡(luò)擁塞情況時(shí),是通過將擁塞窗口減半,能夠有效的減少緩存隊(duì)長,及時(shí)的處理網(wǎng)絡(luò)擁塞狀況,這一算法的性能已經(jīng)在有線網(wǎng)絡(luò)中得到了很好的證實(shí)。由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明不僅可以保留了TCP Reno在處理網(wǎng)絡(luò)擁塞情況時(shí)的上述優(yōu)點(diǎn),同時(shí)對于因鏈路特性引起的分組丟失,還實(shí)現(xiàn)了利用帶寬估計(jì)設(shè)定合適的門限和擁塞控制窗口,使網(wǎng)絡(luò)帶寬得到有效的利用,提高系統(tǒng)的吞吐量。
總之,本發(fā)明能夠有效的區(qū)分分組丟失產(chǎn)生的原因,以根據(jù)具體情況改善無線鏈路上TCP的吞吐量性能,并可以根據(jù)網(wǎng)絡(luò)的擁塞狀況,自適應(yīng)調(diào)整窗口,以增強(qiáng)TCP協(xié)議的穩(wěn)定性。此外,本發(fā)明還計(jì)算交換節(jié)點(diǎn)處的緩存隊(duì)列長度,并通過隊(duì)列長判斷網(wǎng)絡(luò)擁塞狀況,以便于在及時(shí)處理分組丟失的同時(shí)降低排隊(duì)等待時(shí)間。


圖1為本發(fā)明所述的方法的流程圖。
具體實(shí)施例方式
本發(fā)明所述的方法的核心思想是通過計(jì)算交換節(jié)點(diǎn)的緩存隊(duì)列的長度,然后,根據(jù)緩存隊(duì)列的長度確定網(wǎng)絡(luò)中產(chǎn)生分組丟失的原因,并針對不同的原因采用不同的控制策略對交換節(jié)點(diǎn)的擁塞窗口和啟動門限值進(jìn)行相應(yīng)的調(diào)整。本發(fā)明一方面可以利用返回的ACK數(shù)據(jù)流所證實(shí)的收到分組的數(shù)目和兩個(gè)相鄰ACK的間隔時(shí)間來估計(jì)網(wǎng)絡(luò)的帶寬,再利用這個(gè)估計(jì)到的帶寬信息來計(jì)算交換節(jié)點(diǎn)處的緩存隊(duì)列長度N的大小;另一方面還可以根據(jù)當(dāng)前網(wǎng)絡(luò)的期望速率和實(shí)際速率值確定交換節(jié)點(diǎn)的緩存隊(duì)列長度N的大小。
獲得了相應(yīng)交換節(jié)點(diǎn)的緩存隊(duì)列的長度N的大小后,便可以根據(jù)N值來判斷網(wǎng)絡(luò)的擁塞狀況。即在發(fā)生分組丟失時(shí),根據(jù)網(wǎng)絡(luò)的擁塞狀況判斷分組丟失的原因,如果發(fā)生分組丟失時(shí),N大于設(shè)定的隊(duì)列長度門限值,認(rèn)為分組丟失是網(wǎng)絡(luò)擁塞引起的;如果發(fā)生分組丟失時(shí),N小于設(shè)定的隊(duì)列長度門限值,則認(rèn)為分組丟失是由于鏈路特性變化的影響產(chǎn)生的,針對基于不同原因?qū)е碌姆纸M丟失,便可以采取不同的控制策略進(jìn)行擁塞窗口和啟動門限值的調(diào)整。
為對本發(fā)明有進(jìn)一步的了解,現(xiàn)結(jié)合附圖,并以根據(jù)網(wǎng)絡(luò)帶寬計(jì)算交換節(jié)點(diǎn)的緩存隊(duì)列的長度值為例對本發(fā)明作進(jìn)一步說明,參見圖1,具體包括以下處理過程步驟1對網(wǎng)絡(luò)帶寬值sample_BWE[k]進(jìn)行采樣;sample_BWE[k]=(ACKed*seg_size*8)/now~lastACKtime,其中,ACKed表示由本次收到的ACK所證實(shí)的報(bào)文段數(shù)目,seg_size表示報(bào)文段所含字節(jié),now~lastACKtime表示本次收到ACK與上次收到ACK的時(shí)間間隔,K為本次收到的ACK所證實(shí)的報(bào)文的序號,所述的ACKed值和seg_size值可以根據(jù)網(wǎng)絡(luò)的特征獲得,now~lastACKtime值則可以根通過ACK報(bào)文的接收時(shí)間的實(shí)際監(jiān)測獲得。
步驟2對獲取的網(wǎng)絡(luò)帶寬采樣值進(jìn)行平滑處理,以獲得估計(jì)的當(dāng)前網(wǎng)絡(luò)的帶寬值BWE[k];BWE[k]=(1921)*BWE[k-1]+(121)*(sample_BWE[k]+sample_BWE[k-1]).]]>步驟3根據(jù)獲得的當(dāng)前網(wǎng)絡(luò)的帶寬值計(jì)算交換節(jié)點(diǎn)處的緩存隊(duì)列;N‾=(Expected-BWEseg_size)*BaseRTT;]]>其中Expected=cwndBaseRtt]]>是當(dāng)前時(shí)刻的期望速率,cwnd表示擁塞窗口的大小,BaseRtt是交換節(jié)點(diǎn)發(fā)送出去的報(bào)文的最小往返時(shí)間,seg_size是交換節(jié)點(diǎn)發(fā)送報(bào)文的分組大小,BWE為當(dāng)前時(shí)刻網(wǎng)絡(luò)帶寬的估計(jì)值BWE[k],所述的cwnd值為網(wǎng)絡(luò)傳輸中已經(jīng)有應(yīng)用的參數(shù),本發(fā)明直接獲取應(yīng)用即可,所述的BaseRtt值根據(jù)對RTT的跟蹤比較得到。
步驟4當(dāng)網(wǎng)絡(luò)中發(fā)生分組丟失時(shí),判斷所述的緩存隊(duì)列的長度值N是否大于設(shè)定的隊(duì)列長度門限值β,如果大于,則執(zhí)行步驟5,否則,執(zhí)行步驟6,所述的隊(duì)列長度門限值β通常為一個(gè)經(jīng)驗(yàn)值,可以通過網(wǎng)絡(luò)測試獲得,對于目前的網(wǎng)絡(luò)該值可以為3。
步驟5確定緩存隊(duì)列的長度值N>β,此時(shí),認(rèn)為網(wǎng)絡(luò)帶寬飽和,產(chǎn)生的分組丟失的原因以擁塞丟失為主,并按照TCP-Reno的算法中的擁塞控制策略進(jìn)行擁塞窗口和慢啟動門限值的調(diào)整,具體的調(diào)整過程與背景技術(shù)中描述的相同。
步驟6確定緩存隊(duì)列的長度值N<β,此時(shí),認(rèn)為網(wǎng)絡(luò)帶寬沒有飽和,網(wǎng)絡(luò)沒有發(fā)生擁塞,分組丟失的原因很可能是由于鏈路特性變化而引起,所述的鏈路特性變化,即無線鏈路對Internet協(xié)議性能的影響通常包括①鏈接錯(cuò)誤率無線主機(jī)采用無線或紅外波傳輸進(jìn)行通信,極易受環(huán)境干擾,無線網(wǎng)絡(luò)上的BER(誤比特率)是有線的10倍或更差,只要有一條無線鏈路,就會影響到整個(gè)網(wǎng)絡(luò)的性能;②帶寬帶寬在無線網(wǎng)絡(luò)中是稀缺資源,同典型的有線以太網(wǎng)10M到1000M(甚至更高)相比,無線局域網(wǎng)的帶寬相對較小(2M),而且變化還較大;③移動性無線主機(jī)在通信時(shí)頻繁移動,易導(dǎo)致數(shù)據(jù)丟失甚至通信暫時(shí)中斷。TCP將其解釋為擁塞,并激發(fā)擁塞控制機(jī)制,但這是沒有必要的,因?yàn)橐坏┮苿油V梗瑹o線主機(jī)又開始接收數(shù)據(jù)了,這樣就導(dǎo)致TCP的性能下降。
對于因鏈路特性變化導(dǎo)致的分組丟失,需要按照下述基于鏈路特性變化的控制策略進(jìn)行擁塞窗口和慢啟動門限值的調(diào)整,具體的處理過程為;如果交換節(jié)點(diǎn)收到三個(gè)重復(fù)的ACK報(bào)文,則執(zhí)行以下操作ssthresh=(bwe*BaseRTT)/(seg_size);/令慢啟動門限值等于估計(jì)的網(wǎng)絡(luò)帶寬和最小往返時(shí)間的乘積與TCP報(bào)文段大小的比值;if(cwnd>ssthresh);/如果當(dāng)前擁塞窗口大于慢啟動門限值;cwnd=ssthresh;/令擁塞窗口等于慢啟動門限;同時(shí),如果交換節(jié)點(diǎn)收到重復(fù)的ACK報(bào)文,則需要重新進(jìn)行相應(yīng)報(bào)文的發(fā)送,并啟動對應(yīng)的計(jì)時(shí)器,當(dāng)該計(jì)時(shí)器超時(shí)時(shí),則執(zhí)行下列操作cwnd=1;/令擁塞窗口等于1;ssthresh=(bwe*BaseRTT)/(seg_size);/令慢啟動門限等于估計(jì)帶寬和最小往返時(shí)間的乘積與TCP報(bào)文段大小的比值;if(ssthresh<2)ssthresh=2;/如果慢啟動門限小于2,則令慢啟動門限等于2。
上述處理過程中,步驟1到步驟3描述了交換節(jié)點(diǎn)的緩存隊(duì)列長度值的獲取過程,在TCP Vegas中,所述的緩存隊(duì)列長度值還可以采用以下的方法獲得,但是為保證后續(xù)的擁塞窗口和啟動門限值調(diào)整機(jī)制的實(shí)現(xiàn),在通過下述方法獲取緩存隊(duì)列長度值的同時(shí)還需要獲取當(dāng)前網(wǎng)絡(luò)中的網(wǎng)絡(luò)帶寬值;即交換節(jié)點(diǎn)的緩存隊(duì)列長度值還可以通過以下計(jì)算過程獲得
首先,計(jì)算網(wǎng)絡(luò)當(dāng)前的期望速率Expected和實(shí)際速率Actual,具體為期望速率Expected=cwndBaseRtt,]]>實(shí)際速率Actual=cwndRtt;]]>其中,cwnd表示擁塞窗口的大小,BaseRtt表示交換節(jié)點(diǎn)發(fā)送的報(bào)文的最小的往返時(shí)間,RTT表示交換節(jié)點(diǎn)發(fā)送的報(bào)文的實(shí)際往返時(shí)間,RTT為通過實(shí)際監(jiān)測獲得;然后計(jì)算期望速率Expected和實(shí)際速率Actual的差值Diff為Diff=Expected-Actual;再基于交換節(jié)點(diǎn)的緩存隊(duì)列的長度N得到RTT的計(jì)算公式為RTT=BaseRTT+N/Actual;根據(jù)上式可以得出,緩存隊(duì)列的長度N為N=Actual*(RTT-BaseRTT)=Diff*BaseRTT。
當(dāng)然,本發(fā)明中還可以采用其他的方法獲得交換節(jié)點(diǎn)的緩存隊(duì)列的長度N的值,然后,便可以根據(jù)獲得的N值進(jìn)行擁塞窗口和啟動門限值的調(diào)整,以適應(yīng)網(wǎng)絡(luò)傳輸?shù)男枨蟆?br> 由上述本發(fā)明的具體實(shí)現(xiàn)方式的描述過程可以看出,本發(fā)明不僅保留了TCP Reno在處理網(wǎng)絡(luò)擁塞情況時(shí)的算法優(yōu)點(diǎn),如通過將擁塞窗口減半,能夠有效的減少緩存隊(duì)長,及時(shí)的處理網(wǎng)絡(luò)擁塞狀況等,同時(shí),還對由于鏈路特性變化引起的分組丟失,有效地利用網(wǎng)絡(luò)帶寬估計(jì)設(shè)定合適的門限和擁塞控制窗口,使網(wǎng)絡(luò)帶寬得到有效的利用,提高系統(tǒng)的吞吐量。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,其特征在于包括A、計(jì)算網(wǎng)絡(luò)中交換節(jié)點(diǎn)的緩存隊(duì)列的長度;B、根據(jù)所述的緩存隊(duì)列的長度確定導(dǎo)致網(wǎng)絡(luò)中分組丟失產(chǎn)生的原因,并針對不同原因分別采用相應(yīng)的控制策略對交換節(jié)點(diǎn)的擁塞窗口進(jìn)行調(diào)整。
2.根據(jù)權(quán)利要求1所述的通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,其特征在于所述的步驟A包括A1、根據(jù)網(wǎng)絡(luò)中傳輸?shù)膱?bào)文確定網(wǎng)絡(luò)的帶寬;A2、根據(jù)網(wǎng)絡(luò)的帶寬計(jì)算交換節(jié)點(diǎn)處的緩存隊(duì)列的長度;
3.根據(jù)權(quán)利要求2所述的通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,其特征在于所述的步驟A1包括根據(jù)網(wǎng)絡(luò)中發(fā)送節(jié)點(diǎn)收到的ACK(證實(shí))報(bào)文所證實(shí)的報(bào)文長度及相鄰兩個(gè)ACK報(bào)文的間隔時(shí)間確定網(wǎng)絡(luò)的帶寬。
4.根據(jù)權(quán)利要求2或3所述的通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,其特征在于所述的步驟A1進(jìn)一步包括分別以發(fā)送節(jié)點(diǎn)收到的ACK(證實(shí))報(bào)文所證實(shí)的報(bào)文長度除以該ACK報(bào)文與前一個(gè)ACK報(bào)文的間隔時(shí)間,獲得的結(jié)果作為基于該ACK報(bào)文的網(wǎng)絡(luò)帶寬的采樣值;將獲得的多個(gè)網(wǎng)絡(luò)帶寬采樣值進(jìn)行平滑處理,獲得網(wǎng)絡(luò)的帶寬。
5.根據(jù)權(quán)利要求4所述的通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,其特征在于所述的步驟B包括根據(jù)獲得的網(wǎng)絡(luò)的帶寬值、分組的大小、當(dāng)前期望的網(wǎng)絡(luò)帶寬及發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)間的最小往返時(shí)間計(jì)算交換節(jié)點(diǎn)處的緩存隊(duì)列的長度。
6.根據(jù)權(quán)利要求5所述的通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,其特征在于所述的步驟A具體包括網(wǎng)絡(luò)帶寬采樣值sample_BWE[k]為sample_BWE[k]=(ACKed*seg_size*8)/now~lastACKtime,其中,ACKed表示由本次收到的ACK所證實(shí)的報(bào)文段數(shù)目,seg_size表示報(bào)文段所含字節(jié),now~lastACKtime表示本次收到ACK與上次收到ACK的時(shí)間間隔,K為本次收到的ACK所證實(shí)的報(bào)文的序號;對網(wǎng)絡(luò)帶寬采樣值進(jìn)行平滑處理,估計(jì)確定網(wǎng)絡(luò)帶寬BWE[k]為BWE[k]=(1921)*BWE[k-1]+(121)*(sample_BWE[k]+sample_BWE[k-1]);]]>且,所述的步驟B具體包括交換節(jié)點(diǎn)處的緩存隊(duì)列長度N為N‾=(Expected-BWEseg_size)*BaseRTT,]]>其中,Expected=cwndBaseRtt]]>是當(dāng)前時(shí)刻的期望速率,cwnd表示擁塞窗口的大小,BaseRtt是交換節(jié)點(diǎn)間報(bào)文的最小往返時(shí)間,seg_size如前所述為是報(bào)文段大小,BWE為上述步驟A獲得的當(dāng)前時(shí)刻網(wǎng)絡(luò)帶寬的估計(jì)值BWE[k]。
7.根據(jù)權(quán)利要求1所述的通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,其特征在于所述的步驟A包括根據(jù)當(dāng)前網(wǎng)絡(luò)的期望速率、實(shí)際速率及交換節(jié)點(diǎn)間報(bào)文往返的最小時(shí)間計(jì)算交換節(jié)點(diǎn)的緩存隊(duì)列長度。
8.根據(jù)權(quán)利要求7所述的通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,其特征在于所述的步驟A進(jìn)一步包括計(jì)算期望速率Expected和實(shí)際速率ActualExpected=cwndBaseRtt,Actual=cwndRtt;]]>其中,cwnd表示擁塞窗口大小,BaseRtt表示交換節(jié)點(diǎn)間報(bào)文的最小往返時(shí)間,RTT表示交換節(jié)點(diǎn)間報(bào)文的實(shí)際往返時(shí)間;計(jì)算確定交換節(jié)點(diǎn)的緩存隊(duì)列長度N為N=Actual*(RTT-BaseRTT)=Diff*BaseRTT,其中,Diff=Expected-Actual,為期望速率Expected和實(shí)際速率Actual的差值。
9.根據(jù)權(quán)利要求1、2、3、7或8所述的通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,其特征在于所述的步驟C包括C1、如果所述的緩存隊(duì)列的長度大于設(shè)定的隊(duì)列長度門限值,則確定網(wǎng)絡(luò)帶寬飽和,且網(wǎng)絡(luò)中產(chǎn)生的分組丟失為因?yàn)閾砣麑?dǎo)致,并根據(jù)相應(yīng)的擁塞控制策略進(jìn)行該交換節(jié)點(diǎn)的窗口和啟動門限值的調(diào)整;C2、如果所述的緩存隊(duì)列的長度小于設(shè)定的隊(duì)列長度門限值,則確定網(wǎng)絡(luò)帶寬未飽和,且網(wǎng)絡(luò)中產(chǎn)生的分組丟失為因?yàn)殒溌诽匦宰兓瘜?dǎo)致,并根據(jù)基于鏈路特性變化的控制策略進(jìn)行該交換節(jié)點(diǎn)的窗口和啟動門限值的調(diào)整。
10.根據(jù)權(quán)利要求9所述的通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法,其特征在于,步驟C2所述的根據(jù)基于鏈路特性變化的控制策略進(jìn)行該交換節(jié)點(diǎn)的窗口和啟動門限值的調(diào)整為如果收到如果收到三個(gè)重復(fù)的ACK報(bào)文,調(diào)整慢啟動門限等于估計(jì)帶寬和最小往返時(shí)間的乘積與TCP報(bào)文段大小的比值,并且,如果當(dāng)前擁塞窗口大于慢啟動門限值,則令擁塞窗口等于慢啟動門限;如果重傳計(jì)時(shí)器超時(shí),則令擁塞窗口等于1,令慢啟動門限等于估計(jì)帶寬和最小往返時(shí)間的乘積與TCP報(bào)文段大小的比值,且若慢啟動門限小于2,則令慢啟動門限等于2。
全文摘要
本發(fā)明涉及一種通信網(wǎng)絡(luò)中調(diào)整擁塞窗口的方法。該方法是通過計(jì)算交換節(jié)點(diǎn)的緩存隊(duì)列的長度,然后,根據(jù)緩存隊(duì)列的長度確定網(wǎng)絡(luò)中產(chǎn)生分組丟失的原因,并針對不同的原因采用不同的控制策略對交換節(jié)點(diǎn)的擁塞窗口和啟動門限值進(jìn)行相應(yīng)的調(diào)整。本發(fā)明不僅可以保留了TCP Reno在處理網(wǎng)絡(luò)擁塞情況時(shí)的上述優(yōu)點(diǎn),同時(shí)對于因鏈路特性引起的分組丟失,還實(shí)現(xiàn)了利用帶寬估計(jì)設(shè)定合適的門限和擁塞控制窗口,使網(wǎng)絡(luò)帶寬得到有效的利用,提高系統(tǒng)的吞吐量。此外,本發(fā)明還計(jì)算交換節(jié)點(diǎn)處的緩存隊(duì)列長度,并通過隊(duì)列長判斷網(wǎng)絡(luò)擁塞狀況,以便于在及時(shí)處理分組丟失的同時(shí)降低排隊(duì)等待時(shí)間。
文檔編號H04L12/56GK1556629SQ20041000014
公開日2004年12月22日 申請日期2004年1月6日 優(yōu)先權(quán)日2004年1月6日
發(fā)明者姚凌, 吳甜, 紀(jì)紅, 郝建軍, 樂光新, 尹長川, 劉丹譜, 羅濤, 李劍鋒, 姚 凌 申請人:北京郵電大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
大关县| 贵溪市| 贞丰县| 苍梧县| 富锦市| 甘谷县| 平原县| 望城县| 秦皇岛市| 长泰县| 中牟县| 孝感市| 靖州| 崇州市| 安泽县| 阜新| 新化县| 澄迈县| 抚顺市| 平乡县| 海盐县| 邯郸县| 保山市| 那曲县| 济南市| 林周县| 饶平县| 宝山区| 新河县| 卓尼县| 嵩明县| 哈巴河县| 正蓝旗| 溧阳市| 来安县| 富锦市| 景洪市| 泰安市| 延长县| 班戈县| 松滋市|