As mentioned in Chapter 1, "Managing Your IP Address Space," classful routing protocols such as RIP and IGRP do not support VLSM, but sometimes you are forced to resolve VLSM and classful routing incompatibilities in a real-world network. Especially when you redistribute, routes might get lost between the parts of your network that use VLSM and the other parts that are classful. Figure 3-8 illustrates a typical scenario.
Resolving Issues with VLSM and Classful Routing Protocols 79
Figure 3-8 Issues with VLSM and Redistribution: An Example Network y
OSPF Domain j
172.18.129.CV24 172.18.130.0/24 172.18.131.0/24 RIP Domain
172.18.129.CV24 172.18.130.0/24 172.18.131.0/24 RIP Domain
In Figure 3-8, Router A is performing mutual redistribution between OSPF and RIP, and Router B is a RTP-only router. Because RIP is classful and does not support VLSM, all networks in the RIP domain are properly deployed with the same mask, /24. The OSPF domain contains subnets from the same major net and uses VLSM. Subnet 172.18.3.0 has a /26 mask (highlighted in boldface) and all the other subnets in the OSPF domain have a /24 mask.
When Router A redistributes the routes from the OSPF domain into RIP. RIP advertises all of the routes out SerialO except 172.18.3.0/26. It doesn't forward 172.18.3.0/26 because the mask for that route is not what Router A's RIP process expects. Router A examines the major net and mask configured on SerialO before it advertises a route through it. If the route is part of the same major net as the interface but has a different mask. RIP does not advertise it out the interface (this rule applies to IGRP also).
NOTE If the route is from a different major net than the interface, the major net of the route is advertised out the interface (172.18.0.0/16, for example). In a classful world, the existence of a different major net means the router sits on a boundary between major nets. One major net does not need to know the internal subnets of another because subnets are contained within a major net. As mentioned in Chapter 2, classful protocols do not support discontiguous subnets.
Because Router A does not forward the VLSM route 172.18.3.0/26, Router B never receives it and no one in the RIP half of the network can reach subnet 172.18.3.0/26. The route is lost because it is redistributed into a classful routing protocol.
The following output of Router B's routing table shows the problem: RTB#sh ip ro
Codes: C • connected, S - static, I - IGRP, R • RIP, M mobile, B - BGP D - EIGRP, EX . EIGRP external, 0 - 0SPF, IA OSPF inter area E1 - OSPF external type 1, E2 - OSPF external type 2, E EGP i • IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
Gateway of last resort is not set
172.18.0.0 is subnetted, 7 subnets
C 172.18.44.C/24 is directly connected, Seriall
R 172.18.43.0/24 (120/1] via 172.18.44.1, 00:00:08, Seriall
R 172.18.1.0/24 [120/2] via 172.18.44.1, 00:00:08, Seriall
R 172.18.2.0/24 [120/2] via 172.18.44.1, 00:00:08, Seriall
C 172.18.129.0/24 is directly connected, Ethernet0
R 172.18.130.0/24 [120/4] via 172.18.129.2, 00:00:23, Ethernet0
R 172.18.131.0/24 [120/5] via 172.18.129.2, 00:00:23, Ethernet0
The two routes highlighted in boldface in the preceding output are the routes that Router A redistributes from the OSPF domain into RIP. Notice that route 172.18.3.0/26 is absent from the table because Router A is not forwarding it to Router B.
To fix the problem of the missing route, you can configure a static route on Router B that tells the router how to reach the lost subnet:
Enter configuration commands, one per line. End with CNTL/Z. RTB(COnfig)#ip route 172.18.3.0 255.255.255.192 172.18.44.1
The command ip route I72.18.3.U 255.2S5.255.192 172.18.44.1 installs a static route in Router B. It tells the router to reach 172.18.3.0/26 through the next hop router, 172.18.44.1 (Router A). This fixes the problem for Router B, but it does not help other RIP routers in the RIP domain. You would have to install static routes on the other RIP routers—a laborious task when there are many routers or many destinations, so consider the next approach.
Resolving Issues with VLSM and Classful Routing Protocols 81
An alternate solution is to create a static route on Router A that is agreeable to RIP and then redistribute it into the RIP domain. The following is Router A's configuration with this approach (boldface highlights the new commands):
router rip redistribute static redistribute ospf 10 metric 3 passive-interface Ethernet© network 172.18.0.0
ip route 172.18.3.0 255.255.255.0 Null0
where redistribute static tells the router to redistribute all static routes configured on the router into RIR This is like redistributing OSPF into RIP except the source of the redistribution is static routing instead of OSPF.
The command ip route 172.18.3.0 255.255.255.0 NullO configures a static route in Router A. This and other existing static routes are redistributed into RIP by redistribute static. Notice a couple of things about the route:
• The route is cleverly crafted with a /24 mask—the same mask as Router A's SerialO interface and the rest of the RIP domain. This route matches the mask that is consistent throughout the RIP domain, so it can be redistributed and circulated by RIP without any problems.
• The route points to the router's NullO interface—a bit bucket that leads to nowhere. The section on "Verifying EIGRP Configuration" in Chapter 2 explains the strategy behind the NullO interface. Briefly, Router A doesn't use this route to reach 172.18.3.0/26 because it uses the most specific route: the one it learned through OSPF (172.18.3.0/26 is more specific than 172.18.3.0/24). You create this static so that Router A can redistribute it and make it known to other routers. This is called originating a static route.
When Router A redistributes the static route into RIR RIP sends it out SerialO (it matches SerialO's /24 mask). Router B learns that it can reach 172.18.3.0/24 through Router A and then propagates the route as a normal RIP route to the rest of the RIP domain. Router B and other RIP routers can now reach 172.18.3.0/26 via the route you fabricated, 172.18.3.0/24.
A caveat of this approach is the generalization (or summarization) of 172.18.3.0/26 by 172.18.3.0/24. The actual subnet (/26 mask) is a subset of the larger address block defined by the static with the /24 mask. This is fine if all addresses in the larger block are in the OSPF domain and reachable from the RIP domain via Router A. However, if portions of 172.18.3.0/ 24 other than 172.18.3.0/26 (for example, 172.18.3.128/26) are not advertised into RIP by Router A, this approach could cause reachability problems.
NOTE You can sec that there's quite a bit of subnetting and masking in this section. Refer to Chapter 1 if necessary.
Instead of originating a static route, an alternate solution is to use OSPF's summarization capabilities. With this approach, you use the OSPF area range command to summarize 172.18.3.0/26 with 172.18.3.0/24 (see "Configuring OSPF Summarization Between Areas" later in this chapter for use of this command). This gives you the same route 172.18.3.0/24, which you can then redistribute into RIP without a fuss.
Sometimes, there is no perfect solution for resolving VLSM issues with classful routing protocols. If your network does not lend itself to a clean solution because the classless space is heavy with VLSM, you might have to use a combination of the approaches presented in this section. You might, for example, have to originate a static route and then fill in missing information by configuring static routes on some selected RIP routers. Alternatively, you might find a reasonable opportunity to renumber some subnets so you can originate a static route as in the example. Finally, you always have the option to migrate off the classful protocol or at least reduce its coverage.
Was this article helpful?