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 188.8.131.52/24 is part of the same major net as 184.108.40.206/30, which is the network assigned to the interface that will be sourcing the update.
- It is, and now Router 1 checks whether 220.127.116.11 has the same subnet mask as 18.104.22.168/30.
- Since it doesn't, Router 1 drops the network, and doesn't advertise the route.
- Router 1 now checks whether 22.214.171.124/30 is part of the same major net as 126.96.36.199/30, which is the network assigned to the interface that will be sourcing the update.
- It is, and now Router 1 checks whether 188.8.131.52/30 has the same subnet mask as 184.108.40.206/30.
- Since it does, Router 1 advertises the network.
The above checks determined that Router 1 only includes 220.127.116.11 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 (18.104.22.168)
subnet 22.214.171.124, 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.
126.96.36.199/30 is subnetted, 3 subnets