Why Don't RIPv1 and IGRP Support Variable-Length Subnet Mask?
The ability to specify a different subnet mask for the same network number on different subnets is called Variable-Length Subnet Mask (VLSM). RIPv1 and IGRP are classful protocols and are incapable of carrying subnet mask information in their updates. Before RIPv1 or IGRP sends out an update, it performs a check against the subnet mask of the network that is about to be advertised and, in case of VLSM, the subnet gets dropped.
Let's look at an example. In the figure below, Router 1 has three subnets with two different masks (/24 and /30).
Router 1 goes through the following steps before sending an update to Router 2. These steps are explained in more detail in Behavior of RIP and IGRP When Sending or Receiving Updates.
- First Router 1 checks to see whether 18.104.22.168/24 is part of the same major net as 22.214.171.124/30, which is the network assigned to the interface that will be sourcing the update.
- It is, and now Router 1 checks whether 126.96.36.199 has the same subnet mask as 188.8.131.52/30.
- Since it doesn't, Router 1 drops the network, and doesn't advertise the route.
- Router 1 now checks whether 184.108.40.206/30 is part of the same major net as 220.127.116.11/30, which is the network assigned to the interface that will be sourcing the update.
- It is, and now Router 1 checks whether 18.104.22.168/30 has the same subnet mask as 22.214.171.124/30.
- Since it does, Router 1 advertises the network.
The above checks determined that Router 1 only includes 126.96.36.199 in its update that is sent to Router 2. Using the debug ip rip command, we can actually see the update sent by Router 1. It looks like this:
RIP: sending v1 update to 255.255.255.255 via Serial0 (188.8.131.52)
subnet 184.108.40.206, metric 1
Notice that in the output above only one subnet is included in the update. This results in the following entry in Router 2's routing table, displayed using the show ip route command.
220.127.116.11/30 is subnetted, 3 subnets
C 18.104.22.168 is directly connected, Serial0
C 22.214.171.124 is directly connected, Ethernet0
To avoid having subnets eliminated from routing updates, either use the same subnet mask over the entire RIPv1 network or use static routes for networks with different subnet masks.