ns2运行tcl可以生成的nam文件,但执行nam out.nam就提示段错误
这是我ns2的tcl文件:#场景描述:#两个节点n0和n1,之间有一条UDP连接#设置CBR应用,用作数据流发生器#模拟时间5s#建立一个Simulator对象,并赋值给...
这是我ns2的tcl文件:
# 场景描述:
# 两个节点n0 和 n1 ,之间有一条UDP连接
# 设置CBR应用,用作数据流发生器
# 模拟时间 5s
#建立一个Simulator对象, 并赋值给 ns, 用作模拟过程的时间调度
set ns [new Simulator]
#设置trace文件和Nam文件, trace记录整个模拟过程的记录,
#Nam用于Nam的动画显示
set tracefd [open out.tr w]
$ns trace-all $tracefd
set namtracefd [open out.nam w]
$ns namtrace-all $namtracefd
#定义结束过程, 将事件写入trace, 并关闭相关文件, 最后启动Nam进行动画显示
proc finish {} {
global ns tracefd namtracefd
$ns flush-trace
close $tracefd
close $namtracefd
exec nam out.nam &
exit 0
}
#创建两个节点 n0 和 n1
set n0 [$ns node]
set n1 [$ns node]
#添加一条双向的连接, 传输速率: 1Mb, 时延: 10ms,
#队列管理方式: DropTail(丢弃尾部!)
$ns duplex-link $n0 $n1 1Mb 10ms DropTail
#创建UDP Agent发送端, 并与n0节点关联
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
#创建Null, 作为UDP的接收端,与n1关联
#Null:只接受, 不回复ACK (与TCP和TCPSink的区别)
set null0 [new Agent/Null]
$ns attach-agent $n1 $null0
#连接 UDP和NULL,形成一条有开始和结束的数据通路
$ns connect $udp0 $null0
#添加CBR应用,绑定到UDP Agent上, 并设置发包属性
#CBR: 是一个流量发生器
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0
#设置CBR的起停, 使整个模拟过程开始
$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"
$ns at 5.0 "finish"
$ns run 展开
# 场景描述:
# 两个节点n0 和 n1 ,之间有一条UDP连接
# 设置CBR应用,用作数据流发生器
# 模拟时间 5s
#建立一个Simulator对象, 并赋值给 ns, 用作模拟过程的时间调度
set ns [new Simulator]
#设置trace文件和Nam文件, trace记录整个模拟过程的记录,
#Nam用于Nam的动画显示
set tracefd [open out.tr w]
$ns trace-all $tracefd
set namtracefd [open out.nam w]
$ns namtrace-all $namtracefd
#定义结束过程, 将事件写入trace, 并关闭相关文件, 最后启动Nam进行动画显示
proc finish {} {
global ns tracefd namtracefd
$ns flush-trace
close $tracefd
close $namtracefd
exec nam out.nam &
exit 0
}
#创建两个节点 n0 和 n1
set n0 [$ns node]
set n1 [$ns node]
#添加一条双向的连接, 传输速率: 1Mb, 时延: 10ms,
#队列管理方式: DropTail(丢弃尾部!)
$ns duplex-link $n0 $n1 1Mb 10ms DropTail
#创建UDP Agent发送端, 并与n0节点关联
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
#创建Null, 作为UDP的接收端,与n1关联
#Null:只接受, 不回复ACK (与TCP和TCPSink的区别)
set null0 [new Agent/Null]
$ns attach-agent $n1 $null0
#连接 UDP和NULL,形成一条有开始和结束的数据通路
$ns connect $udp0 $null0
#添加CBR应用,绑定到UDP Agent上, 并设置发包属性
#CBR: 是一个流量发生器
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0
#设置CBR的起停, 使整个模拟过程开始
$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"
$ns at 5.0 "finish"
$ns run 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
展开全部
解决方法是先sudo apt-get remove nam
然后下一个nam1.14装上就好了
https://drive.google.com/file/d/0B7S255p3kFXNNmtLeXhsaG5hXzQ/edit?pli=1
然后下一个nam1.14装上就好了
https://drive.google.com/file/d/0B7S255p3kFXNNmtLeXhsaG5hXzQ/edit?pli=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也正在学习NS2 可能你已经解决了 我说出我现在的想法 如果你理解的更好欢迎私信我告诉我!
NAM需要的不仅是设置一个文件来记录nam 还需要你对相关的链路进行设置,比如节点位置,数据流的颜色等 这个都可以在网上找到 而且你这个只是单纯的有线节点的模拟 如果是无线节点需要设置的更多一点
NAM需要的不仅是设置一个文件来记录nam 还需要你对相关的链路进行设置,比如节点位置,数据流的颜色等 这个都可以在网上找到 而且你这个只是单纯的有线节点的模拟 如果是无线节点需要设置的更多一点
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询