I was reading a textbook which describes how TCP managing the retransmission timeout interval as:
TimeoutInterval = EstimatedRTT + 4 *DevRTT
An initial TimeoutInterval value of 1 second is recommended. Also, when a timeout occurs, the value of TimeoutInterval is doubled to avoid a premature timeout occurring for a subsequent segment that will soon be acknowledged. However, as soon as a segment is received and EstimatedRTT is updated, the TimeoutInterval is again computed using the formula above.
I don't understand why TimeoutInterval needs to be doubled, because each packet has its own timer?