24
TCPUDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer and Communication, Kun Shan University [email protected]

TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

TCP與UDP模擬實驗

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

[email protected]

Page 2: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

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

產生模擬物件 (new Simulator)

定義執行程序及相關變數

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

執行網路模擬 (run)

2

Page 3: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

建立UDP連線並產生CBR流量

TCL script: Topology

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

Page 4: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

模擬結果

Page 5: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

在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

Page 6: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

建立TCP連線並產生FTP流量

TCL script:Topology

Page 7: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

模擬結果

Page 8: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

記錄封包傳送的過程

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

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

Page 9: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

記錄檔格式

Page 10: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

10

AWK資料處理語言

AWK簡介

– Pattern scanning and processing language

• Linux大多取名為 gawk

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

AWK命令格式

Page 11: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

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

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

AWK執行結果:

Page 12: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

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

Page 13: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

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

Page 14: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

End-to-End Delay量測結果

AWK程式部份輸出結果

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

Page 15: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

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

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

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

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

Page 16: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

使用gnuplot將模擬結果輸出

Gnuplot的執行畫面

Page 17: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

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

Page 18: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

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

Page 19: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

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

程式初始化

統計從node 0送出多少封包

統計flow 1掉封包的個數

Page 20: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

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

AWK程式輸出結果

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

Page 21: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

記錄封包傳送的過程

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

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

Page 22: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

AWK Script: 計算Throughput –以CBR為例

Page 23: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

分析計算結果

TCL Script程式碼

– 500 × 8 bits / 0.005 = 800 Kbps

AWK程式的計算結果

Page 24: TCP與UDP模擬實驗 - Kun Shan Universityteachers.ksu.edu.tw/rscheng/simulation/TCP-UDP-100307.pdf · TCP與UDP模擬實驗 Rung-Shiang Cheng (程榮祥) Department of Computer

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

請在命令列輸入下列指令

Xgraph的輸出結果