[j-nsp] Avoid route loop for joining IS-IS/OSPF areas with redundancy?
Clarke Morledge
chmorl at wm.edu
Wed May 18 17:16:26 EDT 2011
I am trying to solve some problems and I need a little sanity
check. I have some routers that only support OSPF and I am trying to
integrate this OSPF area/autonomous-system into a level2 IS-IS
area/autonomous-system. Simplified, it looks like this:
IS-IS
OSPF-------------OSPF
RTR B RTR D
/ | \
/ | \
/ | \
IS-IS | OSPF
RTR A | RTR F --static-route 0.0.0.0/0->my ISP
\ | /
\ | /
\ | /
IS-IS /
OSPF---------------OSPF
RTR C RTR E
A couple other things to note:
a. there is no Level 1 IS-IS here, just Level 2.
b. OSPF is area 0.0.0.0.
c. IS-IS wide metrics only, so no real distinction between internal and
external routes with IS-IS.
d. the static route 0.0.0.0/0 pointing to my ISP needs to be propagated
into the IS-IS autonomous system, and I want to rely on OSPF costing on
the interfaces to traffic engineer the path for the default route, while
still allowing for redundancy.
e. to avoid looping in general, I tag routes redistributed from IS-IS into
OSPF and then reject routes from OSPF to be redistributed into IS-IS
matching that tag. The same logic applies for routes from OSPF to IS-IS.
Here is the first problem:
If I stay with the default Junos route preferences and let's say that one
of the ASBRs (Router B or C) goes down and comes back up, I'll get a
routing loop for the default route. Since wide-metrics forces IS-IS to
forget about the internal/external distinction, the default route gets
lost between Routers B and C.
Following the advice of Herrero and Van Der Ven in _Network Mergers and
Migrations_, it should be sufficient to prefer OSPF internal AND external
routes above IS-IS. For example, I could drop the IS-IS level 2 internal
preference from 18 down to something below the default OSPF external route
preference of 150 to something like 155. I would need to do this on both
routers B and C. This would force the OSPF external route for 0.0.0.0/0
to win over IS-IS at the border routers, B and C.
But here is a second problem:
If I do not have OSPF configured directly between Routers B and C, I could
get a suboptimal routing situation. For example, let's say I have a
loopback address on router A and the path from A to C is "shorter" than
the path from A to B. Router B would then see router A's loopback as best
advertised through OSPF via Router D. Ugh.
So perhaps I just need to configure OSPF between B and C. This still
isn't the most optimal method, because now that loopback address for A is
best reachable from router B through router C, even though A is right next
door.
I could just extend OSPF all the way over to router A and clean that up,
even though I really am trying to move off OSPF as soon as possible to
simplify life, but I guess I can live with it temporarily. I just need to
remember to apply the same route preference settings and redistribution
routing logic with tags on router A as I have done on routers B and C.
In the future, when I want to replace the OSPF-only routers with routers
that support OSPF and IS-IS, I can simply go from router to router and
reverse the route preferences for IS-IS and OSPF, making IS-IS better, and
then I can remove OSPF altogether.
Anyway, am I on the right track here, or am I forgetting something really
important?
Clarke Morledge
College of William and Mary
Information Technology - Network Engineering
Jones Hall (Room 18)
Williamsburg VA 23187
More information about the juniper-nsp
mailing list