1. Background
The Internet of today is a dramatically different network than the original designers ever envisioned. It is the largest public data network in the world, and continues to grow at an exponential rate which doubles all major operational parameters every nine months. A common metaphor in engineering is that every time a problem increases in size by an order of magnitude, it becomes a new problem. This adage has been true over the lifetime of the Internet.
The Internet is currently faced with two major operational problems (amoung others). The first is the eventual exhaustion of the IPv4 address space and the second is the ability to route packets between the large number of individual networks that make up the Internet. The first problem is simply one of supply. There are only 2^32 IPv4 addresses available. The lifetime of that space is proportional to the efficiency of its allocation and utilization. The second problem is mainly a capacity problem. If the number of routes exceeds the current capacity of the core Internet routers, some routes will be dropped and sections of the Internet will no longer be able to communicate with each other. The two problems are coupled and the dominant one has, and will, change over time.
The initial design of IP had all addresses the same, eight bits of network number and twenty four bits of host number. The expectation was of a few, large, global networks. During the first spurts of growth, especially with the invention of LAN technologies, it became obvious that this assumption was wrong and the separation of the address space into three classes (Class A for a few huge networks; Class B for more, smaller networks; and Class C for those really small LANs, with lots of network numbers) was implemented. Soon subnets were added so sites with many small LANs could appear as a single network to others, the first step at limiting routing table size. And finally, CIDR was introduced to the network, to add even more flexibility to the addressing, extending the split from three classes to potentially thirty different classes.
Subnets were introduced to provide a mechanism for sites to divide a single network number (Class A, B, or C) into pieces, allowing a higher utilization of address space, and thus promoting conservation of the IPv4 address space. Because of the built-in notion of classful addresses, subnetting automatically induced a reduction in the routing requirements on the Internet. Instead of using two (or more) class C networks, a site could subnet a single class B into two (or more) subnets. Both the allocation and the advertisement of a route to the second and succeeding class C's are saved.
Since 1993, the concept of classless (the "C" in CIDR) addresses have been introduced to the Internet community. Addresses are increasingly thought of as bitwise contiguous blocks of the entire address space, rather than a class A,B,C network. For example, the address block formerly known as a Class A network, would be referred to as a network with a /8 prefix, meaning the first 8 bits of the address define the network portion of the address. Sometimes the /8 will be expressed as a mask of 255.0.0.0 (in the same way a 16 bit subnet mask will be written as 255.255.0.0).
This scheme allows "supernetting" of addresses together into blocks which can be advertised as a single routing entry. The practical purpose of this effort is to allow service providers and address registries to delegate realistic address spaces to organizations and be unfettered by the traditional network classes, which were inappropriately sized for most organizations. For example the block of 2048 class C network numbers beginning with 192.24.0.0 and ending with 192.31.255.0 can be referenced as 192.24/19, or 192.24.0.0 with a mask of 255.248.0.0 (i.e. similar to a 19 bit subnet mask written in dotted decimal notation). The concept of "supernetting" allows the remaining Internet address space to be allocated in smaller blocks, thus allowing more networks and better efficiency. For a more detailed discussion refer to RFC 1518hist.
Like subnetting, CIDR also helps address the reduction of routing requirements, but it is not as automatic as the case of subnets. CIDR blocks are allocated in a way which promotes hierarchical routing. A provider is typically given a large block of addresses to redistribute to their customers. For example, if the provider P has been given the CIDR block 192.168/16, a block of 255 contiguous class C networks, they can provide one class C network to each of 255 customers (who may in turn subnet those class C networks into smaller pieces) yet still only advertise the single route 192.168/16. Thus CIDR only helps reduce the routing problem if blocks are assigned and maintained in a hierarchical manner.
RFC 1797exp described a technical experiment designed to test the problems with allocating the currently reserved Class A network space. RFC 1879 described the results of this experiment. This effort shows that "supersubnetting" of a Class A network into numerous (even millions) of smaller networks is practical.
The dominating portion of the problem facing the Internet today is routing requirements. The following statements constitute a first order approximation based on current growth, a simple model of router resources, etc. Current routing technology can handle approximately twice the number of routes which are currently advertised on "core" Internet routers. Router capacity is doubling every 18 months, while routing tables are doubling every 9 months. If routes continue to be introduced at the current rate, the Internet will cease to function as a reliable infrastructure in approximately 2 to 3 years.
The good news is that CIDR is working. Address blocks are being allocated and assigned in a hierarchical manner, and the CIDR'ization of large portions of the address space which were assigned according to the guidelines of RFC 1466(-> 2050) resulted in a significant drop of advertised routes. However, recent growth trends show that the number of routes is once again growing at an exponential rate, and that the reduction with the introduction of CIDR was simply a sawtooth in the rate.
The growth in the number of routes can logically come from only two places, the extra routes generated with the breakup of CIDR blocks, and previously allocated and unannounced networks being connected. (Registries are still allocating a few addresses not within CIDR blocks, so a small third source does exist.) With increasing popularity there is increasing competition between providers. If a site changes provider and retains the use of their CIDR block addresses, holes appear in the blocks and specific routes are added to the routing structure to accommodate these cases. Thus over time, CIDR will improve address utilization efficiency yet not help the routing requirements unless providers can keep their CIDR blocks intact.
The second source for new route introduction is sites who had previously operated a private IP network, which had been registered and assigned a network number (or numerous networks), but have only recently connected to the global Internet. This RFC is a policy based attempt to help preserve the operation of the current Internet by addressing the issues of previously registered but unannounced IP networks.
An additional area of route introduction comes from non-aggregating router configurations. Aggregation is not automatic on most routers, and providers who may have intact CIDR blocks are, in many cases, advertising individual routes instead of an aggregate block without realizing.
In the context of this document, the phrase "Global Internet" refers to the mesh of interconnected public networks (Autonomous Systems) which has its origins in the U.S. National Science Foundation (NSF) backbone, other national networks, and commercial enterprises. Similarly, the phrase or any references to the "Core Routers" refer to the set of routers which carry the full set of route advertisements and act as interconnect points for the public networks making up the "Global Internet."
