本文主要是介绍计算机网络实验ns2实验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
网络仿真器NS2的配置与应用
这个实验环境配置很麻烦,但是实验内容很简单......
配置环境一上午,实验只要十分钟......
1. 实验要求
安装并运行网络仿真器NS2,了解其功能模块及配套工具的使用,掌握利用NS2进行网络仿真的方法,为进一步的网络系统性能分析设计创造良好的条件。
2. 实验条件
硬件:一台计算机
软件:Ubuntu操作系统、NS2工具包
3. 实验指导
1) NS2仿真流程
采用NS2进行仿真实验之前,必须先掌握本书7.2.1节中的相关内容。一般来说,采用NS2进行仿真大致可分为3个步骤:
●建立Networkmodel:描述整个网络的拓扑、带宽等信息。
●建立traffic model:描述所有的网络流量或错误情况的时间、类型、或呈何种数学分布。
●追踪分析结果:仿真完成后,可调用nam观察整个仿真流程,或是将namfile中的信息抽取出来加以分析。
下面是一些具体的实现语句,其中#后的说明为该语句的相关注释。(根据本人测试运行,最好文件中不要加注释,否则会报错)
a) 建立Networkmodel
●建立ns对象
set ns[new Simulator]
●建立节点
set n0[$ns node]
●建立连接
$ns duplex-link $n0 $n1 <bandwidth><delay><queue_type>
队列(queue)是保持(held)或丢弃(drop)数据包的地方,目前NS2所支持的队列缓冲管理机制有drop-tail(FIFO)队列、RED缓冲管理、公平队列(Fair Queueing,FQ)、随机公平队列(StochasticFair Queueing,SFQ)、DRR(Deficit Round-Robin)和基于类的队列(class-based queuein,CBQ)。
●建立局域网
$ns make-lan <node_list><bandwidth><delay>LLQueue/DropTail MAC/802.3 Channel
若只想建立点对点的网络,则无需建立局域网这个步骤。
b) 建立Trafficmodel
建立连接
根据不同的流量类型,可分为
TCP连接
set tcp[new Agent/TCP] #建立TCP代理,用以产生流量
set tcpslink[new Agent/TCPSink] #建立TCPSink代理,用以接收流量
$ns attach-agent $n0 $tcp #将所建立的tcp配置给节点n0
$ns attach-agent $n1 $tcpsink #将所建立的tcpsink配置给节点n1
$ns connect $tcp $tcpsink #连接
UDP连接
set udp[new Agent/UDP] #建立UDP代理,用以产生流量
set null[new Agent/NULL] #建立NULL代理,用以接收流量
$ns attach-agent $n0 $udp #将所建立的udp配置给节点n0
$ns attach-agent $n1 $null #将所建立的null配置给节点n1
$ns connect $udp $null #连接
●产生流量
对应TCP连接,产生FTP(or Telnet)流量:
set ftp[new Application/FTP]
$ftp attach-agent $udp
●建立排程
$ns at<time><event> #<event>为任何合法的ns/tcl命令
$ns run
c) 追踪分析结果
$ns namtrace
这篇关于计算机网络实验ns2实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!