101 · Question #493
Host A sends 10 TCP packets to Host B. All packets arrive at Host B quickly, but some arrive out of order. What will Host B do?
The correct answer is D. ACK all packets and place them in order. TCP uses sequence numbers and a receive buffer to reorder out-of-order segments and deliver data to the application in the correct sequence.
Question
Host A sends 10 TCP packets to Host B. All packets arrive at Host B quickly, but some arrive out of order. What will Host B do?
Options
- AACK only packets that are in order
- Bdrop all packets and wait for arrival in order
- Cdrop any packets that arrive out of order
- DACK all packets and place them in order
How the community answered
(37 responses)- A3% (1)
- B3% (1)
- C5% (2)
- D89% (33)
Why each option
TCP uses sequence numbers and a receive buffer to reorder out-of-order segments and deliver data to the application in the correct sequence.
TCP does not discard out-of-order segments; it buffers them and can use Selective Acknowledgment (SACK) to inform the sender which segments were received.
TCP never drops already-received segments and waits; its buffering mechanism exists precisely to avoid unnecessary retransmission of data that arrived early.
Dropping out-of-order packets is the behavior of UDP, not TCP; TCP's reliability guarantee requires retaining all received segments until gaps are filled.
TCP assigns sequence numbers to every byte of data, allowing the receiver to detect and buffer out-of-order segments rather than discard them. Host B holds the early-arriving segments in its receive buffer, acknowledges them, and reassembles the full stream in order before passing it to the application layer, ensuring reliable and ordered delivery.
Concept tested: TCP out-of-order segment buffering and reordering
Source: https://www.rfc-editor.org/rfc/rfc793
Topics
Community Discussion
No community discussion yet for this question.