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

set ns [new Simulator]

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

$ns trace-all $tracefd

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

$ns namtrace-all $namtracefd


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

proc finish {} {

	global ns tracefd namtracefd

	$ns flush-trace

	close $tracefd      
#关闭trace文件

	close $namtracefd   
#关闭nam显示文件

	exec nam one.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 tcp [new Agent/TCP]        
#设置一个tcp发送代理
$tcp set class_ 2

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

set null [new Agent/TCPSink]
#建立一个TCP接收代理
$ns attach-agent $n1 $null
#绑定TCP接收代理到节点1
$ns connect $tcp $null
#连接TCP发送代理和接收代理
$tcp set fid_ 1



set ftp [new Application/FTP]         
#建立一个ftp应用

                   

$ftp attach-agent $tcp			      
#将ftp应用绑定到tcp代理
$ftp set type_ FTP



$ns at 1 "$ftp start"                       
#设定FTP流在0.5s开始

$ns at 5 "$ftp stop"		              
#设定FTP流在4.5S结束



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



$ns run

原文地址:https://www.cnblogs.com/viplanyue/p/12700503.html