我正在尝试在ns2中构建一个拓扑,它帮助我如果在nam动画中节点有名称,所以如果它们是核心交换机或集合或ToR,我可以更容易理解...
我正在使用循环创建它们并使用label属性设置标签。我的代码类似于以下
for {set i 0} {$i < 4} {incr i} {
set c($i) [$ns node]
$c($i) color red
$c($i) shape hexagon
$c($i) label "corei"
$c($i) label-color black
$c($i) label-at up
}
$ns duplex-link $c(1) $c(2) 1Gb 10ms DropTail
$ns duplex-link $c(3) $c(2) 1Gb 10ms DropTail
但是当我运行它时,nam只显示带有数字的六边形,我认为这是一个内部计数。
任何想法我做错了什么?顺便说一句就行了
$c($i) label "corei"
如果是
那就工作$c($i) label "core$i"
它不会产生任何错误,但就像我说没有标签
除此之外,我试图为我的节点使用像pod_layer_pos这样的命名格式,我在Tcl can't read variable: no such variable阅读帖子,但我想知道当使用数组时 - 关联 - 我是否可以在内部评估多个变量括号。例如,我可以拥有以下
$ns duplex-link $core($i) $pod($j_$k) 1Mb 10ms DropTail
通常是一种在命名约定中对节点集进行分组的特定方法。我在想的是胖树拓扑,所以对于k = 4,我们有4个核心交换机4个pod,有2层,每个有2个交换机,下层连接到2个服务器/主机。所以我想把核心放在一个数组中并使用循环与所有其余节点连接,其中名称就像是
荚[O-(K-1)] _层[0-1] _switch [0-K / 2]
以下似乎有效,但我想确保它不是侥幸
set p 0
set l 0
set s 0
set pod(0,0,0) [$ns node]
set pod(0,0,1) [$ns node]
for {set j 0} {$j < 1} {incr j} {
$ns duplex-link $pod($p,$l,$j) $pod($p,$l,[expr ($j+1)]) 1Gb 10ms DropTail
}
答案 0 :(得分:0)
$ns_ at $stime "$node_($src) label \"$label\""
$ns_ at 0.0 "$c($i) label \"corei\""