NS2网络仿真的过程
来源:互联网 发布:js获取input file路径 编辑:程序博客网 时间:2024/05/16 00:40
NS2网络仿真的过程可以总结为:
1、初始化
创建ns simulator
创建.tr文件(记录仿真结果)
创建.nam文件(记录仿真过程)
设置结束函数
设置仿真中所需的参数
2、创建仿真拓扑
创建节点
创建并设置链路
设置链路各链路在nam中的排列方式
3、创建流量
探测流量:向网络中添加的额外流量,通过对这些流量进行统计分析可以获得端到端性能参数,在ns2中可以通过设置CBR、UDP、TCP等形式的流量实现。
背景流量:用于模拟网络中已经存在的流量,可以有TCP、UDP、短时TCP等多种形式。(添加准则:尽量能够反映实际网络中流量的特性)
4、设置步骤
设置流量的产生、结束
5、结束仿真
我们可以对照下面的例子来看看仿真过程:
#Create a simulator objectset ns [new Simulator]#Define different colors for data flows$ns color 1 Blue$ns color 2 Red#Open the nam trace fileset nf [open out.nam w]$ns namtrace-all $nf#Define a 'finish' procedureproc finish {} { global ns nf $ns flush-trace#Close the trace file close $nf#Execute nam on the trace file exec nam out.nam & exit 0}#Create four nodesset n0 [$ns node]set n1 [$ns node]set n2 [$ns node]set n3 [$ns node]#Create links between the nodes$ns duplex-link $n0 $n2 1Mb 10ms DropTail$ns duplex-link $n1 $n2 1Mb 10ms DropTail$ns duplex-link $n3 $n2 1Mb 10ms SFQ$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#Monitor the queue for the link between node 2 and node 3$ns duplex-link-op $n2 $n3 queuePos 0.5#Create a UDP agent and attach it to node n0set udp0 [new Agent/UDP]$udp0 set class_ 1$ns attach-agent $n0 $udp0# Create a CBR traffic source and attach it to udp0set cbr0 [new Application/Traffic/CBR]$cbr0 set packetSize_ 500$cbr0 set interval_ 0.005$cbr0 attach-agent $udp0#Create a UDP agent and attach it to node n1set udp1 [new Agent/UDP]$udp1 set class_ 2$ns attach-agent $n1 $udp1# Create a CBR traffic source and attach it to udp1set cbr1 [new Application/Traffic/CBR]$cbr1 set packetSize_ 500$cbr1 set interval_ 0.005$cbr1 attach-agent $udp1#Create a Null agent (a traffic sink) and attach it to node n3set null0 [new Agent/Null]$ns attach-agent $n3 $null0#Connect the traffic sources with the traffic sink$ns connect $udp0 $null0 $ns connect $udp1 $null0#Schedule events for the CBR agents$ns at 0.5 "$cbr0 start"$ns at 1.0 "$cbr1 start"$ns at 4.0 "$cbr1 stop"$ns at 4.5 "$cbr0 stop"#Call the finish procedure after 5 seconds of simulation time$ns at 5.0 "finish"#Run the simulation$ns run
该例子运行结果如下:
0 0
- NS2网络仿真的过程
- 基于免费软件ns2的网络仿真
- ns2网络仿真5
- NS2网络仿真
- ns2与网络仿真( 转载)
- 大话ns2网络仿真2
- 大话ns2网络仿真3
- 大话ns2网络仿真4
- NS2仿真过程中需要的语言及基本组件
- NS2仿真过程中nam动画的保存
- ns2模拟仿真的一般过程及要点
- ns2模拟仿真的一般过程及要点
- 基于NS2的网络路由协议仿真(AODV、COPE+AODV)
- Windows平台下NS2网络仿真环境的搭建
- NS2网络仿真环境的搭建和使用
- Windows平台下NS2网络仿真环境的搭建
- NS2学习笔记---ns2模拟仿真的一般过程及要点
- 网络仿真实验:基于NS2的组播路由协议实现及仿真
- C++类的前置声明
- std::function和std::bind的使用(总结)
- Remove Nth Node From End of List
- ViewGroup重写——滚动页面容器
- linux shell中的点命令------谈谈. ./a.sh和./a.sh的区别
- NS2网络仿真的过程
- Android签名时混淆包名
- 关于AutoLayout的框架Masonry的使用
- csu 1328: 近似回文词
- GLSL 纹理贴图
- 个人感悟(1):最近的学习与感悟
- Leetcode Course Schedule
- GLSL 卡通着色
- Ubuntu 12.10下编译3.8.13内核执行命令make menuconfig出错