IEEE Network • March/April 2001
9
mation requires searching for the prefix in the for- warding table that matches the corresponding bits of the destination address.The addressing architecture specifies how the allo-cation of addresses is performed; that is, it defineshow to partition the total IP address space of 2
32
addresses — specifically, how many network address-es will be allowed and what size each of them shouldbe. When Internet addressing was initially designed,a rather simple address allocation scheme wasdefined, which is known today as the
classful address-ing scheme
. Basically, three different sizes of net- works were defined in this scheme, identified by aclass name: A, B, or C (Fig. 1). Network size wasdetermined by the number of bits used to representthe network and host parts. Thus, networks of class A, B, or Cconsisted of an 8, 16, or 24-bit network part and a corre-sponding 24, 16, or 8-bit host part.With this scheme there were very few class A networks, andtheir addressing space represented 50 percent of the totalIPv4 address space (2
31
addresses out of a total of 2
32
). There were 16,384 (2
14
) class B networks with a maximum of 65,534hosts/network, and 2,097,152 (2
21
) class C networks with up to256 hosts. This allocation scheme worked well in the earlydays of the Internet. However, the continuous growth of thenumber of hosts and networks has made apparent two prob-lems with the classful addressing architecture. First, with onlythree different network sizes from which to choose, theaddress space was not used efficiently and the IP addressspace was getting exhausted very rapidly, even though only asmall fraction of the addresses allocated were actually in use.Second, although the state information stored in the forward-ing tables did not grow in proportion to the number of hosts,it still grew in proportion to the number of networks. This wasespecially important in the backbone routers, which mustmaintain an entry in the forwarding table for every allocatednetwork address. As a result, the forwarding tables in thebackbone routers grew very rapidly. The growth of the for- warding tables resulted in higher lookup times and highermemory requirements in the routers, and threatened toimpact their forwarding capacity.
The CIDR Addressing Scheme
To allow more efficient use of the IP address space and toslow down the growth of the backbone forwarding tables, anew scheme called
classless interdomain routing
(CIDR) wasintroduced.Remember that in the classful address scheme, only threedifferent prefix lengths are allowed: 8, 16, and 24, corre-sponding to classes A, B and C, respectively (Fig. 1). CIDRuses the IP address space more efficiently by allowing finergranularity in the prefix lengths. With CIDR, prefixes can beof arbitrary length rather than constraining them to be 8, 16,or 24 bits long.To address the problem of forwarding table explosion,CIDR allows address aggregation at several levels. The idea isthat the allocation of addresses has a topological significance.Then we can recursively aggregate addresses at various points within the hierarchy of the Internet’s topology. As a result,backbone routers maintain forwarding information not at thenetwork level, but at the level of arbitrary aggregates of net- works. Thus, recursive address aggregation reduces the num-ber of entries in the forwarding table of backbone routers.To understand how this works, consider the networks rep-resented by the network numbers from 208.12.16/24 through208.12.31/24 (Figs. 2 and 3). Suppose that in a router all thesenetwork addresses are reachable through the same serviceprovider. From the binary representation we can see that theleftmost 20 bits of all the addresses in this range are the same(11010000 00001100 0001). Thus, we can aggregate these 16networks into one “supernetwork” represented by the 20-bitprefix, which in decimal notationgives 208.12.16/20. Note that indicat-ing the prefix length is necessary indecimal notation, because the same value may be associated with prefixesof different lengths; for instance,208.12.16/20 (11010000 000011000001*) is different from 208.12.16/22(11010000 00001100 000100*).While a great deal of aggregationcan be achieved if addresses are care-
s
Figure 1.
Classful addresses.
7Network HostClass A02414Network HostClass B101621Network HostClass C1108
s
Figure 2.
Prefix aggregation.
208.12.16/24 110100000000110000010000*208.12.21/24 110100000000110000010101*208.12.31/24 110100000000110000011111*208.12.16/20 11010000000011000001*
s
Figure 3.
Prefix ranges.
208.12.16/24208.12.21/24208.12.31/240 2
32
– 1Total IPv4 address space
Leave a Comment