學習如何測量以UDP為傳輸協定的應用程式之throughput、packet delay、packet jitter和packet loss rate,並且學習如何量測以TCP為傳輸協定的應用程式之throughput。
由於目前我們還無法獨自撰寫TCL檔,於是便使用課本上所附之範例來進行模擬。
example 1 有線網路
首先切換到TCL檔所儲存的目錄底下,輸入「ns wired-measure.tcl」來執行
模擬結束之後會產生tcp_sink、sd_udp和rd_udp三個記錄檔
從sd_udp檔案中,可得知有550筆記錄
從rd_udp檔案中,可得知有542筆記錄,所以總共有8個封包遺失,遺失率為8/550=1.45%
使用「$awk '{print $1, $4 }' rd_udp > cbr_delay」把rd_udp第ㄧ欄(封包序號)和第四欄(封包延遲時間),列印到cbr_delay中
使用gnuplot畫出cbr_delay,輸入「plot "cbr_delay" title 'cbr: packet delay' with linespoints 1」
畫出來的圖
設定X軸跟Y軸,並且存成gif的圖檔
cbr_delay的圖
使用awk分析程式來求得抖動率「$awk -f measure-jitter.awk rd_udp > cbr_jitter」
使用gnuplot畫出cbr_jitter,輸入「plot "cbr_jitter" title 'cbr: packet jitter' with linespoints 1」
畫出來的圖
設定X軸跟Y軸,並且存成gif的圖檔
使用Perl分析UDP throughput(measure-throughput.pl)
使用「perl measure-throughput.pl rd_udp 0.5」每0.5秒去統計這段時間的平均吞吐量,執行結果中的第ㄧ欄是時間,第二欄是這段時間內的平均吞吐量,最後是平均吞吐量(Average rate)和最高吞吐量(Peak rate)
使用Perl分析TCP throughput(measure-TCP.pl)
使用「perl measure-TCP.pl tcp_sink 0.5」去執行
example 2 無線網路
首先切換到TCL檔所儲存的目錄底下,輸入「ns wireless-measure.tcl」來執行,模擬結束之後會產生sd_udp和rd_udp兩個記錄檔
從sd_udp檔案中,可得知有453筆記錄
從rd_udp檔案中,可得知有205筆記錄,所以總共有248個封包遺失,遺失率為248/453=54.74%
使用「$awk '{print $1, $4 }' rd_udp > cbr_delay」把rd_udp第ㄧ欄(封包序號)和第四欄(封包延遲時間),列印到cbr_delay中
使用gnuplot畫出cbr_delay,輸入「plot "cbr_delay" title 'cbr: packet delay' with linespoints 1」,設定X軸跟Y軸,並且存成gif的圖檔
使用awk分析程式來求得抖動率「$awk -f measure-jitter.awk rd_udp > cbr_jitter」,並使用gnuplot畫出cbr_jitter,輸入「plot "cbr_jitter" title 'cbr: packet jitter' with linespoints 1」,設定X軸跟Y軸,並且存成gif的圖檔
使用Perl計算 throughput(measure-throughput.pl rd_udp 1)
目前只是按照課本的步驟來模擬,要達到會自己寫TCL來模擬和使用awk或是perl來計算,還有一段很大的差距。
Friday, March 14, 2008
Subscribe to:
Post Comments (Atom)
1 comment:
Nice blog...
www.yusufyusuf85.blogspot.com
Post a Comment