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

📄 red.tcl

📁 对初学NS仿真是有帮助的
💻 TCL
字号:
# Polly Huang 8-7-98set ns [new Simulator]## Create a simple six node topology:##        s1                 s3#         \                 /# 10Mb,2ms \  1.5Mb,20ms   / 10Mb,4ms#           r1 --------- r2# 10Mb,3ms /               \ 10Mb,5ms#         /                 \#        s2                 s4 #set node_(s1) [$ns node]set node_(s2) [$ns node]set node_(r1) [$ns node]set node_(r2) [$ns node]set node_(s3) [$ns node]set node_(s4) [$ns 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-upset tcp1 [$ns create-connection TCP/Reno $node_(s1) TCPSink $node_(s3) 0]$tcp1 set window_ 15set tcp2 [$ns create-connection TCP/Reno $node_(s2) TCPSink $node_(s3) 1]$tcp2 set window_ 15set ftp1 [$tcp1 attach-source FTP]set ftp2 [$tcp2 attach-source FTP]# Tracing a queueset redq [[$ns link $node_(r1) $node_(r2)] queue]set tchan_ [open all.q w]$redq trace curq_$redq trace ave_$redq attach $tchan_$ns at 0.0 "$ftp1 start"$ns at 3.0 "$ftp2 start"$ns at 10 "finish"# Define 'finish' procedure (include post-simulation processes)proc finish {} {    global tchan_    set awkCode {	{	    if ($1 == "Q" && NF>2) {		print $2, $3 >> "temp.q";		set end $2	    }	    else if ($1 == "a" && NF>2)	    print $2, $3 >> "temp.a";	}    }    set f [open temp.queue w]    puts $f "TitleText: red"    puts $f "Device: Postscript"        if { [info exists tchan_] } {	close $tchan_    }    exec rm -f temp.q temp.a     exec touch temp.a temp.q        exec awk $awkCode all.q        puts $f \"queue    exec cat temp.q >@ $f      puts $f \n\"ave_queue    exec cat temp.a >@ $f    close $f    exec xgraph -bb -tk -x time -y queue temp.queue &    exit 0}$ns run

⌨️ 快捷键说明

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