NS2:如何为节点设置队列限制

NS2: How to set queue-limit for a node

我正在尝试使用 NS2 模拟此网络:

我已经建立了这样的网络

#Create six nodes
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]

set recvr_delay1 [new RandomVariable/Uniform];
$recvr_delay1 set min_ 5ms
$recvr_delay1 set max_ 25ms

set recvr_delay2 [new RandomVariable/Uniform];
$recvr_delay2 set min_ 5ms
$recvr_delay2 set max_ 25ms

# TODO: make these delays random
#Create links between the nodes
$ns duplex-link $n0 $n2 100Mb 5ms DropTail
$ns duplex-link $n1 $n2 100Mb $recvr_delay1 DropTail

$ns duplex-link $n2 $n3 100Kb 1ms DropTail

$ns duplex-link $n3 $n4 100Mb 5ms DropTail
$ns duplex-link $n3 $n5 100Mb $recvr_delay2 DropTail

我知道我们可以在 NS2 中为 link 设置队列限制:

$ns queue-limit $n0 $n1 10

但问题是我不想为 link 设置队列限制,我想为这两个路由器设置队列限制,有没有办法为节点设置队列限制而不是 link?

基于NS Simulator for Beginners book

”在NS-2中,节点的输出队列被实现为每个link的一部分,其输入是该节点。link的定义包括处理的方式在那个队列溢出。

希望对您有所帮助。

我想在已接受的答案中添加一些内容。 您可以使用两个单工 links(与双工 link 相同),并且只为其中之一分配队列限制。 例如假设我们想在节点 R 和节点 B 之间创建双工 link:

set R [$ns node]
set B [$ns node]

$ns simplex-link $R $B 1Mb 100ms DropTail
$ns simplex-link $B $R 2Mb 100ms DropTail

$ns queue-limit $R $B 10

现在只有节点 R 的队列限制为 10。