您的位置:首页 > 理论基础 > 计算机网络

【NS2仿真】TCP与UDP混合

2016-07-04 17:15 459 查看
#
# 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: