2008年4月14日 星期一

實驗四 網路效能量測

實驗目的:

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