There have been several generations of mobile phones. 2G phones are mostly dead now. 3G and 4G phones are both in widespread use now, but everyone prefers 4G. 5G is starting to be deployed now. There have actually been three generations of the global Internet, although not many people are aware of that fact. Most people have only ever experienced the Second Internet, which is based on IPv4. The First Internet ended back in 1983. The Second and Third Internets are actually both alive and well currently, although the Second Internet is close to End-of-Life. Eventually the Second Internet will be phased out and everyone will be on the Third.
The First Internet (NCP) – 1969 to 1983
The First Internet (which ran from 1969 until 1983) was called the ARPANET, and was based on a protocol called NCP (or Host-Host Protocol). NCP had 8 bit addresses, for a maximum of 256 possible nodes. The ARPANET began with the interconnection of four nodes in 1969.
The Internet’s First Baby Picture
The ARPANET grew slowly to about 200 nodes by 1982, almost exclusively in the U.S.A.
The Entire First Internet early 1982 – Note a few IPv4 addresses appearing
At the time a “node” was typically a mainframe or minicomputer with hundreds or even thousands of users. The ARPANET was used primarily by military agencies and university researchers. There was little or no commercial activity on it. Most of the users were “trustworthy” (hacking and fraud was unknown). Probably only about 10,000 people ever used the First Internet, and most of those were in the U.S.
ARPANET did have applications such as Email, File Transfer and even Voice communications. There was nothing resembling the world wide web. NCP was quite different from the Internet Protocol, although it performed essentially the same function.
The Second Internet (IPv4) – 1983 to 2028 (?)
On Jan 1, 1983, NCP was turned off on most of the Internet, and IPv4 was turned on (this kind of abrupt transition is called a “Flag Day”). This resulted in many problems, such as worldwide email failing for about a month. We are doing a much more gentle transition from the Second Internet to the Third, over a period of many years. IPv4 and IPv6 exist in parallel on the Internet backbones as well as in many networks. This is called “Dual Stack”.
IPv4 is specified in RFC 791, “Internet Protocol”, Sept 1981. It has a 32-bit address, which is 4 times as many bits, but results in 2 to the 24th (16.7M) times as many possible addresses (about 4.3 billion). In practice only some 3 billion were allocated to nodes. Some were used for multicast, some for experimental and others for private internets (RFC 1918).
In the mid 1990’s, the IANA and the IETF realized that at the rate IPv4 addresses were being allocated, they would all be gone by about 2000. So they did a two prong solution – a short term fix (Network Address Translation and Private Internets, based on RFC 1918, “Address Allocation for Private Internets”, 1996), and a long term fix (A successor protocol to IPv4 with larger addresses, which became IPv6).
NAT allows putting many nodes behind a single public IPv4 address. A public address is globally unique and can be routed anywhere on the public IPv4 Internet. The addresses behind NAT are private addresses from one of the RFC 1918 ranges (10.0.0.0-10.255.255.255, 172.16.0.0-172.31.255.255, or 192.168.0.0-192.168.255.255).
This is similar to internal “extensions” behind a telephone Private Branch Exchange (PBX). With a PBX, the company has only a few real phone numbers (that can be called from anywhere) that can be mapped onto a large number of internal extension numbers (like x101, x102, etc). Any number of networks can use the same private address ranges (just like any company can have telephone extensions x101 to x199). The internal users can call each other all they want, but only a limited number of incoming or outgoing calls can be made, based on how many real telephone numbers the company has. With NAT however, only outgoing connections can be made to external nodes with public IPv4 addresses (e.g. web or email servers). No incoming connections can be made – NAT is a one-way gateway.
In effect, we have shattered the once monolithic IPv4 Internet into millions of tiny private internets, with only limited connectivity to each other (mostly through intermediary servers). Alice and Bob can both connect to a common server in the public Internet (via outgoing connections through NAT) and chat or exchange emails, but neither can connect directly to each other.
NAT was only ever intended to be a short term workaround, with IPv6 fully deployed by about 2010 (when the IPv4 addresses were expected to run out, even with NAT). Unfortunately, many ISPs and companies did not understand what was going on, and kept using IPv4 far too long. IPv4 is WAY past its expiration date now, and is starting to smell really bad.
To complicate matters further, some vendors have deployed CGN (Carrier Grade NAT) where there is one NAT gateway at the ISP and another at each customer network. This causes even more problems than one level of NAT. Simple things, like connecting to websites seem to work OK, but many very serious problems are reaching the breaking point – the global Internet could fragment into several smaller Internets, with no connectivity between them.
Since the first phone was provided with Internet service, this has been done with private addresses. There were nowhere near enough global IPv4 addresses remaining to allocate to phones. So phones can only make outgoing connections. They can only run client software. They can only connect to each other via intermediary servers (like Skype).
There are something like 16 to 20 billion people connected to the Second Internet today, almost all of them from behind NAT. This leads to unnecessary centralization, which has many problems (overloaded servers, single points of failure, east of hacking and surveillance, etc).
The U.S. wound up with about 41% of all allocated IPv4 addresses for about 5% of the world’s population. Many other countries were not happy with this, as they were not able to fully participate in the Internet with so few public addresses.
The IETF is already planning for how to quietly put the Second Internet to sleep at some point. This was the goal of the IPv4 Sunset working group.
The Third Internet (IPv6) – 2012 to 2100 (?)
Around 2012, adoption of IPv6 finally began in earnest. In 2010, only about 0.25% of global traffic was over IPv6. Today some 27% of global traffic is over IPv6 (100X growth in 9 years), with much higher adoption levels in advanced countries.
This is especially far along with mobile service providers. The Third Internet is arriving as we speak. We are close to the tipping point, where 50% of all global traffic will be over IPv6.
The only reason for NAT was to extend the life of IPv4 for a few years while IPv6 matured. Well, IPv6 is very mature and working well globally today. We can throw NAT away like you would crutches when you broken leg has healed.
IPv6 has 128-bit addresses, for a theoretical max of 340 trillion, trillion, trillion addresses. We will never run out of these. There are enough addresses for every grain of sand on earth to get one. If the IPv4 address space was the size of a basketball, the IPv6 address space would be a sphere centered in our solar system, going most of the way out to the orbit of Venus. That’s a very big ball.
Due to getting rid of NAT and having ample public addresses, it is now possible for any node (even phones) to run servers, or make end2end direct connections. We can go beyond simple client/server using centralized servers to fully decentralized messaging. We will come back to this later. This is really one of the giant wins with IPv6.
The Third Internet is the first truly global Internet – there are enough global addresses for every country to have as many as they could possibly want. Every country can now fully participate the in benefits of the Internet.
In 2010, the goal was to get everyone to deploy Dual Stack – just add IPv6 into your current IPv4 network. Now, the goal is to remove IPv4 completely from most networks, and provide access to legacy (IPv4-only) nodes on the outside via NAT64/DNS64. This is where the real benefit of IPv6 is realized. With Dual Stack, you double your network management, still have to support IPv4 private addresses and NAT internally, and double your attack surface. When you get rid of IPv4, there are big cost savings, network management is simpler and cheaper, and security is better. Microsoft has a massive project underway to move as much of their campus to IPv6-only as possible.
What Internet Are You Using Now?
You connected to this website from IP address <your IP address>. If this address contains four fields separated by “.” characters (e.g. 126.96.36.199), sorry, you are still on the Second Internet (you are using IPv4). If it contains up to eight fields separated by “:” characters (e.g. 2001:470:ed3d:1000::2:1), CONGRATULATIONS, you are already on the Third Internet! You have IPv6!