📄 test-suite-aimd.tcl
字号:
if {$quiet == "false"} { set tracefile [open all.tr w] $ns_ trace-all $tracefile } set tcp1 [$ns_ create-connection $sender_ $node_(s1) $receiver_ $node_(s3) 0] set ftp1 [$tcp1 attach-app FTP] $self enable_tracecwnd $ns_ $tcp1 $self drop_pkts {30 31 32 33 34 35 36} $ns_ at 0.0 "$ftp1 start" $ns_ at $stopTime0 "$ftp1 stop" ###$self traceQueues $node_(r1) [$self openTrace $stopTime $testName_] $ns_ at $stopTime "$self cleanupAll $testName_" if {$quiet == "false"} { $ns_ at $stopTime2 "close $tracefile" } ## $ns_ at $stopTime3 "exec cp temp.cwnd temp.rands; exit 0" $ns_ at $stopTime2 "exit 0" # trace only the bottleneck link $ns_ run}Class Test/ssthreshA -superclass TestSuiteTest/ssthreshA instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ ssthreshA set guide_ \ "Retransmit Timeout with Sack TCP, increase_num_ 0.41, decrease_num_ 0.75." set sender_ TCP/Sack1 set receiver_ TCPSink/Sack1 Agent/TCP set increase_num_ 0.41 Agent/TCP set decrease_num_ 0.75 Test/ssthreshA instproc run {} [Test/ssthresh info instbody run ] $self next pktTraceFile}# Second retransmit timeout, ssthresh_second decrease depends on decrease_num_.Class Test/ssthresh_second -superclass TestSuiteTest/ssthresh_second instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ ssthresh_second set guide_ "Two Retransmit Timeouts with Sack TCP." set sender_ TCP/Sack1 set receiver_ TCPSink/Sack1 $self next pktTraceFile}Test/ssthresh_second instproc run {} { global quiet $self instvar ns_ node_ testName_ dumpfile_ sender_ receiver_ guide_ if {$quiet == "false"} {puts $guide_} $self setTopo $self set_lossylink Agent/TCP set window_ 8 set stopTime 2.0 set stopTime0 [expr $stopTime - 0.001] set stopTime2 [expr $stopTime + 0.001] if {$quiet == "false"} { set tracefile [open all.tr w] $ns_ trace-all $tracefile } set tcp1 [$ns_ create-connection $sender_ $node_(s1) $receiver_ $node_(s3) 0] set ftp1 [$tcp1 attach-app FTP] $self enable_tracecwnd $ns_ $tcp1 $self drop_pkts {30 31 32 33 34 35 36 120 121 122 123 124 125 126} $ns_ at 0.0 "$ftp1 start" $ns_ at $stopTime0 "$ftp1 stop" ###$self traceQueues $node_(r1) [$self openTrace $stopTime $testName_] $ns_ at $stopTime "$self cleanupAll $testName_" if {$quiet == "false"} { $ns_ at $stopTime2 "close $tracefile" } ## $ns_ at $stopTime3 "exec cp temp.cwnd temp.rands; exit 0" $ns_ at $stopTime2 "exit 0" # trace only the bottleneck link $ns_ run}Class Test/ssthresh_secondA -superclass TestSuiteTest/ssthresh_secondA instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ ssthresh_secondA set guide_ "Two Retransmit Timeouts with Sack TCP, increase_num_ 0.41, decrease_num_ 0.75." set sender_ TCP/Sack1 set receiver_ TCPSink/Sack1 Agent/TCP set increase_num_ 0.41 Agent/TCP set decrease_num_ 0.75 Test/ssthresh_secondA instproc run {} [Test/ssthresh_second info instbody run ] $self next pktTraceFile}###################################################3Class Test/tcp_tahoe -superclass TestSuiteTest/tcp_tahoe instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ tcp_tahoe set guide_ "Tahoe TCP" set sender_ TCP set receiver_ TCPSink Test/tcp_tahoe instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}Class Test/tcpA_tahoe -superclass TestSuiteTest/tcpA_tahoe instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ tcpA_tahoe{increase_0.41,decrease_0.75} set guide_ "Tahoe TCP, increase_num_ 0.41, decrease_num_ 0.75" set sender_ TCP set receiver_ TCPSink Agent/TCP set increase_num_ 0.41 Agent/TCP set decrease_num_ 0.75 Test/tcpA_tahoe instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}Class Test/tcpA_precise_tahoe -superclass TestSuiteTest/tcpA_precise_tahoe instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ tcpA_precise_tahoe{increase_0.41,decrease_0.75} set guide_ \ "Tahoe TCP, increase_num_ 0.41, decrease_num_ 0.75, precisionReduce_ true" set sender_ TCP set receiver_ TCPSink Agent/TCP set increase_num_ 0.41 Agent/TCP set decrease_num_ 0.75 Agent/TCP set precisionReduce_ true Test/tcpA_precise_tahoe instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}Class Test/tcp_reno -superclass TestSuiteTest/tcp_reno instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ tcp_reno set guide_ "Reno TCP" set sender_ TCP/Reno set receiver_ TCPSink Test/tcp_reno instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}Class Test/tcpA_reno -superclass TestSuiteTest/tcpA_reno instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ tcpA_reno{increase_0.41,decrease_0.75} set guide_ "Reno TCP, increase_num_ 0.41, decrease_num_ 0.75" set sender_ TCP/Reno set receiver_ TCPSink Agent/TCP set increase_num_ 0.41 Agent/TCP set decrease_num_ 0.75 Test/tcpA_reno instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}Class Test/tcpA_precise_reno -superclass TestSuiteTest/tcpA_precise_reno instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ tcpA_precise_reno{increase_0.41,decrease_0.75} set guide_ \ "Reno TCP, increase_num_ 0.41, decrease_num_ 0.75, precisionReduce_ true" set sender_ TCP/Reno set receiver_ TCPSink Agent/TCP set increase_num_ 0.41 Agent/TCP set decrease_num_ 0.75 Agent/TCP set precisionReduce_ true Test/tcpA_precise_reno instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}Class Test/tcp_newreno -superclass TestSuiteTest/tcp_newreno instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ tcp_newreno set guide_ "NewReno TCP" set sender_ TCP/Newreno set receiver_ TCPSink Test/tcp_newreno instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}Class Test/tcpA_newreno -superclass TestSuiteTest/tcpA_newreno instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ tcpA_newreno{increase_0.41,decrease_0.75} set guide_ "NewReno TCP, increase_num_ 0.41, decrease_num_ 0.75" set sender_ TCP/Newreno set receiver_ TCPSink Agent/TCP set increase_num_ 0.41 Agent/TCP set decrease_num_ 0.75 Test/tcpA_newreno instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}Class Test/tcpA_precise_newreno -superclass TestSuiteTest/tcpA_precise_newreno instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ tcpA_precise_newreno{increase_0.41,decrease_0.75} set guide_ \ "NewReno TCP, increase_num_ 0.41, decrease_num_ 0.75, precisionReduce_ true" set sender_ TCP/Newreno set receiver_ TCPSink Agent/TCP set increase_num_ 0.41 Agent/TCP set decrease_num_ 0.75 Agent/TCP set precisionReduce_ true Test/tcpA_precise_newreno instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}############################################################# IIAD, Inverse Increase Additive DecreaseClass Test/binomial1 -superclass TestSuiteTest/binomial1 instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ binomial1{IIAD} set guide_ "TCP with IIAD" set sender_ TCP/Sack1 set receiver_ TCPSink/Sack1 Agent/TCP set decrease_num_ 0.33 Agent/TCP set precisionReduce_ true Agent/TCP set k_parameter_ 1.0 Agent/TCP set l_parameter_ 0.0 Agent/TCP set windowOption_ 6 Test/binomial1 instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}# SQRT, Square RootClass Test/binomial2 -superclass TestSuiteTest/binomial2 instproc init {} { $self instvar net_ test_ sender_ receiver_ guide_ set net_ net2 set test_ binomial2{SQRT} set guide_ "TCP with SQRT" set sender_ TCP/Sack1 set receiver_ TCPSink/Sack1 Agent/TCP set decrease_num_ 0.33 Agent/TCP set precisionReduce_ true Agent/TCP set k_parameter_ 0.5 Agent/TCP set l_parameter_ 0.5 Agent/TCP set windowOption_ 6 Test/binomial2 instproc run {} [Test/tcp info instbody run ] $self next pktTraceFile}TestSuite runTest
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -