The MultipleFastRtx SCTP agent attempts to minimize the number of timeouts which occur. Without the Multiple Fast Retransmit algorithm, SCTP may only Fast Retransmit a TSN once. If a Fast Retransmitted TSN is lost, a timeout is necessary to retransmit the TSN again. The Multiple Fast Retransmit algorithm allows the same TSN to be Fast Retransmitted several times if needed. Without the Multiple Fast Retransmit algorithm, a large window of outstanding data may generate enough SACKs to incorrectly trigger more than one Fast Retransmit of the same TSN in a single RTT. To avoid these spurious Fast Retransmits, the Multiple Fast Retransmit algorithm introduces a fastRtxRecover state variable for each TSN Fast Retransmitted. This variable stores the highest outstanding TSN at the time a TSN is Fast Retransmitted. Then, only SACKs which newly ack TSNs beyond fastRtxRecover can increment the missing report for the Fast Retransmitted TSN. If the missing report threshold for the Fast Retransmitted TSN is reached again, the sender has enough evidence that this TSN was lost and can be Fast Retransmitted again [].
Tom Henderson 2011-11-05