一種基于信譽的鏈路擁塞控制方法
【專利摘要】一種基于信譽的鏈路擁塞控制方法,在鏈路的每一跳間將擁塞控制和信譽流控相融合,通過接收方信譽值調(diào)節(jié)發(fā)送方發(fā)送速率,以避免鏈路的擁塞,包括如下步驟:發(fā)送方初始化自身維護的初始信息,所述初始信息包括發(fā)送計數(shù)、接收方信譽值和當(dāng)前發(fā)送窗口大小;計算并維護發(fā)送閾值,根據(jù)接收方的可接收緩存數(shù)量確定一發(fā)送閾值,并以該發(fā)送閾值作為發(fā)送方調(diào)節(jié)發(fā)送速率的依據(jù);根據(jù)該發(fā)送閾值調(diào)節(jié)發(fā)送方發(fā)送速率,根據(jù)所述發(fā)送閾值,自動調(diào)節(jié)該發(fā)送窗口大小,避免接收方緩存溢出產(chǎn)生丟包。
【專利說明】一種基于信譽的鏈路擁塞控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)交換機數(shù)據(jù)傳輸領(lǐng)域,特別是一種用于網(wǎng)絡(luò)交換機的基于信譽的鏈路擁塞控制方法。
【背景技術(shù)】
[0002]現(xiàn)在的網(wǎng)絡(luò)中,大多數(shù)的數(shù)據(jù)進行傳輸要盡量避免擁塞情況的發(fā)生,來保證數(shù)據(jù)的傳輸效率。但是,為了降低硬件成本和數(shù)據(jù)的緩沖延遲,大多數(shù)的交換機所配置的緩存數(shù)量有限。所以當(dāng)網(wǎng)絡(luò)中出現(xiàn)突發(fā)流量時,很容易發(fā)生擁塞,并且有可能發(fā)生數(shù)據(jù)包被丟棄?,F(xiàn)有的研究表明,突發(fā)流量是造成網(wǎng)絡(luò)邊緣層和匯聚層數(shù)據(jù)丟包的主要原因。所以要盡可能的避免網(wǎng)絡(luò)中突發(fā)流量造成的丟包對網(wǎng)絡(luò)的影響。
[0003]在網(wǎng)絡(luò)的擁塞控制方法上,現(xiàn)有技術(shù)主要有以下幾種實現(xiàn)思路:
[0004](I)網(wǎng)絡(luò)速率的控制,主要是通過ECN、QCN等方法,通過標(biāo)記反饋的方法,控制發(fā)送方的發(fā)送速率來減小網(wǎng)絡(luò)的擁塞情況;
[0005](2)主動隊列管理(AQM),AQM通常根據(jù)當(dāng)前的隊列長度等擁塞信息,來控制中間節(jié)點隊列,進而反饋到發(fā)送端,主動進行擁塞控制。比如RED和mult1-layer AQM2等;
[0006](3)路由算法,通過一定的路由算法來避免或者解決網(wǎng)絡(luò)的擁塞問題,比如0SPF、ECMP、Multinomial Logit Based (MLB) routing 以及相關(guān)擴展算法等;
[0007](4)流調(diào)度算法,通過采用流調(diào)度算法,對流進行實時調(diào)度,進而防止網(wǎng)絡(luò)中擁塞情況的發(fā)生。比如Hedera (NSD1-2010)以及保證QoS的視頻流調(diào)度(ICIP-2011)。
[0008]其中,現(xiàn)有的控制發(fā)送速率的方法主要針對TCP流。另外減小發(fā)送窗口的方法也會降低應(yīng)用程序的有效吞吐率。現(xiàn)有的AQM方法通過研究不同的丟包策略,減小排隊時間。通過利用當(dāng)前隊列長度等擁塞信息來控制中間節(jié)點隊列。但是由于網(wǎng)絡(luò)存在傳輸時間滯后,采樣所得的隊列長度等擁塞信息是反映一段時間之前的網(wǎng)絡(luò)狀況。當(dāng)擁塞信息被反饋到發(fā)送端時,又增加了額外的延遲時間,所以AQM存在相對滯后于實際網(wǎng)絡(luò)狀況的缺陷。另外AQM還存在參數(shù)設(shè)置敏感的缺陷,在不同的網(wǎng)絡(luò)狀況很難保持其性能。現(xiàn)有的路由方法大多依賴局部擁塞信息,或者需要專用的傳輸系統(tǒng)傳輸局部或全局的擁塞信息(例如使用擁塞樹或成本樹)。這樣會造成“信息不準(zhǔn)”(局部),以及“信息過舊”或開銷大(全局)等問題?,F(xiàn)有的流調(diào)度算法是基于poll的方法定期(例如Hedera每5秒鐘去取一次)獲得網(wǎng)絡(luò)狀態(tài)信息,因此不能及時發(fā)現(xiàn)網(wǎng)絡(luò)的擁塞,并且這種方法的開銷很大。
[0009]例如,申請?zhí)枮椤?01110036866.4”,名稱為“解決小包線速的credit調(diào)度方法、調(diào)度裝置及旁路器”的中國發(fā)明專利公開了一種解決小包線速的credit調(diào)度方法,該方法包括:接收隊列號和進入所述隊列號對應(yīng)隊列的數(shù)據(jù)包的包長值;將該包長值增加到該隊列號對應(yīng)的隊列的長度值上,獲得更新后的隊列長度值;判斷所述隊列更新后的隊列長度值與所述隊列當(dāng)前的令牌credit的差值是否大于零,如是,申請調(diào)度,否則不申請調(diào)度;當(dāng)不申請調(diào)度時為所述隊列分配不超過所述更新后的隊列長度值的credit ;使所述更新后的隊列長度值和所述當(dāng)前的credit均減去已為所述隊列分配的credit。本發(fā)明避免了調(diào)度器為具有剩余credit的隊列給予不必要的調(diào)度而造成的調(diào)度器空轉(zhuǎn)的情形,有利于在小包場景中使出口達到線速;并節(jié)省credit調(diào)度器的帶寬資源,使得調(diào)度更加合理和高效。但該方法仍然無法解決現(xiàn)有技術(shù)中存在的上述問題。
【發(fā)明內(nèi)容】
[0010]本發(fā)明所要解決的技術(shù)問題是提供一種基于信譽的鏈路擁塞控制方法,可克服現(xiàn)有技術(shù)的端到端方法在擁塞感知以及擁塞控制上存在的滯后、開銷大等問題,以解決發(fā)送方突發(fā)流量問題造成的擁塞。
[0011]為了實現(xiàn)上述目的,本發(fā)明提供了一種基于信譽的鏈路擁塞控制方法,其中,在鏈路的每一跳間將擁塞控制和信譽流控相融合,通過接收方信譽值調(diào)節(jié)發(fā)送方發(fā)送速率,以避免鏈路的擁塞,包括如下步驟:
[0012]S100、發(fā)送方初始化自身維護的初始信息,所述初始信息包括發(fā)送計數(shù)、接收方信譽值和當(dāng)前發(fā)送窗口大??;
[0013]S200、計算并維護發(fā)送閾值,根據(jù)接收方的可接收緩存數(shù)量確定一發(fā)送閾值,并以該發(fā)送閾值作為發(fā)送方調(diào)節(jié)發(fā)送速率的依據(jù);
[0014]S300、根據(jù)該發(fā)送閾值調(diào)節(jié)發(fā)送方發(fā)送速率,根據(jù)所述發(fā)送閾值,自動調(diào)節(jié)該發(fā)送窗口大小,避免接收方緩存溢出產(chǎn)生丟包。
[0015]上述的鏈路擁塞控制方法,其中,所述步驟S200包括:
[0016]S201、發(fā)送方維護發(fā)送窗口、發(fā)送計數(shù)、發(fā)送閾值和接收方可接收緩存數(shù)量;
[0017]S202、根據(jù)接收方緩存數(shù)量動態(tài)計算所述發(fā)送閾值。
[0018]上述的鏈路擁塞控制方法,其中,所述步驟S201包括:發(fā)送方每發(fā)送一個數(shù)據(jù)包時,將發(fā)送計數(shù)的計數(shù)值加1,每收到一個接收方的確認,將該發(fā)送計數(shù)的計數(shù)值減I。
[0019]上述的鏈路擁塞控制方法,其中,所述步驟S300包括:
[0020]S301、當(dāng)發(fā)送方發(fā)送但未確認數(shù)據(jù)包個數(shù)超過該發(fā)送閾值時,將發(fā)送窗口減小,降低發(fā)送速率;
[0021]S302、當(dāng)發(fā)送方收到接收方確認數(shù)據(jù)包數(shù)量超過該發(fā)送閾值時,并且發(fā)送窗口小于接收窗口時,將發(fā)送窗口增大,并且發(fā)送窗口移動。
[0022]上述的鏈路擁塞控制方法,其中,發(fā)送窗口每次減小一半,發(fā)送窗口每次增大I。
[0023]上述的鏈路擁塞控制方法,其中,步驟302進一步包括:
[0024]S3021、發(fā)送方等待確認數(shù)據(jù)包到來;
[0025]S3022、當(dāng)收到一個數(shù)據(jù)包時,檢測其是否為確認數(shù)據(jù)包;
[0026]S3023、如果為是,將發(fā)送計數(shù)減1,并且發(fā)送窗口滑動;
[0027]S3024、如果為否,則返回等待。
[0028]上述的鏈路擁塞控制方法,其中,所述步驟S3023之后,還包括:
[0029]S30231、發(fā)送窗口滑動后,比較該發(fā)送窗口與接收窗口 ;
[0030]S30232、如果該發(fā)送窗口小于該接收窗口,那么將發(fā)送窗口增大;
[0031]S30233、如果該發(fā)送窗口大于或等于該接收窗口,則執(zhí)行步驟S3021。
[0032]上述的鏈路擁塞控制方法,其中,所述步驟SlOO包括:
[0033]S101、發(fā)送方發(fā)送計數(shù)初始化為O ;[0034]S102、檢測發(fā)送方維護的接收方信譽值;
[0035]S103、如果該信譽值大于0,則檢測待發(fā)送的數(shù)據(jù)包是否在發(fā)送窗口中;
[0036]S104、如果待發(fā)送的數(shù)據(jù)包在發(fā)送窗口中,則發(fā)送此數(shù)據(jù)包并且將發(fā)送計數(shù)增加I ;
[0037]S105、如果待發(fā)送的數(shù)據(jù)包不在發(fā)送窗口中,則返回等待。
[0038]上述的鏈路擁塞控制方法,其中,所述步驟S301包括:
[0039]S3011、當(dāng)發(fā)送計數(shù)增加后,檢測其是否超過了所述發(fā)送閾值;
[0040]S3012、如果發(fā)送方的發(fā)送計數(shù)大于該發(fā)送閾值時,則將發(fā)送窗口減??;
[0041]S3013、如果發(fā)送方的發(fā)送計數(shù)沒有超過所述發(fā)送閾值,則返回繼續(xù)查詢等待。
[0042]上述的鏈路擁塞控制方法,其中,所述發(fā)送閾值為N*Credit,其中,0〈N〈1,Credit為接收方可用緩存數(shù)。
[0043]本發(fā)明的技術(shù)效果在于:
[0044]本發(fā)明的方法只需在相鄰兩跳的發(fā)送端進行發(fā)送速率的控制,就可以實現(xiàn)鏈路間的擁塞避免,尤其是對突發(fā)流量造成的鏈路丟包的避免。硬件實現(xiàn)簡單,同時較以往的擁塞方法相比,吞吐和延遲會有所改善。
[0045]以下結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定?!緦@綀D】
【附圖說明】
[0046]圖1為本發(fā)明一實施例的方法流程圖;
[0047]圖2為本發(fā)明一實施例的發(fā)送方發(fā)送數(shù)據(jù)流程圖;
[0048]圖3為本發(fā)明一實施例的發(fā)送方接收確認流程圖。
[0049]其中,附圖標(biāo)記
[0050]S100-S300、S101-S104、S3011、S3012、S3021-S30232 步驟【具體實施方式】
[0051]下面結(jié)合附圖對本發(fā)明的結(jié)構(gòu)原理和工作原理作具體的描述:
[0052]參見圖1,圖1為本發(fā)明一實施例的方法流程圖。本發(fā)明的基于信譽的鏈路擁塞控制方法,在鏈路的每一跳間將擁塞控制和信譽流控相融合,通過接收方信譽值調(diào)節(jié)發(fā)送方發(fā)送速率,以避免鏈路的擁塞,具體可包括如下步驟:
[0053]步驟S100、發(fā)送方初始化自身維護的初始信息,所述初始信息包括發(fā)送計數(shù)、接收方信譽值和當(dāng)前發(fā)送窗口大小;
[0054]步驟S200、計算并維護發(fā)送閾值,根據(jù)接收方的可接收緩存數(shù)量確定一發(fā)送閾值,并以該發(fā)送閾值作為發(fā)送方調(diào)節(jié)發(fā)送速率的依據(jù);
[0055]步驟S300、根據(jù)該發(fā)送閾值調(diào)節(jié)發(fā)送方發(fā)送速率,根據(jù)所述發(fā)送閾值,自動調(diào)節(jié)該發(fā)送窗口大小,避免接收方緩存溢出產(chǎn)生丟包。
[0056]參見圖2,圖2為本發(fā)明一實施例的發(fā)送方發(fā)送數(shù)據(jù)流程圖。其中,所述步驟SlOO可包括:
[0057]S101、發(fā)送方發(fā)送計數(shù)初始化為O ;
[0058]S102、檢測發(fā)送方維護的接收方信譽值;[0059]S103、如果該信譽值大于0,則檢測待發(fā)送的數(shù)據(jù)包是否在發(fā)送窗口中;
[0060]S104、如果待發(fā)送的數(shù)據(jù)包在發(fā)送窗口中,則發(fā)送此數(shù)據(jù)包并且將發(fā)送計數(shù)增加I;
[0061]S105、如果待發(fā)送的數(shù)據(jù)包不在發(fā)送窗口中,則返回等待。
[0062]具體說,交換機上電后,發(fā)送方發(fā)送計數(shù)初始化為0,此時檢測其維護的接收方信譽值,如果信譽大于O則檢測待發(fā)送的數(shù)據(jù)包是否在發(fā)送窗口中,如果在的話則發(fā)送此數(shù)據(jù)包并且將發(fā)送計數(shù)增加1,如果不在則返回等待。當(dāng)發(fā)送計數(shù)增加后,檢測其是否超過了發(fā)送閾值,如果超過了閾值,那么將發(fā)送窗口減小(這里實現(xiàn)為發(fā)送窗口減半)。否則的話返回,繼續(xù)查詢等待。
[0063]其中,所述步驟S200可具體包括:
[0064]步驟S201、發(fā)送方維護發(fā)送窗口、發(fā)送計數(shù)、發(fā)送閾值和接收方可接收緩存數(shù)量;
[0065]步驟S202、根據(jù)接收方緩存數(shù)量動態(tài)計算所述發(fā)送閾值。
[0066]其中,所述步驟S201可包括:發(fā)送方每發(fā)送一個數(shù)據(jù)包時,將發(fā)送計數(shù)的計數(shù)值加1,每收到一個接收方的確認,將該發(fā)送計數(shù)的計數(shù)值減I。
[0067]其中,所述步驟S300可包括:
[0068]步驟S301、當(dāng)發(fā)送方發(fā)送但未確認數(shù)據(jù)包個數(shù)超過該發(fā)送閾值時,將發(fā)送窗口減小,降低發(fā)送速率;
[0069]步驟S302、當(dāng)發(fā)送方收到接收方確認數(shù)據(jù)包數(shù)量超過該發(fā)送閾值時,并且發(fā)送窗口小于接收窗口時,將發(fā)送窗口增大,并且發(fā)送窗口移動。
[0070]參見圖3,圖3為本發(fā)明一實施例的發(fā)送方接收確認流程圖。其中,步驟302可進一步包括:
[0071]步驟S3021、發(fā)送方等待確認數(shù)據(jù)包到來;
[0072]步驟S3022、當(dāng)收到一個數(shù)據(jù)包時,檢測其是否為確認數(shù)據(jù)包;
[0073]步驟S3023、如果為是,將發(fā)送計數(shù)減1,并且發(fā)送窗口滑動;
[0074]步驟S3024、如果為否,則返回步驟S3021。
[0075]其中,所述步驟S3023之后,還可包括:
[0076]S30231、發(fā)送窗口滑動后,比較該發(fā)送窗口與接收窗口 ;
[0077]S30232、如果該發(fā)送窗口小于該接收窗口,那么將發(fā)送窗口增大;
[0078]S30233、如果該發(fā)送窗口大于或等于該接收窗口,則執(zhí)行步驟S3021。
[0079]其中,所述步驟S301可包括:
[0080]步驟S3011、當(dāng)發(fā)送計數(shù)增加后,檢測其是否超過了所述發(fā)送閾值;
[0081]步驟S3012、如果發(fā)送方的發(fā)送計數(shù)大于該發(fā)送閾值時,則將發(fā)送窗口減?。?br>
[0082]步驟S3013、如果發(fā)送方的發(fā)送計數(shù)沒有超過所述發(fā)送閾值,則返回繼續(xù)查詢等待。
[0083]本實施例中,所述發(fā)送閾值優(yōu)選為NACredit,其中,0〈N〈1,Credit為接收方可用緩存數(shù)。
[0084]即在該過程中,首先是發(fā)送方等待確認數(shù)據(jù)包到來,當(dāng)收到一個數(shù)據(jù)包時,檢測其是否為確認數(shù)據(jù)包(ACK),如果是的話,將發(fā)送計數(shù)減1,并且發(fā)送窗口滑動,否則的話返回等待。窗口滑動后比較其發(fā)送窗口與接收窗口,如果發(fā)送窗口小于接收窗口,那么將發(fā)送窗口增大(這里實現(xiàn)為加1),否則的話返回等待。
[0085]假設(shè)發(fā)送方有8個待發(fā)送數(shù)據(jù)包,編號為1-8,接收方緩存大小為8。
[0086]步驟S100、發(fā)送方初始化自身維護的初始信息
[0087]首先發(fā)送方初始化自身維護的信息,包括發(fā)送計數(shù)C=0,接收方可用緩存大小Credit=8,以及當(dāng)前發(fā)送窗口大小Win=5。之后,發(fā)送方所需維護數(shù)據(jù)包括:發(fā)送窗口大小Win ;發(fā)送計數(shù)C,每發(fā)送一個數(shù)據(jù)包,發(fā)送計數(shù)C的值加I ;接收方可用緩存數(shù)Credit,這個值根據(jù)流控策略自動更新;發(fā)送閾值Thresh,這個值等于N*Credit (0〈N〈1)。
[0088]發(fā)送方每發(fā)送一個數(shù)據(jù)包時,將發(fā)送計數(shù)的值加1,每收到一個接收方的確認,將計數(shù)值減I。假設(shè)發(fā)送方發(fā)送了編號為I的數(shù)據(jù)包,更新維護信息c=l, credit=7, Win=5。繼續(xù)發(fā)送編號為2的數(shù)據(jù)包,這時發(fā)送方維護信息更新為C=2,Credit=6,Win=5。此時收到了來自接收方對數(shù)據(jù)包I的確認ACK,發(fā)送方維護信息更新為C=I, credit=6, Win=5。并且發(fā)送窗口移動。
[0089]步驟S200、計算并維護發(fā)送閾值
[0090]步驟S300、根據(jù)該發(fā)送閾值調(diào)節(jié)發(fā)送方發(fā)送速率
[0091]S301、減小發(fā)送窗口
[0092]當(dāng)發(fā)送方未確認數(shù)據(jù)包數(shù)量超過閾值時,將發(fā)送窗口減小,降低發(fā)送速率。假設(shè)發(fā)送方在發(fā)送數(shù)據(jù)包3之前,沒有收到任何確認ACK,則其維護的信息為C=2,credit=6,Win=5。此時,發(fā)送數(shù)據(jù)包3,C更新為3,credit更新為5,假設(shè)發(fā)送閾值的設(shè)置中N=0.5,那么發(fā)送閾值為5*0.5=2.5,2.5〈3,也就是當(dāng)前的發(fā)送計數(shù)大于設(shè)定的閾值,那么將發(fā)送方的發(fā)送窗口大小減半,變?yōu)?。此時發(fā)送方維護數(shù)據(jù)更新為C=3, credit=5, Win=2。
[0093]S302、增大發(fā)送窗口
[0094]當(dāng)發(fā)送方收到接收方確認,并且發(fā)送窗口小于接收窗口時,將發(fā)送窗口增大。假設(shè)此時發(fā)送方維護的信息為C=2, credit=4, Win=2,數(shù)據(jù)包1、2已經(jīng)收到確認ACK。這時當(dāng)發(fā)送方收到數(shù)據(jù)包3的確認ACK時,由于發(fā)送窗口小于接收窗口,因此發(fā)送窗口增大I,并且發(fā)送窗口移動。此時發(fā)送方維護數(shù)據(jù)更新為c=l, Credit=4, Win=3。
[0095]本發(fā)明可以根據(jù)接收方的可接收緩存數(shù)量確定發(fā)送閾值,以此作為發(fā)送方調(diào)節(jié)發(fā)送速率的依據(jù);并且根據(jù)閾值調(diào)節(jié)發(fā)送方發(fā)送速率,根據(jù)確定的發(fā)送閾值,自動調(diào)節(jié)發(fā)送方發(fā)送窗口大小,避免接收方緩存溢出產(chǎn)生丟包。即在鏈路的每一跳間將擁塞控制和信譽流控相融合,通過接收方信譽值調(diào)節(jié)發(fā)送方發(fā)送速率,實現(xiàn)鏈路的擁塞避免。這種根據(jù)下一跳可用緩存數(shù)量來設(shè)定發(fā)送方發(fā)送閾值的方法。啟動信譽流控,發(fā)送方使用信譽流控獲知接收方可用緩存大小(信譽值)。根據(jù)接收方信譽,發(fā)送方設(shè)定發(fā)送閾值,來指導(dǎo)發(fā)送方的發(fā)送速率。發(fā)送閾值的具體設(shè)定方法為N*接收方信譽(0〈N〈1),N值的確定需要根據(jù)具體的實驗數(shù)據(jù)得到。發(fā)送方維護其發(fā)送數(shù)據(jù)包計數(shù),發(fā)送方每發(fā)送一個數(shù)據(jù)包,計數(shù)加I,發(fā)送方每接收到一個確認包,計數(shù)減I。當(dāng)發(fā)送計數(shù)超過設(shè)定的閾值時,也就是發(fā)送方發(fā)送但未確認數(shù)據(jù)包個數(shù)超過閾值時,將發(fā)送窗口減小。當(dāng)發(fā)送方收到接收方確認,并且它的發(fā)送窗口小于接收方的接受窗口時,將發(fā)送窗口增大。發(fā)送窗口具體的增大與減小幅度可以自定義。
[0096]當(dāng)然,本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。
【權(quán)利要求】
1.一種基于信譽的鏈路擁塞控制方法,其特征在于,在鏈路的每一跳間將擁塞控制和信譽流控相融合,通過接收方信譽值調(diào)節(jié)發(fā)送方發(fā)送速率,以避免鏈路的擁塞,包括如下步驟: 5100、發(fā)送方初始化自身維護的初始信息,所述初始信息包括發(fā)送計數(shù)、接收方信譽值和當(dāng)前發(fā)送窗口大??; 5200、計算并維護發(fā)送閾值,根據(jù)接收方的可接收緩存數(shù)量確定一發(fā)送閾值,并以該發(fā)送閾值作為發(fā)送方調(diào)節(jié)發(fā)送速率的依據(jù); 5300、根據(jù)該發(fā)送閾值調(diào)節(jié)發(fā)送方發(fā)送速率,根據(jù)所述發(fā)送閾值,自動調(diào)節(jié)該發(fā)送窗口大小,避免接收方緩存溢出產(chǎn)生丟包。
2.如權(quán)利要求1所述的鏈路擁塞控制方法,其特征在于,所述步驟S200包括: 5201、發(fā)送方維護發(fā)送窗口、發(fā)送計數(shù)、發(fā)送閾值和接收方可接收緩存數(shù)量; 5202、根據(jù)接收方緩存數(shù)量動態(tài)計算所述發(fā)送閾值。
3.如權(quán)利要求2所述的鏈路擁塞控制方法,其特征在于,所述步驟S202包括:發(fā)送方每發(fā)送一個數(shù)據(jù)包時,將發(fā)送計數(shù)的計數(shù)值加1,每收到一個接收方的確認,將該發(fā)送計數(shù)的計數(shù)值減I。
4.如權(quán)利要求1、2或3所述的鏈路擁塞控制方法,其特征在于,所述步驟S300包括: 5301、當(dāng)發(fā)送方發(fā)送但未確認數(shù)據(jù)包個數(shù)超過該發(fā)送閾值時,將發(fā)送窗口減小,降低發(fā)送速率; 5302、當(dāng)發(fā)送方收到接收方確認數(shù)據(jù)包數(shù)量超過該發(fā)送閾值時,并且發(fā)送窗口小于接收窗口時,將發(fā)送窗口增大,并且發(fā)送窗口移動。
5.如權(quán)利要求4所述的鏈路擁塞控制方法,其特征在于,發(fā)送窗口每次減小一半,發(fā)送窗口每次增大I。
6.如權(quán)利要求4所述的鏈路擁塞控制方法,其特征在于,步驟302進一步包括: 53021、發(fā)送方等待確認數(shù)據(jù)包到來; 53022、當(dāng)收到一個數(shù)據(jù)包時,檢測其是否為確認數(shù)據(jù)包; 53023、如果為是,將發(fā)送計數(shù)減1,并且發(fā)送窗口滑動; 53024、如果為否,則返回等待。
7.如權(quán)利要求6所述的鏈路擁塞控制方法,其特征在于,所述步驟S3023之后,還包括: 530231、發(fā)送窗口滑動后,比較該發(fā)送窗口與接收窗口; 530232、如果該發(fā)送窗口小于該接收窗口,那么將發(fā)送窗口增大; 530233、如果該發(fā)送窗口大于或等于該接收窗口,則執(zhí)行步驟S3024。
8.如權(quán)利要求4所述的鏈路擁塞控制方法,其特征在于,所述步驟SlOO包括: 5101、發(fā)送方發(fā)送計數(shù)初始化為O; 5102、檢測發(fā)送方維護的接收方信譽值; 5103、如果該信譽值大于0,則檢測待發(fā)送的數(shù)據(jù)包是否在發(fā)送窗口中; 5104、如果待發(fā)送的數(shù)據(jù)包在發(fā)送窗口中,則發(fā)送此數(shù)據(jù)包并且將發(fā)送計數(shù)增加I; 5105、如果待發(fā)送的數(shù)據(jù)包不在發(fā)送窗口中,則返回等待。
9.如權(quán)利要求4所述的鏈路擁塞控制方法,其特征在于,所述步驟S301包括:S3011、當(dāng)發(fā)送計數(shù)增加后,檢測其是否超過了所述發(fā)送閾值; S3012、如果發(fā)送方的發(fā)送計數(shù)大于該發(fā)送閾值時,則將發(fā)送窗口減?。?S3013、如果發(fā)送方的發(fā)送計數(shù)沒有超過所述發(fā)送閾值,則返回繼續(xù)查詢等待。
10.如權(quán)利要求4所述的鏈路擁塞控制方法,其特征在于,所述發(fā)送閾值為N*Credit,其中,0〈N〈1,Credit為接收方可用緩存數(shù)。
【文檔編號】H04L12/801GK103647722SQ201310585237
【公開日】2014年3月19日 申請日期:2013年11月19日 優(yōu)先權(quán)日:2013年11月19日
【發(fā)明者】江國龍, 付斌章, 陳明宇, 張立新 申請人:中國科學(xué)院計算技術(shù)研究所