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.6. Summary 76<br />

<strong>into</strong> slow start. However, this will result in the breaking of the ack clock<br />

which is required for stable TCP connections <strong>and</strong> therefore would take a<br />

few RTTs to get back <strong>into</strong> congestion avoidance. Therefore, TCP Reno was<br />

devised to be able to differentiate moderate congestion <strong>and</strong> react by only<br />

halving cwnd. This is called AIMD in reference to increase of cwnd by one<br />

segment per RTT when probing <strong>and</strong> the halving of cwnd upon loss.<br />

However, as connection b<strong>and</strong>widths <strong>and</strong> end-to-end latencies of the Internet<br />

increase, cwnd has to increase to retain enough state to enable the sliding<br />

window mechanism required for reliable delivery of data. As this occurs, the<br />

chance of multiple losses of segments in a single window increases.<br />

Unfortunately, TCP Reno <strong>and</strong> TCP Tahoe do not h<strong>and</strong>le such situations<br />

well <strong>and</strong> each will successively call its corresponding loss detection mechanism.<br />

The effect of this is the stalling of the TCP connection as it attempts<br />

to retransmit what it thinks is lost in the network.<br />

Two primary proposals were developed to facilitate the recovery of TCP<br />

under multiple packet losses per window. Of the two, Selective Acknowledgments<br />

(SACKs) allow the TCP sender to recover from the losses in the<br />

order of just one RTT. However, it requires that both the sender <strong>and</strong> receiver<br />

specially implement SACKs in order to operate. TCP NewReno, however,<br />

only requires a sender side modification, but it will take an amount of time<br />

related to the number of lost packets in order to recover. Otherwise, it will<br />

require that a RT O timeout occur at the sender.<br />

Overall, it can be seen that many changes have been made over time in<br />

order to improve TCP’s behaviour with respect to congestion. In the next<br />

Chapter, more recent modifications are considered with the aim of improving<br />

performance in high-speed networks.

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

Saved successfully!

Ooh no, something went wrong!