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

📄 dsdv.tcl

📁 destination sequence distance vector
💻 TCL
字号:
# A 3-node example for ad-hoc simulation with DSDV# Define optionsset val(chan)		Channel/WirelessChannel		;# channel typeset val(prop)		Propagation/TwoRayGround	;# radio-propagation modelset val(netif)		Phy/WirelessPhy			;# network interface typeset val(mac)		Mac/802_11			;# MAC typeset val(ifq)		Queue/DropTail/PriQueue		;# interface queue typeset val(ll)		LL				;# link layer typeset val(ant)		Antenna/OmniAntenna		;# antenna modelset val(ifqlen)		50				;# max packet in ifqset val(nn)		3				;# number of mobilenodesset val(rp)		DSDV				;# routing protocolset val(x)		500				;# X dimension of topographyset val(y)		400				;# Y dimension of topographyset val(stop) 		150				;# time of simulation endset ns			[new Simulator]set tracefd		[open simple.tr w]set windowVsTime2	[open win.tr w]set namtrace		[open simwrls.nam w]$ns trace-all $tracefd$ns namtrace-all-wireless $namtrace $val(x) $val(y)# set up topography objectset topo [new Topography]$topo load_flatgrid $val(x) $val(y)create-god $val(nn)## Create nn mobilenodes [$val(nn)] and attach them to the channel.## configure the nodes	$ns node-config -adhocRouting $val(rp) \			-llType $val(ll) \			-macType $val(mac) \			-ifqType $val(ifq) \			-ifqLen $val(ifqlen) \			-antType $val(ant) \			-propType $val(prop) \			-phyType $val(netif) \			-channelType $val(chan) \			-topoInstance $topo \			-agentTrace ON \			-routerTrace ON \			-macTrace OFF \			-movementTrace ONfor {set i 0} {$i < $val(nn)} {incr i} {	set node_($i) [$ns node]}# Provide initial location of mobilenodes$node_(0) set X_ 5.0$node_(0) set Y_ 5.0$node_(0) set Z_ 0.0$node_(1) set X_ 490.0$node_(1) set Y_ 285.0$node_(1) set Z_ 0.0$node_(2) set X_ 150.0$node_(2) set Y_ 240.0$node_(2) set Z_ 0.0# Generation of movements$ns at 10.0 "$node_(0) setdest 250.0 250.0 3.0"$ns at 15.0 "$node_(1) setdest 45.0 285.0 5.0"$ns at 110.0 "$node_(0) setdest 480.0 300.0 5.0"# Set a TCP connection between node_(0) and node_(1)set tcp [new Agent/TCP/Newreno]$tcp set class_ 2set sink [new Agent/TCPSink]$ns attach-agent $node_(0) $tcp$ns attach-agent $node_(1) $sink$ns connect $tcp $sinkset ftp [new Application/FTP]$ftp attach-agent $tcp$ns at 10.0 "$ftp start"# Printing the window sizeproc plotWindow {tcpSource file} {global nsset time 0.01set now [$ns now]set cwnd [$tcpSource set cwnd_]puts $file "$now $cwnd"$ns at [expr $now+$time] "plotWindow $tcpSource $file" }$ns at 10.1 "plotWindow $tcp $windowVsTime2"# Define node intitial position in namfor {set i 0} {$i < $val(nn)} {incr i} {# 30 defines the node size for nam$ns initial_node_pos $node_($i) 30}# Telling nodes when the simulation endsfor {set i 0} {$i < $val(nn)} {incr i} {	$ns at $val(stop) "$node_($i) reset";}# ending nam and the simulation$ns at $val(stop) "$ns nam-end-wireless $val(stop)"$ns at $val(stop) "stop"$ns at 150.01 "puts \"end simulation\" ; $ns halt"proc stop {} {	global ns tracefd namtrace	$ns flush-trace	close $tracefd	close $namtrace}$ns run

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -