RIR's - Regional Internet Registries

History and Evolution of the RIR System


Before the RIRs

An important feature of the Internet Protocol (IP) is the ability to transparently use a wide variety of underlying network architectures to transport IP packets. To achieve this task with full transparency, the IP needed an addressing structure, which developed as a two-level hierarchy: One part of the address, the network part, identifies the particular network a host is connected to, while the other part, the local part, identifies the particular end system on that network. Internet routing, then, has to deal only with the network part of the address, routing the packet to a router directly connected to the destination network.

The first address architecture introduced the division of the Internet address, which was comprised of 32 bits, into 3 classes (RFC 790, 1981): In Class A, the high-order bit is zero, the next 7 bits are the network, and the last 24 bits are the local address (more than 16 million nodes in the network). In Class B, the high-order 2 bits are "10", the next 14 bits are the network, and the last 16 bits are the local address (more than 65 thousand nodes in the network). In Class C, the high-order 3 bits are "110", the next 21 bits are the network, and the last 8 bits are the local address (only 254 nodes).

Conservation vs. Aggregation

As the Internet grew quickly during the late 1980s, two problems appeared: the rapid depletion of address space, due to the crude classes divisions; and the uncontrolled growth of the Internet routing tables, due to routing information that wasn't aggregated. A typical network of the time had to accommodate more than the 254 hosts addressable by a Class C address, but would rarely exceed 1000 hosts. Using pure "classes" addressing, one could either subdivide networks artificially to remain below the 254 host limit, or use a Class B address for each local network, possibly wasting more than 60,000 addresses in each. Whereas the latter solution is obviously wasteful in terms of address space, the former makes the Internet routing system grow heavier, because each of these networks would require a separate route, which should be propagated throughout the whole Internet.

This is the basic dilemma of address space assignment: conservation versus aggregation. On the one hand, conserving the address space means assigning as little as possible; on the other hand, easing routing-table pressures means aggregating as many addresses as possible in one routing-table entry.

Subnetting and Supernetting

Some of the above mentioned problems of "classes" addressing, were solved by the technique of subnetting, which was described in RFC 791 (1984). Subnetting provided another level of addressing hierarchy by inserting a subnet part into the IP address between the network part and the local part. Subnetting solved the routing-table problem, because now only one global routing-table entry was needed for the organization. It also somewhat helped address space conservation, because it provided an alternative to using many sparsely populated Class B networks. Because the boundary between the subnet part and the local part of an address could not be determined from the address itself, this local knowledge needed to be configured into the routers.

However, within a few years, it became clear that subnetting was no longer sufficient to keep up with Internet growth. The solution proposed was to extend the subnetting technique beyond the local organization, into the Internet itself. RFC 1338 proposed abolishing the "classes" addressing, and replacing it with supernetting.

Supernetting technique was published in 1993 under the name Classless Inter-Domain Routing (CIDR). Two main ingredients were necessary to make CIDR work: routing system changes and new procedures for address allocation and assignment.

Fortunately, there was only one routing protocol in widespread use at the time – BGP, Border Gateway Protocol, and it was quickly extended to support the following needed changes: Under CIDR, routers could no longer determine the network part of an address from the address itself. This information now needed to be conveyed by Internet routing protocols. The network part of an address, now called the prefix, can be of any length. This means that a router can have multiple valid routes covering a specific 32-bit destination address. Routers need to use the most specific of these routes - that is, the longest prefix - when forwarding packets.

Emergence of the RIRs

To ensure that no two networks would attempt to use the same network address in the Internet, assigning addresses was a necessary administrative duty from the early days of the Internet. At first, the elementary task of maintaining a list of assigned network addresses was carried out voluntarily by Jon Postel, the Internet pioneer, using (according to legend) a paper notebook. From RFC 790, 1981: "The assignment of numbers is also handled by Jon. If you are developing a protocol or application that will require the use of a link, socket, port, protocol, or network number please contact Jon to receive a number assignment."

As the Internet grew, and particularly as "classes" addressing was established, the administrative task grew accordingly. The IANA (Internet Assigned Numbers Authority) was established as the "custodian" of Internet addresses, along with an Internet Registry (IR) function to handle the registration tasks.

Because the Internet was evolving toward the current state of arbitrarily interconnected networks of Internet Service Providers (ISPs), it was obvious that ISPs should play a role in address space distribution. In CIDR, ISPs would - as much as possible - assign address space to their customers in contiguous blocks, which could be aggregated into single routes to the rest of the Internet. Therefore, CIDR relied on the development of administrative procedures to allocate and assign address space.