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.2. Protocol Description 56<br />

Where n is number of packets in flight, <strong>and</strong> s is the size of each packet as<br />

limited by the MTU <strong>and</strong> MSS. As such, should the physical memory assigned<br />

to the sliding window be restricted, then the number of packets in flight is<br />

restricted <strong>and</strong> consequently the throughput is also restricted.<br />

<strong>An</strong>other way of thinking about the BDP is that for a network capacity of<br />

C (i.e. b = C), <strong>and</strong> an end-to-end latency of T , the required window in order<br />

for a TCP flow to saturate the path is C × T . This is only valid when there<br />

are no competing flows as the presence of network cross traffic is that the<br />

available b<strong>and</strong>width of the network is less than C. However, the presence of<br />

cross traffic may also increase the latency of the flow, <strong>and</strong> therefore there is<br />

a balancing effect (of the decrease in b<strong>and</strong>width, but an increase in latency).<br />

A full account of this is given in [JPD03].<br />

4.2.3 Flow Control<br />

To prevent a fast sender from overflowing a slow receiver, <strong>and</strong> hence causing<br />

losses at the receiver (<strong>and</strong> wasting network resources), TCP implements flow<br />

control [Tan96]. In order to prevent such an occurrence, in every ack the<br />

receiver advertises to the sender its ‘receiver window’ (rwnd) which represents<br />

the number of bytes available for buffering at the TCP receiver before it is<br />

processed <strong>and</strong> sent up to the receiver Application.<br />

Therefore, if the TCP receiver cannot process the incoming data at the<br />

speed which is being sent, the value of rwnd sent will get smaller as the<br />

socket buffer at the receiver fills.<br />

Through the advertisement of rwnd, the TCP sender can prevent overflowing<br />

the receiver by limiting its maximum allowed window size for transmission.<br />

This mechanism provides a simple, yet elegant way of preventing

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

Saved successfully!

Ooh no, something went wrong!