/ˌtiː-siː-ˈpiː/
n. “Reliable conversations over an unreliable world.”
TCP, short for Transmission Control Protocol, is one of the core protocols of the Internet protocol suite. It provides reliable, ordered, and error-checked delivery of data between applications running on hosts connected to a network. TCP works hand-in-hand with IP, forming the ubiquitous TCP/IP foundation of modern networking.
Unlike protocols that send packets blindly, TCP establishes a connection between sender and receiver through a handshake process, ensures that packets arrive in order, retransmits lost packets, and manages flow control to prevent congestion. This reliability makes it ideal for applications where correctness is crucial, such as web browsing (HTTP), email (SMTP), file transfers (FTP), and secure connections (TLS/SSL).
A typical TCP session begins with a three-way handshake: SYN, SYN-ACK, and ACK. This establishes the connection, allowing both ends to track sequence numbers and manage data segments. Once the connection is open, data can flow reliably until one side closes the connection with a FIN or RST signal.
TCP also supports multiplexing via port numbers, enabling multiple simultaneous conversations between hosts. For instance, your browser might use port 443 for HTTPS while an email client simultaneously uses port 993 for IMAP, all running over TCP without interference.
While reliable, TCP is heavier than connectionless protocols like UDP, introducing additional overhead and latency due to acknowledgments, retransmissions, and flow control. Nevertheless, this reliability is often essential: imagine a web page missing half its HTML or a financial transaction packet dropped mid-transfer. TCP ensures that does not happen.
In practice, TCP is everywhere. Your browser, email client, instant messaging apps, and even secure VPNs like OpenVPN or WireGuard rely on TCP (or optionally UDP) for reliable communication. Tools like curl and fetch operate over TCP by default, trusting it to deliver the request and response accurately.
In summary, TCP is the workhorse of the internet. It guarantees that what you send is what your peer receives, in the right order and without corruption. Every time you load a website, send an email, or securely transfer a file, TCP is quietly orchestrating the exchange, proving that reliability at scale is not just a dream, it’s a protocol.