📄 v-scenario.tcl
字号:
## SCENARIO:## either 10, 20, or 30 terminals (e.g. stations, nodes) arranged# as pairs with bidirectional communication flows between them.# For each pair of nodes the load in one direction is to be 2X# the load in the opposite direction.# # The entire load consists of 1504 byte packets.# Each traffic source at each node is an exponential generator.# [note: this is a very artificial load]# [question: if I give my model 1504 byte packets (including the frame# header) it will also simulate preamble time and PLCP. Does# Opnet do this? Or should I compensate for OpNet by using a# smaller packet size?# [please verify as this could skew the comparitive results]# # The PHY is 11Mb/s with retry limit set to 7.# There is no topology model, meaning no hidden or weak stations.# There is no channel model, meaning all transmission errors are caused# by collisions (transmission attempts).# # There are three traffic classes: Low, Medium, High (L, M, H).# The three classes are meant to split the total load such that a higher# traffic class gets 2X the bandwidth of the next lower TC.# # There are three 30-second time segments in the simulation run.# The total load and its distribution across traffic classes will be:# # segment load stations# # 0-30s 3Mb/s H=6 M=4 L=0 total=10# 30-60s 6Mb/s H=6 M=6 L=8 total=20# 60-90s 9Mb/s H=10 M=10 L=10 total=30## The above works out to inter-arrival time per pkt on the fast sender of:# H M L# 0-30s 27.072ms 36.096ms x# 30-60s 15.792ms 31.584ms 84.224ms# 60-90s 17.547ms 35.093ms 70.187ms## Added hybrid nodes:# First 30 nodes are as per above scenario# Rest use hybrid mode## defaults#set num_nodes 30 ///loulou comments itset num_bss_nodes 0set endtime 93.0Phy/WirelessPhy set CPThresh_ 99999Mac/802_11 set bandwidth_ 11MbPLevels set max_plevels_ 4PLevels set plevels_ 4MAC_MIB set RTSThreshold_ 3000MAC_MIB set ShortRetryLimit_ 7MAC_MIB set LongRetryLimit_ 4PHY_MIB set MinimumBandwidth_ 1MbPHY_MIB set SlotTime_ 0.000020PHY_MIB set SIFS_ 0.000010PHY_MIB set CWMin_0 7PHY_MIB set CWMin_1 31PHY_MIB set CWMin_2 63PHY_MIB set CWMin_3 127PHY_MIB set CWOffset_0 0PHY_MIB set CWOffset_1 0PHY_MIB set CWOffset_2 7PHY_MIB set CWOffset_3 15PHY_MIB set CWMax_0 1023PHY_MIB set CWMax_1 1023PHY_MIB set CWMax_2 1023PHY_MIB set CWMax_3 1023LL set delay_ 0set val(ifqlen) 166proc create_scenario { } { global ns_ node_ global num_nodes for {set i 0} {$i < 6} {incr i} { set time_($i) 3.0; set period_($i) 27.072 } for { } {$i < 6} {incr i} { set time_($i) 33.0; set period_($i) 15.792 } for { } {$i < 10} {incr i} { set time_($i) 63.0; set period_($i) 17.547 } for { } {$i < 14} {incr i} { set time_($i) 3.0; set period_($i) 36.096 } for { } {$i < 16} {incr i} { set time_($i) 33.0; set period_($i) 31.584 } for { } {$i < 20} {incr i} { set time_($i) 63.0; set period_($i) 35.093 } for { } {$i < 20} {incr i} { set time_($i) 3.0; set period_($i) 0 } for { } {$i < 28} {incr i} { set time_($i) 33.0; set period_($i) 84.224 } for { } {$i < 30} {incr i} { set time_($i) 63.0; set period_($i) 70.187 } for {set i 1} {$i < 30} {incr i 2} { set period_($i) [expr 2 * $period_($i)] } for {set i 0} {$i < 30} {incr i} { set src_node $node_($i) set sink_node $node_([expr $i + 1 - (2 * ($i % 2))]) set src [new Agent/UDP] $src set class_ [expr 10 + $i] $src set prio_ [expr $i / 10] $src set packetSize_ 1476 $ns_ attach-agent $src_node $src set sink [new Agent/UDP] $ns_ attach-agent $sink_node $sink $ns_ connect $src $sink set generator_($i) [new Application/Traffic/CBR] $generator_($i) set random_ 42 $generator_($i) set packetSize_ 1476 $generator_($i) set interval_ [expr $period_($i)]ms $generator_($i) attach-agent $src $ns_ at $time_($i) "$generator_($i) start" } for {set i 0} {$i < 6} {incr i 2} { $ns_ at 33.0 "$generator_($i) set interval_ 15.792ms" $ns_ at 63.0 "$generator_($i) set interval_ 17.547ms" } for { } {$i < 6} {incr i 2} { $ns_ at 63.0 "$generator_($i) set interval_ 17.547ms" } for { } {$i < 10} {incr i 2} { } for { } {$i < 14} {incr i 2} { $ns_ at 33.0 "$generator_($i) set interval_ 31.584ms" $ns_ at 63.0 "$generator_($i) set interval_ 35.093ms" } for { } {$i < 16} {incr i 2} { $ns_ at 63.0 "$generator_($i) set interval_ 35.093ms" } for { } {$i < 20} {incr i 2} { } for { } {$i < 20} {incr i 2} { $ns_ at 33.0 "$generator_($i) set interval_ 84.224ms" $ns_ at 63.0 "$generator_($i) set interval_ 70.187ms" } for { } {$i < 28} {incr i 2} { $ns_ at 63.0 "$generator_($i) set interval_ 70.187ms" } for { } {$i < 30} {incr i 2} { } for {set i 1} {$i < 6} {incr i 2} { $ns_ at 33.0 "$generator_($i) set interval_ 31.584ms" $ns_ at 63.0 "$generator_($i) set interval_ 35.094ms" } for { } {$i < 6} {incr i 2} { $ns_ at 63.0 "$generator_($i) set interval_ 35.094ms" } for { } {$i < 10} {incr i 2} { } for { } {$i < 14} {incr i 2} { $ns_ at 33.0 "$generator_($i) set interval_ 63.168ms" $ns_ at 63.0 "$generator_($i) set interval_ 70.187ms" } for { } {$i < 16} {incr i 2} { $ns_ at 63.0 "$generator_($i) set interval_ 70.187ms" } for { } {$i < 20} {incr i 2} { } for { } {$i < 20} {incr i 2} { $ns_ at 33.0 "$generator_($i) set interval_ 168.448ms" $ns_ at 63.0 "$generator_($i) set interval_ 140.374ms" } for { } {$i < 28} {incr i 2} { $ns_ at 63.0 "$generator_($i) set interval_ 140.374ms" } for { } {$i < 30} {incr i 2} { } # hybrid nodes for {set i 30} {$i < $num_nodes} {incr i 2} { set src_node $node_($i) set sink_node $node_([expr $i + 1]) $src_node setMac CWMin 0 $src_node setMac difs -1 set src [new Agent/UDP] $src set class_ 40 $src set prio_ 0 $src set packetSize_ 1476 $ns_ attach-agent $src_node $src set sink [new Agent/UDP] $ns_ attach-agent $sink_node $sink $ns_ connect $src $sink set generator_($i) [new Application/Traffic/CBR] $generator_($i) set random_ 42 $generator_($i) set packetSize_ 1476 $generator_($i) set interval_ 30.0ms $generator_($i) attach-agent $src $ns_ at 3.0 "$generator_($i) start" }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -