Network - CIDR (Classless Interdomain Routing)
CIDR is a routing strategy that was developed as a partial solution to two difficulties that have developed as the number of networks connected to the Internet has grown very large. One problem was that routers had to deal with too many network addresses and were choking on their routing tables. The second problem was that the supply of Class B network addresses was being used up too quickly. Class B networks can have up to 65,536 hosts, but there can be only 16,384 Class B network addresses. This address class (see IP Address for a more detailed discussion) is useful for companies or organizations that have large networks with thousands of hosts for each network. While there are many companies with a few thousand hosts on their networks, there are few that have anywhere near 65,000. Because of the way address classes are defined, this situation leads to a lot of potential addresses being wasted. The next address class-C-supports networks with 256 or fewer hosts. There can be more than 2 million Class C addresses. So, whereas Class B address spaces are too big, those for Class C are somewhat small for many businesses and organizations. When a midsize company asks for an Internet address, it must be given either a Class B address from a dwindling supply or several (perhaps several dozen) Class C addresses. For example, a company with just over 8,000 hosts would need 32 Class C addresses. In contrast, by taking a Class B address, it would waste more than 55,000 potential addresses. CIDR is designed to make a happy medium possible by assigning consecutive Class C addresses to organizations or corporations that have more than 256 machines, but that may not be large enough to merit a Class B address. CIDR takes advantage of the assignment scheme and treats the cluster of Class C networks as belonging to the same "supernetwork"-as indicated by their common value in the higher order address bits (known as the prefix bits in this context). By routing just on the (fewer) higherorder bits, routers can fulfill their functions without having to store all the networks to which they are routing. For CIDR to be successful, several things are required: n The internal and external gateway protocols need to be able to represent the "supernetwork cluster" groupings. Earlier gateway protocols (such as BGP-3, IGRP, and RIP-1) cannot do this; newer versions (such as BGP-4, EIGRP, IS-IS, OSPF, and RIP-2) can. The protocol situation is in transition because newer protocols are, in some cases, just becoming available. n Class C addresses must be assigned consecutively, as assumed in the CIDR strategy. While this can be done easily in some areas, it's much more difficult in others. One important and sticky issue is how to deal with address owners who move, as such a move could entail a switch in providers, which would undoubtedly lead to routing changes. If the address that's moving happens to be in the middle of a "supernetwork," the abbreviated addressing scheme falls apart. n An effective strategy must be worked out for assigning addresses. Two possible basic approaches are providerbased and geographically based. In the former, networks that share a provider get addresses close to each other, regardless of whether these networks are physically near each other. The geographically based approach would assign addresses within a block to networks in the same geographical area. The current Internet is closer to the provider-based variant.