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

📄 topologies.tcl

📁 ns gpsr路由协议 在ns2平台下实现的 对大家很有好处
💻 TCL
📖 第 1 页 / 共 2 页
字号:
Class Topology/cbq1-wrr -superclass Topology/cbq1Topology/cbq1-wrr instproc init ns {	$self next $ns	$self instvar node_ cbqlink_	$ns simplex-link $node_(r1) $node_(r2) 1.5Mb 5ms CBQ/WRR	set cbqlink_ [$ns link $node_(r1) $node_(r2)]}Class Topology/net2 -superclass NodeTopology/6nodesTopology/net2 instproc init ns {    $self next $ns    $self instvar node_    $ns duplex-link $node_(s1) $node_(r1) 10Mb 2ms DropTail     $ns duplex-link $node_(s2) $node_(r1) 10Mb 3ms DropTail     $ns duplex-link $node_(r1) $node_(r2) 1.5Mb 20ms RED     $ns queue-limit $node_(r1) $node_(r2) 25    $ns queue-limit $node_(r2) $node_(r1) 25    $ns duplex-link $node_(s3) $node_(r2) 10Mb 4ms DropTail     $ns duplex-link $node_(s4) $node_(r2) 10Mb 5ms DropTail     $ns duplex-link-op $node_(s1) $node_(r1) orient right-down    $ns duplex-link-op $node_(s2) $node_(r1) orient right-up    $ns duplex-link-op $node_(r1) $node_(r2) orient right    $ns duplex-link-op $node_(r1) $node_(r2) queuePos 0    $ns duplex-link-op $node_(r2) $node_(r1) queuePos 0    $ns duplex-link-op $node_(s3) $node_(r2) orient left-down    $ns duplex-link-op $node_(s4) $node_(r2) orient left-up    $self checkConfig $class $ns}Class Topology/net2-lossy -superclass Topology/net2Topology/net2-lossy instproc init ns {    $self next $ns    $self instvar node_    $self instvar lossylink_    set lossylink_ [$ns link $node_(r1) $node_(r2)]    set em [new ErrorModule Fid]    set errmodel [new ErrorModel/Periodic]    $errmodel unit pkt    $lossylink_ errormodule $em    $em insert $errmodel    $em bind $errmodel 0    $em default pass}Class Topology/net2- -superclass Topology/net2Topology/net2- instproc init ns {    $self next $ns    $self instvar node_ rtm_    set rtm_(r1:r2) [$ns rtmodel Exponential {} $node_(r1) $node_(r2)]    set dynamicsTrace [open dyn.tr "w"]    [$ns link $node_(r1) $node_(r2)] trace-dynamics $ns $dynamicsTrace    [$ns link $node_(r2) $node_(r1)] trace-dynamics $ns $dynamicsTrace    $self checkConfig $class $ns}Class Topology/net2-Session -superclass Topology/net2Topology/net2-Session instproc init ns {    $self next $ns			;# instantiate entire topology    $self add-fallback-links $ns {r1 b1 r2} 1.5Mb 10ms DropTail \	    {queue-limit 25}    $self instvar node_ rtm_    set rtm_(r1:r2) [$ns rtmodel Trace "dyn.tr" $node_(r1) $node_(r2)]    $ns rtproto Session    $self checkConfig $class $ns}Class Topology/net2-DV -superclass Topology/net2Topology/net2-DV instproc init ns {    $self next $ns			;# instantiate entire topology    $self add-fallback-links $ns {r1 b1 r2} 1.5Mb 10ms DropTail \	    {queue-limit 25}    $self instvar node_ rtm_    set rtm_(r1:r2) [$ns rtmodel Trace "dyn.tr" $node_(r1) $node_(r2)]    $ns rtproto DV    $self checkConfig $class $ns}Class Topology/net2-DVm0 -superclass Topology/net2Topology/net2-DVm0 instproc init ns {    Node set multiPath_ 1    $self next $ns			;# instantiate entire topology    $self add-fallback-links $ns {r1 b1 r2} 1.5Mb 10ms DropTail \	    {queue-limit 25} {cost 2 r1 r2}    $ns rtproto DV    $self checkConfig $class $ns}Class Topology/net2-DVm1 -superclass Topology/net2Topology/net2-DVm1 instproc init ns {    Node set multiPath_ 1    $self next $ns			;# instantiate entire topology    $self add-fallback-links $ns {r1 b1 r2} 1.5Mb 10ms DropTail \	    {queue-limit 25} {cost 2 r1 r2}    $self instvar node_ rtm_    set rtm_(r1:r2) [$ns rtmodel Trace "dyn.tr" $node_(r1) $node_(r2)]    $ns rtproto DV    $self checkConfig $class $ns}Class Topology/net2RED-Session -superclass Topology/net2Topology/net2RED-Session instproc init ns {    $self next $ns			;# instantiate entire topology    $self add-fallback-links $ns {r1 b1 r2} 1.5Mb 10ms RED \	    {queue-limit 25}    $self instvar node_ rtm_    set rtm_(r1:r2) [$ns rtmodel Trace "dyn.tr" $node_(r1) $node_(r2)]    $ns rtproto Session    $self checkConfig $class $ns}Class Topology/net2RED-DV -superclass Topology/net2Topology/net2RED-DV instproc init ns {    $self next $ns			;# instantiate entire topology    $self add-fallback-links $ns {r1 b1 r2} 1.5Mb 10ms RED \	    {queue-limit 25}    $self instvar node_ rtm_    set rtm_(r1:r2) [$ns rtmodel Trace "dyn.tr" $node_(r1) $node_(r2)]    $ns rtproto DV    $self checkConfig $class $ns}Class Topology/net2RED-DVm0 -superclass Topology/net2Topology/net2RED-DVm0 instproc init ns {    Node set multiPath_ 1    $self next $ns			;# instantiate entire topology    $self add-fallback-links $ns {r1 b1 r2} 1.5Mb 10ms RED \	    {queue-limit 25} {cost 2 r1 r2}    $ns rtproto DV    $self checkConfig $class $ns}Class Topology/net2RED-DVm1 -superclass Topology/net2Topology/net2RED-DVm1 instproc init ns {    Node set multiPath_ 1    $self next $ns			;# instantiate entire topology    $self add-fallback-links $ns {r1 b1 r2} 1.5Mb 10ms RED \	    {queue-limit 25} {cost 2 r1 r2}    $self instvar node_ rtm_    set rtm_(r1:r2) [$ns rtmodel Trace "dyn.tr" $node_(r1) $node_(r2)]    $ns rtproto DV    $self checkConfig $class $ns}#Class NodeTopology/8nodes -superclass SkelTopology## Create a simple eight node topology:##        s1                 s3#         \      4  x       /# 10Mb,2ms \  1.5Mb,20ms   / 10Mb,4ms#           r1 -.--.--.- r4# 10Mb,3ms /               \ 10Mb,5ms#         /                 \#        s2                 s4 ## This topology is of interest when the 4 node spine is dynamic,# and 3 alternate nodes provide fallback paths.#NodeTopology/8nodes instproc init ns {    $self next        $self instvar node_    set node_(s1) [$ns node]    set node_(s2) [$ns node]    set node_(s3) [$ns node]    set node_(s4) [$ns node]        set node_(r1) [$ns node]    set node_(r2) [$ns node]    set node_(r3) [$ns node]    set node_(r4) [$ns node]}Class Topology/net3 -superclass NodeTopology/8nodesTopology/net3 instproc init ns {    $self next $ns        $self instvar node_    $ns duplex-link $node_(s1) $node_(r1) 10Mb 2ms DropTail     $ns duplex-link $node_(s2) $node_(r1) 10Mb 3ms DropTail     $ns duplex-link $node_(r1) $node_(r2) 1.5Mb 20ms RED     $ns queue-limit $node_(r1) $node_(r2) 25    $ns queue-limit $node_(r2) $node_(r1) 25    $ns duplex-link $node_(r2) $node_(r3) 1.5Mb 20ms DropTail     $ns duplex-link $node_(r3) $node_(r4) 1.5Mb 20ms DropTail     $ns duplex-link $node_(s3) $node_(r4) 10Mb 4ms DropTail     $ns duplex-link $node_(s4) $node_(r4) 10Mb 5ms DropTail     $ns duplex-link-op $node_(s1) $node_(r1) orient right-down    $ns duplex-link-op $node_(s2) $node_(r1) orient right-up    $ns duplex-link-op $node_(r1) $node_(r2) orient right    $ns duplex-link-op $node_(r1) $node_(r2) queuePos 0    $ns duplex-link-op $node_(r2) $node_(r1) queuePos 0    $ns duplex-link-op $node_(r2) $node_(r3) orient right    $ns duplex-link-op $node_(r3) $node_(r4) orient right    $ns duplex-link-op $node_(s3) $node_(r4) orient left-down    $ns duplex-link-op $node_(s4) $node_(r4) orient left-up    $self checkConfig $class $ns}Class Topology/net3- -superclass Topology/net3Topology/net3- instproc init ns {    $self next $ns    $self instvar node_ rtm_    set dynamicsTrace [open dyn.tr "w"]    foreach i [list {r1 b1 r2} {r2 b2 r3} {r3 b3 r4}] {	set x1 [lindex $i 0]	set x2 [lindex $i 2]	set rtm_($x1:$x2) [$ns rtmodel Exponential {5.0 1.0} $node_($x1) $node_($x2)]	[$ns link $node_($x1) $node_($x2)] trace-dynamics $ns $dynamicsTrace	[$ns link $node_($x2) $node_($x1)] trace-dynamics $ns $dynamicsTrace    }    $self checkConfig $class $ns}Class Topology/net3-Session -superclass Topology/net3Topology/net3-Session instproc init ns {    $self next $ns			;# instantiate entire topology    $self instvar node_ rtm_    foreach i [list {r1 b1 r2} {r2 b2 r3} {r3 b3 r4}] {	set x1 [lindex $i 0]	set x2 [lindex $i 2]	set b1 [lindex $i 1]	$self add-fallback-links $ns [list $x1 $b1 $x2] 1.5Mb 10ms DropTail \		{queue-limit 25}	set rtm_($x1:$x2) [$ns rtmodel Trace "dyn.tr" $node_($x1) $node_($x2)]    }    $ns rtproto Session    $self checkConfig $class $ns}Class Topology/net3-DV -superclass Topology/net3Topology/net3-DV instproc init ns {    $self next $ns			;# instantiate entire topology    $self instvar node_ rtm_    foreach i [list {r1 b1 r2} {r2 b2 r3} {r3 b3 r4}] {	set x1 [lindex $i 0]	set x2 [lindex $i 2]	set b1 [lindex $i 1]	$self add-fallback-links $ns [list $x1 $b1 $x2] 1.5Mb 10ms DropTail \		{queue-limit 25}	set rtm_($x1:$x2) [$ns rtmodel Trace "dyn.tr" $node_($x1) $node_($x2)]    }    $ns rtproto DV    $self checkConfig $class $ns}Class Topology/net3-DVm0 -superclass Topology/net3Topology/net3-DVm0 instproc init ns {    Node set multiPath_ 1    $self next $ns			;# instantiate entire topology    foreach i [list {r1 b1 r2} {r2 b2 r3} {r3 b3 r4}] {	set x1 [lindex $i 0]	set x2 [lindex $i 2]	set b1 [lindex $i 1]	$self add-fallback-links $ns [list $x1 $b1 $x2] 1.5Mb 10ms DropTail \		{queue-limit 25} [list cost 2 $x1 $x2]    }    $ns rtproto DV    $self checkConfig $class $ns}Class Topology/net3-DVm1 -superclass Topology/net3Topology/net3-DVm1 instproc init ns {    Node set multiPath_ 1    $self next $ns			;# instantiate entire topology    $self instvar node_ rtm_    foreach i [list {r1 b1 r2} {r2 b2 r3} {r3 b3 r4}] {	set x1 [lindex $i 0]	set x2 [lindex $i 2]	set b1 [lindex $i 1]	$self add-fallback-links $ns [list $x1 $b1 $x2] 1.5Mb 10ms DropTail \		{queue-limit 25} [list cost 2 $x1 $x2]	set rtm_($x1:$x2) [$ns rtmodel Trace "dyn.tr" $node_($x1) $node_($x2)]    }    $ns rtproto DV    $self checkConfig $class $ns}Class Topology/net3RED-Session -superclass Topology/net3Topology/net3RED-Session instproc init ns {    $self next $ns			;# instantiate entire topology    $self instvar node_ rtm_    foreach i [list {r1 b1 r2} {r2 b2 r3} {r3 b3 r4}] {	set x1 [lindex $i 0]	set x2 [lindex $i 2]	set b1 [lindex $i 1]	$self add-fallback-links $ns [list $x1 $b1 $x2] 1.5Mb 10ms RED \		{queue-limit 25}	set rtm_($x1:$x2) [$ns rtmodel Trace "dyn.tr" $node_($x1) $node_($x2)]    }    $ns rtproto Session    $self checkConfig $class $ns}Class Topology/net3RED-DV -superclass Topology/net3Topology/net3RED-DV instproc init ns {    $self next $ns			;# instantiate entire topology    $self instvar node_ rtm_    foreach i [list {r1 b1 r2} {r2 b2 r3} {r3 b3 r4}] {	set x1 [lindex $i 0]	set x2 [lindex $i 2]	set b1 [lindex $i 1]	$self add-fallback-links $ns [list $x1 $b1 $x2] 1.5Mb 10ms RED \		{queue-limit 25}	set rtm_($x1:$x2) [$ns rtmodel Trace "dyn.tr" $node_($x1) $node_($x2)]    }    $ns rtproto DV    $self checkConfig $class $ns}Class Topology/net3RED-DVm0 -superclass Topology/net3Topology/net3RED-DVm0 instproc init ns {    Node set multiPath_ 1    $self next $ns			;# instantiate entire topology    foreach i [list {r1 b1 r2} {r2 b2 r3} {r3 b3 r4}] {	set x1 [lindex $i 0]	set x2 [lindex $i 2]	set b1 [lindex $i 1]	$self add-fallback-links $ns [list $x1 $b1 $x2] 1.5Mb 10ms RED \		{queue-limit 25} [list cost 2 $x1 $x2]    }    $ns rtproto DV    $self checkConfig $class $ns}Class Topology/net3RED-DVm1 -superclass Topology/net3Topology/net3RED-DVm1 instproc init ns {    Node set multiPath_ 1    $self next $ns			;# instantiate entire topology    $self instvar node_ rtm_    foreach i [list {r1 b1 r2} {r2 b2 r3} {r3 b3 r4}] {	set x1 [lindex $i 0]	set x2 [lindex $i 2]	set b1 [lindex $i 1]	$self add-fallback-links $ns [list $x1 $b1 $x2] 1.5Mb 10ms RED \		{queue-limit 25} [list cost 2 $x1 $x2]	set rtm_($x1:$x2) [$ns rtmodel Trace "dyn.tr" $node_($x1) $node_($x2)]    }    $ns rtproto DV    $self checkConfig $class $ns}

⌨️ 快捷键说明

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