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

📄 noah.tcl

📁 ns2--网络仿真软件扩展!·
💻 TCL
字号:
# ======================================================================# Default Script Options# ======================================================================Agent/NOAH set sport_        0Agent/NOAH set dport_        0Agent/NOAH set use_mac_      0        ;# Performance suffers with this onAgent/NOAH set be_random_    1        ;# Flavor the performance numbers :)Agent/NOAH set verbose_      0        ;# #Class Agent/NOAHset opt(ragent)		Agent/NOAHset opt(pos)		NONE			;# Box or NONEif { $opt(pos) == "Box" } {	puts "*** NOAH using Box configuration..."}# ======================================================================Agent instproc init args {        eval $self next $args}       Agent/NOAH instproc init args {        eval $self next $args}       # ===== Get rid of the warnings in bind ================================# ======================================================================proc create-noah-routing-agent { node id } {    global ns_ ragent_ tracefd opt    #    #  Create the Routing Agent and attach it to port 255.    #    #set ragent_($id) [new $opt(ragent) $id]    set ragent_($id) [new $opt(ragent)]    set ragent $ragent_($id)    ## setup address (supports hier-addr) for noah agent     ## and mobilenode    set addr [$node node-addr]        $ragent addr $addr    $ragent node $node    if [Simulator set mobile_ip_] {	$ragent port-dmux [$node set dmux_]    }    $node addr $addr    $node set ragent_ $ragent        $node attach $ragent 255    #    # Drop Target (always on regardless of other tracing)    #    set drpT [cmu-trace Drop "RTR" $node]    $ragent drop-target $drpT        #    # Log Target    #    set T [new Trace/Generic]    $T target [$ns_ set nullAgent_]    $T attach $tracefd    $T set src_ $id    $ragent tracetarget $T}proc noah-create-mobile-node { id args } {    global ns ns_ chan prop topo tracefd opt node_        puts "NOAH node created"    set ns_ [Simulator instance]    if {[Simulator set hier-addr?]} {	if [Simulator set mobile_ip_] {	    set node_($id) [new MobileNode/MIPMH $args]	} else {	    set node_($id) [new Node/MobileNode/BaseStationNode $args]	}    } else {	set node_($id) [new Node/MobileNode]    }    set node $node_($id)    $node random-motion 0		;# disable random motion    $node topography $topo        #    # This Trace Target is used to log changes in direction    # and velocity for the mobile node.    #    set T [new Trace/Generic]    $T target [$ns_ set nullAgent_]    $T attach $tracefd    $T set src_ $id    $node log-target $T        $node add-interface $chan $prop $opt(ll) $opt(mac)	\	    $opt(ifq) $opt(ifqlen) $opt(netif) $opt(ant)        #    # Create a Routing Agent for the Node    #    create-$opt(rp)-routing-agent $node $id                # ============================================================    	if { $opt(pos) == "Box" } {		#		# Box Configuration		#		set spacing 200		set maxrow 7		set col [expr ($id - 1) % $maxrow]		set row [expr ($id - 1) / $maxrow]		$node set X_ [expr $col * $spacing]		$node set Y_ [expr $row * $spacing]		$node set Z_ 0.0		$node set speed_ 0.0		$ns_ at 0.0 "$node_($id) start"	}	return $node}

⌨️ 快捷键说明

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