模拟代码
set ns [new Simulator]
set nf [open out.nam w]
$ns namtrace-all $nf
proc finish {} {
global ns nf
$ns flush-trace
close $nf
exec nam out.nam &
exit 0
}
set n0 [$ns node]
set n1 [$ns node]
$ns duplex-link $n0 $n1 1Mb 10ms DropTail
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.0005
$cbr0 attach-agent $udp0
set null0 [new Agent/Null]
$ns attach-agent $n1 $null0
$ns connect $udp0 $null0
$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"
$ns at 5.0 "finish"
$ns run
此代码生成两个节点n0,n1并在它们之间建立链接。 我想找到n0和n1之间链接的当前队列大小。 任何人都可以帮忙吗?
答案 0 :(得分:1)
如果未指定,则在ns-default.tcl文件(位于/ tcl / lib /中)中确定模拟参数。对于队列大小,默认值为s,设置为50个数据包:
Queue set limit_ 50
如果您有多个链接,并且希望所有链接具有相同的队列大小,则可以在.tcl文件中添加以下内容:
Queue set limit_ $queuesize
如果您有多个链接,但希望每个链接都具有给定的队列大小,您可以:
$ns duplex-link $n0 $n1 1Mb 10ms DropTail
$ns queue-limit $n0 $n1 $queuesize1
$ns duplex-link $n2 $n3 1Mb 10ms DropTail
$ns queue-limit $n2 $n3 $queuesize2
希望这有帮助
尼古拉斯