Classless routing differs from classful routing in that the prefix length is transmitted. This prefix length is evaluated at each place it is encountered throughout your network. In other words, it can be changed to advertise routes differently at different locations within a network. This capability of classless routing enables more efficient use of IP address space and reduces routing traffic. A very good example of this type of routing is VLSM. Classless routing has the following characteristics:
Variable-Length Subnet Masks (VLSM)
The basic concept of variable-length subnet masks (VLSM) is to provide more flexibility by dividing a network into multiple subnets. The trick to using this technique is ensuring that you have an adequate number of hosts allocated per subnet.
Note that not every protocol supports VLSM. If you decide to implement VLSM, make sure you are using a VLSM-capable routing protocol such as OSPF.
OSPF and static routes support variable-length subnet masks (VLSMs). With VLSMs, you can use different masks for the same network number on different interfaces, which enables you to conserve IP addresses for better efficiency. VLSMs do this by allowing both big subnets and small subnets. As mentioned previously, you need to ensure that the number of hosts is sufficient for your needs within each subnet.
In the following example, a 30-bit subnet mask is used, leaving two bits of address space reserved for serial line host addresses. There is sufficient host address space for two host endpoints on a point-to-point serial link.
interface ethernet 0 ip address 220.127.116.11 255.255.255.0 ! 8 bits of host address space reserved for Ethernet hosts interface serial 0 ip address 18.104.22.168 255.255.255.252 ! 2 bits of address space reserved for serial lines ! System is configured for OSPF and assigned 107 as the process number router ospf 107 ! Specifies network directly connected to the system network 22.214.171.124 0.0.255.255 area 0.0.0.0
As shown in the preceding example, VLSM is very efficient when used on serial lines because each line requires a distinct subnet number, even though they only have two host addresses. This requirement wastes subnet numbers. However, if you use VLSM to address serial links in a core router, then you can save space. In Figure 2-7, the regular subnet 172.24.10.0 is further subnetted with six additional bits. These additional subnets make 63 additional subnets available. VLSM also enables the routes within the core to be summarized as 172.24.10.0.
Most early networks never had their IP addresses assigned to them in a way that would enable network engineers to group them in blocks. Instead, they had been assigned as needed, so massive renumbering projects would need to be performednot one of the most popular pastimes of anyone involved in networking. However, although hindsight is 20/20, remember the past when considering the future and newer technology, such as IPv6. Otherwise, you might end up doing quite a lot of static routing and odd configuring just to keep your network stable.
VLSM Design Guidelines & Techniques
To assist you when designing the use of VLSM within your network, please consider some of the following guidelines:
In conclusion, you might ask yourself why there are any questions about implementing VLSM. This is a good question with a few different answers available, depending upon the network in question. As mentioned previously, VLSM is not supported by every protocol, though it is supported by OSPF, EIGRP, ISIS, and RIPv2. So these newer protocols might have to co-exist with older protocols that do not support VLSM and would have trouble routing. In addition, the use of VLSM can be very difficult. If it is not properly designed, it can cause the network to not operate properly and it increases the complexity of troubleshooting any network.
Classless Interdomain Routing (CIDR)
VLSM was a step up from subnetting because it relayed subnet information through routing protocols. This idea leads us directly into this section on CIDR, which stands for classless interdomain routing. CIDR is documented in the following RFCs: 1517, 1518, 1519, and 1520. CIDR is an effective method to stem the tide of IP address allocation, as well as routing table overflow. Without the implementation of CIDR in 1994 and 1995, the Internet would not be functioning today because the routing tables would have been too great in magnitude for the routers to handle.
The primary requirement for CIDR is the use of routing protocols that support it, such as RIPv2, OSPFv2, and BGPv4. CIDR can be thought of as advanced subnetting. The subnetting mask, previously a number with special significance, becomes an integral part of routing tables and protocols. A route is no longer just an IP address that has been interpreted according to its class with the corresponding network and host bits.
Validating a CIDRized Network
Lets use the routing tables in the Internet or any other large network as an example. The routing tables within the Internet have been growing as fast as the Internet itself. This growth has caused an overwhelming utilization of the Internets routers processing power and memory utilization, consequently resulting in saturation.
Between 1988 and 1991, the Internets routing tables doubled in size every 10 months. This growth would have resulted in about 80,000 routes by 1995. Routers would have required approximately 25MB of dedicated RAM in order to keep track of them all, and this is just for a router with a single peer. Through the implementation of CIDR, the actual number of routes in 1996 was around 42,000.