Without any delay I would like to post the codes, due to my exams wasn't able to post for last few days.
Code
Code
The xgraph for the above code is as follows
set ns [new Simulator]
set file1 [open out.nam w]
$ns namtrace-all $file1
set tf [open ui.tr w]
$ns trace-all $tf
# Open the Window trace file
set winfile [open scalable.tr w]
proc finish {} {
global ns file1 tf
$ns flush-trace
close $tf
close $file1
exec nam out.nam &
exit 0
}
# Create the nodes:
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
$ns duplex-link $n0 $n2 2Gb 10ms DropTail
$ns duplex-link $n1 $n2 2Gb 10ms DropTail
$ns simplex-link $n2 $n3 1.0Gb 200ms DropTail
$ns simplex-link $n3 $n2 1.0Gb 200ms DropTail
$ns duplex-link $n3 $n4 2.0Gb 40ms DropTail
$ns duplex-link $n3 $n5 2.0Mb 30ms DropTail
$ns duplex-link-op $n2 $n3 queuePos 0.1
# Give node position (for NAM)
$ns duplex-link-op $n0 $n2 orient right-down
$ns duplex-link-op $n1 $n2 orient right-up
$ns simplex-link-op $n2 $n3 orient right
$ns simplex-link-op $n3 $n2 orient left
$ns duplex-link-op $n3 $n4 orient right-up
$ns duplex-link-op $n3 $n5 orient right-down
$ns queue-limit $n2 $n3 10
set tcp [new Agent/TCP/Linux]
$ns at 0 "$tcp select_ca scalable"
$ns attach-agent $n0 $tcp
set sink [new Agent/TCPSink/Sack1]
$sink set ts_echo_rfc1323_ true
$ns attach-agent $n4 $sink
$ns connect $tcp $sink
$tcp set fid_ 1
$tcp set window_ 8000
$tcp set packetSize_ 552
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP
$ns at 0.1 "$ftp start"
$ns at 500.0 "$ftp stop"
proc plotWindow {tcpSource file} {
global ns
set time 0.1
set now [$ns now]
set cwnd [$tcpSource set cwnd_]
set wnd [$tcpSource set window_]
puts $file "$now $cwnd"
$ns at [expr $now+$time] "plotWindow $tcpSource $file"
}
$ns at 0.1 "plotWindow $tcp $winfile"
$ns at 140.0 "finish"
$ns run
No comments:
Post a Comment