NS2网络仿真的过程
2018-01-30 13:24
363 查看
NS2网络仿真的过程可以总结为:
1、初始化
创建ns simulator
创建.tr文件(记录仿真结果)
创建.nam文件(记录仿真过程)
设置结束函数
设置仿真中所需的参数
2、创建仿真拓扑
创建节点
创建并设置链路
设置链路各链路在nam中的排列方式
3、创建流量
探测流量:向网络中添加的额外流量,通过对这些流量进行统计分析可以获得端到端性能参数,在ns2中可以通过设置CBR、UDP、TCP等形式的流量实现。
背景流量:用于模拟网络中已经存在的流量,可以有TCP、UDP、短时TCP等多种形式。(添加准则:尽量能够反映实际网络中流量的特性)
4、设置步骤
设置流量的产生、结束
5、结束仿真
我们可以对照下面的例子来看看仿真过程:#Create a simulator object
set ns [new Simulator]
#Define different colors for data flows
$ns color 1 Blue
$ns color 2 Red
#Open the nam trace file
set nf [open out.nam w]
$ns namtrace-all $nf
#Define a 'finish' procedure
proc 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 nodes
set 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 n0
set udp0 [new Agent/UDP]
$udp0 set class_ 1
$ns attach-agent $n0 $udp0
# Create a CBR traffic source and attach it to udp0
set 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 n1
set udp1 [new Agent/UDP]
$udp1 set class_ 2
$ns attach-agent $n1 $udp1
# Create a CBR traffic source and attach it to udp1
set 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 n3
set 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
#####仿真实验基础实例#############
1. 熟练用ns2做网络仿真试验的整个流程;
2. 练习写tcl脚本,了解怎么应用http和rtp;
3. 练习用awk处理trace数据,了解怎么计算丢包率;
4. 练习用gnuplot绘制曲线图,熟练gnuplot的使用。点击打开链接 https://mp.csdn.net/postedit/79204783
1、初始化
创建ns simulator
创建.tr文件(记录仿真结果)
创建.nam文件(记录仿真过程)
设置结束函数
设置仿真中所需的参数
2、创建仿真拓扑
创建节点
创建并设置链路
设置链路各链路在nam中的排列方式
3、创建流量
探测流量:向网络中添加的额外流量,通过对这些流量进行统计分析可以获得端到端性能参数,在ns2中可以通过设置CBR、UDP、TCP等形式的流量实现。
背景流量:用于模拟网络中已经存在的流量,可以有TCP、UDP、短时TCP等多种形式。(添加准则:尽量能够反映实际网络中流量的特性)
4、设置步骤
设置流量的产生、结束
5、结束仿真
我们可以对照下面的例子来看看仿真过程:#Create a simulator object
set ns [new Simulator]
#Define different colors for data flows
$ns color 1 Blue
$ns color 2 Red
#Open the nam trace file
set nf [open out.nam w]
$ns namtrace-all $nf
#Define a 'finish' procedure
proc 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 nodes
set 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 n0
set udp0 [new Agent/UDP]
$udp0 set class_ 1
$ns attach-agent $n0 $udp0
# Create a CBR traffic source and attach it to udp0
set 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 n1
set udp1 [new Agent/UDP]
$udp1 set class_ 2
$ns attach-agent $n1 $udp1
# Create a CBR traffic source and attach it to udp1
set 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 n3
set 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
转载:http://blog.csdn.net/liuruiqun/article/details/45588615
#####仿真实验基础实例#############
一个简单的ns2实验全过程
实验名称:比较tcp和udp的丢包行为试验目的:1. 熟练用ns2做网络仿真试验的整个流程;
2. 练习写tcl脚本,了解怎么应用http和rtp;
3. 练习用awk处理trace数据,了解怎么计算丢包率;
4. 练习用gnuplot绘制曲线图,熟练gnuplot的使用。点击打开链接 https://mp.csdn.net/postedit/79204783
相关文章推荐
- NS2网络仿真的过程
- NS2仿真过程中需要的语言及基本组件
- [置顶] NS2中TCP拥塞控制仿真过程中盲点解析
- Windows平台下NS2网络仿真环境的搭建
- NS2网络仿真环境的搭建和使用
- ns2模拟仿真的一般过程及要点
- NS2学习笔记---ns2模拟仿真的一般过程及要点
- 网络仿真实验:基于NS2的组播路由协议实现及仿真
- ns2模拟仿真中的一般过程和要点
- NS2仿真分析无线网络的攻击防御(1)
- NS2网络仿真简介
- Windows平台下NS2网络仿真环境的搭建
- 网络仿真技术-NS2(学习笔记)
- [转]NS2仿真过程中解决动画仿真节点未定义问题
- NS2仿真过程中nam动画的保存
- Linux下对NS2项目的仿真分析全过程代码(从tcl脚本-awk文本处理-gnuplot)
- ns2:无线网络仿真与有线仿真结果(.tr文件)中每个数据的含义
- ns2与网络仿真( 转载)
- NS2仿真过程中需要的语言及基本组件
- 基于NS2的网络路由协议仿真(AODV、COPE+AODV)