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.4. Retransmission Timeout 61<br />

tion avoidance regime from a ‘safe’ operating at half the rate at which loss<br />

occurred.<br />

4.4 Retransmission Timeout<br />

As TCP requires the receipt of acknowledgments in order to slide the TCP<br />

window <strong>and</strong> thus maintain the flow of data between the sender <strong>and</strong> receiver,<br />

should ack’s not be received then the TCP sender will indefinitely stall.<br />

In order to rectify this, TCP implements a Retransmission Timeout (RTO)<br />

which is a soft timer which is re-initialised after the receipt of an ack. It is<br />

assumed that an RT O expiry (i.e. a period where no acks are received) is<br />

equivalent to packet lost <strong>and</strong> therefore the missing segment should be retransmitted<br />

to facilitate reliable delivery <strong>and</strong> progress movement of the TCP<br />

window.<br />

The delivery of each segment of data may experience differing latencies;<br />

it is therefore important to have a good RTT estimator in order to determine<br />

an appropriate RTO.<br />

[Jac88] presented a calculation of RT O by applying a filter such that it<br />

takes <strong>into</strong> account the variation of the average RTT, in fact this exponentially<br />

weighted estimator devised for Tahoe is still in use today. The RTO is<br />

calculated using a smoothed estimate of the RTT, SRTT, <strong>and</strong> a variance<br />

estimate, RTTVAR [PA00].<br />

SRT T ← SRT T + 1 (RT T − SRT T ) (4.6)<br />

8<br />

RT T V AR ← V RT T + 1 (|RT T − SRT T | − RT T V AR) (4.7)<br />

4<br />

RT O ← SRT T + 4 × RT T V AR (4.8)

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

Saved successfully!

Ooh no, something went wrong!