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.

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

5.2.5 Dynamic Right Sizing & Receiver Window<br />

When the TCP sender’s window is not constrained by the system socket<br />

buffer size nor by the congestion window, it will be throttled only by the receiver’s<br />

advertised window (as per TCP flow control). The size of the receiver<br />

window is a st<strong>and</strong>ard control parameter of TCP [Pos81b]. By advertising a<br />

smaller window the receiver can control the number of segments that the<br />

sender is allowed to transmit (similar to imposing a small socket buffer at<br />

the sender).<br />

[FF01] describe modifications to the Linux kernel that allow the kernel to<br />

tune the buffer size advertised by the TCP receiver. Called Dynamic Right<br />

Sizing (DRS), the receiver’s TCP kernel estimates the b<strong>and</strong>width from the<br />

amount of data received in each round-trip time <strong>and</strong> uses that estimation to<br />

derive the receiver’s window to advertise back to the sender. Assuming that<br />

the sender is limited only by the network condition (i.e. by its cwnd value),<br />

then the amount of data transferred in approximately one RTT is equal to<br />

one windows worth of data. Therefore, by the TCP receiver measuring the<br />

time taken to receive one windows worth of data, it can determine the RTT of<br />

the connection. This value of RTT is used as an upper bound on the latency<br />

of the link <strong>and</strong> therefore the appropriate receive window size to advertise in<br />

following TCP acks.<br />

Therefore, the effect of DRS on TCP senders is that their cwnd value<br />

is never allowed to grow beyond what is actually achievable through that<br />

connection <strong>and</strong> is clamped to the value as calculated by the TCP receiver. As<br />

such, the TCP flow never actually imposes the additive increase of congestion<br />

control <strong>and</strong> hence does not impose the necessary loss that is typical of the<br />

oscillatory behaviour of TCP.

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

Saved successfully!

Ooh no, something went wrong!