网络分析与测试实验2-使用NS2模拟有线网络.doc
《网络分析与测试实验2-使用NS2模拟有线网络.doc》由会员分享,可在线阅读,更多相关《网络分析与测试实验2-使用NS2模拟有线网络.doc(10页珍藏版)》请在冰点文库上搜索。
网络分析与测试实验报告
班级:
网络08-2班
姓名:
叶美燕
学号:
08083778
实验二使用NS2模拟有线网络
【目的】
深入学习NS2的使用方法,学习使用NS2模拟有线网络的开发方法。
【实验内容】
(1)构建有线网络的基本拓扑;
(2)配置网络节点、链路和协议的参数;
(3)使用Tcl脚本语言描述配置信息;
(4)实现有线网络的模拟,分析不同配置下的输出结果。
【实验步骤】
1.构建有线网络的基本拓扑
2.这个网络拓扑定义了6个节点,每个节点之间的连接设置成双工格式,在0,1节点设置两个UDP发送节点,在4,5节点设置两个agent接收节点,设置传送的数据包大小为1500,然后再在UDP连接中定义一个数据流量发送器(包括它的包的大小、速率大小、停止时间和开始时间),最后定义一个finish函数来完成清理现场的工作,进而完成网络节点、链路和协议的参数的配置。
3.tcl的源程序:
setval(stop)5.0;#timeofsimulationend
#Createanssimulator
setns[newSimulator]
#OpentheNStracefile
settracefile[openout.trw]
$nstrace-all$tracefile
#OpentheNAMtracefile
setnamfile[openout.namw]
$nsnamtrace-all$namfile
#Create6nodes
setn0[$nsnode]
setn1[$nsnode]
setn2[$nsnode]
setn3[$nsnode]
setn4[$nsnode]
setn5[$nsnode]
#Createlinksbetweennodes
$nsduplex-link$n0$n22.0Mb10msDropTail
$nsqueue-limit$n0$n210
$nsduplex-link$n1$n22.0Mb10msDropTail
$nsqueue-limit$n1$n210
$nsduplex-link$n4$n32.0Mb10msDropTail
$nsqueue-limit$n4$n310
$nsduplex-link$n3$n21.0Mb20msDropTail
$nsqueue-limit$n3$n210
$nsduplex-link$n3$n52.0Mb10msDropTail
$nsqueue-limit$n3$n510
#Givenodeposition(forNAM)
$nsduplex-link-op$n0$n2orientright-down
$nsduplex-link-op$n1$n2orientright-up
$nsduplex-link-op$n4$n3orientleft-down
$nsduplex-link-op$n3$n2orientleft
$nsduplex-link-op$n3$n5orientright-down
#SetupaUDPconnection
setudp0[newAgent/UDP]
$nsattach-agent$n0$udp0
setnull2[newAgent/Null]
$nsattach-agent$n4$null2
$nsconnect$udp0$null2
$udp0setpacketSize_1500
#SetupaUDPconnection
setudp1[newAgent/UDP]
$nsattach-agent$n1$udp1
setnull3[newAgent/Null]
$nsattach-agent$n5$null3
$nsconnect$udp1$null3
$udp1setpacketSize_1500
#SetupaCBRApplicationoverUDPconnection
setcbr0[newApplication/Traffic/CBR]
$cbr0attach-agent$udp0
$cbr0setpacketSize_1500
$cbr0setrate_1.0Mb
$cbr0setrandom_null
$nsat1.0"$cbr0start"
$nsat4.0"$cbr0stop"
#SetupaCBRApplicationoverUDPconnection
setcbr1[newApplication/Traffic/CBR]
$cbr1attach-agent$udp1
$cbr1setpacketSize_1500
$cbr1setrate_1.0Mb
$cbr1setrandom_null
$nsat2.0"$cbr1start"
$nsat3.0"$cbr1stop"
#Definea'finish'procedure
procfinish{}{
globalnstracefilenamfile
$nsflush-trace
close$tracefile
close$namfile
execnamout.nam&
exit0
}
$nsat$val(stop)"$nsnam-end-wireless$val(stop)"
$nsat$val(stop)"finish"
$nsat$val(stop)"puts\"done\";$nshalt"
$nsrun
4.在cygwin中运行startwin.bat,如下图:
5.打开新建的有线网络配置文件wired.tcl
6.运行结果如下图:
7.分析运行结果:
1)在S=1s时,节点0到节点4的数据流量启动,如下图:
2)在S=2s后,节点1到节点5的数据流量启动,如下图:
3)在S=3s后,节点1到节点5的数据传输停止
4)在S=4s后,节点0停止向节点4传输数据
【实验体会】
经过第一次安装NS2的实验,已经对NS2有了一定的了解。
在此基础上,我认真研究了NS2的原理与基本应用,对它的使用有了一定的了解,同时也能理解一些简单的tcl脚本的配置。
之后,我通过一些资料,成功地完成了这次实验。