Disclaimer:
This article provides a personal summary and analysis based on the concepts discussed in TCP/IP Illustrated: The Protocols, Volume 1.
All original ideas and content belong to the respective authors and publishers.
This summary is created under fair use principles for educational and informational purposes only.
The second edition is more recent than the first, but it includes an overwhelming amount of information and feels less engaging. In contrast, the first edition is much more enjoyable to read, though some of its content is outdated. My notes focus solely on the aspects of the first edition that remain relevant to modern networking.
TCP/IP is the foundation of modern networking, evolving from research projects in the 1960s into a globally adopted protocol suite. It was designed for packet-switched networks, allowing flexible, resilient communication.
Encapsulation & Demultiplexing: Data sent across networks goes through encapsulation, where each layer adds a header (e.g., Ethernet, IP, TCP/UDP). The receiving device demultiplexes the data, stripping headers as it moves up the stack.
Older routing protocols allowed applications to interact directly with IP/ICMP. While rare today, this flexibility enabled experimentation with new transport-layer protocols. I think the example is ping
and traceroute
.
The Link Layer is responsible for defining how data is physically transmitted across network interfaces. It provides encapsulation methods to ensure that data is properly framed for transmission over different types of networks.
Among these, RFC 894 (Ethernet encapsulation) remains the dominant standard. I think this sets the basic of cloud computing networking (VXLAN (RFC 7348)) and VLAN (IEEE 802.1Q). But one thing I am not sure is since IEEE is sperate standard from RFC 894, and how would IEEE 802.1Q work with RFC 894?
Serial Line IP (SLIP) SLIP (Serial Line Internet Protocol) was an early technique for sending IP datagrams over serial connections. Defined in RFC 1055, SLIP provided basic encapsulation but lacked features like error detection. Obsolete today, replaced by more advanced protocols like PPP (Point-to-Point Protocol) which is also being deprecated.
Loopback Interface A special network interface that allows a device to send data to itself. Uses the 127.0.0.1 (IPv4) or ::1 (IPv6) address for internal communication. The Ethernet driver and loopback driver work together to determine if traffic should be processed internally rather than being transmitted over a physical network.
Maximum Transmission Unit (MTU) MTU (Maximum Transmission Unit) defines the largest packet size that can be sent over a network without fragmentation.If a packet exceeds the MTU, IP fragmentation breaks it into smaller pieces before transmission. Common MTU values: Ethernet: 1500 bytes IEEE 802.3, 802.2: 1492 bytes
The Link Layer plays a critical role in framing, addressing, and transmitting data over various network types. Ethernet (RFC 894) remains the dominant standard, while older methods like SLIP and Trailer Encapsulation have been phased out. MTU and Path MTU Discovery ensure efficient transmission, preventing unnecessary fragmentation.
This means:
Connectionless: No prior setup is required between sender and receiver.
Unreliable: IP makes no guarantees about delivery, order, or duplication — that’s left to higher-level protocols like TCP.
Each IP packet contains a header that is 20 bytes long in IPv4.
TTL (Time to Live): Prevents packets from circulating forever. This value sets the maximum number of hops (routers) a datagram can pass through. Each router decrements this field — when TTL hits zero, the packet is discarded.
Direct Delivery: If the destination is directly reachable (e.g., same Ethernet network or point-to-point link), the packet is sent directly.
Indirect Delivery: Otherwise, the host forwards the datagram to a default router, which handles routing from there.
Routing Table Lookup Steps: Exact Match: Look for an entry matching the complete destination IP address (both network and host ID). Common in point-to-point links.
Network Match: If no exact match, search for an entry matching the network ID only (considering subnet masks). This is typical for local networks.
Default Route: If still no match, use the entry labeled “default”, which points to a default gateway.
Failure: If none match, the packet is dropped (usually with an ICMP “Destination Unreachable” message).
4.1 SIP (Simple Internet Protocol) Proposed minimal changes to IP.
Used 64-bit addresses.
Redesigned the IP header format.
Maintained the 4-bit version field (set to a value other than 4).
✅ Eventually became the foundation for IPv6. Among these, SIP was selected and further developed into what we now know as IPv6. Though IPv6 eventually expanded to use 128-bit addresses, SIP laid the groundwork for its streamlined header design and extensibility principles.
4.2. PIP Proposed variable-length, hierarchical addresses.
Also introduced a new header format.
Not widely adopted.
4.3. TUBA (TCP and UDP with Bigger Addresses) Based on OSI’s CLNP protocol.
Used variable-length addresses (up to 20 bytes).
Leverage existing documentation and partial router support.
Few hosts supported CLNP, limiting its practicality.
4.4. TP/IX Used 64-bit IP addresses.
Modified TCP and UDP headers:
32-bit port numbers
64-bit sequence and acknowledgment numbers
32-bit TCP windows
A more aggressive redesign of the stack.