實驗目的:
1.學習量測以UDP為傳輸協定的應用程式的
Throughput(吞吐量) = 接收的封包大小總和 除以 所花費的時間
Packet delay(封包延遲) = 到達時間 - 傳送時間
Packet jitter(抖動率) = 封包延遲時間差 除以 封包序號差
Packet loss rate(封包遺失率) = (傳送封包總數 - 接收到的封包總數) / 傳送封包總數
2.學習量測以TCP為傳輸協定的應用程式的Throughput(吞吐量)
實驗步驟:
- 有線網路
模擬網路環境 (模擬圖)
相關環境參數:
n0-n3 是FTP連線 ,n1-n3是CBR連線 傳送速度=1Mbps ,packet size = 1Kbytes
n0-n2 , n1-n2 頻寬都是2Mbps 傳遞延遲時間是10ms
n2-n3 限制頻寬為1.7Mbps ,傳遞延遲20ms , 最大佇列長度(queue limit) =10 packets
STEP1 執行: $ns wired-measure.tcl
這時後會產生:
1. out.nam (就是上面那張模擬圖啦)
2. out.tr 模擬過程紀錄檔(紀錄封包傳送流程)
3. rd_udp 把接收封包資訊記錄到檔案中
4. sd_udp 紀錄所送出封包資訊
5. tcp_sink接收紀錄檔
STEP2 計算CBR封包遺失率
由sd_udp檔案知道有550筆記錄,一筆記錄代表一個封包,rd_udp有542筆記錄
所以封包遺失率 = (550-542)/550 = 1.45%
STEP3 求得封包延遲時間
意思是 把rd_udp檔案中的第一欄(封包序號)和第四欄(封包延遲時間)列印到cbr_delay檔案中
進入gnuplot殼底下
使用gnuplot畫出cbr_delay (Gnuplot使用手冊)
gnuplot> plot "cbr_delay" title 'cbr: packet delay' with linespoints 1
gnuplot> set xlabel 'packet sequence'
gnuplot> set ylabel 'delay time (sec)'
gnuplot> set terminal gif
gnuplot> set output "cbr_delay.gif"
gnuplot> replot
cbr_delay.gif圖
STEP 4 求抖動率
awk 分析程式(measure-jitter.awk)執行
使用gnuplot畫出cbr_jitter.gif
cbr_jitter.gif
STEP5 求吞吐量
Perl分析UDP吞吐量程式(measure-throughput.pl)
執行&結果
STEP6 計算TCP的吞吐量
Perl分析TCP吞吐量程式(measure-TCP.pl)
執行與結果
沒有留言:
張貼留言
try comments