Unless you have been living deep inside the Amazon rain forest, totally cut off from communicating with anyone, anywhere, you know that the world has changed tremendously over the last 20 years. Although almost every area of our lives has been affected with these sweeping changes, in this post I want to focus on those changes that have been the result of the growth and maturation of the Internet and the developments in networking technologies in general.
Twenty five years ago, no global network existed to which the general populace could easily connect. Twelve years ago, what we consider to be the public Internet had grown and matured to the point where people in most parts of the world could connect to it. However, most of these users were usually what could be called “computer literate.” If we fast forward to today, it seems that practically everyone has Internet access through their PCs, handheld devices, phone, and soon, their refrigerator or BMW.
Practically every contemporary mobile phone now supports Internet traffic, requiring the use of an Internet Protocol (IP) address. Most new cars now have the ability to acquire and use an IP address, along with wireless communications. (This allows car dealers to contact their customer when the car’s diagnostics detect a problem with the car.) In addition, consumer product manufacturers have pushed the idea that all of their appliances need to be IP enabled.
The first publicly used version of IP, Version 4 (IPv4), which uses 32 contiguous binary bits, provides an addressing capability of about 4 billion addresses which, in binary, is represented as 232. This number of unique IP addresses was considered to be sufficient in the early design stages of the Internet when the explosive growth and worldwide proliferation of networks was never anticipated. In addition, even though IPv4 provides approximately 4.3 billion addresses, large blocks of IPv4 addresses are still reserved for special uses and are unavailable for public allocation.
IPv4 has served the Internet well for many decades, but is reaching the limits of its design. Among other limitations, IPv4 is somewhat difficult to configure, is running out of addressing space, and provides no features for site renumbering to allow for an easy change of Internet Service Provider (ISP). Since it is an immutable rule that every individual host on an IP network must be assigned a unique IP address, which is used to communicate with other hosts on the same network or globally, it is now universally accepted that there are insufficient publicly routable IPv4 addresses to provide a distinct address to every Internet device or service.
Various mechanisms have been developed to alleviate these problems, for example Dynamic Host Configuration Protocol (DHCP), which has been discussed in a previous post, and Network Address Translation (NAT). It is accepted that each of these processes has its own set of limitations.
NAT is a process whereby a single public IP address can represent multiple internal Local Area Network (LAN) hosts that are using private addresses. Individual nodes, operating behind NAT, appear to be sending their data from the public IP address of the translating device, usually a router doing double-duty. The translating device maintains a mapping of each host’s source address, which originates traffic inside the network, and forwards replies from the Internet accordingly. However, this process, among others, has always been considered to be a stop-gap measure and not a final or complete solution to the inherent problems of IPv4.
The Internet Engineering Task Force (IETF) took on this problem in the early 1990s by starting an IPng (Internet Protocol next generation) project. After more than two years of defining goals and features, getting the best possible advice from industry and user experts, and sponsoring a protocol design competition, a new Internet Protocol was selected. Many proposed protocols were reviewed, analyzed, and evaluated. By 1996, a series of RFCs were released defining Internet Protocol Version 6 (IPv6), starting with RFC 2460. (As an aside, the IPng designers could not use version number 5 as a successor to IPv4, because it had been assigned to an experimental flow-oriented streaming protocol, Internet Stream Protocol (ISP) intended to support video and audio.)
Estimates of the time frame until complete exhaustion of IPv4 addresses, delivered by many well-meaning and sincere “experts” used to vary widely. In September 2005, a report by Cisco Systems suggested that the pool of available addresses would dry up in as little as four or five years. Then, in May 2009, a daily updated report projected that the Internet Assigned Number Authority (IANA) pool of unallocated addresses would be exhausted in June 2011, with the various Regional Internet Registries using up their allocations from IANA in March 2012. There is now consensus among Regional Internet Registries that final milestones of the exhaustion process will be passed in 2010 or 2011 at the latest, and a policy process has started for the end-game and post-exhaustion era.
In upcoming posts we will examine Ipv6 in much more detail and discuss the various methods available for transitioning from Ipv4 to Ipv6.
Author: David Stahl