NS网络仿真,小白起步版,双节点之间的模拟仿真(基于UDP和CBR流)

set ns [new Simulator]



set tracefd [open example.tr w]  
#开启跟踪文件,记录分组传送的过程

$ns trace-all $tracefd

set namtracefd [open example.nam w]  
#设置nam动画显示文件

$ns namtrace-all $namtracefd



#定义结束事件,模拟结束后会调用

proc finish {} {

	global ns tracefd namtracefd

	$ns flush-trace

	close $tracefd      
#关闭trace文件

	close $namtracefd   
#关闭nam显示文件

	exec nam example.nam &

	exit 0

}



set n0 [$ns node]

set n1 [$ns node]



$ns duplex-link $n0 $n1 1Mb 10ms DropTail       
#定义0和1节点之间的带宽(1Mb)和延迟(10ms)以及队列类型(DropTail)




set udp [new Agent/UDP]        
#设置一个udp发送代理

$ns attach-agent $n0 $udp      
#绑定udp发送代理到n0节点



set cbr [new Application/Traffic/CBR]         
#建立一个cbr流应用

$cbr set packetSize_ 500                      
#设置分组大小

$cbr set interval_ 0.005                      
#设置时间间隔

$cbr attach-agent $udp			      
#将CBR流应用绑定到UDP代理



set null [new Agent/Null]		      
#建立一个UDP接收代理

$ns attach-agent $n1 $null                    
#绑定UDP接收代理到节点1



$ns connect $udp $null 			      
#连接UDP发送代理和接收代理



$ns at 0.5 "$cbr start"                       
#设定CBR流在0.5s开始

$ns at 4.5 "$cbr stop"		              
#设定CBR流在4.5S结束



$ns at 5.0 "finish"		              
#设定模拟在5.0s时刻结束



$ns run

1.程序截图

 

posted @ 2019-09-26 20:48  IT蓝月  阅读(252)  评论(0编辑  收藏  举报
Live2D