On November 22, 1977, the first demonstration of what was to become the internet was rolled out. Connecting the Advanced Research Projects Agency Network (ARPANET) with the University of Southern California, University College London, and the San Francisco Bay Area Packet Radio Net via satellite links, radio connections, and undersea cables, the demonstration relied on a new standard: Internet Protocol version 4 or IPv4.
By Author unknown – Computer History Museum, Public Domain (Wikimedia)
IPv4 was the first major version of what became a key network layer communications protocol of the internet protocol suite, often referred to as the TCP/IP model. The concept of the network layer is to relay and route datagrams (packets of data) across network boundaries. As well as IPv4, the TCP/IP model provides other protocols that support a variety of communications services such as internetwork routing, status reporting, and network configuration discovery.
Coverage in the October 1975 Computerworld magazine of the “Battle for Access Standards” between datagrams and virtual circuits (via Wikipedia)
The so-called protocol wars of the ‘70s, ‘80s, and ‘90s pitted the TCP/IP model against the OSI model. The war was won, de facto, by the TCP/IP camp due to commercial factors such as implementation flexibility as well as the scale and speed of adoption compared to the bureaucratic and far more rigid structure of the OSI model.
Getting deeper into the answer of what IPv4 is, we need to understand its place in the TCP/IP model. This architecture, going from the lowest (physical transport) to the highest (supporting end-user applications), consists of:
How data is encapsulated descending or ascending through the TCP/IP model (see RFC 1122)
Now that we’ve looked at the TCP/IP model, we can be more specific about what IPv4 is by looking at what internet protocol is generically. Specified by RFC 791, internet protocol is a connectionless datagram service in the internet layer of the TCP/IP model with two basic functions: Addressing and fragmentation. The purposes of the internet layer are:
Connectionless means that each packet is routed from one endpoint to another without needing to establish a connection beforehand. A consequence of connectionless service is that in the case of missing or mangled packets error correction must be handled by a higher-level service such as TCP.
Getting more specific, IPv4 supports fragmentation and defragmentation of data to and from packets based upon the largest packet size or maximum transmission unit (MTU) provided by the underlying link layer. It’s worth noting that this was dropped in the IPv6 specification so now the endpoints must perform Path MTU discovery which is done at the transport layer.
Structure of IP datagrams (courtesy Kcchao, CC BY-SA 3.0 license)
To send and receive datagrams, IPv4 uses 32-bit addresses that are usually expressed in a dotted quad notation, thus: x.x.x.x, where each x is an eight-bit value from 0 to 255. 32-bit addressing provides an address space of 2^32 or 4,294,967,296 addresses.
As large as a roughly 4.3 billion address spaces might sound, it’s nowhere near enough for the future internet. To begin with, 18 million IPv4 addresses were reserved as private address spaces on local networks (see RFC 1918) so routing from a local address space to the public internet requires the use of network address translation (NAT). On top of that, the addition of billions of new networks and Internet of Things (IoT) devices over the last few years as well as the way that blocks of IP addresses were assigned to ISPs and other large organizations resulted in the Internet Assigned Numbers Association (IANA), the organization that manages the Internet address space, running out of IPv4 addresses in 2011.
The advent of new Internet-connected locations and Internet-connected devices has precipitated IPv4 exhaustion, because each device places greater pressure on the existing IPv4 infrastructure. Learn about various techniques for IPv6 Migration, IPv4 Preservation and IPv4/IPv6 Translation.
To solve the problem of IP address exhaustion, Internet Protocol version 6 (IPv6, see RFC 2460 and RFC 8200) was developed. Comparing IPv4 vs IPv6, the address space is orders of magnitude larger because IPv6 uses 128-bit addresses, theoretically allowing 2^128, or approximately 340 billion billion billion billion (3.4×10^38) unique addresses. Along with the huge increase in address space comes new performance and configuration features and enhanced security that make IPv6 far more suitable for the future internet.
So, to sum up, IPv4 is much simpler to implement and manage but for the internet of the future, IPv6 with a much larger address space and more sophisticated routing and connection management is the winner. But while IPv6 solves the address space exhaustion issue, it introduces new problems because IPv4 and IPv6 are incompatible protocols. The consequence is that migrating the entire internet to IPv6 addressing is effectively impossible, at least in the next several years, so we need to be able to convert IPv6 into IPv4 addresses and vice versa.
Public Telecomm Solves IPv4 Exhaustion & Saves ~$2 Million
Despite the significant advantages of IPv6 vs IPv4, internet service providers and large organizations still need to support IPv4 because migrating existing infrastructure to be purely IPv6 will take years. It’s also expensive and switching some enterprise legacy subsystems to IPv6 may not even be possible. This means we’re going to have to live with IPv4 for a long time to come. ISPs and enterprises will need support both protocols and be able to convert IPv6 into IPv4 and vice versa and that is done using carrier-grade network address translation (CGNAT).
CGNAT is designed to convert IPv6 into IPv4 transparently and bridge geographically dispersed IPv4 networks across IPv6 infrastructure. Other features that CGNAT needs to provide along with the ability to convert IPv6 into IPv4 include supporting tunneling protocols including NAT64/DNS64, DS-Lite, Lw4o6, 6rd, MAP-T and MAP-E, provide transparent support for application level gateways (ALGs) for FTP, TFTP, RSTP, PPTP, SIP, ICMP, MGCP, DNS, H.323 and ESP, and provide DDoS defenses.
Exponential subscriber growth and connected IoT devices has forced service providers to investing in infrastructure to support increased traffic. With the global IPv4 exhaustion and the adoption of IPv6, service providers are facing challenges in sustaining growth and business continuity. This white paper provides an overview of the various components that are required for a CGNAT and IPv6 migration solution.
View the White Paper
To convert IPv6 into IPv4 and provide all protocol and service support at enterprise scale, A10 Networks offers Thunder® CGN, an advanced CGNAT solution that extends IPv4 connectivity, supports IPv6 migration, and reduces the total cost of ownership. Check out A10’s guide to IPv4 Preservation & IPv4 to IPv6 Migration as well as the IPv4 cost estimator tool.
How much is growth in subscribers or locations going to cost you in the next 5 years for additional IPv4 addresses?