tcp與udp模擬實驗 - kun shan...

Post on 16-Jul-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

TCP與UDP模擬實驗

Rung-Shiang Cheng (程榮祥)Department of Computer and Communication, Kun Shan University

rscheng@mail.ksu.edu.tw

模擬程式(TCL Script)的基本架構

產生模擬物件 (new Simulator)

定義執行程序及相關變數

設定網路拓樸、撰寫模擬劇本

執行網路模擬 (run)

2

建立UDP連線並產生CBR流量

TCL script: Topology

ps.在此稱UDP"連線"只是方便說明,實際上UDP是connection-less

模擬結果

在NS-2中,UDP Agents的程式碼是放在"ns-allinone-2.31/ns-2.31/apps/udp.{cc, h}"這兩個C++原檔中

Application Layer可透過sendmsg()這個C++ function來取存UDP Agent

Mmaximum segment size (MSS) 的預設值為1000 byte

– Agent/UDP set packetSize_ 1000

建立TCP連線並產生FTP流量

TCL script:Topology

模擬結果

記錄封包傳送的過程

在模擬程式中加入下程式碼 (範例檔案名稱: tcp_fid.tcl)

模擬結果: out.tr記錄檔的部份內容

記錄檔格式

10

AWK資料處理語言

AWK簡介

– Pattern scanning and processing language

• Linux大多取名為 gawk

– 可以直接指定要處理的動作,或將欲處理的動作寫在一個命令稿中

AWK命令格式

AWK資料處理語言-簡單的範例

編輯一個文字檔,輸入1, 2, 3, 4, 5等數字:

AWK執行結果:

AWK Script: 計算End-to-End Delay的範例(1/2)

AWK Script: 計算End-to-End Delay的範例(2/2)

End-to-End Delay量測結果

AWK程式部份輸出結果

格式: packet_id, start, end, one-way-delay

將模擬結果輸出--製作可以給gnuplot使用的檔案

修改AWK程式,將輸出的欄位格式改為類似x y這樣子的格式:

底下為修改過後的AWK程式之輸出結果:

使用導向的方式將結果存到檔案中:

使用gnuplot將模擬結果輸出

Gnuplot的執行畫面

TCP的end-to-end (one-way) delay

使用gnuplot將模擬結果輸出--輸出到檔案

AWK Script: 統計傳送以及遺失封包的個數

程式初始化

統計從node 0送出多少封包

統計flow 1掉封包的個數

統計傳送以及遺失封包的個數

AWK程式輸出結果

FTP送出了548個封包,但其中53個封包丟掉了

記錄封包傳送的過程

在模擬程式中加入下程式碼 (範例檔案名稱: udp_fid.tcl)

將UDP Agent的fid_參數(Flow ID)設為1

AWK Script: 計算Throughput –以CBR為例

分析計算結果

TCL Script程式碼

– 500 × 8 bits / 0.005 = 800 Kbps

AWK程式的計算結果

利用xgraph將計算結果以圖形方式輸出

請在命令列輸入下列指令

Xgraph的輸出結果

top related