An acknowledgment number is the TCP sequence number of the next segment the receiver expects. It confirms receipt and supports reliable, ordered communication. section 22.2.1
TCP hosts maintain separate sequence and acknowledgment numbers in each direction. After receiving a segment, a host acknowledges it by reporting the next expected sequence number—not the number just received. section 22.2.1
Reading the next expected number
If PC1 sends a segment with sequence number 10, SRV1 replies with acknowledgment number 11. If SRV1 sends sequence number 50, PC1 acknowledges it with 51. section 22.2.1
Important TCP behaviors include:
- A single acknowledgment can acknowledge multiple segments when data arrives in sequence. section 22.2.1
- If an acknowledgment does not arrive before the retransmission timeout, the sender retransmits the segment. section 22.3
- Acknowledgment numbers work with sequence numbers and the Window Size field to support TCP sequencing, reliability, and flow control. section 22.3
