NS应用实例1

# 场景描述:
# 两个节点 n0 和 n1 ,之间有一条 UDP 连接,
# 设置 CBR 应用,用作数据流发生器
# 模拟时间 5s
#建立一个 Simulator 对象, 并赋值给 ns, 用作模拟过程的时间调度
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
#定义结束过程, 将事件写入 trace, 并关闭相关文件, 最后启动 Nam 进行动画显示
proc finish {} {
global ns tracefd namtracefd
$ns flush-trace
close $tracefd
close $namtracefd
exec nam example1.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

程序运行效果图:

来源:http://download.csdn.net/detail/free4294/3648649


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值