05.08.2014 Views

An Investigation into Transport Protocols and Data Transport ...

An Investigation into Transport Protocols and Data Transport ...

An Investigation into Transport Protocols and Data Transport ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4.5. TCP Variants 66<br />

TCP Tahoe completely destroys the ack clock unnecessarily <strong>and</strong> is too conservative<br />

in its rate reduction.<br />

Given this assumption, under moderate loads the sender should be able<br />

to keep on sending data since the flow still exists (as the equilibrium has not<br />

been completely destroyed). However, the sender should be sending with less<br />

vigour to utilise less resources in order to prevent congestion collapse.<br />

As such, Reno introduces a mechanism called Fast Recovery [Ste97] which<br />

should be activated after a Fast Retransmit.<br />

Recall that Fast Retransmits<br />

will cause the sender to retransmit the lost packet after receiving three<br />

dupacks. However, under Reno, it will not fall back to slow start, but instead,<br />

it should take advantage of the fact that the flow that currently exists<br />

should keep on sending, but using less resources.<br />

By using Fast Recovery, the sender calculates half the number of packets<br />

in-flight just before loss detection. It sets ssthresh to this value <strong>and</strong> then<br />

subsequently also sets cwnd to the same value, rather than to one packet as<br />

in Tahoe 5 . As such, this forces TCP Reno to send fewer packets out <strong>and</strong><br />

therefore it has indeed reduced its utilisation of the network.<br />

As ssthresh is also updated upon congestion, TCP Reno is therefore also<br />

able to quickly revert back to congestion avoidance should a RT O expiration<br />

occur (causing the TCP flow to enter slow start).<br />

But the shrinking of cwnd means that the TCP flow has already sent out<br />

all the packets that are contained within the window <strong>and</strong> therefore there is<br />

no way of sending out new packets unless the window is forced to include the<br />

new ones. As the receipt of dupacks under Tahoe does not move this window,<br />

then the only way to shift the window is to (artificially) inflate the size of<br />

5 Actually, it is set to half of the the number of packets in flight before the loss plus 3<br />

packets to signify the data segments that have been acknowledged by the 3 dupacks.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!