Source
Transmission Control Protocol
Definition of TCP, properties of reliable transmission and handshake.
TCP is one of the key protocols of the TCP/IP stack at the transport layer. It provides reliable, orderly, and verifiable transfer of byte streams between applications over an IP network.
Key properties of TCP
Reliable delivery
TCP provides orderly and verifiable delivery of byte streams between applications.
Connection-oriented
Before transmitting data, the parties establish a connection via a three-way handshake.
Relays and acknowledgments
Lost segments are detected and retransmitted before acknowledgment.
Flow control
The receiver limits the sender's rate to avoid overflowing the buffers.
Overload control
TCP reduces transmission speed when there is evidence of network congestion.
Three-way handshake
TCP establishes a connection through a three-step handshake (SYN -> SYN-ACK -> ACK). After it, both parties can transmit data in full duplex.
TCP three-way handshake
Click a step or use controls to replay the connection setup
State
Click "Start" to see all TCP connection setup steps.
Where is TCP used?
Main Application Classes
- Web Applications and APIs
- Remote administration
- File transfer and streaming
Why choose TCP
- Reliable delivery is more important than minimal delay
- Need orderliness and loss control
- Convenient, familiar interface for applications
Why is this important for System Design?
- TCP connections affect latency and scaling (handshake + re-transmit).
- Flow and congestion control determines the actual throughput limits.
- The architecture of realtime systems and back-pressure depends on the choice of TCP/UDP.
