A.2 Congestion Control: Adjusting for Time-Out
If a time-out occurs, the time-out value should be adjusted upward. Although GRE v2 packets are not retransmitted when a time-out occurs, the time-out should be adjusted up toward a maximum limit. To compensate for shifting internetwork time delays, a strategy must be employed to increase the time-out when it expires. A simple formula called Karn's Algorithm is used in TCP implementations and may be used in implementing the backoff timers for NTS or the FEP. Notice that in addition to increasing the time-out, we are also shrinking the size of the window.
The timer backoff algorithm, as used in TCP, is:
Adapted to our time-out calculations, the new ATO is calculated:
In this modified calculation of ATO, only the two values that contribute to ATO and that are carried on to the next iteration are calculated. RTT is scaled by d, and DEV is unmodified. DIFF is not carried forward and is not used in this scenario. d is suggested to be 2.
Back to table of contents.