TCP — Reliability, Congestion Control, and SIP over TCP/TLS
Learn about tcp — reliability, congestion control, and sip over tcp/tls
TCP's Contract: Reliable, Ordered, Byte-Stream Delivery
TCP guarantees that every byte sent arrives at the destination, in order, without corruption. This is a powerful contract — applications can write data to a TCP socket and trust that the other side receives it exactly as sent. But this contract comes with costs that matter enormously for real-time communications.
The Three-Way Handshake
Every TCP connection begins with a handshake:
Client → Server: SYN (seq=100)
Server → Client: SYN-ACK (seq=300, ack=101)
Client → Server: ACK (seq=101, ack=301)
SYN: "I want to connect. My initial sequence number is 100." SYN-ACK: "Acknowledged. My initial sequence number is 300." ACK: "Got it. We're connected."
This takes one full round-trip time (RTT) before any data flows. For a connection between New York and London (~70ms RTT), that's 70ms of setup delay. TCP with TLS (Lesson 17) adds more round trips.
For SIP over TCP, this means the first SIP message to a new server takes longer than SIP over UDP. However, once the connection is established, subsequent messages on the same connection have no setup delay.
💡 NOC Tip: en you see SIP over TCP connection failures, check for SYN packets without SYN-ACK responses in packet captures. A SYN with no reply means either the server isn't listening, a firewall is blocking, or the server is overloaded and its SYN queue is full. The client will retry with exponential backoff, causing visible call setup delays.
Sequence Numbers and Acknowledgments
🔒 Full Course Content Available
This is a preview of the Telephony Mastery Course. The complete lesson includes:
- ✅ Detailed technical explanations
- ✅ Advanced configuration examples
- ✅ Hands-on lab exercises
- ✅ Real-world troubleshooting scenarios
- ✅ Practice quizzes and assessments
Preview shows approximately 25% of the full lesson content.