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 54<br />

Receiver's Advertised Window<br />

Network Window<br />

1 2 3 4 5 6 7 8 9 10<br />

<strong>Data</strong> Sent<br />

<strong>and</strong> ack'd<br />

<strong>Data</strong> Sent<br />

<strong>and</strong> waiting for ack<br />

Waiting for window to<br />

move before sending data<br />

Figure 4.3: Sliding Window of TCP.<br />

4.2.2 Reliable <strong>Data</strong> Replication<br />

To ensure reliable in-order data replication between machines, a TCP sender<br />

must maintain sufficient history of what data has been received by the TCP<br />

receiver. The implementation of an acknowledgment system in TCP offers<br />

such a mechanism by explicitly notifying the sender of what the receiver has<br />

received.<br />

This history is provided by implementing a window of bytes on the sender<br />

which are currently ‘in-situ’ or packets in flight. Each byte of data is assigned<br />

a unique sequence number <strong>and</strong> the sequence number corresponding to the<br />

start of the data payload of each TCP packet is embedded in the TCP header.<br />

The left-h<strong>and</strong> side of the window, snd_una, is advanced when the sender<br />

receives an acknowledgment from the receiver. acks are cumulative in the<br />

sense that the acknowledgment number in the header of each ack confirms<br />

all bytes up to the given sequence number.<br />

As data is not always delivered to the TCP receiver in a continuous way<br />

(the network 1 can lose, duplicate or re-order packets) any data packets that<br />

are not sequentially received at the receiver are called out-of-order data.<br />

1 <strong>An</strong>d potentially any layer directly underneath the transport layer.

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

Saved successfully!

Ooh no, something went wrong!