【NS2仿真】TCP与UDP混合

#
# ftp
#  \    
#  tcp                          
#    \                         
#     n0                 sink
#     \                /  
#      \              /
#      n1---5M 2ms---n3
#      /              \
#     /                \
#   n2                 null
#   /
#  udp
#  /
# cbr 

set ns [new Simulator]

set f [open out.tr w]
$ns trace-all $f
set nf [open out.nam w]
$ns namtrace-all $nf

proc finish {} {
    global ns nf f
    $ns flush-trace
    close $f
    close $nf
    exec nam out.nam &
    exit 0
}

#设置并连接4个节点
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]

$ns duplex-link $n0 $n1 5M 2ms DropTail
$ns duplex-link $n2 $n1 5M 2ms DropTail
$ns duplex-link $n3 $n1 5M 2ms DropTail

$ns duplex-link-op $n0 $n1 orient right-down
$ns duplex-link-op $n2 $n1 orient right-up
$ns duplex-link-op $n1 $n3 orient right

#设置传输层并连接
set tcp [new Agent/TCP]
$ns attach-agent $n0 $tcp
set udp [new Agent/UDP]
$ns attach-agent $n2 $udp

set sink [new Agent/TCPSink]
$ns attach-agent $n3 $sink
set null [new Agent/Null]
$ns attach-agent $n3 $null

$ns connect $tcp $sink
$ns connect $udp $null

#设置应用层
set ftp [new Application/FTP]
$ftp attach-agent $tcp
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp

#设置执行与停止顺序
$ns at 0.05 "$ftp start"
$ns at 0.30 "$cbr start"
$ns at 0.50 "finish"

$ns run

 

你可能感兴趣的:(【NS2仿真】TCP与UDP混合)