基于NS的路由器隊(duì)列管理機(jī)制性能分析
畢業(yè)論文
基于NS的路由器隊(duì)列管理機(jī)制性能分析
摘要:隨著Internet的飛速發(fā)展,由于競(jìng)爭(zhēng)網(wǎng)絡(luò)資源而導(dǎo)致的網(wǎng)絡(luò)擁塞問(wèn)題越來(lái)越嚴(yán)重。在路由器等交換設(shè)備上應(yīng)用有效的隊(duì)列管理算法對(duì)于提高網(wǎng)絡(luò)性能來(lái)說(shuō)顯得愈發(fā)重要。
由于TCP的擁塞控制作用有限,IETF推薦在路由器上使用主動(dòng)隊(duì)列管理(AQM)技術(shù)與TCP擁塞控制相配合來(lái)避免擁塞,并推薦RED作為候選算法。RED算法目前已經(jīng)成為使用最為廣泛的主動(dòng)隊(duì)列管理算法。
本文所作的工作如下:
首先分析了擁塞產(chǎn)生的原因以及進(jìn)行擁塞控制的方法,包括TCP源端控制和路由隊(duì)列管理算法。
然后闡述了1些經(jīng)典的AQM算法的設(shè)計(jì)原理,以及RED算法的改進(jìn)方向。
接著詳細(xì)分析了SRED算法和RED算法是如何在Network Simulator(NS)上實(shí)現(xiàn)的,并從工程的角度分析了它們C++代碼的實(shí)現(xiàn)。
最后通過(guò)NS仿真平臺(tái),設(shè)計(jì)了4種具有普遍意義的網(wǎng)絡(luò)實(shí)驗(yàn),測(cè)試了RED算法和SRED算法在各種流量環(huán)境中的性能,并分析實(shí)驗(yàn)結(jié)果。
關(guān)鍵詞: 擁塞控制;主動(dòng)隊(duì)列管理;Network Simulator;RED;SRED
Performance Analysis of Router Queue Management Mechanism Based on NS
Abstract: With the rapid development of the Internet, the network congestion which is caused by competing of network resource becomes more and more critical. In order to improve network performance, applying effective queue management algorithm on routers become more and more important.
Because of some defects of TCP congestion control, IETF suggests using an active queue management (AQM) on routers and recommends RED as the candidate algorithm. RED has been most widely implemented as one of the AQMs at present.
The main work of this thesis is:
At first, analyzing the reason why the congestion is caused and the method to control the congestion, including resource control of TCP and the algorithm for routing queue.
Then, stating the design principles of some classic AQM algorithms, and how to improve RED algorithm.
And the follow, analyzing how to install the algorithm of SRED and RED on Network Simulator (NS) in detail and how to realize the algorithms in C++ code.
At last, designing four classical network experiments on NS to test the performance of RED and SRED , and analyzing the results of experiments.
Keywords: congestion control; active queue management; Network Simulator; RED; SRED
目錄
前言 1
1 Internet所面臨的擁塞問(wèn)題 2
1.1 擁塞和擁塞控制的基本概念 2
1.2 擁塞和互聯(lián)網(wǎng)模型關(guān)系 2
1.3 擁塞產(chǎn)生的原因 3
1.4 擁塞避免/控制策略的要求 4
1.5 本章小結(jié) 4
2 TCP擁塞控制機(jī)制 5
2.1 TCP擁塞控制機(jī)制的介紹 5
2.2 TCP擁塞控制機(jī)制的過(guò)程 5
2.3 擁塞控制的問(wèn)題 7
2.4 本章小結(jié) 7
3 路由器隊(duì)列管理的擁塞控制 8
3.1 被動(dòng)式隊(duì)列管理及其缺陷 8
3.2 主動(dòng)隊(duì)列管理(AQM)及其優(yōu)點(diǎn) 9
3.3 幾種主動(dòng)隊(duì)列管理算法 9
3.3.1 RED主動(dòng)隊(duì)列管理算法 10
3.3.2 SRED主動(dòng)隊(duì)列管理算法 15
3.3.3 RED算法的1些改進(jìn)算法 17
3.4 AQM的設(shè)計(jì)要求與要點(diǎn) 19
3.5 本章小結(jié) 19
4 NS軟件的介紹 20
4.1 NS的簡(jiǎn)介 20
4.2 NS的使用 21
4.3 NS的模擬 23
4.4 本章小結(jié) 24
5 AQM算法的C++代碼分析 25
5.1 NS中Otcl和C++的關(guān)系 25
5.2 AQM算法在NS中的實(shí)現(xiàn) 26
5.2.1 SRED的C++代碼分析 26
5.2.2 RED的C++代碼分析 36
5.3如何添加1個(gè)新的AQM算法在NS中運(yùn)行 39
5.4 本章小結(jié) 40
6 仿真實(shí)驗(yàn) 41
6.1 實(shí)驗(yàn)簡(jiǎn)介 41
6.2 實(shí)驗(yàn)結(jié)果與分析 41
6.2.1靜態(tài)小流量下兩種算法性能比較 41
6.2.2 動(dòng)態(tài)小流量下兩種算法性能比較 42
6.2.3靜態(tài)大流量下兩種算法性能比較 43
6.2.4動(dòng)態(tài)大流量下兩種算法性能比較 44
6.3本章小結(jié) 45
7 結(jié)束語(yǔ) 46
參考文獻(xiàn) 47
致謝 48
前言
隨著Internet規(guī)模的不斷擴(kuò)大和寬帶網(wǎng)絡(luò)連接的普及,網(wǎng)絡(luò)用戶(hù)數(shù)量呈現(xiàn)指數(shù)級(jí)的增長(zhǎng)。網(wǎng)絡(luò)資源的有限性與互聯(lián)網(wǎng)日益增長(zhǎng)的用戶(hù)需求之間的矛盾愈發(fā)突出,從而導(dǎo)致越來(lái)越嚴(yán)重的'網(wǎng)絡(luò)擁塞問(wèn)題。產(chǎn)生擁塞的原因主要在于應(yīng)用對(duì)于資源的需求超過(guò)網(wǎng)絡(luò)資源所能提供的可用部分。1旦發(fā)生擁塞,網(wǎng)絡(luò)的性能將受到極大的影響,表現(xiàn)為數(shù)據(jù)包時(shí)延增加、丟棄概率增大、上層應(yīng)用系統(tǒng)性能下降等。
網(wǎng)絡(luò)中的資源主要有以下幾種:鏈路容量,交換節(jié)點(diǎn)的緩存區(qū)和處理機(jī)等。通過(guò)高速骨干網(wǎng)的架設(shè)來(lái)增加鏈路容量,在1定程度上緩解了低帶寬所帶來(lái)的瓶頸問(wèn)題。硬件廠(chǎng)商不斷推出具有高速處理能力的路由器等網(wǎng)絡(luò)設(shè)備,以保證CPU在執(zhí)行排隊(duì)緩存和更新路由表等功能時(shí),其處理速度能夠匹配高速鏈路。增加緩存空間在某種程度上可以緩解突發(fā)流量的分組由于緩存容量有限而被強(qiáng)制丟棄這1問(wèn)題,然而如果路由器緩存容量過(guò)大時(shí),擁塞只會(huì)變得更壞,而不是更好。
近年來(lái),互聯(lián)網(wǎng)的主營(yíng)業(yè)務(wù)在逐步發(fā)生著變化和轉(zhuǎn)移。傳統(tǒng)的WWW網(wǎng)頁(yè)瀏覽、FTP文件傳輸1類(lèi)的非時(shí)延敏感的網(wǎng)絡(luò)應(yīng)用己經(jīng)不能滿(mǎn)足人們的需求,各類(lèi)視頻點(diǎn)播VOD、音頻VOIP和實(shí)時(shí)監(jiān)控等實(shí)時(shí)多媒體網(wǎng)絡(luò)應(yīng)用飛速增長(zhǎng)。新興業(yè)務(wù)流的服務(wù)質(zhì)量QoS對(duì)于網(wǎng)絡(luò)傳輸?shù)难訒r(shí)和抖動(dòng)的控制提出了較高的要求。
假設(shè)交換節(jié)點(diǎn)的CPU處理能力不受限(即不存在處理延時(shí)),那么網(wǎng)絡(luò)的延時(shí)主要由傳輸延時(shí)和排隊(duì)延時(shí)兩個(gè)部分構(gòu)成。傳輸延時(shí)依賴(lài)于通信雙方的物理連接距離和傳輸介質(zhì),1般來(lái)說(shuō)比較固定。路由器上的排隊(duì)延時(shí)則與其緩存區(qū)的隊(duì)列長(zhǎng)度有關(guān)。因此,如何使用有效的排隊(duì)算法對(duì)隊(duì)列的長(zhǎng)度進(jìn)行控制并降低隊(duì)列長(zhǎng)度的變化幅度和范圍,是控制延時(shí)和抖動(dòng)問(wèn)題的關(guān)鍵。
主動(dòng)隊(duì)列管理(Active Queue Management, AQM)就是IP層擁塞控制和資源管理技術(shù)之1。這些算法控制路由器緩存區(qū)的隊(duì)列長(zhǎng)度,并在1定程度上對(duì)可能出現(xiàn)的擁塞進(jìn)行檢測(cè)和預(yù)防,而不僅僅是在出現(xiàn)擁塞時(shí)進(jìn)行被動(dòng)的丟包,這正是主動(dòng)隊(duì)列管理的含義。
本文主要做的工作是對(duì)1些經(jīng)典的AQM算法進(jìn)行比較;解釋了AQM算法是如何在NS 中完全實(shí)現(xiàn)的,并通過(guò)分析RED算法和SRED算法基于NS的C++代碼實(shí)現(xiàn),來(lái)解釋1個(gè)算法是如何在工程上實(shí)現(xiàn)的;最后在NS的仿真平臺(tái)上,進(jìn)行了4種典型的網(wǎng)絡(luò)環(huán)境下RED算法和SRED算法的性能測(cè)試,并分析了測(cè)試結(jié)果。
【基于NS的路由器隊(duì)列管理機(jī)制性能分析】相關(guān)文章:
1.基于履帶車(chē)輛穩(wěn)態(tài)轉(zhuǎn)向性能分析與試驗(yàn)論文
3.基于短波車(chē)載三環(huán)天線(xiàn)的通信性能分析論文
6.開(kāi)發(fā)基于路由器VR功能的寬帶應(yīng)用