Some Internet history from Vint Cerf

I’ve been following a thread on NANOG about why the first versions of the Internet Protocol supported only a maximum of 256 different networks.

Back then, every organisation on the fledgling Internet got a range of IP addresses starting with a digit 0-255 and used the next three digits to number their hosts. eg. That’s 224-2 (16,777,214) possible host addresses. When IP address classes were introduced that was known as “class A”, and today we’d call that a /8. A pretty big range of IP addresses by today’s standards.

With the impending exhaustion of IPv4 addresses, some people are looking at these /8 networks — many of which are no longer publicly in use or are only seen to have a few reachable addresses — and asking how come these organisations were ever allowed to have such a large allocation. I never really thought about it before, but for some of the older ones the answer is that there was no choice back then. An allocation was 8 bits of network and 24 bits of hosts.

I particularly enjoyed reading a contribution on the matter from Vint Cerf, an Internet legend:

Date: Sat, 3 Apr 2010 08:17:28 -0400
From: Vint Cerf

When the Internet design work began, there were only a few fairly large networks around. ARPANET was one. The Packet Radio and Packet Satellite networks were still largely nascent. Ethernet had been implemented in one place: Xerox PARC. We had no way to know whether the Internet idea was going to work. We knew that the NCP protocol was inadequate for lossy network operation (think: PRNET and Ethernet in particular). This was a RESEARCH project. We assumed that national scale networks were expensive so there would not be too many of them. And we certainly did not think there would be many built for a proof of concept. So 8 bits seemed reasonable. Later, with local networks becoming popular, we shifted to the class A-D address structure and when class B was near exhaustion, the NSFNET team (I think specifically Hans-Werner Braun but perhaps others also) came up with CIDR and the use of masks to indicate the size of the “network” part of the 32 bit address structure. By 1990 (7 years after the operational start of the Internet and 17 years since its basic design), it seemed clear that the 32 bit space would be exhausted and the long debate about IPng that became IPv6 began. CIDR slowed the rate of consumption through more efficient allocation of network addresses but now, in 2010, we face imminent exhaustion of the 32 bit structure and must move to IPv6.

Part of the reason for not changing to a larger address space sooner had to do with the fact that there were a fairly large number of operating systems in use and every one of them would have had to be modified to run a new TCP and IP protocol. So the “hacks” seemed the more convenient alternative. There had been debates during the 1976 year about address size and proposals ranged from 32 to 128 bit to variable length address structures. No convergence appeared and, as the program manager at DARPA, I felt it necessary to simply declare a choice. At the time (1977), it seemed to me wasteful to select 128 bits and variable length address structures led to a lot of processing overhead per packet to find the various fields of the IP packet format. So I chose 32 bits.


There is a reason that Vint Cerf is often called “Father of the Internet”. It’s amazing to me to think that they honestly did not know back then that this Internet thing was going to be all that popular.