首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NS2:链路的随机延迟

NS2:链路的随机延迟
EN

Stack Overflow用户
提问于 2020-06-13 11:27:23
回答 2查看 249关注 0票数 1

我想在NS2中模拟上面的网络,如您所见,节点2和6具有可变延迟的链接。这些可变延迟应该是5ms到25 5ms之间的随机值。

我就是这样建立链接的:

代码语言:javascript
运行
复制
#Create six nodes
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
set n6 [$ns node]


#Create links between the nodes
$ns duplex-link $n1 $n3 100Mb 5ms DropTail
$ns duplex-link $n2 $n3 100Mb ? DropTail

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

$ns duplex-link $n4 $n5 100Mb 5ms DropTail
$ns duplex-link $n4 $n6 100Mb ? DropTail

我不知道该放什么代替那些问号来得到我想要的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-22 16:44:15

我发现这就是做这个的方法。

代码语言:javascript
运行
复制
#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
票数 1
EN

Stack Overflow用户

发布于 2020-06-27 14:42:39

您可以使用rand()函数生成随机数。

下面是我编写的一个函数,用于在min和max之间生成一个随机数,其中包括它们

代码语言:javascript
运行
复制
proc random_generator {min max} {
    return [expr {int(rand()*[expr $max - $min + 1] ) + $min}]
}

像这样使用它

代码语言:javascript
运行
复制
set recvr_delay1 [random_generator 5 25]
set recvr_delay2 [random_generator 5 25]

希望它有帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62359072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档