NS2 - Basic Ming-Feng Yang.

Slides:



Advertisements
Similar presentations
平面构成 第六章 平面构成形式与法则 — 破规与变异. 第七章 平面构成形式与法则 — 破规与变异 破规与变异构成的形式、有下列四类: 一、特异构成 特异构成。其表现特征是,在普遍相同性质的事物 当中,有个别异质性的事物,便会立即显现出来。
Advertisements

第五章 话语的语用意义(上) 主讲人:周明强.
从永磁体谈起.
热爱党、热爱祖国、热爱人民 泉州九中初二年(10)班主题班会.
會計資訊系統 專章A.
第三章 調整與編表.
第一章 概 述.
电磁铁.
计算机网络教程(第 2 版) 第 7 章 网络互连 课件制作人:谢希仁.
主办:泰兴市质量强市领导小组办公室 承办:泰 兴 市 市 场 监 督 管 理 局.
Network Simulator.
NS-2.
Ns2 一個常用的網路模擬器 台灣科技大學資管系資料庫實驗室 洪振洲.
第五单元 群星闪耀 复法指导 阅读与欣赏 单元重点 1.了解传记文的基本体例与特征。
史上最賣座動漫-海賊王 3/19/ 張依琳.
進階網路系統 作業 題目: 組別:第二組 組員: 蘇俊吉 盧柏崴 黃明煜 李德偉
计算机网络 暨南大学计算机科学系 学年 第一学期.
第1章 概述.
提升课堂质量 助推教师成长 促进教学改革 “一师一优课,一课一名师”活动总结 河南省实验小学.
作者:陳建民 指導教授:蘇民揚 教授 報告者 : 李承駿
路由器繞送協定- 第三章 路由器動態繞送服務
AODV路由协议的正确性研究 蔡雪莲.
校園網路管理實電務 電子計算機中心 謝進利.
《生活与哲学》第一轮复习 第七课唯物辩证法的联系观.
Author: Shigeki Takeuchi,Hiroyuki Koga, Katsuyoshi Iida,
計算機網路實驗- 使用NS2模擬多媒體通訊與無線網路(實驗四)
刘世华 导师:方路平 浙江工业大学软件学院 2018年9月20日星期四
網路概論.
基本程式範例.
Chapter 4 Network Layer (網路層).
通訊協定 OSI分層模式 與 TCP/IP協定
Chapter 1 用VC++撰寫程式 Text book: Ivor Horton.
網路技術管理進階班---網路連結 講師 : 陳鴻彬 國立東華大學 電子計算機中心.
亂數函數(Random-Number Function)
Internet Protocol (IP)
TCP/IP Protocol Suite TCP/IP協定 第二組 投影片製作by簡嘉宏 綦凱宏 林睿敏 滕孟哲.
第4章 网络互联与广域网 4.1 网络互联概述 4.2 网络互联设备 4.3 广域网 4.4 ISDN 4.5 DDN
在NS-2上模擬多個FTP連線,觀察頻寬的變化
路由基础.
NS2 教學.
什麼是網際網路? 面臨攻擊的網路 網路邊際 總結 網路核心
NS2 – TCP/IP Simulation How-Wei Wu.
第5讲 网络层 本讲目的: 概述: 理解网络层服务原理: 因特网的实现实例 网络层的服务 路由选择原理 分层的路由选择 IP协议
第十三章 TCP/IP 與 Internet 網路連結技術
Advisor : Prof. Frank Y.S. Lin Presented by Yen-Yi, Hsu
建立一 function s (type) 可以用來繪製cyclic-harmonic curves
Ch20. 計算器 (Mac 版本).
4-15 WDT HT66F50.
以ns建立專業的網路模擬環境 Mar 網路通訊 蔡昌憲、林盈達.
领导艺术与方法 适合对象:课长级以上人员 人力资源部 李晓红 2006/6/12
NS2 (Network Simulator - version 2)
Source: Journal of Network and Computer Applications, Vol. 125, No
Speaker: Wang,Song-Ferng Advisor: Dr. Ho-Ting Wu 2015/7/6
GUI Title and GUI Status
分裂对象模型 C++ otcl.
「與校長有約」 with普二速
Toward realistic MPEG4 video transmission simulations
美麗的西子湖.
Distance Vector vs Link State
2.1 高職與私立學校註冊操作說明 (2015/9/15上線)
Distance Vector vs Link State Routing Protocols
全台灣最美的日出好美…好美… 這就是傳說中的潑墨二寮,耳聞她的日出有如國畫般 所以稱為潑墨二寮
教育部補助「行動寬頻尖端技術跨校教學聯盟第二期計畫 -- 行動寬頻網路與應用 -- 小細胞基站聯盟中心」 課程模組: 「LTE-Small Cell 核心網路架構及服務」 實驗二: QoS網路效能指標 (Delay, PLR, Throughput) 的量測 計畫主持人:許蒼嶺 (國立中山大學.
多姿多彩的世界.
NS3 & NS2 (network simulator)
知识点4---向量的线性相关性 1. 线性相关与线性无关 线性相关性的性质 2..
擷取封包 Files  Select Settings 擷取封包 擷取封包 擷取封包.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
第四章 買賣業會計.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Presentation transcript:

NS2 - Basic Ming-Feng Yang

Outline NS2 Elements Example 1-1 Example 1-2 Example 2-1 Example 2-2 Example 3 - Static Routing Example 4 - Dynamic Routing

NS2 Elements set ns [new Simulator] set node_ [$ns node] 目的在創造一個 NS2 的模擬物件,主要的功能為初始化封包格式並建立一個 Scheduler set node_ [$ns node] 建立一個名稱叫做 node_ 的 Node for {set i 0} {$i < 30} {incr i} { set n($i) [$ns node] } #利用 TCL 迴圈,建立 30 個 Nodes

NS2 Elements $ns simplex-link < n0 > < n1 > < bandwidth > < delay > < queue_type > 建立一條 Node n0 到 n1 間的 physical Link,並設定頻寬、delay 時間和 queue 型態(DropTail、FQ、SFQ、DRR、RED、CBQ、CBQ/WRR …) $ns simplex-link $n0 $n1 2Mb 20ms DropTail # 在 n0 及 n1 間建立一個頻寬為 2Mb,DropTail queue 的 Link $ns duplex-link < n0 > < n1 > < bandwidth > < delay > < queue_type > 同前範例,但為建立一條 duplex link 的Link

NS2 Elements $ns attache-agent < node > < agent > 將一個 Agent 結合到一個 Node 上,Agent 表示一個 Node 上所用的 protocol set tcp [new Agent/TCP] # 建立一個TCP的Agent $ns attach-agent $n0 $tcp # 將TCP Agent 結合到 Node n0 set ftp [new Application/FTP] $ftp attach-agent $tcp # 再建立 Application protocol(FTP)於 TCP 上,以產生Traffic

NS2 Elements $ns connect < agent1 > < agent2 > 在兩個 Agent 中建立一條 logical 的連結,agent1 和 agent2 之間可能相隔好幾個點

NS2 Elements $ns trace-all < tracefile > 將 NS2的模擬結果寫至 < tracefile > 檔案中 此指令應置於 Node 和 Link 的建立之前,以避免模擬結果無法完整寫回檔案 set nf [open out.tr w] $ns trace-all $nf $ns namtrace-all < tracefile > 同樣將 NS2 的模擬結果寫至 < tracefile > 檔案中,但可以用於 NAM 來顯示模擬動畫(格式與 trace-all 不同)

NS2 Elements $ns at < time > < event > $ns run $ns at 4.5 "$ftp start“ # 在4.5秒的時候執行 ftp $ns at 5.0 "finish“ # 在5秒時候執行自行定義的 finish 程序 $ns run 開始執行 scheduler

Example 1-1

Example 1-1 set ns [new Simulator] # 建立一個 NS2 模擬的物件 set nf [open out.nam w] $ns namtrace-all $nf # 建立一個 NAM 所能執行的 trace file set n0 [$ns node] set n1 [$ns node] # 建立二個 Nodes $ns duplex-link $n0 $n1 1Mb 10ms DropTail # 建立Node 和 Node 之間的Link

Example 1-1 proc finish {} { global ns nf $ns flush-trace close $nf ;# 關閉 NAM trace file exec nam out.nam & ;# 將 trace file 代入 NAM 中執行 exit 0 } # 定義一個叫做 “finish” 的程序 $ns at 5.0 “finish” # 在5秒時候呼叫 “finish” 程序來結束 NS2 的模擬 $ns run # 開始執行模擬

Example 1-2

Example 1-2 set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 set null0 [new Agent/Null] $ns attach-agent $n1 $null0 $ns connect $udp0 $null0 # 建立一個 UDP Agent 和一個 NULL Agent 並作連結

Example 1-2 set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 $cbr0 set packet_size_ 1000 $cbr0 set rate_ 1mb # 在 UDP Agent 加上一個 CBR Agent $ns at 0.5 “$cbr0 start” $ns at 4.5 “$cbr0 stop” # CBR Agent 排程

Example 2-1

Example 2-1 set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] $ns duplex-link $n0 $n2 1Mb 10ms DropTail $ns duplex-link $n1 $n2 1Mb 10ms DropTail $ns duplex-link $n3 $n2 1Mb 10ms DropTail # 建立 Node 和 Node 之間的Links

Example 2-1 $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right # 設定在 NAM 中每個 Node 所在的相關位置

Example 2-2

Example 2-2

Example 2-2 $ns color 1 Blue $ns color 2 Red # 定義 NAM 中 Traffic 的顏色 $ns duplex-link-op $n2 $n3 queuePos 0.5 # 設定 Node 2 與 Node 3 之間 Link queue 的位置

Example 2-2 set tcp [new Agent/TCP] $ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n3 $sink $ns connect $tcp $sink $tcp set fid_ 1 # 建立一個 TCP Agent 和一個 TCPSink Agent 並作連結 set ftp [new Application/FTP] $ftp attach-agent $tcp #在 TCP Agent 加上一個 FTP Agent

Example 2-2 set udp [new Agent/UDP] $ns attach-agent $n1 $udp set null [new Agent/Null] $ns attach-agent $n3 $null $ns connect $udp $null $udp set fid_ 2 # 建立一個 UDP Agent 和一個 NULL Agent 並作連結 set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp $cbr set packet_size_ 1000 $cbr set rate_ 1mb # 在 UDP Agent 加上一個 CBR Agent

Example 2-2 $ns at 0.1 "$cbr start" $ns at 1.0 "$ftp start" $ns at 4.0 "$ftp stop" $ns at 4.5 "$cbr stop" # CBR&FTP Traffics 排程

Example 3 - Static Routing 10 10 10 10 1 2 5

Example 3 - Static Routing 10 10 10 10 1 2 5

Example 3 - Static Routing 10 10 10 10 1 2 5

Example 3 - Static Routing 10 10 10 10 1 2 5

Example 3 - Static Routing for {set i 0} {$i < 6} {incr i} { set n($i) [$ns node] } # 建立六個 Nodes for {set i 0 } {$i < 6} {incr i} { $ns duplex-link $n($i) $n([expr ($i+1)%6]) 1Mb 10ms DropTail } $ns duplex-link $n(0) $n(4) 1Mb 10ms DropTail # 建立 Node 和 Node 之間的Links $ns cost $n(0) $n(1) 10 $ns cost $n(1) $n(0) 10 $ns cost $n(1) $n(2) 1 $ns cost $n(2) $n(1) 1

Example 3 - Static Routing $ns cost $n(2) $n(3) 5 $ns cost $n(3) $n(2) 5 $ns cost $n(3) $n(4) 2 $ns cost $n(4) $n(3) 2 $ns cost $n(4) $n(5) 10 $ns cost $n(5) $n(4) 10 $ns cost $n(5) $n(0) 10 $ns cost $n(0) $n(5) 10 $ns cost $n(4) $n(0) 10 $ns cost $n(0) $n(4) 10 # 設定每一條 Link 的 cost

Example 3 - Static Routing set udp0 [new Agent/UDP] $ns attach-agent $n(0) $udp0 # 在 Node n(0) 上建立 UDP Agent $udp0 set fid_ 0 # 設定 flow id為 0 $ns color 0 darkgreen # 設定 flow id = 0 的封包顏色

Example 3 - Static Routing set udp1 [new Agent/UDP] $ns attach-agent $n(1) $udp1 # 在 Node n(1) 上建立 UDP Agent $udp1 set fid_ 1 # 設定 flow id為 1 $ns color 1 red # 設定 flow id = 1 的封包顏色 set null4 [new Agent/Null] $ns attach-agent $n(4) $null4 #在 Node n(4) 上建立 NULL Agent

Example 3 - Static Routing $ns connect $udp0 $null4 $ns connect $udp1 $null4 # 連結UDP Agent & NULL Agent set cbr0 [new Application/Traffic/CBR] $cbr0 attach-agent $udp0 # 在node n(0)上產生CBR Traffic set cbr1 [new Application/Traffic/CBR] $cbr1 attach-agent $udp1 # 在node n(1)上產生CBR Traffic

Example 3 - Static Routing $ns at 0.1 "$cbr0 start" $ns at 0.3 "$cbr1 start" # CBR Traffics 排程 $ns rtmodel-at 0.7 down $n(0) $n(4) # 0.7 秒時 Node n(0) 到 Node n(4) 間的 Link 斷掉 $ns rtmodel-at 1 up $n(0) $n(4) # 1 秒時 Node n(0) 到 Node n(4) 間的 Link 恢復

Example 4 - Dynamic Routing 10 10 10 10 1 2 5

Example 4 - Dynamic Routing 10 10 10 10 1 2 5

Example 4 - Dynamic Routing $ns rtproto DV # 告訴 NS2 使用 Distance Vector routing(dynamic routing)