Computer Networking Basics
What triggers a TCP sender to decide that a segment was lost and retransmit it?
- AReceiving a negative acknowledgment (NAK) from the receiver asking for the missing segment to be resent
- BReceiving an ICMP message from a router along the path saying it dropped the packet
- CNo ACK returning within a set time (retransmission timeout), or receiving several ACKs in a row with the same acknowledgment number (duplicate ACKs)
Show answer and explanation
Answer: C. No ACK returning within a set time (retransmission timeout), or receiving several ACKs in a row with the same acknowledgment number (duplicate ACKs)
A TCP receiver returns, in its ACKs, the number following the data it has received (the next sequence number it expects). If a segment in the middle is lost, it keeps returning ACKs with the same number (duplicate ACKs) even as later segments arrive. When the sender receives three duplicate ACKs, it retransmits that segment without waiting for a timeout (fast retransmit). If no ACK returns at all, it retransmits after a retransmission timeout derived from RTT measurements, doubling the timeout with each repeated failure. TCP has no negative acknowledgment (NAK), and routers generally do not report packets dropped due to congestion, so loss is inferred from the pattern of ACKs.
- A. TCP has no negative acknowledgment (NAK); the sender infers loss from the ACKs.
- B. Routers generally do not notify the source about packets dropped due to congestion.
- C. Correct. The triggers are the retransmission timeout and fast retransmit on duplicate ACKs.