版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗二、TCPNewReno與SACK運行機制對比分析實驗目的:學習TCP的擁塞控制機制并了解TCPNewReno和TCPSACK協(xié)議的運行機制以及它們各自的特點。實驗環(huán)境:Ubuntu+NS22.35實驗內容:分別作出Reno、NewReno、SACK這3個TCP版本的仿真圖,并根據圖形對它們的運行機制進行對比分析。實驗步驟:接下來的實驗要觀察Reno、NewReno、SACK這3個TCP版本仿真實驗的網絡結構圖:實驗網絡拓撲結構和鏈路參數(shù)配置(FTP代表端施加恒定的流CBR)FTPsource麗SinkR1TCL程序代碼(參見附錄lab12.tcl)執(zhí)行方法和結果($為shell的提示符號)3.1觀察Reno版本的congestionwindow的變化情況:R1Tahoe算法是TCP的早期版本。它的核心思想是:讓cwnd以指數(shù)增長方式迅速逼進可用信道容量,然后慢慢接近均衡。Tahoe包括3個基本的擁塞控制算法:“慢啟動”、“擁塞避免”和“快速重傳”。慢啟動:避免了連接建立時突發(fā)數(shù)據流對網絡的沖擊。初始設置cwnd為1,并按指數(shù)型方式增長,直至cwnd超過ssthresh。當cwnd>=ssthresh時,Tahoe進入擁塞避免階段。擁塞避免:限制傳輸過程中無限制的速率增長,避免由此可能導致的擁塞。cwnd以線性方式增長。如果發(fā)生超時或者連續(xù)收到3個重復ACK,Tahoe認為發(fā)生了擁塞。對于超時,置ssthresh為當前擁塞窗口的一半,cwnd=1,轉入慢啟動。如果收到3個連續(xù)ACK,則Tahoe進入快速重傳階段??焖僦貍鳎焊鶕?個重復的應答報文來判斷丟包,減少了超時重傳的發(fā)生,加快了源端對擁塞的響應,使得擁塞能快速消除。立即重傳丟失的分組,同時置ssthresh為當前擁塞窗口的一半,cwnd=1,轉入慢啟動。Tahoe算法存在著不足之處:在收到3個重復ACK或在超時的情況下,Tahoe置cwnd為
1,然后進入慢啟動階段。這一方面會引起網絡的激烈振蕩,另一方面大大降低了網絡的利用率。在這個例子里,我們將隊列的大小設為15個封包。粗略估計,當路徑上的封包超過16.4個時,就會開始掉包?,F(xiàn)在傳送端很容易會因為傳送得太快而產生多封包遺失,這種情形在TCPTahoe/Reno中很容易導致Timeout發(fā)生。$nslab12.tclReno結果為:Onpath:16.44packetsaveragethroughput:924.8kbps使用averagethroughput:924.8kbps使用gnuplot觀察cwnd的變化值:SStartxwin.bat$gnuplotGnuplot>setGnuplot>setGnuplot>setGnuplot>setGnuplot>settitlexlabelylabel“Reno”“time”“cwnd”terminalgifoutput“cwnd-Reno.gif”Gnuplot>plot“cwnd-Reno.tr”withlinespoints你可以選擇在命令行中一步一步執(zhí)行得出結果,也可以創(chuàng)建一個文檔,將代碼拷入到文檔中,然后通過Gnuplot這個文檔得到結果。之后打開cwnd-Reno.gif圖片如圖1所示:cwnd-Reno.giFDash主頁640x480像素8.5KB100%012345678910timeReno640x480像素8.5KB100%012345678910timeReno1020第2張,共6張為了觀察R0到R1之間這條鏈路的使用情形,在lab12.tcl腳本中還使用了awk程序來記錄title"Reno”xlabel"time”ylabel"queuelength”terminalgifoutput"queue_length_Reno.gif”queue_length_Reno.gif"下一張Qra4)))22:27{>Dash主頁Hi1614121086title"Reno”xlabel"time”ylabel"queuelength”terminalgifoutput"queue_length_Reno.gif”queue_length_Reno.gif"下一張Qra4)))22:27{>Dash主頁Hi16141210864Reno"queue_length-Reno.tr"2-oIVTI—I—I—I—I—I—I—I—I—012345678910time64。*480像素11.7KB100%Gnuplot>setGnuplot>setGnuplot>setGnuplot>setGnuplot>setGnuplot>plot"queue_length_Reno.tr”withlinespoints1settitle"Reno”setxlabel"time”setylabel"queuelength”setterminalgifsetoutput"queue_length_Reno.gifplot"queue_length_Reno.tr”withlinespoints1圖23.2觀察NewReno版本的congestionwindow的變化情況:NewReno是修改自Reno的TCP版本。這個版本中主要修改了TCPReno的Fast-Recovery算法。NewReno在收到PartialACK時,并不會立刻結束Fast-Recovery,相反,NewReno的傳送端會持續(xù)地重送PartialACK之后的封包,直到將所有遺失的封包重送后才會結束Fast-recovery,這使得NewReno的傳送端在網絡有大量封包遺失時不需等待Timeout就能更正此錯誤,減少大量封包遺失對傳輸效果所造成的影響。NewReno大約每一個RTT時間可重送一個遺失的封包,在Fast-recovery階段,若允許的話,傳送端可以繼續(xù)送出新的封包,
以增加Link的使用率。$nslab12.tclNewreno結果為:Onpath:16.44packetsaveragethroughput:947.2kbps使用gnuplot觀察cwnd的變化值:SStartxwin.bat$gnuplotGnuplot>setGnuplot>setGnuplot>setGnuplot>setGnuplot>settitlexlabelylabel“NewReno”“time”“cwnd”terminalgifoutput“cwnd-NewReno.gif”Gnuplot>plot“cwnd-NewReno.tr”withlinespoints1之后打開cwnd-NewReno.gif圖片如圖3所示:15NewRenopi。012345678910time105640?480^^8.7KB100%第1張,共6張使用gnuplot將文件queue_length-Newreno.tr圖形化,得到圖4:queue_length_NewReno.giF姓<上一張>下一張QS0?L--l—'5L而一<l)n2NewRenoII642081L_1IHU-1910640*480像素12.1KB100%time3.3觀察SACK版本的congestionwindow的變化情況:$nslab12.tclSack結果為:Onpath:16.44packetsaveragethroughput:944.0kbps使用gnuplot觀察cwnd的變化值:$Startxwin.bat$gnuplotGnuplot>setGnuplot>setGnuplot>setGnuplot>setGnuplot>settitlexlabelylabel“Sack”“time”“cwnd”terminalgifoutput“cwnd-Sack.gif”Gnuplot>plot“cwnd-Sack.tr”withlinespoints1之后打開cwnd-Sack.gif圖片如圖5所示:Firefox"cwnd-Sack.tr"10Sack網絡瀏覽器2015012345678910time第3張,共6張|g^1^640^480^^第3張,共6張使用gnuplot將文件queue_length-Sack.tr圖形化,得到圖6:圖像(I)潟輯(日查看(V)轉到(G)幫助(H)<上一張>下一張0oo@CLibnSack"queue_length-Sack.tr"第6張,共6張640x480像素第6張,共6張實驗中的問題實驗中,先安裝VMwareWorkstation虛擬機,然后再虛擬機中創(chuàng)建一個Ubuntu操作系統(tǒng),在創(chuàng)建Ubuntu系統(tǒng)過程中,系統(tǒng)在下載數(shù)據包時,有時發(fā)生系統(tǒng)崩潰,導致要重新安裝,安裝成功后,在Ubuntu系統(tǒng)中安裝ns2,因為是第一次安裝,所以先在網上找了一份安裝的文檔,在安裝ns2前,首先要安裝開發(fā)工具VMwareTools,然后還要安裝一些必要的包和編譯器,具體的步驟如下所示:一、VMwareTools安裝二、安裝開發(fā)包和gcc編譯器更新ubuntu系統(tǒng)文件安裝gcc,g++編譯環(huán)境安裝GCC編譯器組件更改gcc和g++的默認版本為4.6.安裝XWindows的開發(fā)包安裝tk和tcl環(huán)境安裝庫文件安裝圖形庫三、開始安裝NS2.35軟件下載解壓NS2.35軟件安裝NS2.35軟件設置全局路徑變量四、驗證(調試NS2.35軟件)驗證ns命令調試NS2.35軟件3.安裝NAM更新NS2軟件安裝交互式繪圖工具五、NS2.35仿真測試在對虛擬機進行設置時,只有安裝好VMwareTools,才能進行文件夾共享。在寫代碼的時候,發(fā)現(xiàn)plot“cwnd-Sack.tr”withlinespoints1中的1,在執(zhí)行gnuplot時,無法生成gif,當我就把1去掉后,就生成了gif,但是具體為什么也不太清楚。在做lab1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄭州美術學院《嵌入式系統(tǒng)與接口技術》2023-2024學年第一學期期末試卷
- 浙江大學《工程圖學》2023-2024學年第一學期期末試卷
- 漳州理工職業(yè)學院《中學政治學科教學技能訓練》2023-2024學年第一學期期末試卷
- 深度學習中特征表征優(yōu)化策略
- 保險業(yè)務創(chuàng)新培訓模板
- AI技術保險創(chuàng)新模板
- 雙十二營銷優(yōu)化
- 專業(yè)基礎-房地產經紀人《專業(yè)基礎》名師預測卷1
- 房地產經紀綜合能力-2019年房地產經紀人協(xié)理《房地產經紀綜合能力》真題匯編
- 2024-2025學年陜西省西安八十三中八年級(上)期末數(shù)學試卷
- 語言規(guī)劃課件
- 綠色簡潔商務匯總報告PPT模板課件
- 下肢皮牽引護理PPT課件(19頁PPT)
- 臺資企業(yè)A股上市相關資料
- 電 梯 工 程 預 算 書
- 參會嘉賓簽到表
- 形式發(fā)票格式2 INVOICE
- 2.48低危胸痛患者后繼治療評估流程圖
- 人力資源管理之績效考核 一、什么是績效 所謂績效簡單的講就是對
- 山東省醫(yī)院目錄
- 廢品管理流程圖
評論
0/150
提交評論