TCP/IP is the collective name for the Internet Protocol suite—the family of protocols that underlies essentially all networking on Linux and the modern Internet. The name comes from its two most prominent members: IP (Internet Protocol), which routes packets between hosts, and TCP (Transmission Control Protocol), which provides reliable, ordered, byte-stream delivery on top of IP.
The stack has four layers in the classical TCP/IP model: Link (Ethernet, Wi-Fi, loopback), Network (IP v4 and v6, ICMP), Transport (TCP, UDP, QUIC), and Application (HTTP, DNS, SSH, SMTP, and countless others).
Linux's TCP/IP stack is arguably the most widely deployed in the world, powering most of the Internet's infrastructure. The kernel handles routing, filtering (via netfilter), socket buffers, congestion control, and much more. User-space tools like ip, ss, tcpdump, ethtool, and iperf3 let you inspect and tune it.
TCP provides reliability—lost packets are retransmitted, out-of-order packets are reordered—at the cost of latency and overhead. UDP is the simpler alternative: unreliable, unordered, but low-latency, used for DNS, streaming, games, and newer protocols like QUIC. Choosing between them is one of the fundamental decisions in network programming.
Related terms: IP Address, Socket, Port
Discussed in:
- Chapter 12: Networking — The TCP/IP Stack, Briefly
Also defined in: Textbook of Linux