目前网上能找到的ns入门实例有不少都有错误和bug,因此贴出一份自己的入门实例(资源整理自网络资料)。
我是用的是ubuntu14.04,使用apt-get install自动下载和安装了ns,nam,gnuplot,gwak等需要使用的package。
本实例一共包含了三个输入文档,example.tcl,analysis和plot。例子改编自《NS中文手册精美版》前言部分的入门实例。
注意:example.tcl依赖于analysis和plot。下面直接贴出文档内容:
example.tcl
# 前置动作,产生一个仿真的对象
set ns [new Simulator]
# 预先定义跟踪文件
set f [open out.tr w]
$ns trace-all $f
set nf [open out.nam w]
$ns namtrace-all $nf
# 定义网络拓扑结构
# n0
# \
# 5Mb\
# 2ms\
# \
# n2_________n3
# / 1.5Mb
# 5Mb/ 10ms
# 2ms/
# /
# n1
#
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
$ns duplex-link $n0 $n2 5Mb 2ms DropTail
$ns duplex-link $n1 $n2 5Mb 2ms DropTail
$ns duplex-link $n2 $n3 1.5Mb 10ms DropTail
# 定义颜色
$ns color 0 blue
$ns color 1 red
# 定义UDP链路相关的代理
set udp0 [new Agent/UDP]; # 定义一个UDP代理
$udp0 set class_ 0;