Because data segment and acknowledgement can get lost in the network, timeout and retransmission machenism has to be used. In TCP, four different timers are used for each connection:
We only look at the retransmission timer. This timer expires when an acknowledgement is supposed to come, but has not come for a long time, this means that the acknowledgement may have been lost. Further wait would be meaningless. But the problem here is that it may be that the acknowledgement was not lost but took a long time to arrive, therefore, premature timeout and retransmission will also waste network bandwidth. The key here is to come up with a realistic estimate of the round trip time, which can be quite difficult at times, as shown in our homework measurement results. The timer should be chosen such that it expires only after the round trip time. But unlike the data link layer, which is point-to-point, round trip time between two end points tranversing possibly many nodes can be very difficult to estimate. A poor choice of retransmission timer value can cause unnecessary network congestions.