Highspeed TCP is also called as HSTCP, developed by Sally S Floyd. It was a RFC paper 3649 whivh can be got from here
A great deal of in depth analysis is not found in internet, so hope this will work
If you are interested to know the details and working of algorithm then please see the link
For the co incidence my final year project is also on HSTCP, and its implementation in wireless Ad hoc networks.
The code is as below
A great deal of in depth analysis is not found in internet, so hope this will work
If you are interested to know the details and working of algorithm then please see the link
For the co incidence my final year project is also on HSTCP, and its implementation in wireless Ad hoc networks.
The code is as below
The plot for the above is as below
set ns [new Simulator]
set file1 [open out.nam w]
$ns namtrace-all $file1
set tf [open ui.tr w]
$ns trace-all $tf
set winfile [open highspeed.tr w]
proc finish {} {
global ns file1 tf
$ns flush-trace
close $tf
close $file1
exec nam out.nam &
exit 0
}
set n0 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
$ns duplex-link $n0 $n2 2Gb 10ms DropTail
$ns duplex-link $n2 $n3 1.0Gb 200ms DropTail
$ns duplex-link $n3 $n4 2.0Gb 40ms DropTail
$ns duplex-link-op $n2 $n3 queuePos 0.1
$ns duplex-link-op $n0 $n2 orient right-down
$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 queue-limit $n2 $n3 10
set tcp [new Agent/TCP/Linux]
$ns at 0 "$tcp select_ca highspeed"
$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_ 1500
$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 150.0 "finish"
$ns run
No comments:
Post a Comment