Explain the concept of fast retransmit and fast recovery in TCP.

What will be an ideal response?


Modifications to the congestion avoidance algorithm were proposed in 1990. Before describing the change, realize that TCP may generate an immediate acknowledgment (a duplicate ACK) when an out-of-order segment is received (with a note that one reason for doing so was for the experimental fast-retransmit algorithm). This duplicate ACK should not
be delayed. The purpose of this duplicate ACK is to let the other end know that a segment was received out of order, and to tell it what sequence number is expected. Since TCP does not know whether a duplicate ACK is caused by a lost segment or just a reordering of segments, it waits for a small number of duplicate ACKs to be received. It is
assumed that if there is just a reordering of the segments, there will be only one or two duplicate ACKs before the reordered segment is processed, which will then generate a new ACK. If three or more duplicate ACKs are received in a row, it is a strong indication that a segment has been lost. TCP then performs a retransmission of what appears to be the missing segment, without waiting for a retransmission timer to expire.
Fast Recovery After fast retransmit sends what appears to be the missing segment, congestion avoidance, but not slow start is performed. This is the fast recovery algorithm. It is an improvement
that allows high throughput under moderate congestion, especially for large windows.
The reason for not performing slow start in this case is that the receipt of the duplicate ACKs tells TCP more than just a packet has been lost. Since the receiver can only generate the duplicate ACK when another segment is received, that segment has left the network and is in the receiver's buffer. That is, there is still data flowing between the two ends, and TCP does not want to reduce the flow abruptly by going into slow start.
The fast retransmit and fast recovery algorithms are usually implemented together as follows.
1. When the third duplicate ACK in a row is received, set ssthresh to one-half the
current congestion window, cwnd, but no less than two segments. Retransmit the
missing segment. Set cwnd to ssthresh plus 3 times the segment size. This inflates
the congestion window by the number of segments that have left the network and which the other end has cached (3).
2. Each time another duplicate ACK arrives, increment cwnd by the segment size. This
inflates the congestion window for the additional segment that has left the network. Transmit a packet, if allowed by the new value of cwnd.
3. When the next ACK arrives that acknowledges new data, set cwnd to ssthresh (the value set in step 1). This ACK should be the acknowledgment of the retransmission
from step 1, one round-trip time after the retransmission. Additionally, this ACK should acknowledge all the intermediate segments sent between the lost packet and the receipt of the first duplicate ACK. This step is congestion avoidance, since TCP is down to one-half the rate it was at when the packet was lost. The fast retransmit algorithm first appeared in the 4.3BSD Tahoe release, and it was followed by slow start. The fast recovery algorithm appeared in the 4.3BSD Reno release.

Computer Science & Information Technology

You might also like to view...

A macro virus is a virus that is attached to a file such as a Word document or Excel workbook

Indicate whether the statement is true or false

Computer Science & Information Technology

When you insert a new worksheet, it is inserted to the right of the active worksheet

Indicate whether the statement is true or false

Computer Science & Information Technology

________ is a technology most frequently used for credit and debit card processing

What will be an ideal response?

Computer Science & Information Technology

A(n) ____ paragraph is a paragraph that begins with a dot or other symbol.

A. headline B. centered C. bulleted D. indexed

Computer Science & Information Technology