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.5. TCP Variants 70<br />

partial acks do not take NewReno out of Fast Recovery <strong>and</strong> it retransmits<br />

one packet per RTT until all the lost packets are retransmitted thus avoiding<br />

the multiple fast retransmits from a single window of data [Flo94b].<br />

The downside of this is that it may take many RTT’s to recover from<br />

a loss episode, <strong>and</strong> enough new data must be present in order to keep the<br />

ack clock running. Otherwise, re-initiation of the ack clock through a RT O<br />

timeout is still necessary.<br />

The modifications to Reno to enable NewReno are as follows:<br />

Multiple Packet Loss<br />

When first entering Fast Retransmit, the highest sequence number sent so far<br />

is saved in the variable recover. Normal retransmission of data <strong>and</strong> the Fast<br />

Recovery algorithm are run as normal. However, when a new ack arrives,<br />

an additional check is performed to ensure that this ack covers the value of<br />

recover. If the sequence number of the ack is less than that of recover,<br />

then this ack is a partial ack <strong>and</strong> signals that another segment was lost from<br />

the same window of data.<br />

As such, TCP can retransmit the segment reported as expected by the<br />

partial ack. There are two versions of NewReno algorithm which differ in<br />

the way that the RT O is updated under this scenario [FHG04]. Under the<br />

‘slow-<strong>and</strong>-steady’ variant, the RT O is reset on every partial ack. Whilst<br />

with the ‘impatient’ variant the RT O is only set after the first partial ack.<br />

Due to this RT O update, the impatient variant is more likely to be able<br />

to recover quickly under very lossy conditions (or large cwnds) by resorting<br />

to timeouts, whilst the ‘slow-but-steady’ variant will take approximately n<br />

RTTs to recover (where n is the number of lost packets in the window)

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

Saved successfully!

Ooh no, something went wrong!