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

📄 ex1.tcl

📁 ns2编写的50个源点交换数据包的代码
💻 TCL
字号:
#ring.tcl

set ns [new Simulator]

$ns rtproto DV

set nf [open out.nam w]
$ns namtrace-all $nf

set nd [open out.tr w]
$ns trace-all $nd

proc finish {} {
		global ns nf nd
		$ns flush-trace
		close $nf
		close $nd
		
		exec nam out.nam &
		exit 0
	}

	for {set i 0} {$i < 25} {incr i} {set n($i) [$ns node]}

	for {set i 0} {$i < 25} {incr i} {
	$ns duplex-link $n($i) $n([expr ($i+$i+1)%50]) 1Mb 10ms DropTail
	$ns duplex-link $n($i) $n([expr ($i+$i+2)%50]) 1Mb 10ms DropTail
	$ns duplex-link $n($i) $n([expr ($i+$i+3)%50]) 1Mb 10ms DropTail
	}
	
	$ns cost $n(2) $n(5) 4
	
	set udp0 [new Agent/UDP]
	$ns attach-agent $n(0) $udp0

	set cbr0 [new Application/Traffic/CBR]
	$cbr0 set packetSize_ 500

	$cbr0 set interval_ 0.05
	$cbr0 attach-agent $udp0

	set null0 [new Agent/Null]

	$ns attach-agent $n(1) $null0

	$ns connect $udp0 $null0
	$ns at 0.0 "$cbr0 start"

	$ns rtmodel-at 0.5 down $n(0) $n(1)
	$ns rtmodel-at 1.0 down $n(0) $n(24)
	$ns rtmodel-at 1.5 down $n(0) $n(3)
	$ns rtmodel-at 2.0 down $n(3) $n(1)

	$ns rtmodel-at 2.5 up $n(3) $n(1)
	$ns rtmodel-at 3.0 up $n(0) $n(3)
	$ns rtmodel-at 3.5 up $n(0) $n(24)	
	$ns rtmodel-at 4.0 up $n(0) $n(1)


	$ns at 4.5 "$cbr0 stop"
	#simulation time
	$ns at 5.0 "finish"
	$ns run

⌨️ 快捷键说明

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