菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
396
0

【NS2仿真】TCP与UDP混合

原创
05/13 14:22
阅读数 66884
#
# 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

 

发表评论

0/200
396 点赞
0 评论
收藏
为你推荐 换一批