擁塞控制機制與網絡傳輸服務質量計算機畢業(yè)論文
《擁塞控制機制與網絡傳輸服務質量計算機畢業(yè)論文》由會員分享,可在線閱讀,更多相關《擁塞控制機制與網絡傳輸服務質量計算機畢業(yè)論文(37頁珍藏版)》請在裝配圖網上搜索。
1、 課題來源: 指導教師給定 課題研究的目的和意義: 以TCP/IP協(xié)議為基礎的Internet自從20世紀90年代以來,其網絡規(guī)模、用戶數量及業(yè)務量都呈現爆炸式的增長,新型網絡應用也不斷涌現,網絡的參數(如激活的連接數、回路往返時間)動態(tài)變化,這些使得網絡擁塞的狀況愈加嚴重和復雜。擁塞容易造成傳輸時延和吞吐量等服務質量(QoS)性能指標下降,嚴重影響帶寬、緩存等網絡資源的利用率。因此,擁塞控制一直是網絡研究領域的熱點問題。 網絡擁塞控制的目的不是要完全避免擁塞的發(fā)生,而是通過擁塞控制,提高網絡的性能及數據處理能力,保障網絡的穩(wěn)定和持續(xù)運行,并且保證數據傳輸的公平性。我們知道,
2、網絡擁塞的根本原因在于端系統(tǒng)發(fā)出的數據超出了網絡的處理能力,而擁塞控制算法的基本思想則是解決這一問題,通常的方法就是TCP擁塞控制算法。以TCP為代表的端到端擁塞控制機制對互聯(lián)網的穩(wěn)定運行起了很大的作用。但是隨著互聯(lián)網規(guī)模的增長,互連網上的用戶和應用都在快速增長,它在很多方面己經不能滿足復雜網絡中各種應用的需求,擁塞已經成為一個十分重要的問題。 因此分析網絡擁塞控制協(xié)議,尋找最優(yōu)算法有著深遠的目的和意義。 國內外同類課題研究現狀及發(fā)展趨勢: 隨著計算機和通信技術的發(fā)展,Internet網絡在過去十幾年中經歷了爆炸式的增長。但是,信息傳送量的逐漸增大和網絡組成的日益復雜使得網絡負載超過了網
3、絡的處理能力,越來越嚴重的網絡擁塞問題隨之而來?;ヂ?lián)網采用的是無連接的端到端數據包交換,提供盡力而為(best effort)的服務。端到端擁塞控制是目前Internet的一個研究熱點。這種機制的最大優(yōu)勢是設計簡單,可擴展性強?;ヂ?lián)網在過去的十幾年中經歷了爆炸式的增長,這已經充分證明了這種設計機制的成功。然而這種優(yōu)勢并不是沒有代價的,隨著互聯(lián)網用戶數量的膨脹,網絡的擁塞問題也越來越嚴重。例如由于隊列溢出,互聯(lián)網路由器會丟棄約10%的數據包。在最初的TCP協(xié)議中只有流控制(flow control)而沒有擁塞控制,接收端利用TCP報頭將接收能力通知發(fā)送端。這樣的控制機制只考慮了接收端的接收能力,
4、而沒有考慮網絡的傳輸能力,導致了網絡崩潰(congestion collapse)的發(fā)生。1986年10月,由于擁塞崩潰的發(fā)生,美國LBL到UC Berkeley的數據吞吐量從32 Kbps跌落到40 bps。據統(tǒng)計,互聯(lián)網上95%的數據流使用的是TCP/IP協(xié)議,因此,互聯(lián)網上主要的互連協(xié)議TCP/IP的擁塞控制(congestion control)機制對控制網絡擁塞具有特別重要的意義。擁塞控制是確?;ヂ?lián)網魯棒性(robustness)的關鍵因素,也是各種管理控制機制和應用(如多媒體通信中QoS控制、區(qū)分服務(differentiated services)的基礎,因此關于互聯(lián)網的擁塞控制
5、問題一直是網絡研究的一個熱點,擁塞控制算法對保證Internet的穩(wěn)定具有十分重要的作用。 課題研究的主要內容和方法,研究過程中的主要問題和解決辦法: 目前擁塞控制的研究一般分為TCP層的擁塞控制和IP層的擁塞控制,TCP層的擁塞控制主要是基于窗口的和式增加積式減少的擁塞控制機制,TCP基于窗口的端到端擁塞控制對于Internet的魯棒性起到了關鍵作用,并且在現實的互聯(lián)網中,擁塞控制的大部分工作都是由TCP來完成的,所以研究TCP層的擁塞控制對于網絡擁塞有相當大的意義。隨著Internet本身的迅速發(fā)展,網絡規(guī)模越來越龐大,結構越來越復雜,僅僅依靠TCP擁塞控制機制來提高網絡服務質量還
6、不夠。網絡必須參與資源的控制工作,因此需要采用路由器端的擁塞控制方法,即IP擁塞控制問題,通常也稱之為隊列管理機制,通過排隊算法決定哪些包可以傳輸,通過丟棄策略決定哪些包被丟棄以此分配緩存。未來的網絡擁塞控制的方向應該是,以TCP層擁塞控制為基礎,結合IP層的隊列管理策略,共同解決網絡擁塞問題。 第一:擁塞控制的基本知識研究。 第二:TCP協(xié)議實現中一般都包含有四個相互關聯(lián)的擁塞控制算法的研究:慢作。因此,僅僅依靠TCP協(xié)議無法控制擁塞,最有效的擁塞檢測和回避是在路由器中實現的。 第三:路由器中采用的擁塞控制算法通過檢測緩沖區(qū)的使用情況及隊列長度 來判斷擁塞,通過丟棄緩沖隊列
7、中的數據包來控制擁塞。 解決辦法:查找資料、請教導師、請教學者 課題研究起止時間和進度安排: 起止時間: 2012年1月22日—2012年5月20日 進度安排: 2012年1月22日—2012年3月1日 確定論文題目,收集資料,寫開題報告。 2012年3月2日—2012年3月31日 收集資料、相關知識,對論文內容進行系統(tǒng)研究。 2012年4月1日—2012年4月15日 實現算法并應用,進行多次修改研究。 2012年4月16日—2012年5月1日 撰寫論文,準備答辯。 課題研究所需主要設備、儀器及藥品: 計算機
8、 外出調研主要單位,訪問學者姓名: 指導教師審查意見: 指導教師 (簽字) 2012年3 月 教研室(研究室)評審意見: ____________教研室(研究室)主任 (簽字)
9、 2012年3 月 系(部)主任審查意見: ____________系(部)主任 (簽字) 2012年3 月 摘要:以TCP/IP協(xié)議為基礎的Internet自從20世紀90年代以來,其網絡規(guī)模、用戶數量及業(yè)務量都呈現爆炸式的增長,新型網絡應用也不斷涌現,網絡的參數(如激活的連接數、回路往返時間)動態(tài)變化,這些使得網絡擁塞的狀況愈加嚴重和復雜。擁塞容易造成傳輸時延和吞吐量等服務質量(QoS)性能指標下降,嚴
10、重影響帶寬、緩存等網絡資源的利用率。因此,擁塞控制一直是網絡研究領域的熱點問題。Internet主要依賴TCP端到端擁塞控制來避免網絡擁塞,以TCP為代表的端到端擁塞控制機制對互聯(lián)網的穩(wěn)定運行起了很大的作用。但是隨著互聯(lián)網規(guī)模的增長,互連網上的用戶和應用都在快速增長,它在很多方面己經不能滿足復雜網絡中各種應用的需求,擁塞已經成為一個十分重要的問題。近年來,在擁塞控制領域開展了大量的研究工作,擁塞控制算法可以分為兩個主要部分:在端系統(tǒng)上使用的源算法和在網絡設備上使用的鏈路算法。在路由器中引入適當的隊列管理機制,可以有效地對擁塞進行監(jiān)測和預防,路由器中的擁塞控制策略己經成為一個研究熱點。 本文首
11、先對擁塞現象的產生進行了說明,分析了擁塞現象產生的根源,總結了源算法和鏈路算法。接著,討論了幾種主要的TCP擁塞控制算法以及一些經典的路由器擁塞控制策略以及對比了這兩種控制策略,并闡述了網絡擁塞控制的部分最新研究方法和成果。通過歸納、總結互聯(lián)網擁塞控制的研究現狀,主要對TCP層的網絡擁塞控制問題進行了分析與研究。然后,在此基礎上,提出了一種改進的擁塞控制算法,通過實驗結果分析,此算法減少了網絡的丟包數和提高網絡的吞吐量,最后,分析了進一步的研究方向。 關鍵詞:擁塞控制;算法;TCP/IP;路由器 目
12、 錄 第一章 引言 1 1.1課題背景 1 1.2網絡中的擁塞現象及原因 1 1.3 網絡擁塞控制算法及存在的問題 2 第二章 擁塞現象及擁塞控制算法研究 4 2.1 擁塞現象 4 2.2 擁塞現象產生的原因 5 2.3 擁塞控制算法的概況 6 2.3.1 Internet的網絡模型 7 2.3.2擁塞控制算法設計的困難 7 2.3.3擁塞控制算法 7 第三章 擁塞控制算法比較 9 3.1 TCP/IP體系結構 9 3.2 TCP層擁塞控制算法 10 3.2.1 TCP Tahoe 11 3.2.2 TCP Reno 12 3.2.3 TCP New Re
13、no 12 3.2.4 TCP Sack 12 3.2.5 TCP Vegas 12 3.3 IP層擁塞控制算法 13 3.3.1 先進先出(FIFO) 13 3.3.2 公平排隊(FQ)和加權公平排隊(WFQ) 13 3.3.3 隨機檢測算法(RED) 14 3.2 兩類算法比較 15 3.5 其他擁塞控制算法 16 3.5.1 基于方程的擁塞控制算法 16 3.5.2 適應性虛擬隊列 16 3.5.3 TCP Westwood 16 第四章 擁塞控制算法改進 18 4.1 各階段算法改進 18 4.1.1慢啟動 18 4.1.2“超時重傳”和“快速重傳” 19
14、 4.2 對目的端點主機的擁塞控制策略的改進 22 4.3 對目的端點主機的擁塞控制策略的改進 23 第五章 結束語 27 參考文獻 28 Abstract 29 第一章 引言 1.1課題背景 隨著計算機和通信技術的發(fā)展,Internet網絡在過去十幾年中經歷了爆炸式的增長。但是,信息傳送量的逐漸增大和網絡組成的日益復雜使得網絡負載超過了網絡的處理能力,越來越嚴重的網絡擁塞問題隨之而來?;ヂ?lián)網采用的是無連接的端到端數據包交換,提供盡力而為(best effort)的服務。端到端擁塞控制是目前Internet的一個研究熱點。這種機制的最大優(yōu)勢是設計簡單
15、,可擴展性強?;ヂ?lián)網在過去的十幾年中經歷了爆炸式的增長,這已經充分證明了這種設計機制的成功。然而這種優(yōu)勢并不是沒有代價的,隨著互聯(lián)網用戶數量的膨脹,網絡的擁塞問題也越來越嚴重。例如由于隊列溢出,互聯(lián)網路由器會丟棄約10%的數據包。在最初的TCP協(xié)議中只有流控制(flow control)而沒有擁塞控制,接收端利用TCP報頭將接收能力通知發(fā)送端。這樣的控制機制只考慮了接收端的接收能力,而沒有考慮網絡的傳輸能力,導致了網絡崩潰(congestion collapse)的發(fā)生。1986年10月,由于擁塞崩潰的發(fā)生,美國LBL到UC Berkeley的數據吞吐量從32Kbps跌落到40bps。據統(tǒng)計,
16、互聯(lián)網上95%的數據流使用的是TCP/IP協(xié)議,因此,互聯(lián)網上主要的互連協(xié)議TCP/IP的擁塞控制(congestion control) 機制對控制網絡擁塞具有特別重要的意義。擁塞控制是確?;ヂ?lián)網魯棒性(robustness)的關鍵因素,也是各種管理控制機制和應用(如多媒體通信中QoS控制、區(qū)分服務的基礎,因此關于互聯(lián)網的擁塞控制問題一直是網絡研究的一個熱點,擁塞控制算法對保證Internet的穩(wěn)定具有十分重要的作用。 1.2網絡中的擁塞現象及原因 當在網絡中存在過多的報文時,網絡的性能會下降,這種現象稱為擁塞。使用圖1來描述擁塞的發(fā)生。當負載較小時,吞吐量的增長和負載相比基本
17、呈線性關系,延遲增長緩慢;在負載超過Knee之后,吞吐量增長緩慢,延遲增長較快;當負載超過Cliff之后,吞吐量急劇下降,延遲急劇上升。由圖1.1得出,負載在Knee附近時網絡的使用效率最高。擁塞控制就是網絡節(jié)點采取措施來避免擁塞的發(fā)生或者對擁塞的發(fā)生做出反應。在圖1.1中就是使負載保持在Knee附近,和流控制相比,擁塞控制主要考慮端節(jié)點之間的網絡環(huán)境,目的是使負載不超過網絡的傳送能力;而流控制主要考慮接收端,目的是使發(fā)送端的發(fā)送速率不超過接收端的接收能力。 網絡中的擁塞來源于網絡資源和網絡流量分布的不均衡性。擁塞不會隨著網絡處理能力的提高而消除。 網絡的吞吐量與通信子網負荷(即通信子網中
18、正在傳輸的分組數)有著密切的關系。當通信子網負荷比較小時,網絡的吞吐量(分組數/秒)隨網絡負荷(每個節(jié)點中分組的平均數)的增加而線性增加。當網絡負荷增加到某一值后,若網絡吞吐量反而下降,則表征網絡中出現了擁塞現象。在一個出現擁塞現象的網絡中,到達某個節(jié)點的分組將會遇到無緩沖區(qū)可用的情況,從而使這些分組不得不由前一節(jié)點重傳,或者需要由源節(jié)點或源端系統(tǒng)重傳。當擁塞比較嚴重時,通信子網中相當多的傳輸能力和節(jié)點緩沖器都用于這種無謂的重傳,從而使通信子網的有效吞吐量下降。由此引起惡性循環(huán),使通信子網的局部甚至全部處于死鎖狀態(tài),最終導致網絡有效吞吐量接近為零。
19、 Knee Cliff 吞吐量 負載 響應時間 負載 圖1.1 負載與吞吐量、響應時間關系曲線 網絡發(fā)展到今天,其應用領域不斷拓寬,各種應用模式不斷涌現,像音頻和視頻這樣的對網絡資源要求較高的多媒體應用更是呈現出爆炸性的增長趨勢。而目前的網絡資源相對于快速增長的網絡應用模式是遠遠不夠的。因此如何使相對有限的網絡資源更加
20、高效的利用,盡最大可能滿足這些應用需求,避免擁塞崩潰的發(fā)生。這正是擁塞控制研究的目的和意義。 1.3 網絡擁塞控制算法及存在的問題 擁塞控制算法包含擁塞避免(congestion avoidance)和擁塞控制(congestion control)這兩種不同的機制。擁塞控制是“恢復”機制,它用于把網絡從擁塞狀態(tài)中恢復出來;擁塞避免是“預防”機制,它的目標是避免網絡進入擁塞狀態(tài),使網絡運行在高吞吐量、低延遲的狀態(tài)下。由網絡擁塞產生的原因可知,雖然擁塞的產生源于資源短缺,但單方面增加資源并不能避免擁塞的發(fā)生,有時甚至會加重擁塞程度。例如,增加網關緩存會增大報文通過網關的延遲,當數據包
21、經過長時間的排隊完成轉發(fā)時它們早己超時,而源端認為這些數據包已經被丟棄,開始重傳,但這些數據包仍在網絡中傳輸,反而浪費了網絡資源且加重了網絡擁塞。又如,處理機的處理速率太慢可能導致網絡擁塞,但單純提高該處理器的性能,網絡的瓶頸又會轉移到其它地方,導致系統(tǒng)各部分的不匹配??偠灾?,擁塞控制算法的設計存在以下幾方面的困難: (1) 算法的分布性:擁塞控制算法的實現分布在不同的網絡層次以及多個網絡節(jié)點 中,采用分布式的擁塞控制算法可以降低單個節(jié)點的處理復雜度,同時提高網絡的穩(wěn)健性。 (2) 算法的可擴展性:網絡中各處的性能有很大的差異,對于不同的網絡
22、條件,如網絡規(guī)模的變化,帶寬的變化,鏈路傳輸時延的變化,不同的端系統(tǒng)狀況,以及存在多種數據流時,擁塞控制算法都應具有相對較好的性能指標。 (3) 算法的性能要求:擁塞控制算法對性能有很高的要求,包括算法的效率、公平性、穩(wěn)定性、魯棒性和收斂性。通常的擁塞控制策略只能達到部分的性能要求,因此對這些指標需要綜合考慮。 (4) 算法的易實現性:擁塞控制算法的設計與實現要盡可能簡單,不僅要盡量減少附加的網絡流量,而且要減少反饋信號的復雜度。同時擁塞控制算法的設計還必須盡可能降低該算法在網絡節(jié)點的計算量和實現的復雜度。 (5) 擁塞的復雜性:計算機網絡已發(fā)展成為一個龐大的復雜性系統(tǒng),其復雜性在于網絡
23、拓撲結構的復雜性,網絡數據流的復雜性如自相似,自組織臨界和擁塞相變現象等。目前,一些與復雜性研究相關的理論和方法被廣泛地應用于網絡擁塞演化規(guī)律的研究中,其中,網絡動力學己經發(fā)展成為一個新的跨學科領域。擁塞控制算法的分布性、網絡的復雜性和對擁塞控制算法的性能要求又使擁塞控制算法的設計具有很高的難度。到目前為止,擁塞問題還沒有得到很好的解決。 第二章 擁塞現象及擁塞控制算法研究 2.1 擁塞現象 擁塞現象是指到達通信子網中某一部分的分組數量過多,使得該部
24、分網絡來不及處理,以致引起這部分乃至整個網絡性能下降的現象,嚴重時甚至會導致網絡通信業(yè)務陷入停頓,即出現死鎖現象。這種現象跟公路網中經常所見的交通擁擠一樣,當節(jié)假日公路網中車輛大量增加時,各種走向的車流相互干擾,使每輛車到達目的地的時間都相對增加(即延遲增加),甚至有時在某段公路上車輛因堵塞而無法開動(即發(fā)生局部死鎖)。 網絡的吞吐量與通信子網負荷(即通信子網中正在傳輸的分組數)有著密切的關系。當通信子網負荷比較小時,網絡的吞吐量(分組數/秒)隨網絡負荷(每個節(jié)點中分組的平均數)的增加而線性增加。當網絡負荷增加到某一值后,若網絡吞吐量反而下降,則表征網絡中出現了擁塞現象。在一個出現擁塞現象的網
25、絡中,到達某個節(jié)點的分組將會遇到無緩沖區(qū)可用的情況,從而使這些分組不得不由前一節(jié)點重傳,或者需要由源節(jié)點或源端系統(tǒng)重傳。當擁塞比較嚴重時,通信子網中相當多的傳輸能力和節(jié)點緩沖器都用于這種無謂的重傳,從而使通信子網的有效吞吐量下降。由此引起惡性循環(huán),使通信子網的局部甚至全部處于死鎖狀態(tài),最終導致網絡有效吞吐量接近為零。 計算機網絡(Computer network)就是把分布在不同地點的具有獨立功能的多臺計算機系統(tǒng)通過通信線路和網絡設備互相連接在一起,按照一定的網絡協(xié)議進行信息通信,實現資源共享的計算機通信系統(tǒng),它是計算機技術與通信技術結合的產物。20世紀80年代出現的互聯(lián)網(Inter
26、net)是現在全世界最大的計算機網絡。以TCP/IP(Transfer control protocol/Internet protocol)網絡協(xié)議為基礎的互聯(lián)網在過去幾十年經歷了爆炸式發(fā)展。1980年ARPA網(Internet的前身)只包含200臺計算機,從1986年接入6000臺計算機開始,5年后數量就達到了60萬,一直到上一世紀末,全球互聯(lián)網用戶達到2億多。現在互聯(lián)網的容量與規(guī)模仍以驚人的速度繼續(xù)向前發(fā)展。 通過互聯(lián)網可以輕易實現遠程信息訪問、用戶間通訊、交互式娛樂、電子商務等?;ヂ?lián)網在社會各個領域的廣泛應用使得傳統(tǒng)的信息獲取、傳送、存儲和處理方式發(fā)生了根本性的變化,改變了人們的生
27、活與工作方式,對世界經濟發(fā)展和社會生活方式產生了重大影響。 自從互聯(lián)網誕生以來,網絡資源和網絡流量分布的不均衡使得擁塞問題一直困擾著其發(fā)展。伴隨著網絡規(guī)模的日益擴大和應用類型的豐富,網絡擁塞也變得越來越嚴重。為易于擴展,網絡端節(jié)點要求盡可能簡單,其不對數據流的狀態(tài)進行記錄和管理,導致網絡無法對用戶的發(fā)送行為進行約束。當不存在一種對數據流進行隔離的機制并且用戶又不對自身的發(fā)送行為進行約束時,網絡的運行就面臨著癱瘓的危險。如果不及時采用適當的方法來控制網絡擁塞,網絡的穩(wěn)定性將無法得到保障。實際上,這個現象在八十年代初就已經出現,并被稱為“擁塞崩潰”(Congestion collapse)。
28、計算機網絡中的鏈路容量、網絡節(jié)點中的緩存和處理器等都是網絡的資源,在某段時間內如果用戶提供給網絡的負載大于網絡資源容量和網絡節(jié)點的處理能力,網絡便會產生阻塞,性能變壞,這就是網絡中的擁塞現象。可以用如下關系式表示: ∑資源需求>網絡可用資源 網絡產生擁塞時,網絡的性能便會降低,甚至有可能使整個系統(tǒng)發(fā)生崩潰,具體表現在網絡吞吐量和效率的降低、路由器緩沖隊列的急劇增加、報文延時的增加、報文的丟失、報文到達的延時抖動劇烈等方面。當網絡處于擁塞崩潰狀態(tài)時,微小的負載增量都將使網絡的有效吞吐量急劇下降。 圖1.1清楚地表述了網絡負載與吞吐量和延遲之間的關系。當網絡的負載較小時,隨著負載增加,吞吐量
29、相應增加。當負載接近網絡的容量時,吞吐量將會停止增加,如果負載繼續(xù)增加,就會導致分組丟棄,這時網絡的吞吐量會突然降低,并接近于0。把吞吐量接近于0的現象稱為擁塞崩潰(congestion collapse),并且把擁塞崩潰點稱為cliff,因為負載超過這一點后吞吐量會突然降低,而把負載增加后吞吐量增加很少但傳輸延遲迅速增加的那點稱為擁塞臨界點(knee)。而擁塞避免(congestion avoidance)工作在knee處,它鼓勵用戶增加負載,只要不會使延遲增加就可以。當網絡輕載時,隨著負載的增加,吞吐量隨之迅速增加,延遲增長緩慢;當過了Knee點之后,負載增加時吞吐量增加趨于平緩, 延遲增
30、長較快;當超過Cliff點后負載增加時吞吐量急劇下降,延遲急劇上升。擁塞時網絡的具體表現為數據包經受的時延增大,丟棄概率增高。而發(fā)送放在遇到大時延時進行的不必要重傳會引起路由器利用其鏈路帶寬來轉發(fā)不必要的分組拷貝。數據包丟棄概率的增加也會引起發(fā)送方執(zhí)行重傳因緩存溢出而丟棄的數據包。這些都導致鏈路傳輸容量的浪費,有效利用率降低。 2.2 擁塞現象產生的原因 擁塞發(fā)生的原因是“需求”大于“供給”。網絡中有限的資源由多個用戶共享使用。由于沒有“接納控制”算法,網絡無法根據資源的情況限制用戶的數量;缺乏中央控制,網絡也無法控制用戶使用資源的數量。目前Internet上用戶和應用的數量都在迅
31、速增長。如果不使用某種機制協(xié)調資源的使用,必然會導致網絡擁塞。雖然擁塞源于資源短缺,但增加資源并不能避免擁塞的發(fā)生,有時甚至會加重擁塞程度。例如:增加網關緩沖會增大報文通過網關的延遲,如果總延遲超過端系統(tǒng)重傳時鐘的值,就會導致報文重傳,反而加重了擁塞。擁塞總是發(fā)生在網絡中資源“相對”短缺的位置。擁塞發(fā)生位置的不均衡反映了Internet的不均衡性。首先是資源分布的不均衡。圖2.1(a)中帶寬的分布是不均衡的,當以1Mb/s的速率從S向D發(fā)送數據時,在網關R會發(fā)生擁塞。其次是流量分布的不均衡。圖2.1(b)中帶寬的分布是均衡的,當A和B都以1Mb/s的速率向C發(fā)送數據時,在網關R也會發(fā)生擁塞。I
32、nternet中資源和流量分布的不均衡都是廣泛存在的,由此導致的擁塞不能使用增加資源的方法來解決。 D R S 1Mb 100Kb (a) A C 1Mb 1Mb R B D
33、 1Mb 1Mb (b) 圖2.1 擁塞產生原因示意 網絡產生擁塞的根本原因在于用戶提供給網絡的負載大于網絡資源的容量和處理能力。擁塞產生的直接原因主要表現在如下三點: (1) 存儲空間不足。幾個輸入數據流共同需要同一個輸出端口,在這個端口就會建立排隊。如果沒有足夠的存儲空間存儲,數據包就會丟棄。對突發(fā)數據流更是如此。增加存儲空間在某種程度上可以緩解這一矛盾,但如果路由器有無限存儲量時,擁塞只是會變得更壞,而不是更好,因為在網
34、絡鬼數據包經過長時間排隊完成轉發(fā)時,它們早已超時,發(fā)送端認為它們己經被丟棄,而這些數據包還會繼續(xù)向下一個路由器轉發(fā),從而浪費網絡資源且加重了網絡擁塞。 (2) 帶寬容量不足。根據香農信息理論,任何信道帶寬最大值即信道容量C=Blog2(1+S/N)(其中N為信道白噪聲的平均功率,S為信源的平均功率,B為信道帶寬)。所有信源發(fā)送的速率R必須小于或等于信道容量C。如果R>C,則在理論上無差錯傳輸就是不可能的,所以在網絡低速鏈路處就會形成帶寬瓶頸,當其滿足不了通過它的所有源端帶寬要求時,網絡就會發(fā)生擁塞。 由于互聯(lián)網的設計機制導致其缺乏“接納能力”,因此在網絡資源不足時不能限制用戶數量,而只能靠
35、降低服務質量來繼續(xù)為用戶服務,也就是盡力而為的服務。擁塞發(fā)生后,表現為端到端時延加大、數據包被丟棄概率增大、網絡服務質量下降、甚至整個系統(tǒng)崩潰等。1984年Nagle報告了由于TCP連接中沒有必要的重傳所誘發(fā)的擁塞崩潰,1986-1987年間這種現象曾經多次發(fā)生,嚴重在端到端擁塞控制的實現中包括終端系統(tǒng)機制和路由器機制兩個有機部分。目前在Internet中,最主要的擁塞控制機制是由終端系統(tǒng)的TCP協(xié)議完成的,這也是網絡能保持魯棒性的主要原因。本文研究以TCP層擁塞控制為基礎,結合IP層的隊列管理策略,共同解決網絡擁塞問題。 2.3 擁塞控制算法的概況 擁塞控制方法: (1) 緩沖
36、區(qū)預分配法。該法用于虛電路分組交換網中。在建立虛電路時,讓呼叫請求分組途經的節(jié)點為虛電路預先分配一個或多個數據緩沖區(qū)。若某個節(jié)點緩沖器已被占滿,則呼叫請求分組另擇路由,或者返回一個“忙”信號給呼叫者。這樣,通過途經的各節(jié)點為每條虛電路開設的永久性緩沖區(qū)(直到虛電路拆除),就總能有空間來接納并轉送經過的分組。此時的分組交換跟電路交換很相似。當節(jié)點收到一個分組并將它轉發(fā)出去之后,該節(jié)點向發(fā)送節(jié)點返回一個確認信息。該確認一方面表示接收節(jié)點已正確收到分組,另一方面告訴發(fā)送節(jié)點,該節(jié)點已空出緩沖區(qū)以備接收下一個分組。上面是“停一等”協(xié)議下的情況,若節(jié)點之間的協(xié)議允許多個未處理的分組存在,則為了完全消除擁
37、塞的可能性,每個節(jié)點要為每條虛電路保留等價于窗口大小數量的緩沖區(qū)。這種方法不管有沒有通信量,都有可觀的資源(線路容量或存儲空間)被某個連接占有,因此網絡資源的有效利用率不高。這種控制方法主要用于要求高帶寬和低延遲的場合,例如傳送數字化語音信息的虛電路。 (2) 分組丟棄法。該法不必預先保留緩沖區(qū),當緩沖區(qū)占滿時,將到來的分組丟棄。若通信子網提供的是數據報服務,則用分組丟棄法來防止擁塞發(fā)生不會引起大的影響。但若通信子網提供的是虛電路服務,則必須在某處保存被丟棄分組的備份,以便擁塞解決后能重新傳送。有兩種解決被丟棄分組重發(fā)的方法,一種是讓發(fā)送被丟棄分組的節(jié)點超時,并重新發(fā)送分組直至分組被收到;另
38、一種是讓發(fā)送被丟棄分組的節(jié)點在嘗試一定次數后放棄發(fā)送,并迫使數據源節(jié)點超時而重新開始發(fā)送。但是不加分辨地隨意丟棄分組也不妥,因為一個包含確認信息的分組可以釋放節(jié)點的緩沖區(qū),若因節(jié)點元空余緩沖區(qū)來接收含確認信息的分組,這便使節(jié)點緩沖區(qū)失去了一次釋放的機會。解決這個問題的方法可以為每條輸入鏈路永久地保留一塊緩沖區(qū),以用于接納并檢測所有進入的分組,對于捎帶確認信息的分組,在利用了所捎帶的確認釋放緩沖區(qū)后,再將該分組丟棄或將該捎帶好消息的分組保存在剛空出的緩沖區(qū)中。 (3) 定額控制法。這種方法在通信子網中設置適當數量的稱做“許可證”的特殊信息,一部分許可證在通信子網開始工作前預先以某種策略分配給各
39、個源節(jié)點,另一部分則在子網開始工作后在網中四處環(huán)游。當源節(jié)點要發(fā)送來自源端系統(tǒng)的分組時,它必須首先擁有許可證,并且每發(fā)送一個分組注銷一張許可證。目的節(jié)點方則每收到一個分組并將其遞交給目的端系統(tǒng)后,便生成一張許可證。這樣便可確保子網中分組數不會超過許可證的數量,從而防止了擁塞的發(fā)生。 2.3.1 Internet的網絡模型 擁塞現象的發(fā)生和Internet的設計機制有著密切的聯(lián)系。Internet的網絡模型可以用以下幾點來抽象: (1) 報文交換(packet-switched)網絡。和電路交換(circuit-switched)相比,報文交換通過共享提高了資源的利用效率。但在共享方
40、式下,如何保證用戶的服務質量是一個很棘手的問題;在報文交換網絡中可能出現報文“亂序”現象,對亂序報文的處理增加了端系統(tǒng)的復雜性。 (2) 無連接(connectionless)網絡。Internet的節(jié)點之間在發(fā)送數據之前不需要建立連接。無連接模型簡化了網絡的設計,在網絡的中間節(jié)點上不需要保存和連接有關的狀態(tài)信息。但是使用無連接模型難以引入“接納控制”(admission control)算法,在用戶需求大于網絡資源時難以保證服務質量;在無連接模型中對數據發(fā)送源的追蹤能力很差,給網絡的安全帶來了隱患;無連接也是網絡中亂序報文出現的一個主要原因。 (3) best-effort的服務模型。b
41、est-effort即網絡不對數據傳輸的服務質量提供保證。這個選擇和早期網絡中的應用有關。傳統(tǒng)的網絡應用主要是FTP、Telnet、SMTP等,它們對網絡性能(帶寬、延遲、丟失率等)的變化不敏感,best-effort模型可以滿足需要。但best-effort模型不能很好滿足新出現的多媒體應用的要求,這些應用對延遲、速率等性能的變化比較敏感。這要求網絡在原有服務模型的基礎上進行擴充。 2.3.2擁塞控制算法設計的困難 擁塞控制算法的設計困難體現在以下方面: (1) 算法的分布性。擁塞控制算法的實現分布在多個網絡節(jié)點中,必須使用不完整的信息完成控制,并使各節(jié)點協(xié)調工作,還必須考慮某
42、些節(jié)點工作不正常的情況。 (2) 網絡環(huán)境的復雜性。Internet中各處的網絡性能有很大的差異,算法必須具有很好的適應性;另外由于Internet對報文的正確傳輸不提供保證,算法必須處理報文丟失、亂序到達等情況。 (3) 算法的性能要求。擁塞控制算法對性能有很高的要求,包括算法的公平性、效率、穩(wěn)定性和收斂性等。某些性能目標之間存在矛盾,在算法設計時需要進行權衡。 (4) 算法的開銷。擁塞控制算法必須盡量減少附加的網絡流量,特別是在擁塞發(fā)生時。在使用反饋式的控制機制時,這個要求增加了算法設計的困難。算法還必須盡量降低在網絡節(jié)點(特別是網關)上的計算復雜性。目前的策略是將大部分計算放在端節(jié)
43、點完成,在網關上只進行少量的操作,這符合Internet的基本設計思想。 2.3.3擁塞控制算法 在設計和比較擁塞控制算法時,需要一定的評價方法。從用戶的角度出發(fā),可以比較端系統(tǒng)的吞吐率、丟失率和延遲等指標,這些是用戶所關心的。由于擁塞控制算法對整個網絡系統(tǒng)都有影響,在評價算法時更應該從整個系統(tǒng)的角度出發(fā)進行考慮。兩個重要的評價指標是資源分配的效率和資源分配的公平性。 1、資源分配的效率 資源分配的效率可以用Power函數來評價。Power函數定義為: Power=Throughput/Response Time 在上式中,一般取a=l。如果
44、評價偏重吞吐量,則取a>l;如果評價偏重反應時間,則Power取a 45、
2、資源分配的公平性
多用戶情況下需要考慮資源分配的公平性。公平性評價的主要方法包括Max-Min Fairness,Fairness Index等。
Max-min fairness被非正式的定義為:每個用戶的吞吐量至少和其它共享相同瓶頸的用戶的吞吐量相同。Max-Min Fairness是一種理想的狀況,但是它不能給出公平的程度。
Fairness Index提供了一個計算公式,可以計算公平的程度。它定義為:
Fairness Index的計算結果位于0和l之間,并且結果不受衡量單位的影響。它的一個性質 46、是:如果n個用戶中只有k個用戶平均共享資源,而另(n-k)個用戶沒有任何資源,計算結果為k/n。
由于公平性是針對資源分配而言的,所以在評價前首先要確定“資源”的含義。目前大多數研究在評價公平性時都針對吞吐量,這是從用戶的角度出發(fā)考慮的,并不完全適合網絡中的資源狀況。網絡中的資源包括鏈路帶寬、網關的緩沖和網關的處理能力等,在考察公平性時應當將這些資源的分配情況綜合考慮。
第三章 擁塞控制算法比較
3.1 TCP/IP體系結構
TCP/IP(Transmission Control Protocol/Internet Protocol)即傳輸控制協(xié)議/互連網絡 47、協(xié)議,是ARPANET最有影響力的研究成果之一,現時的TCP/IP協(xié)議已成為一組完整的協(xié)議,構成網絡體系結構,除傳輸控制協(xié)議(TCP)和互連網絡協(xié)議(IP)外,還包括工具性協(xié)議、管理性協(xié)議及應用協(xié)議等多種其它協(xié)議,TCP/IP協(xié)議己經成為事實上的因特網上的通信標準,也是事實上的國際標準和工業(yè)標準。TCP/IP協(xié)議的體系結構可以用一個四層的分層模型來描述,分成網絡接口層、IP層、運輸層和應用層。如圖所示:
應用層
運輸層(TCP/UDP層)
IP層
網絡接口層
圖3.1TCP/IP體系結構
網絡接口層又稱 48、數據鏈路層,定義了特定介質的物理連接特性,及在該介質上發(fā)生、接收的信息幀的格式。其作用是傳輸經IP層處理過的信息,并提供一個主機與實際網絡的接口,TCP/IP支持的數據鏈路技術很多,其特色在于它可以在任何一種物理網絡上運行。IP層采用的是IP協(xié)議,負責IP數據報從主機發(fā)往任何網絡,到達其目的地。
IP層為每一個IP數據報分配一個全網惟一的傳送地址(IP地址),并據此IP地址段的信息把IP數據報轉發(fā)到其目的地。另外IP層還具有分組路由和擁塞控制等功能。
運輸層(TCP/UDP層)提供的是端到端的通信功能,主要由兩個協(xié)議構成。TCP協(xié)議提供的是面向連接的、可靠的傳輸服務;用戶數據報協(xié)議 49、UDP提供的是無連接的、不可靠的傳輸服務。TCP協(xié)議還具有差錯檢測、流量控制、擁塞控制等功能。
應用層包含了所有的高層協(xié)議,例如:遠程登錄的虛擬終端協(xié)議(Telnet)、文件傳輸協(xié)議(FTP)、Web傳輸協(xié)議(HTTP)和郵件傳輸協(xié)議(SMTP)等,為各種用戶提供了所需的服務。
目前擁塞控制的研究一般分為TCP層的擁塞控制和IP層的擁塞控制,TCP層的擁塞控制主要是基于窗口的和式增加積式減少的擁塞控制機制,TCP基于窗口的端到端擁塞控制對于Internet的魯棒性起到了關鍵作用,并且在現實的互聯(lián)網中,擁塞控制的大部分工作都是由TCP來完成的,所以研究TCP層的擁塞控制對于網絡擁塞有相當大的 50、意義。隨著Internet本身的迅速發(fā)展,網絡規(guī)模越來越龐大,結構越來越復雜,僅僅依靠TCP擁塞控制機制來提高網絡服務質量還不夠。網絡必須參與資源的控制工作,因此需要采用路由器端的擁塞控制方法,即IP擁塞控制問題,通常也稱之為隊列管理機制,通過排隊算法決定哪些包可以傳輸,通過丟棄策略決定哪些包被丟棄以此分配緩存。未來的網絡擁塞控制的方向應該是,以TCP層擁塞控制為基礎,結合IP層的隊列管理策略,共同解決網絡擁塞問題。
NSP
SM
HTTP
FTP
DNS
TELENT
.........
UDP
T 51、CP
RARP
ARP
IP
ICMP
局域網
X.25網
無線網
電話網
.........
應用層
運輸層
IP層
網絡接口層
圖3.2 TCP/IP體系結構中各層所應用的主要協(xié)議口
3.2 TCP層擁塞控制算法
互聯(lián)網最初源于美國國防部的ARPANET計劃。上世紀60年代中期正是冷戰(zhàn)的高峰,美國國防部希望有一個命令和控制網絡,以確保在核戰(zhàn)爭的條件下幸免于難,而傳統(tǒng)基于電路交換的電話網絡則過于脆弱。國防部指定其下屬的高級研究計劃局解決這個問題, 52、從而誕生ARPANET,其最大特點是采用無連接的端到端報文交換服務。到了80年代中期,演變?yōu)榛ヂ?lián)網。TCP協(xié)議最初只是作為NSFNET的程序規(guī)范,即RFC 793,這也是最早的較為完整且齊全的TCP規(guī)范。這個規(guī)范簡單描述了如何進行主機到主機的可靠傳輸,并描述了傳輸控制協(xié)議執(zhí)行的功能,相應的實現程序及程序接口。TCP協(xié)議在設計之初就被賦予了很高的使命,需要成為報文交換計算機網絡和這些網絡互聯(lián)系統(tǒng)中的高可靠性傳輸協(xié)議。需要明確的是,網絡中的可靠傳輸包括兩方面:首先是數據的正確,由于以前的傳輸介質質量很差,所以在傳輸層及以下各層協(xié)議中都實現了校驗和計算;其次是數據的完整保序,這個特性需要TCP執(zhí)行復 53、雜的操作來實現,通常我們強調TCP的可靠傳輸時主要指后者。
目前在Internet上實際使用的擁塞控制基本上是建立在TCP窗口控制基礎之上的,據統(tǒng)計,Internet上的95%的數據流使用的是TCP協(xié)議,因此TCP擁塞控制一直是網絡擁塞控制研究的重點。TCP擁塞控制的基本框架是在文中提出的,文中Van Jacobson指出用顯式的方法來實現基于窗口的運輸層協(xié)議會導致端系統(tǒng)對網絡擁塞的錯誤反應,并提出了一系列算法來解決這一問題,這些算法包括:RRT的估計重傳計數器的指數回退、慢啟動、擁塞窗口的動念調整等。正是這些算法奠定了TCP擁塞控制的基礎。
TCP/IP一般通過Internet串行線路協(xié) 54、議SLIP或點對點協(xié)議PPP在串行線上進行數據傳送。TCP/IP協(xié)議的基本傳輸單位是數據包 (datagram)。TCP協(xié)議負責把數據分成若干個數據包/段,并給每個數據包加上包頭,IP協(xié)議在每個包頭上再加上接收端主機地址,這樣數據找到自己要去的地方。如果傳輸過程中出現數據丟失、數據失真等情況,TCP協(xié)議會自動要求數據重新傳輸并重新組包。TCP協(xié)議保證數據傳輸的質量,總之IP協(xié)議保證數據的傳輸。數據在傳輸時每通過一層就要在數據上加個包頭,其中數據供接收端同一層協(xié)議使用,而在接收端每經過一層要把用過的包頭去掉,這樣來保證傳輸數據的格式完全一致。TCP/IP協(xié)議需要針對不同的網絡進行不同的設置,且每 55、個節(jié)點一般需要一個“IP地址”、一個“子網掩碼”、一個“默認網關”。不過可以通過動態(tài)主機配置協(xié)議(DHCP),給客戶端自動分配一個IP地址,這樣避免了出錯也簡化了TCP/IP協(xié)議的設置,我們可以指定一臺計算機具有多個IP地址,因此在訪問互聯(lián)網時不要以為一個IP地址就是一臺計算機;另外通過特定的技術,也可以使多臺服務器共用一個IP地址,這些服務器在用戶看起來就像一臺主機似的。在TCP/IP中所有的協(xié)議都被封裝在IP分組中通過IP網間網傳輸。IP是一個路由協(xié)議這就意味著使用IP通信的兩個節(jié)點不必連接到同一物理線路上(不進行路由)。
擁塞控制的方法,無論什么形式都可以分為兩類:開環(huán)控制和閉環(huán)控制。 56、開環(huán)控制是預先設計一個好的網絡,確保它不會發(fā)生擁塞,而網絡在運行過程中不再采取措施。比較典型的例子就是資源預留協(xié)議(RSVP),這類控制機制較適用于簡單的音頻和活動圖像業(yè)務。但是網絡的業(yè)務流量通常是很難精確控制對于復雜的網絡系統(tǒng)來說是遠遠不夠的。顯然,對網絡這樣不斷變化的復雜系統(tǒng),開環(huán)系統(tǒng)并不是理想的選擇。TCP是目前Internet上應用廣泛的傳輸層協(xié)議,實施擁塞控制是TCP的兩個主要任務之一,由于IP層在發(fā)生擁塞時不向端系統(tǒng)提供任何顯式的反饋信息,因而TCP擁塞控制采用的是基于窗口的端到端的閉環(huán)控制方式。閉環(huán)控制能夠根據網絡中反饋至端系統(tǒng)的擁塞指示信息,依據一定的控制策略,及時調整源端系統(tǒng) 57、的數據傳輸速率,避免網絡狀況的惡化,既保證了傳輸的質量又能充分利用網絡資源。
在TCP擁塞控制的算法中,有以下幾個重要參數:
擁塞窗口(cwnd):擁塞控制的關鍵參數,控制源端在擁塞情況下一次最多能發(fā)送多少數據包。
通告窗口(awnd):接收端對源端發(fā)送窗口大小所做的限制,在建立連接時由接收方通過ACK確認捎帶給源端。
慢啟動閾值(ssthresh):用來控制源端從慢啟動階段轉換到擁塞避免階段的門限值。
回路響應時間(RTT):一個數據包從源端發(fā)送到接收端,直至源端收到目的端對該數據包確認信息所經歷的時間間隔。
超時重傳計數器(RTO):描述數據包從發(fā)送到失效的時間間隔,是源端用來 58、判斷數據包是否丟失和網絡擁塞的重要參數,通常設為2RTT或5RTT。
TCP的擁塞控制由慢啟動、擁塞控制、快速重傳和快速恢復四個核心算法組成。這四個基本算法互相聯(lián)系,經過大量的事實證明,它對Internet上大批量文件傳輸等服務具有良好的適應性,成為目前在Internet上主要使用的端系統(tǒng)擁塞控制機制。此后的TCP擁塞控制方法基本上都是在此基礎上的一些改進。以下是對這些改進中的典型算法的分析。
3.2.1 TCP Tahoe
Tahoe算法由3個主要部分組成,和式增加積式減少(AIMD)、慢啟動、快速重傳?!昂褪皆黾印庇脕碇斏鞯靥綔y端到端路徑上的可用帶寬,具體表現為TCP發(fā)送方在無丟包事 59、件發(fā)生時,每收到一個ACK,就將擁塞窗口增加一點,直到丟包事件發(fā)生,這個線性增長階段也稱為擁塞避免?!胺e式減少”方法在丟包事件發(fā)生時將當前的擁塞窗口值減半,這樣就降低了發(fā)送方的發(fā)送速率,從而減輕擁塞程度。慢啟動是數據發(fā)送的初始化階段,發(fā)送方以很慢的速率開始發(fā)送,但以指數的速度快速增加其發(fā)送速率,從而減小初始階段因發(fā)送方發(fā)送窗口過小而造成的帶寬浪費??焖僦貍魇钱敯l(fā)送方收到3個冗余的ACK而檢測到丟包時不必等到重傳超時而立即重傳丟失的包。這些方法正是TCP擁塞控制的基礎,以后的各種改進都依賴于此基礎。
3.2.2 TCP Reno
TCP Reno是在Tahoe的基礎上增加了“快速恢復”階段。 60、和Tahoe相比較,Reno在快速重傳后并不將擁塞窗口減至1MSS,進入慢啟動階段。而是將擁塞窗口減半,進入擁塞避免階段,這是因為與發(fā)生超時事件不同,收到冗余的ACK表明發(fā)送的其它包已經被接收方收到,兩個端系統(tǒng)間仍有數據的流動,網絡處于輕度擁塞。因此,發(fā)送端直接將擁塞窗口減至1MSS是不合適的,但Reno算法也存在缺點,當發(fā)送端檢測到擁塞后,要重傳數據包丟失到檢測到丟失時發(fā)送的全部數據包,這其中包括已正確傳輸到接收端,不必重傳的包。下面的New Reno和Sack算法正式針對Reno算法的這一缺點的改進。
3.2.3 TCP New Reno
New Reno對Reno的改進是通過盡量避免 61、Reno在快速恢復階段的許多重傳超時,利用一個ACK來確定部分發(fā)送窗口,立即重傳余下的數據包,從而提高網絡性能。目前,在Internet中最廣泛使用的是New Reno算法。然而New Reno算法也存在著不足,文分析并指出了New Reno在高速遠距離網絡中不能有效利用帶寬的不足,并給出了解決方法。
3.2.4 TCP Sack
如前所述,Sack算法也是對Reno的改進,當檢測到擁塞后,不用重傳數據包丟失到檢測到丟失時發(fā)送的全部數據包,而是對這些數據包進行有選擇的確認和重傳,從而避免不必要的重傳,減少延時,提高網絡吞吐量。由于使用選擇重傳,所以在一個窗口中數據包多丟失的情況下,Sack 62、性能優(yōu)于New Reno,但是Sack的主要缺點是要修改接收端TCP。
3.2.5 TCP Vegas
TCP Vegas算法和以前的算法大不相同,它是通過觀察以前TCP連接中的RRT值的改變來控制擁塞窗口的,如果RRT值變大,TCP Vegas就認為網絡發(fā)生擁塞,就減小擁塞窗口;反之,則增大擁塞窗口。這樣做的好處是擁塞控制機制的出發(fā)只和RRT的改變有關,而與包的具體時延無關。為了提高吞吐率、降低分組丟棄率,TCP Vegas采用了3種與眾不同的技術:
(1) 新的重傳機制,它將引發(fā)重傳的重復應答(ACK)數從3個減少到2個或者1個,因此TCP能夠對分組丟棄做出更快速響應。
(2) 63、新的擁塞避免機制,它改變了TCP Reno、TCP Tahoe等版本中通過分組丟棄來檢測網絡擁塞的基本思想,而是通過觀察己發(fā)送分組的RRT的變化來判斷網絡的擁塞狀況,即:如果觀察到RTT變大,則認為網絡開始擁塞,因此減小發(fā)送窗口值,如果RRT變小,TCP Vegas認為網絡正變得暢通,因此增大發(fā)送窗口值。
(3) 擴展的“慢啟動”(slow-start)機制,在Reno等版本的“慢啟動”階段,發(fā)送窗13以指數增長方式更新,而Vegas“慢啟動”階段的發(fā)送窗口增長速度為Reno等版本的1/2,主要目的是在這一階段利用(2)所描述的方法檢測和避免擁塞。
由于TCP Vegas只和RTT的改變有 64、關,RRT的準確度對于Vegas來說非常重要,事實上,在其實現中也采取了許多措施來保證RTT計量的精確度,如更細粒度的時問計算等。但是,它忽略了一個事實,即TCP分組長度對于RTT是有影響的, 相同網絡條件下,較大TCP分組的RTT會較大。
TCP Vegas雖然在一定程度上提高了吞吐量,降低了丟包率,但是存在錯誤估算往返傳播時延的可能,從而導致算法性能下降的問題。
表3.1 TCP典型擁塞算法比較
優(yōu)點
缺點
TCP Tahoe
建立了TCP擁塞控制的基礎,避免了擁塞崩潰的發(fā)生
沒有快速恢復,輕度擁塞時,擁塞窗口減小過太(減至1)降低了吞吐量
TCP Re 65、no
增加r快速恢復,輕度擁塞時候保持較高擁塞窗口
檢測到丟包,重傳所有丟失與檢測到丟事件所有的包
TCP New Reno
利用一個ACK確認部分發(fā)送窗口,避免了過多的重傳
在高速網絡中不能有效利用帶寬(其實這也是所有現行TCP共同的缺點)
TCP Sack
檢測到擁塞時,選擇性的重傳包,避免了不必要的重傳
要修改TCP接收端,實現復雜
3.3 IP層擁塞控制算法
TCP基于窗口的擁塞控制機制對于Internet的魯棒性起到了關鍵性的作用。然而,隨著Internet本身的迅猛發(fā)展,其規(guī)模越來越龐大,結構也日趨復雜,研究者們也認識到僅僅依靠TCP端到端的擁塞 66、控制是不夠的,網絡也應該參加資源的控制工作。網絡本身要參與到擁塞控制中,已經成為了一個不可回避的問題?,F在,IP層擁塞控制的研究也越來越多已經形成了一個新的熱點研究方向。IP層擁塞控制就其本質來說是通過對路由器緩沖區(qū)隊列中的分組實施調度和管理來影響TCP擁塞控制的動態(tài)性能以達到目的的。已經出現了一系列的隊列調度和管理的算法來實現擁塞控制。下面我們會對其中的一些典型算法進行詳細描述。
3.3.1 先進先出(FIFO)
FIFO又叫先到先服務(FCFS),即第一個到達的包將被首先服務由于路由器的緩存總是有限的,當緩沖區(qū)滿后,隨后到達的包將被丟棄。由于FIFO總是丟棄到達隊尾的包,所以經常和去尾(Drop-Tail)算法在概念上被混淆。FIFO是一種包的調度策略,Drop-Tail是一種包的丟棄策略。由于FIFO和Drop-Tail實施起來比較簡單,因而目前去尾的先入先出是Internet上最廣泛使用的隊列調度管理方式。然而去尾的FIFO自身存在一些問題,例如:它不能區(qū)分不同的數據流,也不提供強制數據流遵守擁塞控制的機制,這就有可能讓某些數據流強占大量帶寬,引發(fā)公平性問題。例如UDP
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。