What guarantees does TCP provide?
TCP provides a set of guarantees that make data transmission reliable and predictable for applications. More simply: TCP guarantees that data will arrive correctly, in the right order, and at a suitable speed.
Main TCP guarantees
1. Delivery guarantee
TCP acknowledges receipt of data:
- every segment must be acknowledged (ACK)
- if an acknowledgment does not arrive, the segment is sent again
If a TCP connection ends successfully, the application can be sure that:
- the data was delivered to the receiver
2. Delivery order guarantee
TCP:
- numbers segments
- on the receiver's side assembles the data in the correct order
Even if segments arrive:
- out of order
- with different delays
the application receives an ordered stream of data.
3. No duplicates
TCP:
- detects duplicate segments
- does not pass duplicates to the application
The application sees the data exactly once.
4. Integrity control
TCP checks:
- whether the data was corrupted during transmission
Corrupted segments:
- are treated as undelivered
- are requested again
5. Flow control
TCP protects the receiver:
- it does not send more data than the receiver can accept
- it uses a window mechanism
This prevents:
- buffer overflow
- data loss on the receiver's side
6. Network congestion control
TCP monitors the state of the network:
- it reduces speed under congestion
- it increases speed when the network is free
This makes the transmission:
- stable
- fair with respect to other flows
7. End-to-end connection
TCP:
- establishes a connection before transmission
- correctly closes it after the exchange ends
This guarantees:
- a consistent state on the sender and the receiver
What TCP does NOT guarantee (important)
TCP does not guarantee:
- minimal latency
- a constant speed
- delivery "by a certain time"
If the network is poor:
- TCP can slow down significantly
- but it will not sacrifice reliability
Short Answer
Interview readyPremium
A concise answer to help you respond confidently on this topic during an interview.