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

📄 throughput.tcl

📁 计算无线网络的吞吐量,传输层的吞吐量分析
💻 TCL
字号:
puts "      n0"puts "        \\"puts "5Mb,10ms \\   1.5Mb,10ms"puts "          n1 ---------- n3"puts "5Mb,10ms /"puts "        /"puts "      n2"#Create a simulator objectset ns [new Simulator]#On definit les codes couleurs$ns color 0 red$ns color 1 blueset namf [open queue.nam w]set nsf [open queue.ns w]$ns namtrace-all $namf$ns trace-all $nsfset qsize [open queuesize.tr w]set qbw [open queuebw.tr w]set qlost [open queuelost.tr w]#On cree les noeudsset n0 [$ns node]set n1 [$ns node]set n2 [$ns node]set n3 [$ns node]#On annote les noeuds$n1 label "Switch (25)"#On cree la procedure de finproc finish {} {    global ns namf qsize qbw qlost     $ns flush-trace    close $qsize    close $qbw    close $qlost    exec nam queue.nam &    exec xgraph queuesize.tr  -t "Queuesize" &    exec xgraph queuebw.tr  -t "Throughput" &    exec xgraph queuelost.tr  -t "Lost" &    exit 0}#On cree la procedure d'enregistrementset old_departure 0proc record {} {global ns qmon_size qmon_bw qmon_lost qsize qbw qlost old_departureset ns [Simulator instance]set time 0.05set now [$ns now]$qmon_size instvar size_ pkts_ barrivals_ bdepartures_ parrivals_ pdepartures_ bdrops_ pdrops_ puts $qsize "$now [$qmon_size set size_]"puts $qbw "$now [expr ($bdepartures_ - $old_departure)*8/$time]" set old_departure $bdepartures_#if { $now !=0 } { puts $qbw "$now [expr $bdepartures_*8/$now]" } #puts $qbw "$now [expr $bdepartures_*8/$time]  $bdepartures_"#set bdepartures_ 0puts $qlost "$now $pdrops_  $bdrops_"$ns at [expr $now+$time] "record"}#On cree les liens$ns duplex-link $n1 $n3 1.5mb 10ms DropTail$ns duplex-link $n0 $n1 5mb 10ms DropTail$ns duplex-link $n2 $n1 5mb 10ms DropTail#$ns duplex-link-op $n1 $n3 orient right#$ns duplex-link-op $n0 $n1 orient right-down#$ns duplex-link-op $n2 $n1 orient right-up$ns duplex-link-op $n1 $n3 queuePos 0.5$ns queue-limit $n1 $n3 25set tick 0.5set tcp0 [$ns create-connection TCP $n0 TCPSink $n3 0]$tcp0 set packetSize_ 1460$tcp0 set tcpTick_ $tick$tcp0 set fid_ 0#Create a CBR traffic source and attach it to tcp0set cbr0 [new Application/Traffic/CBR]$cbr0 set packetSize_ 1460$cbr0 set rate_ 1200k$cbr0 attach-agent $tcp0set tcp1 [$ns create-connection TCP $n2 TCPSink $n3 1]$tcp1 set packetSize_ 1460$tcp1 set tcpTick_ $tick$tcp1 set fid_ 1#Create a CBR traffic source and attach it to tcp1set cbr1 [new Application/Traffic/CBR]$cbr1 set packetSize_ 1460$cbr1 set rate_ 1200k$cbr1 attach-agent $tcp1##################### QUEUE MONITOR    #####################set qf_size [open queue.size w]set qmon_size [$ns monitor-queue $n1 $n3 $qf_size 0.05]#On demarre la simulation$ns at 0.0 "record"$ns at 0.1 "$cbr0 start"$ns at 0.5 "$cbr1 start"$ns at 5.1 "$cbr0 stop"$ns at 5.5 "$cbr1 stop"#Call the finish procedure after 5 seconds of simulation time$ns at 5.5 "finish"#Run the simulation$ns run

⌨️ 快捷键说明

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