999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種改進的網絡擁塞控制算法及仿真實現

2013-06-22 10:01:28張宗福
計算機與網絡 2013年7期

張宗福

(廣東江門職業技術學院 廣東江門 529090)

1 引言

網絡擁塞指的是當網絡中存在過多的數據包時,網絡的性能就會下降。在網絡通信的過程中,網絡擁塞是造成延遲和吞吐量等性能指標下降的主要原因,是影響帶寬和緩存等網絡資源利用率的關鍵因素。網絡擁塞的根本原因是用戶提供給網絡的負載大于網絡資源容量和處理能力;直接原因是INTERNET中的存儲空間不足、帶寬容量不足及處理機處理能力較弱等[1]。網絡擁塞如果不加以控制,往往會導致惡性循環,因此,網絡擁塞已成為制約網絡發展和應用的一個瓶頸,研究如何有效解決擁塞問題對于提高網絡性能有著特別重要的意義。

Jacobson在TCP中增加的擁塞控制算法,提出了著名的“慢啟動”、“擁塞避免”、“快速重傳”和“快速恢復”4個算法。這4個算法是TCP擁塞控制的核心算法,是Internet上主要使用的端系統擁塞控制機制。雖然這些算法在Internet中執行能有效的控制擁塞,避免擁塞崩潰現象的發生,但是實質上這是一種較保守的策略,它并非在所有的網絡條件下都能保證其良好的性能。慢啟動算法中存在的問題尤為突出,比如丟包嚴重、網絡資源利用率低、延遲增加以及傳輸延遲較大等。

文章將對Internet中的TCP/IP擁塞控制進行探討,針對TCP擁塞控制策略中的慢啟動階段存在的問題,提出一種改進的基于歷史連接參數的擁塞控制算法,并對慢啟動算法作了相應的改進,并使用NS2對研究內容進行仿真實現,為有效控制擁塞提供一種新的解決方案。

2 慢啟動及其存在的問題

TCP擁塞控制由慢啟動、擁塞控制、快速重傳和快速恢復4個核心算法組成。這4個基本算法互相聯系,是目前在Internet上主要使用的擁塞控制機制。慢啟動是其中的一個關鍵算法,主要思想是:為了解決擁塞的問題,新建立的TCP連接不是一開始就發送大量數據,而是逐步增加每次發送的數據量,也就是說,當建立一個新的TCP連接時,可以把擁塞窗口(cwnd)初始設置為一個數據包的大小,源端按擁塞窗口(cwnd)的大小發送數據,每當接收端收到一個確認信號(ACK),擁塞窗口(cwnd)就會自動增加一個數據包的發送量,這樣擁塞窗口(cwnd)就將隨著回路響應時間(RTT)的增長而呈指數型增長,源端向網絡發送的數據量也將隨之而急劇增加。在慢啟動策略中,要達到每個RTT發送W 個數據包所需要的時間僅為RTT×logW。由于在發生擁塞時,擁塞窗口會減半或降到1,因此慢啟動確保了源端的發送速率最多是鏈路帶寬的2倍。

雖然慢啟動策略在TCP擁塞控制機制中運用能有效地避免擁塞現象,但越來越多的研究表明,這是一種比較保守的策略,并不是在所有的網絡條件下都能保證良好的性能,存在以下3個問題:

①建立新的TCP連接時,在慢啟動階段,由于發送方無法了解到瓶頸鏈路的帶寬,所以在每個回路響應時間(RTT)內都會將擁塞窗口(cwnd)的數量增加一倍,假如慢啟動閾值(ssthresh)比較大,發送方窗口也增加到足夠大時,連接將會丟失大約一半的數據包;

②TCP慢啟動在傳輸數據前,是要先設定好參數,然后按照參數開始傳輸的,取擁塞窗口(cwnd)數為1個數據包大小,取慢啟動閾值(ssthresh)為64個數據包大小,TCP連接在閑置一段時間后,再使用慢啟動算法重新開始通信,當網絡可用帶寬較大時,會造成網絡資源利用率降低及延遲增加;

③雖然TCP給予窗口的擁塞控制機制對于傳輸大批量文件具有良好的適應性,但是當這一機制為萬維網應用等短小數據流服務時性能較差,往往需要幾個RTT時間探測合適的網絡帶寬,傳輸延遲較大[2]。

3 改進的擁塞控制算法

3.1 基本思想

針對慢啟動算法中存在的問題,人們已經提出了很多解決方案,在相關研究的基礎上提出一個基于歷史連接參數和令牌技術的改進算法,通過調整慢啟動階段初始參數的設置來提高TCP的性能[3]。在擁塞控制的慢啟動階段,讓相類似的連接實例共享擁塞控制信息庫,利用一個緩存表把類似的連接實例的相關參數保存下來,如果下次需要建立相類似的連接時,可以使用該表中的歷史連接參數對新的連接進行初始化,避免了重新探測網絡帶寬的過程,減少了傳輸延遲。

但是,往往根據緩存表信息設置的初始窗口(cwnd)會大于一個數據包的大小,在建立連接時,如果在開始進行數據傳輸時不采取相應的措施,容易造成大量的突發數據在很短的時間內注入網絡,加重擁擠程度,為了避免這一情況,可在發送方引入令牌控制的思想,使用RTT/cwnd作為令牌的生成速度,用來調節初始窗口中的數據包在一個RTT時間內均勻發送[4],一直到確認信號(ACK)自計時開始。

3.2 算法實現

基于前面的算法思想,該算法只需要對發送方進行修改,具體算法如下:

①建立一個緩存表,用于存放連接參數(如目標主機地址、cwnd、ssthresh、RTT等),當每一次建立新的連接時,根據歷史記錄,如存在與之匹配的歷史記錄,則從緩存表中取出相應的信息,然后對新的連接的參數進行初始化(RTT,ssthresh值保持不變),cwnd值取決于上一個連接結束前是處于慢啟動階段還是擁塞避免階段,如果是在慢啟動階段,cwnd的值設為原值的1/2,如在擁塞避免階段,cwnd的值設為原值減1;

②發送方在傳輸數據的過程中,如果遇到cwnd值減少,則將當前的擁塞參數保存在緩存中,然后使用如下方法計算并存儲擁塞參數的初始值:t=now-times,cwnds=(1-f(α,t))×cwndc+f(α,t)×cwnds),其中(0≤f(α,q)≤1,0≤α≤1),t是該記錄在緩存中的存儲時間,now是系統當前時間,times是該記錄被存儲在緩存中的時間,cwnds是當前緩存表中保存的擁塞窗口大小,cwndc是當前連接獲得的擁塞窗口大小。值得注意的是擁塞參數保存的時間越長,反映網絡當前狀態的可能性越小,所以,在保存擁塞參數時,必須考慮時間的影響;

③當根據緩存信息設置好初始參數并建立一個新的連接時,初始窗口的大小往往大于一個數據包,為了避免初始窗口中的大量數據包注入網絡,可使用令牌技術控制數據包須在第一個RTT內均勻發送,將突發的數據流轉化為相對平緩傳輸的數據流。令牌機制僅在發送窗口中使用,采用令牌機制時,發送方在發送前先調用申請令牌的函數,獲得發送令牌,每獲得一個令牌就發送一個數據包,令牌的產生速度由RTT/cwnd來確定,這樣就確保了在第一個RTT時間內數據包是按照一定的時間間隔發送的,降低了數據的突發性。

4 使用NS2進行算法的仿真分析

4.1 NS2及其仿真步驟

NS2是一種針對網絡技術的,面向對象的、離散事件驅動的網絡仿真模擬平臺,能夠仿真多種局域網和廣域網性能。NS2仿真分2個層次:①是基于OTcl編程的層次。利用NS已有的網絡元素實現仿真,無需修改NS本身,只需編寫OTcl腳本;②是基于C++和OTcl編程的層次。如果NS中沒有所需的網絡元素,則需要對NS進行擴展,添加所需網絡元素,即添加新的C++和OTcl類,編寫新的OTcl腳本[5]。

進行網絡仿真前,首先分析仿真涉及哪個層次,假設用戶已經完成了對NS的擴展,或者NS所包含的構件已經滿足了要求,那么進行一次仿真的步驟大致如下[6]:

①開始編寫OTcl腳本。首先配置模擬網絡拓撲結構,此時可以確定鏈路的基本特性,如延遲、帶寬和丟失策略等;

②建立協議代理,包括端設備的協議綁定和通信業務量模型的建立;

③配置業務量模型的參數,從而確定網絡上的業務量分布;

④設置Trace對象。NS通過Trace文件來保存整個模擬過程。仿真完后,用戶可以對Trace文件進行分析研究;

⑤編寫其他的輔助過程,設定模擬結束時間,至此OTcl腳本編寫完成;

⑥用NS解釋執行剛才編寫的OTcl腳本;

⑦對Trace文件進行分析,得出有用的數據;

⑧調整配置拓撲結構和業務量模型,重新進行上述模擬過程。

4.2 運用NS2仿真分析

根據上述仿真步驟,運用NS2進行仿真分析如下:

⑴編寫OTcl腳本

配置模擬網絡拓撲結構,對應的拓撲結構圖如圖1所示。

圖1 拓撲結構圖

⑵各時刻進程信息:

時刻與進程信息如下:

⑶演示過程與分析

源端開始向接收端發送報文段,擁塞窗口(cwnd)大小為1時,發送0號分組,當接收到0號ACK后,擁塞窗口(cwnd)增加到2,發送1,2號分組,接收到1,2號ACK后,同理,按指數規律增加擁塞窗口,擁塞窗口(cwnd)大小增加到8后,一直保持在最大值8上。發送完所有38個分組,收到31號ACK后,FTP傳送結束。從以上過程數據可以看出,經過改進后算法,在慢啟動后期,擁塞窗口cwnd越接近慢啟動閾值,ssthresh增長越趨于平緩,最后能平滑地過渡到擁塞避免階段[7],能很好地解決慢啟動階段存在的問題,有效地對網絡擁塞進行控制。

5 結束語

慢啟動算法是網絡擁塞控制中的一種重要的算法,在網絡建立連接或重傳超時的情況下,都會轉入慢啟動階段,慢啟動算法的好壞對于網絡擁塞控制的性能有著直接的影響。一個好的慢啟動算法能夠降低慢啟動階段數據包的丟棄率,提高鏈路的利用率,還能降低數據傳輸的延遲[8]。文章提出的基于歷史連接參數和令牌技術的改進算法,通過調整慢啟動階段初始參數的設置來提高TCP的性能。通過NS2仿真分析也證明了改進的慢啟動算法的有效性。

[1]劉文遠,馮 波,龍承念等.一種新的TCP 擁塞控制慢啟動策略[J].小型微型計算機系統,2005,26(1):23-25.

[2]林 荔.基于擁塞控制和資源調節的DDOS 攻擊防范策略[J].計算機與網絡,2011,37(18):71-73.

[3]王 強,普杰信,劉 偉.TCP 擁塞控制慢啟動策略的研究[J].微電子學與計算機,2007,24(12):210-212.

[4]陳 晶,鄭明春,孟 強.一種基于歷史連接的網絡擁塞控制算法及其性能分析[J].計算機研究與發展,2003,40(10):1470-1475.

[5]劉星宇.TCP 擁塞控制算法的NS 模擬實驗[J].實驗技術與管理,2011,28(9):79-81.

[6]杜玉林,張術平,王 煒.隨機早期檢測算法公平性的改進[J].計算機與網絡,2009,35(3):112-115.

[7]張宗福.無線局域網安全問題及解決方案[J].計算機安全,2011(6):48-51.

[8]黃 敏,張鵬麗,段 焰.基于Petri 網的Internet 擁塞控制慢啟

主站蜘蛛池模板: 国产精品综合色区在线观看| 成人小视频在线观看免费| 精品视频一区在线观看| 激情乱人伦| 亚洲无线观看| 青草视频久久| 亚洲视频在线网| 91视频精品| 国产www网站| 精品日韩亚洲欧美高清a| 亚洲另类色| 成人免费午间影院在线观看| 精品国产黑色丝袜高跟鞋 | 日本午夜三级| 亚洲成人精品久久| 国产理论最新国产精品视频| 日本精品中文字幕在线不卡| 97免费在线观看视频| 成人精品亚洲| 日韩在线欧美在线| 五月天在线网站| 亚洲一区色| 日韩福利在线视频| 无套av在线| 国产精品第页| 欧美一级特黄aaaaaa在线看片| 国产欧美成人不卡视频| 国产乱人免费视频| 亚洲va精品中文字幕| 国产全黄a一级毛片| 亚洲色图欧美激情| 国产成人亚洲无吗淙合青草| 免费无遮挡AV| 欧美a级完整在线观看| 国产精品任我爽爆在线播放6080| 亚洲日本中文综合在线| 亚洲综合激情另类专区| 18禁影院亚洲专区| 成人午夜天| 伊人色婷婷| 中国一级特黄视频| 日韩在线播放欧美字幕| 色窝窝免费一区二区三区 | 91视频精品| 少妇精品网站| 亚洲v日韩v欧美在线观看| 久久香蕉国产线| 免费在线播放毛片| 精品丝袜美腿国产一区| 国产内射在线观看| 久久久久亚洲AV成人人电影软件| h视频在线播放| 欧美日韩国产在线观看一区二区三区 | 日韩福利视频导航| 性色在线视频精品| 亚洲天堂首页| 国产精品浪潮Av| 人人妻人人澡人人爽欧美一区| 四虎成人精品| 国内精品自在欧美一区| 亚洲第一天堂无码专区| 国产精品va| 91久久夜色精品| 在线观看精品国产入口| 色综合成人| 在线免费看黄的网站| 亚洲中文字幕23页在线| 国产精品观看视频免费完整版| 亚洲欧美人成人让影院| AV天堂资源福利在线观看| 伊人AV天堂| 伊人成色综合网| 欧美日韩一区二区三| 成年午夜精品久久精品| 1024国产在线| 亚洲 日韩 激情 无码 中出| 国产门事件在线| 国产在线91在线电影| 日韩精品免费在线视频| 国产欧美在线视频免费| 免费一极毛片| 91久久偷偷做嫩草影院精品|