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

[Hoe96]. In both cases, the TCP connection only exits Fast Recovery if the<br />

new ack’s sequence number is larger than recover.<br />

False Retransmits<br />

In order to prevent the retransmission of segments that have already been<br />

received by the receiver 6 , the same recover variable as per the previous<br />

discussion is used 7 . With the initial call <strong>into</strong> Fast Retransmit after a loss is<br />

detected, the RT O is reset. Upon consecutive RT O’s, the highest sequence<br />

number transmitted so far is also recorded <strong>into</strong> recover. By checking the<br />

received acks against recover, the TCP sender is able to prevent having to<br />

retransmit unnecessary data.<br />

The sender comes out of Fast Recovery <strong>and</strong> Fast Retransmits only after<br />

all outst<strong>and</strong>ing packets (at the time of first loss) have been acked.<br />

4.5.5 Selective Acknowledgments (SACKs)<br />

With Selective Acknowledgment, SACK [MMFR96], the data receiver can<br />

inform the sender about all segments that have arrived successfully, so the<br />

sender need retransmit only the segments that have actually been lost. However,<br />

TCP-SACK requires that both TCP senders <strong>and</strong> receivers be modified<br />

to support SACKs.<br />

In order to be backwards compatible with existing non-SACK TCP receivers,<br />

SACK capability is negotiated during the TCP h<strong>and</strong>shake. If neither<br />

of the TCP hosts implement the TCP SACK option, then TCP-SACK behaves<br />

the same as TCP Reno - with its associated problem with multiple<br />

6 As retransmitted packets may also be dropped.<br />

7 Note that the original ‘experimental’ draft of NewReno does not implement the check<br />

against recover.

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

Saved successfully!

Ooh no, something went wrong!