The Internet Protocol Journal - Volume 2, No. 4

One Byte at a Time

One Byte at a Time: Internet Addressing
by Peter H. Salus

The source of all knowledge where the Internet is concerned is the set of Requests for Comments (RFCs). Because there are now well over 2,700 RFCs, however, only a few people track history, evolution, and outright paradigm shift.

Each node on the Internet-router or end system (often called "host" or "server") has a unique identifier attached to it; this identifier is its address . Any packet sent between nodes must use the destination address to tell the intervening routers where it should go.

In RFC 1 (April 1969), Steve Crocker laid out a scheme that allotted five bits to address space: enough for 32 addresses. By September 1969, when Interface Message Processor (IMP) No. 1 was installed in Kleinrock's lab at UCLA, this number had grown to six bits (63 addresses). By 1972, it had become apparent that this number would be insufficient, and the address space was enlarged to eight bits (255 addresses). In fact, the Advanced Research Projects Agency Network (ARPANET) hit only 63 hosts in January 1976. This number was, however, already a lot in terms of the HOSTS.TXT tables that were distributed to every site. By August 1983, there were 213 hosts, and the eight-bit address barrier was being pushed.

Cerf's original version of TCP (RFC 675; December 1974) and Postel's of IP (RFC 760; January 1980) increased this "address space" to 32 bits, but the structure of the ARPANET was "flat," that is, the hierarchical distributed name-to-address database we are familiar with only came about with Mills' conceptualization of the Domain Name System (DNS) (RFC 799; September 1981), and its implementation by Paul Mockapetris (RFCs 882 and 883; November 1983).

Address Classes
The Internet Protocol uses a 32-bit addressing scheme and originally four classes of networks: A, B, C, D. (See Figure 1 on page 5). There are only 128 Class A networks, but each can have 16,777,216 unique host identifiers. Next, there are 16,384 Class B networks, with 65,535 unique identifiers; 2,097,192 Class C networks, with 255 hosts; and over 268 million Class D multicast groups. (A fifth class, Class E, is reserved and not available for general use).

Address Depletion
Using the 32-bit IP addressing scheme allowed for about 4 billion hosts on 16.7 million networks. Although this number of various kinds of addresses seemed like a lot, the expansion of the use of the Internet over the past decade has been explosive, and the original address classes did not allow for a flexible address assignment based on an organization's particular need.

In August 1990 during the Vancouver Internet Engineering Task Force (IETF) meeting, Frank Solensky, Phill Gross, and Sue Hares projected that the current rate of assignment would exhaust the Class B space by March 1994.

CIDR
Classless Inter-Domain Routing or CIDR (RFCs 1518 and 1519; September 1993) was introduced to improve both routing scalability and address space utilization in the Internet. By eliminating the notion of "network classes," CIDR allows for a better match between address requirements and address allocation. This results in expansion of the scope of hierarchical routing, which in turn improves scaling properties of the Internet routing system. CIDR has proven to be the palliative that has enabled the Internet to continue functioning while growth continues.

Even with this palliative, it was predicted in 1994 that, using the current allocation statistics, the Internet will exhaust the IPv4 address space between 2005 and 2011. With five more years of experience, which has also brought greater uncertainty as to gross numbers, we can push these dates out a bit, but exhaustion will come eventually.

Another factor that has slowed down the address depletion rate is the use of Network Address Translation (NAT). NAT devices allows an organization to have one external ("public") address and many private (net 10 is often used) addresses internally. Since the internal addresses are not "seen" from the outside, they do not need to be globally unique. This approach has downsides (some protocols weren't designed with NATs in mind), but from the address depletion point of view, it is a win. RFC 1597 describes "Address Allocation for Private Internets."

If you are interested in current Internet addressing, an excellent book is available: TCP/IP Addressing , by Buck Graham, AP Professional, 1997. Graham does an excellent job on addressing, routing, and the various bizarreness involved in optimal routing, efficient use of address space, and making network management less onerous. This book is, however, not intended to be for elementary instruction; Graham primarily speaks to the professional market.

IPng aka IPv6
In the summer of 1994, the IETF set up an Internet Protocol next generation (IPng) task force, cochaired by Scott Bradner and Allison Mankin. (IPng later became known as IPv6 for "IP version 6"). Recommendations from that task force were released in October 1994 for discussion at the December 1994 IETF meeting. The basic goal was to have something in place before 2000, so that the time limit would not be pushed.

Unfortunately, as Bradner and Mankin stated in their recommendation: "Some people pointed out that this type of projection makes an assumption of no paradigm shifts in IP usage. If someone were to develop a new 'killer application,' (for example, cable-TV set top boxes), the resultant rise in the demand for IP addresses could make this an over-estimate of the time available."

IPv6 provides for 128-bit addressing. This number is gigantic: larger than the estimated total number of molecules in the universe.

Books
Two noteworthy books are available on IPv6 itself: Christian Huitema's IPv6: The New Internet Protocol (ISBN 0-13-241936-X, Prentice Hall, 1996) and Scott Bradner and Allison Mankin's anthology IPng (ISBN 0- 201-63395-7, Addison Wesley, 1996), which provides an explanation of the task force's process and explicates the services that are provided for (as, for example, ATM support). These books are both dated, but they are the best available now. Keeping up with what's going on is easy, thanks to the IETF's Web site http://www.ietf.org. An excellent business and technical case for IPv6 is found in the Internet Architecture Board draft by Steve King and several colleagues (draft-iab-case-for-ipv6-05.txt ). Other works in progress deal with the adjustments to Open Shortest Path First (OSPF), multicasting, mobility, and so on.

Transition
The period from 1981 through 1983 the time of conversion to DNS was painful to all concerned. Over the past 15 years we have learned a lot, but the switch from IPv4 to IPv6 may be yet more painful. The drafts tell the tale of those who are striving to make things easier.

There has been much discussion about various kinds of transition mechanisms, and some of these may be less painful (more automated) than we might at first think. Remember, this pain is not because of the innate difficulty, but veering a ship that carries fewer than 250 passengers is far easier than veering a ship that carries 60 million. Some members of the community think that the pain may not justify the gain. The author is not one of them. It has been nearly 20 years since TCP/IP was made official, yet there are still UUCP networks.

In the author's opinion, IPv6 will be here in a few years, if not sooner.

Reference
[1] Fink, R., "IPv6-What and Where It Is," The Internet Protocol Journal , Volume 2, No. 1, March 1999.

PETER H. SALUS is the author of A Quarter Century of UNIX (1994) and Casting the Net : From ARPANET to Internet and Beyond (1995). He is the Editor in Chief of The Handbook of Programming Languages (1998). His e-mail address is:
peter@pedant.com