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.

4.3. Congestion Control 58<br />

sends out as many segments as it can ensuring that the number of packets<br />

in flight does not exceed cwnd. After approximately one RT T , the TCP<br />

sender should receive an acknowledgment informing receipt of the data from<br />

the receiver. For every non-duplicate ack received,<br />

cwnd ← cwnd + 1 (4.3)<br />

During slow start, this algorithm is equivalent to an exponential increase<br />

in the cwnd size as it effectively doubles every RT T as one more packet is sent<br />

out for every non-dupack received. This increase of cwnd is quite aggressive.<br />

However, it enables the TCP connection to quickly reach a stable point for<br />

congestion avoidance (See Section 4.3.2) to take place.<br />

Slow start ends when a segment loss is detected or when the congestion<br />

window reaches the slow start threshold, ssthresh (See Section 4.3.3).<br />

4.3.2 Congestion Avoidance<br />

Under the packet conversation principle, a TCP connection at equilibrium<br />

will send new packets with the rate at which it receives acks. Under ideal<br />

circumstances, this rate should reflect the rate packets are served by the<br />

slowest link of the entire path, also known as the ‘bottleneck link’.<br />

When a sender is operating at equilibrium, i.e. in steady state, it should<br />

be able to adapt to changes in the condition of the path. More importantly, if<br />

more connections (say from other users) start to use part of the path, any one<br />

TCP flow should ‘back-off’ its transmission rate <strong>and</strong> be fair to other flows.<br />

Similarly, should a connection terminate then the sender should attempt<br />

to utilise the extra b<strong>and</strong>width. This is exactly what congestion avoidance<br />

[Jac88] does, <strong>and</strong> is implemented through a simple algorithm such that it will

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

Saved successfully!

Ooh no, something went wrong!