日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

TCP協(xié)議的擁塞控制策略及改進( 三 )


圖2(a) 圖2(b)
擁塞雖然是由于網(wǎng)絡資源的稀缺引起的,但單純增加資源并不能避免擁塞的發(fā)生 。例如增加緩存空間到一定程度時,只會加重擁塞,而不是減輕擁塞,這是因為當數(shù)據(jù)包經(jīng)過長時間排隊完成轉(zhuǎn)發(fā)時,它們很可能早已超時,從而引起源端超時重發(fā),而這些數(shù)據(jù)包還會繼續(xù)傳輸?shù)较乱宦酚善?,從而浪費網(wǎng)絡資源,加重網(wǎng)絡擁塞 。事實上,緩存空間不足導致的丟包更多的是擁塞的“癥狀”而非原因 。另外,增加鏈路帶寬及提高處理能力也不能解決擁塞問題,例如,圖2(a)中,四個節(jié)點之間的鏈路帶寬都是19.2kbps,傳輸某個文件需要用時5分鐘;當?shù)谝粋€節(jié)點和第二個節(jié)點之間的鏈路帶寬提高到1Mbps時(如圖2(b)所示),傳輸完該文件所需時間反而大大增加到了7個小時!這是因為在路由器R1中,數(shù)據(jù)包的到達速率遠遠大于轉(zhuǎn)發(fā)的速率,從而導致大量數(shù)據(jù)包被丟棄,源端的發(fā)送速度被抑止,從而使得傳輸時間大大增加 。即使所有鏈路具有同樣大的帶寬也不能解決擁塞問題,例如圖3中,
所有鏈路帶寬都是1Gbps,假如A和B同時向C以1Gbps的速率發(fā)送數(shù)據(jù),則路由器R的輸入速率為2Gbps,而輸出速率只能為1Gbps,從而產(chǎn)生擁塞 。
單純地增加網(wǎng)絡資源之所以不能解決擁塞問題,是因為擁塞本身是一個動態(tài)問題,它不可能只靠靜態(tài)的方案來解決,而需要協(xié)議能夠在網(wǎng)絡出現(xiàn)擁塞時保護網(wǎng)絡的正常運行 。目前對互聯(lián)網(wǎng)進行的擁塞控制主要是依靠在源端執(zhí)行的基于窗口的TCP擁塞控制機制 。網(wǎng)絡本身對擁塞控制所起的作用較小,但近幾年這方面的研究已經(jīng)成了一個新的熱點 。
3. TCP擁塞控制及其改進
3.1 TCP擁塞控制機制介紹
基于源端的擁塞控制策略中,使用最為廣泛的是TCP協(xié)議中的擁塞控制策略,TCP協(xié)議是目前互聯(lián)網(wǎng)中使用最為廣泛的傳輸協(xié)議 。根據(jù)MCI的統(tǒng)計,互聯(lián)網(wǎng)上總字節(jié)數(shù)的95%及總數(shù)據(jù)包數(shù)的90%使用TCP協(xié)議傳輸 。
早期的TCP協(xié)議只有基于窗口的流控制(flow control)機制而沒有擁塞控制機制,因而易導致網(wǎng)絡擁塞 。1988年Jacobson針對TCP在網(wǎng)絡擁塞控制方面的不足,提出了“慢啟動”(Slow Start)和“擁塞避免”(Congestion Avoidance)算法 。1990年出現(xiàn)的TCP Reno版本增加了“快速重傳 ”(Fast Retransmit)、“快速恢復”(Fast Recovery)算法,避免了網(wǎng)絡擁塞不嚴重時采用“慢啟動”算法而造成過度減小發(fā)送窗口尺寸的現(xiàn)象,這樣TCP的擁塞控制就主要由這4個核心算法組成 。
TCP協(xié)議的目的是為上層應用提供可靠的服務,其主要特征在于:

確保各流享用帶寬的公平性 。
動態(tài)發(fā)現(xiàn)當前可利用的帶寬 。
擁塞避免及控制機制以避免擁塞崩潰(congestion collapse)的發(fā)生 。
標準版本的TCP使用基于窗口的的和式增加積式減?。ˋdditive Increase Multiplicative Decrease,AIMD)方式控制發(fā)送速率,以保證穩(wěn)定性及帶寬享用的公平性 。
錯誤控制機制是一個可靠傳輸協(xié)議的要害部分 。它對協(xié)議的性能有很大的影響,包括吞吐量、能量消耗及可靠性 。錯誤控制通常包括錯誤檢測和錯誤恢復兩部分 。為了保證數(shù)據(jù)傳輸?shù)目煽啃?,TCP要求接受端在正確接收到數(shù)據(jù)段(data segment)后向發(fā)送端發(fā)送一個確認包,確認包中包含了期望接收到的下一個數(shù)據(jù)段的序號 。TCP發(fā)送端通過監(jiān)測確認包的序號來檢測是否發(fā)生了錯誤 。假如發(fā)生超時或者發(fā)送端收到一定數(shù)量(通常是3個)重復的確認包,則認為傳輸過程中發(fā)生了錯誤,數(shù)據(jù)段被丟棄 。由于有線網(wǎng)絡的位出錯率很低(例如光纖的BER通常只有10-12[22]),因此TCP假設丟包是由于網(wǎng)絡擁塞引起的 。在錯誤恢復處理過程中,TCP重傳丟棄的數(shù)據(jù)段、減小發(fā)送端窗口大小并且在超時情況下重置超時時鐘 。

推薦閱讀