初识NS2.34的tcl
来源:互联网 发布:三国杀国战搭配知乎 编辑:程序博客网 时间:2024/04/28 13:49
安装完ns2.34之后,在终端输入ns,会出现%,说明已经安装成功。但是没有见到nam哦?好,下面我们来快速入门:
从网上down个tcl脚本,要注释完整的。如http://blog.chinaunix.net/u3/105477/showart.php?id=2087584的
代码如下:(这是有线的,两个节点, UDP+CBR)
# 场景描述:
# 两个节点n0 和 n1 ,之间有一条UDP连接,
# 设置CBR应用,用作数据流发生器
# 模拟时间 5s
# 两个节点n0 和 n1 ,之间有一条UDP连接,
# 设置CBR应用,用作数据流发生器
# 模拟时间 5s
#建立一个Simulator对象, 并赋值给 ns, 用作模拟过程的时间调度
set ns [new Simulator]
set ns [new Simulator]
#设置trace文件和Nam文件, trace记录整个模拟过程的记录,
#Nam用于Nam的动画显示
set tracefd [open example1.tr w]
$ns trace-all $tracefd
set namtracefd [open example1.nam w]
$ns namtrace-all $namtracefd
set tracefd [open example1.tr w]
$ns trace-all $tracefd
set namtracefd [open example1.nam w]
$ns namtrace-all $namtracefd
#定义结束过程, 将事件写入trace, 并关闭相关文件, 最后启动Nam进行动画显示
proc finish {} {
global ns tracefd namtracefd
$ns flush-trace
proc finish {} {
global ns tracefd namtracefd
$ns flush-trace
close $tracefd
close $namtracefd
exec nam example1.nam &
exit 0
}
close $namtracefd
exec nam example1.nam &
exit 0
}
#创建两个节点 n0 和 n1
set n0 [$ns node]
set n1 [$ns node]
set n0 [$ns node]
set n1 [$ns node]
#添加一条双向的连接, 传输速率: 1Mb, 时延: 10ms,
#队列管理方式: DropTail(丢弃尾部!)
$ns duplex-link $n0 $n1 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
$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"
$ns at 5.0 "finish"
$ns run
- 初识NS2.34的tcl
- NS2调试器tcl-debug的安装
- ns2中的脚本语言Tcl的基础知识<1>
- 在NS2.34中安装tcl-debug-2.0遇到的问题
- 初识ns2
- Ns2 Tcl语法总结
- NS2 TCL传值到C++
- Tcl&NS2学习笔记
- Tcl&NS2学习笔记
- NS2中常用的几种重要的Tcl类
- ubuntu安装ns2时tcl/tk的问题
- ns2脚本语言Tcl的扩展语言Otcl简单介绍<2>
- NS2运行LEACH,tcl文件的bug调试
- 在NS2.34下安装tcl-debug-2.0步骤
- ns2 Tcl脚本程序解析
- NSG2-一个很好用的ns2的tcl脚本自动生成软件
- ubuntu12.10上针对NS2-2.35的tcl-debug-2.0的安装
- NSG2-一个很好用的ns2的tcl脚本自动生成软件
- SAP 新界面生效
- 完整类库列表struts2.0
- 公告(2):告朋友书,为什么要开发一个3G拨号软件?
- 我的blog
- 【转】22个所见即所得在线 Web 编辑器
- 初识NS2.34的tcl
- jQuery实现背景图渐变切换
- 构建基本的嵌入式Linux根文件系统
- Android parse XML
- your ride is here(USACO)
- 新的一年打算关注下android
- busybox1.9.2交叉编译
- vim不能正确显示中文
- 利用Commons Lang库改写equals与hashCode方法