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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.2. TCP Tuning & Performance Improvements 84<br />

5.2 TCP Tuning & Performance Improvements<br />

5.2.1 St<strong>and</strong>ardised Changes to TCP<br />

Inadequate Window<br />

The 16-bit TCP Sequence Number <strong>and</strong> Acknowledgment fields as proposed<br />

in [Pos81b] imposes a maximum TCP window size of 2 16 = 64KB. Without<br />

the Large Window extensions [JBB92], the maximum throughput of a TCP<br />

connection is limited by the RTT as given by Equation 4.1. On a typical<br />

long distance link with a RTT of 100ms, the maximum throughput of the<br />

TCP connection is therefore limited to 64KB<br />

100ms = 5.12Mbit/sec.<br />

The TCP extension for large windows [JBB92] is implemented using a<br />

3-byte TCP Option that defines an implicit scale factor to multiply the window<br />

size as reported in each TCP packet. It increases the size of the TCP<br />

advertised window to 32-bits <strong>and</strong> then uses a scale factor to carry this 32-bit<br />

value in the 16-bit window field of the TCP header.<br />

It is sent only in a<br />

SYN segment at the TCP h<strong>and</strong>shake <strong>and</strong> hence the scaling factor is fixed<br />

in each direction when a new connection is opened. The maximum window<br />

guaranteed is 2 30 -bytes which imposes a limit of 1GB.<br />

The use of scaling the window imposes problems of sequence numbers<br />

wrapping around <strong>and</strong> therefore the possibility of acking incorrect segments<br />

in the window.<br />

This is dealt with internally to ensure that the sequence<br />

number is within 2 31 -bytes of the left edge of the window. Old acks are also<br />

dealt with using PAWS <strong>and</strong> through the IP TTL field [Pos81a].

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

Saved successfully!

Ooh no, something went wrong!