Routing protocols can be classful or classless:
- Classful routing protocols DO NOT send the subnet mask along with their updates.
- Classless routing protocols DO send the subnet mask along with their updates.
Let’s take a look at an example to emphasize this:
We have three routers and a bunch of networks. Take a close look at the networks that we have here:
- 172.16.1.0 /24
- 172.16.2.0 /24
- 192.168.12.0 /24
- 192.168.23.0 /24
Remember the class A, B, and C ranges?
- 172.16.1.0 and 172.16.2.0 fall within the class B range.
- 192.168.12.0 and 192.168.23.0 fall within the class C range.
What subnet mask do class B and class C networks have by default?
- Class B: 255.255.0.0
- Class C: 255.255.255.0
A classful routing protocol will not send the subnet mask along with the routing update, so this is what will happen:
R1 and R3 don’t send the subnet mask along with the routing update, so it will advertise the classful network, which is 172.16.0.0 in this case. So what happens with R2? It thinks it can reach the 172.16.0.0 network by sending packets either left or right, and if the metric is equal, it will try to load-balance. Obviously, this is going to cause problems.
Classless routing protocols advertise the subnet mask along with their updates:
As you can see, R1 is now advertising its 172.16.1.0 subnet with a subnet mask. R3 is advertising its 172.16.2.0 subnet with a subnet mask as well.
Which routing protocols are classful or classless? I’m going to give you an overview: