NS2仿真实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Ns2简单有线网络仿真实验报告

一、实验概述

1、在windows系统下安装Centos虚拟机

2、在Centos系统下安装NS2仿真工具包

3、Nam方式示例

二、实验内容

1)NS2仿真工具包安装说明

1.在Centos系统下设置root账户

2.解压NS2文件

3.安装ns-allinone-2.35

设置环境变量

4.验证NS2工具包安装情况

2)Nam方式

Otcl脚本

# 产生一个仿真的对象

set ns [new Simulator]

#针对不同的资料流定义不同的颜色,这是要给NAM用的

$ns color 1 Green

$ns color 2 Red

#开启一个NAM trace file

set nf [open out.nam w]

$ns namtrace-all $nf

#开启一个trace file,用来记录封包传送的过程

set nd [open out.tr w]

$ns trace-all $nd

#定义一个结束的程序

proc finish {} {

global ns nf nd

$ns flush-trace

close $nf

close $nd

#以背景执行的方式去执行NAM

exec nam out.nam &

exit 0

}

#产生6个网络节点

set n0 [$ns node]

set n1 [$ns node]

set n2 [$ns node]

set n3 [$ns node]

set n4 [$ns node]

set n5 [$ns node]

#把节点连接起来

$ns duplex-link $n0 $n2 2Mb 10ms DropTail

$ns duplex-link $n1 $n2 2Mb 10ms DropTail

$ns duplex-link $n2 $n3 1.7Mb 20ms DropTail

$ns duplex-link $n3 $n4 1.7Mb 30ms DropTail

$ns duplex-link $n3 $n5 1.5Mb 30ms DropTail

#设定ns2到n3之间的Queue Size为10个封包大小$ns queue-limit $n2 $n3 10

$ns queue-limit $n3 $n4 5

#$ns queue-limit $n3 $n5 10

#设定节点的位置,这是要给NAM用的

$ns duplex-link-op $n0 $n2 orient right-down

$ns duplex-link-op $n1 $n2 orient right-up

$ns duplex-link-op $n2 $n3 orient right

$ns duplex-link-op $n3 $n4 orient right-up

$ns duplex-link-op $n3 $n5 orient right-down

#观测n2到n3之间queue的变化,这是要给NAM用的$ns duplex-link-op $n2 $n3 queuePos 0.5

#建立一条n0-n5TCP的联机

set tcp [new Agent/TCP]

$ns attach-agent $n0 $tcp

set sink [new Agent/TCPSink]

$ns attach-agent $n5 $sink

$ns connect $tcp $sink

#在NAM中,TCP的联机会以Green表示

$tcp set fid_ 1

#在TCP联机之上建立FTP应用程序

set ftp [new Application/FTP]

$ftp attach-agent $tcp

$ftp set type_ FTP

#建立一条UDP的联机

set udp [new Agent/UDP]

$ns attach-agent $n1 $udp

set null [new Agent/Null]

$ns attach-agent $n3 $null

$ns connect $udp $null

#在NAM中,UDP的联机会以红色表示

$udp set fid_ 2

#在UDP联机之上建立CBR应用程序

set cbr [new Application/Traffic/CBR]

$cbr attach-agent $udp

$cbr set type_ CBR

$cbr set packet_size_ 1000

$cbr set rate_ 1mb

$cbr set random_ false

#设定FTP和CBR资料传送开始和结束时间

$ns at 0.1 "$cbr start"

$ns at 1.0 "$ftp start"

$ns at 4.0 "$ftp stop"

$ns at 4.5 "$cbr stop"

#结束TCP的联机(不一定需要写下面的程序代码来实际结束联机)

$ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink"

#在仿真环境中,5秒后去呼叫finish来结束仿真(这样要注意仿真环境中#的5秒并不一定等于实际仿真的时间

$ns at 5.0 "finish"

#执行仿真

$ns run

3)仿真结果

相关文档
最新文档