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

📄 test-suite-wireless-lan-newnode.tcl

📁 这个软件的功能是实现多播协议
💻 TCL
📖 第 1 页 / 共 2 页
字号:
    for {set i 0} {$i < $num_wired_nodes} {incr i} {        set W($i) [$ns_ node [lindex $temp $i]]    }    # setup base stations & wireless nodes    $ns_ node-config -adhocRouting DSDV \                         -llType $opt(ll) \                         -macType $opt(mac) \                         -ifqType $opt(ifq) \                         -ifqLen $opt(ifqlen) \                         -antType $opt(ant) \                         -propType $opt(prop) \                         -phyType $opt(netif) \                         -channel [new $opt(chan)] \                         -topoInstance $topo \		 	 -wiredRouting ON \                        -agentTrace ON \                         -routerTrace OFF \                         -macTrace OFF \                         -movementTrace OFF    set temp {1.0.0 1.0.1 1.0.2 1.0.3}    set BS(0) [$ns_ node [lindex $temp 0]]    set BS(1) [$ns_ node 2.0.0]    $BS(0) random-motion 0    $BS(1) random-motion 0    #provide some co-ord (fixed) to base stations    $BS(0) set X_ 1.0    $BS(0) set Y_ 2.0    $BS(0) set Z_ 0.0       $BS(1) set X_ 650.0    $BS(1) set Y_ 600.0    $BS(1) set Z_ 0.0    # create mobilenode only    $ns_ node-config -wiredRouting OFF      #create some mobilenodes in the same domain as BS_0    for {set j 0} {$j < $num_wireless_nodes} {incr j} {	set node_($j) [$ns_ node [lindex $temp [expr $j+1]] ]        $node_($j) base-station [AddrParams addr2id \                [$BS(0) node-addr]]    }    puts "Loading connection pattern..."    $self create-udp-traffic 0 $node_(0) $W(0) 240.00000000000000    $self create-tcp-traffic 0 $W(1) $node_(2) 160.00000000000000    $self create-tcp-traffic 1 $node_(0) $W(0) 200.00000000000000    puts "Loading scenario file..."    source $opt(sc)    puts "Load complete..."    #create links between wired and BS nodes    $ns_ duplex-link $W(0) $W(1) 5Mb 2ms DropTail    $ns_ duplex-link $W(1) $BS(0) 5Mb 2ms DropTail    $ns_ duplex-link $W(1) $BS(1) 5Mb 2ms DropTail    $ns_ duplex-link-op $W(0) $W(1) orient down    $ns_ duplex-link-op $W(1) $BS(0) orient left-down    $ns_ duplex-link-op $W(1) $BS(1) orient right-down    #    # Tell all the nodes when the simulation ends    #    for {set i 0} {$i < $num_wireless_nodes} {incr i} {        $ns_ at $opt(stop).000000001 "$node_($i) reset";    }    $ns_ at $opt(stop).0000010 "$BS(0) reset";    $ns_ at $opt(stop).0000010 "$BS(1) reset";    $ns_ at $opt(stop).20 "puts \"NS EXITING...\" ;"    $ns_ at $opt(stop).21 "$self finish-basenode"}Test/dsdv-wired-cum-wireless instproc run {} {    $self instvar ns_    puts "Starting Simulation..."    $ns_ run}Test/dsdv-wireless-mip instproc init {} {    global opt god_ node_ topo    $self instvar ns_ testName_        set testName_ dsdv-wireless-mip    set opt(rp)            dsdv    set opt(sc)            "../mobility/scene/scen-3-test"    set opt(cp)            ""    set opt(nn)            3       ;#total no of wireless nodes    set opt(stop)          250.0    set num_wired_nodes    2    set num_wireless_nodes 1        $self next        ## setup the wired nodes    set temp {0.0.0 0.1.0}    for {set i 0} {$i < $num_wired_nodes} {incr i} {	set W($i) [$ns_ node [lindex $temp $i]]     }    $ns_ node-config -mobileIP   ON     $ns_ node-config -adhocRouting DSDV \                         -llType $opt(ll) \                         -macType $opt(mac) \                         -ifqType $opt(ifq) \                         -ifqLen $opt(ifqlen) \                         -antType $opt(ant) \                         -propType $opt(prop) \                         -phyType $opt(netif) \                         -channel [new $opt(chan)] \                         -topoInstance $topo \		 	 -wiredRouting ON \                         -agentTrace ON \                         -routerTrace OFF \                         -macTrace OFF \                         -movementTrace OFF    set HA [$ns_ node 1.0.0]    set FA [$ns_ node 2.0.0]    $HA random-motion 0    $FA random-motion 0    #provide some co-ord (fixed) to these base-station nodes.    $HA set X_ 1.000000000000    $HA set Y_ 2.000000000000    $HA set Z_ 0.000000000000       $FA set X_ 650.000000000000    $FA set Y_ 600.000000000000    $FA set Z_ 0.000000000000    # create a mobilenode that would be moving between HA and FA.    # note address of MH indicates its in the same domain as HA.    $ns_ node-config -wiredRouting OFF     set MH [$ns_ node 1.0.2]    set node_(0) $MH    set HAaddress [AddrParams addr2id [$HA node-addr]]    [$MH set regagent_] set home_agent_ $HAaddress        # movement of MH    $MH set Z_ 0.000000000000    $MH set Y_ 2.000000000000    $MH set X_ 2.000000000000    # starts to move towards FA    $ns_ at 100.000000000000 "$MH setdest 640.000000000000 610.000000000000 20.000000000000"    # goes back to HA    $ns_ at 200.000000000000 "$MH setdest 2.000000000000 2.000000000000 20.000000000000"        # create links between wired and BaseStation nodes    $ns_ duplex-link $W(0) $W(1) 5Mb 2ms DropTail    $ns_ duplex-link $W(1) $HA 5Mb 2ms DropTail    $ns_ duplex-link $W(1) $FA 5Mb 2ms DropTail        $ns_ duplex-link-op $W(0) $W(1) orient down    $ns_ duplex-link-op $W(1) $HA orient left-down    $ns_ duplex-link-op $W(1) $FA orient right-down        # setup TCP connections between a wired node and the MH    puts "Loading connection pattern..."    $self create-tcp-traffic 0 $W(0) $MH 100.0    #    # Tell all the nodes when the simulation ends    #    for {set i 0} {$i < $num_wireless_nodes } {incr i} {	$ns_ at $opt(stop).0000010 "$node_($i) reset";    }    $ns_ at $opt(stop).0000010 "$HA reset";    $ns_ at $opt(stop).0000010 "$FA reset";        $ns_ at $opt(stop).21 "$self finish-basenode"    $ns_ at $opt(stop).20 "puts \"NS EXITING...\" ; "}Test/dsdv-wireless-mip instproc run {} {    $self instvar ns_     puts "Starting Simulation..."    $ns_ run}TestSuite instproc finish-basenode {} {	$self instvar ns_	global quiet opt	$ns_ flush-trace                set tracefd	[open $opt(tr) r]        set tracefd2    [open $opt(tr).w w]        while { [eof $tracefd] == 0 } {	    set line [gets $tracefd]	    set items [split $line " "]	    if { [lindex $items 0] == "M" } {		puts $tracefd2 $line	    } else {		if { [llength $items] > 15} {		    puts $tracefd2 $line		}	    }	}		close $tracefd	close $tracefd2	exec mv $opt(tr).w $opt(tr)		puts "finishing.."	exit 0}TestSuite instproc finish {} {	$self instvar ns_	global quiet	$ns_ flush-trace        #if { !$quiet } {        #        puts "running nam..."        #        exec nam temp.rands.nam &        #}	puts "finishing.."	exit 0}TestSuite instproc log-movement {} {	global ns	$self instvar logtimer_ ns_	set ns $ns_	source ../mobility/timer.tcl	Class LogTimer -superclass Timer	LogTimer instproc timeout {} {		global opt node_;		for {set i 0} {$i < $opt(nn)} {incr i} {			$node_($i) log-movement		}		$self sched 0.1	}	set logtimer_ [new LogTimer]	$logtimer_ sched 0.1}TestSuite instproc create-tcp-traffic {id src dst start} {    $self instvar ns_    set tcp_($id) [new Agent/TCP]    $tcp_($id) set class_ 2    set sink_($id) [new Agent/TCPSink]    $ns_ attach-agent $src $tcp_($id)    $ns_ attach-agent $dst $sink_($id)    $ns_ connect $tcp_($id) $sink_($id)    set ftp_($id) [new Application/FTP]    $ftp_($id) attach-agent $tcp_($id)    $ns_ at $start "$ftp_($id) start"    }TestSuite instproc create-udp-traffic {id src dst start} {    $self instvar ns_    set udp_($id) [new Agent/UDP]    $ns_ attach-agent $src $udp_($id)    set null_($id) [new Agent/Null]    $ns_ attach-agent $dst $null_($id)    set cbr_($id) [new Application/Traffic/CBR]    $cbr_($id) set packetSize_ 512    $cbr_($id) set interval_ 4.0    $cbr_($id) set random_ 1    $cbr_($id) set maxpkts_ 10000    $cbr_($id) attach-agent $udp_($id)    $ns_ connect $udp_($id) $null_($id)    $ns_ at $start "$cbr_($id) start"}proc runtest {arg} {	global quiet	set quiet 0	set b [llength $arg]	if {$b == 1} {		set test $arg	} elseif {$b == 2} {		set test [lindex $arg 0]		if {[lindex $arg 1] == "QUIET"} {			set quiet 1		}	} else {		usage	}	set t [new Test/$test]			$t run}global argv arg0default_optionsruntest $argv

⌨️ 快捷键说明

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