The world in which IPv6 was a good design
This deep dive explores the historical intertwining of IP and Ethernet, revealing how early design decisions and hardware constraints led to the complex, hack-laden internet architecture we have today. It critically examines why IPv6, despite its elegant theoretical design, failed to simplify networking, primarily due to an inability to shed legacy layers and an oversight in addressing mobile IP. The piece suggests that a fundamental shift in transport protocols, like QUIC, might finally pave the way for a truly elegant, mobile-friendly internet.
The Lowdown
The author, reflecting on an IETF meeting, delves into the historical evolution of networking to understand why IPv6, intended to be a clean slate, became an additional layer of complexity rather than a replacement for IPv4. He argues that the "mess" of modern networking stems from the co-evolution of point-to-point IP routing and bus-based Ethernet LANs, leading to a tangled web of protocols.
- Early Networking: The Internet (IP) evolved from point-to-point circuits, while local area networks (LANs) adopted bus architectures with hardware-assigned Layer 2 addresses (like MAC addresses).
- Intertwining of Layers: As IP needed to run over LANs, Address Resolution Protocol (ARP) was introduced to map IP to MAC addresses, and DHCP for dynamic IP assignment, further entrenching Layer 2 concepts within Layer 3 operations.
- The "Mess": This created a system where Layer 2 bridging and Layer 3 routing coexisted, each with its own complexities (e.g., spanning tree protocol for bridging, ARP storms), often operating at cross-purposes, and leading to modern solutions like Software-Defined Networking (SDN) that essentially create virtual bus networks.
- IPv6's Lost Vision: The original IPv6 design envisioned a world without physical bus networks, Layer 2 internetworks, broadcasts, or MAC addresses, aiming for a streamlined, hardware-accelerated, and address-rich internet. It sought to eliminate the need for ARP, DHCP, and bridging entirely.
- Failure of Simplicity: This vision never materialized because "layers are only ever added, never removed." The persistent need for IPv4 compatibility and the inability to discard existing Ethernet standards meant that IPv6 added complexity (e.g., Neighbor Discovery Protocol, a more complex ARP) rather than replacing it.
- Mobile IP Oversight: A critical flaw was IPv6's initial neglect of mobile IP. The internet's routing mechanism, based on the 4-tuple (source IP, source port, destination IP, destination port), breaks connections when a device's IP address changes due to mobility.
- Current Mobile IP Hacks: Modern mobile IP solutions, like corporate Wi-Fi roaming or LTE, rely on complex Layer 2 bridging or tunneling to maintain a consistent IP address, incurring significant complexity and latency.
- A Potential Solution: The author proposes that if session identifiers were purely Layer 4 (e.g., a large UUID) instead of mixing Layer 3 and Layer 4 as the 4-tuple does, true transparent mobility could be achieved. This would require replacing TCP/UDP with new protocols like QUIC, which inherently supports unique session IDs and could enable an "elegant" Internet free from Layer 2 bridging and its associated baggage.