⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v-scenario.tcl

📁 对IEEE 802.11e里的分布式信道接入算法EDCA进行改进
💻 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 + -