设置链接 n2 至 n3 上的错误模型
设置loss_module [new ErrorMode] $loss_module设置rate_ 0.1
创建模拟器实例
设置 ns [新模拟器] $ns 颜色红色 $ns 颜色蓝色
打开NAM跟踪文件
$set nf [打开 out.nam w] $ns namtrace-all $nf
打开跟踪文件
设置 tf [打开 out.tr w] 设置 windowVsTime2 [打开 WindowVsTimeNReno w] $ns trace-all $tf
定义“完成”程序
proc 完成 {} { 全局 ns nf tf $ns 刷新跟踪关闭 $nf cose $tf exec nam out.nam & 退出 0 }
创建四个节点
设置 n0 [$ns 节点] 设置 n1 [$ns 节点] 设置 n2 [$ns 节点] 设置 n3 [$ns 节点]
$ns 在 0.1 “n1 标签 \"CBR\"” $ns 在 1.0 “n0 标签 \"FTP\"”
在节点之间创建链接
$ns 双工链路 $n0 $n2 2Mb 10ms DropTail $ns 双工链路 $n1 $n2 2Mb 10ms DropTail $ns 单工链路 $n2 $n3 0.07Mb 20ms DropTail $ns 单工链路 $n3 $n2 0.07Mb 20ms Droptail
将链路 n2-n3 的队列大小设置为 10
$ns 队列限制 $n2 $n3 10
监控 NAM 链路 n2-n3 的队列
$ns 单工链路 op $n2 $n3 队列位置 0.5
设置链接 n3 到 n2 的错误模型
设置loss_module [新ErrorModel] $loss_module 设置rate_ 0.2 $loss_module ranvar [新RandomVariable/Uniform] $loss_module drop-target [新Agent/Null] $ns lossmodel $loss_module $n2 $n3
分离 tcp 和接收器代理
$ns at 624.5“$ns 分离代理 $n0 $tcp;$ns 分离代理 $n3 $sink”
$ns 在 625.0 “完成” $ns 运行
运行上述代码后我得到的错误如下:
无效的命令名称
“错误模式”
在执行时
“ErrorMode 创建 _o3”
从内部调用
“捕获“$className 创建 $o $args”消息”
从内部调用
“如果[catch“$className创建$o $args”消息]{
如果 [字符串匹配“__FAILED_SHADOW_OBJECT_”$msg] {
删除$o
返回 ””
}
全局错误信息
错误“类 $…”
(procedure "new" line 3)
invoked from within
“新错误模式”
invoked from within
“设置loss_module [新ErrorMode]”
(file "u.tcl" line 2)