Edit: Thanks for playing! You can find the official answer and explanation here.

I had an interesting question come across my desk today which involved a very common area of confusion in OSPF routing logic, and now I’m posing this question to you as a challenge!

The first person to answer correctly will get free attendance to our upcoming CCIE Routing & Switching Lab Cram Session, which runs the week of June 1st 2015, as well as a free copy of the class in download format after it is complete.  The question is as follows:

Given the below topology, where R4 mutually redistributes between EIGRP and OSPF, which path(s) will R1 choose to reach the network 5.5.5.5/32, and why?

Bonus Questions:

• What will R2′s path selection to 5.5.5.5/32 be, and why?
• What will R3′s path selection to 5.5.5.5/32 be, and why?
• Assume R3′s link to R1 is lost.  Does this affect R1′s path selection to 5.5.5.5/32? If so, how?

Tomorrow I’ll be post topology and config files for CSR1000v, VIRL, GNS3, etc. so you can try this out yourself, but first answer the question without seeing the result and see if your expected result matches the actual result!

Good luck everyone!

##### About Brian McGahan, CCIE #8593, CCDE #2013::13:

Brian McGahan was one of the youngest engineers in the world to obtain the CCIE, having achieved his first CCIE in Routing & Switching at the age of 20 in 2002. Brian has been teaching and developing CCIE training courses for over 10 years, and has assisted thousands of engineers in obtaining their CCIE certification. When not teaching or developing new products Brian consults with large ISPs and enterprise customers in the midwest region of the United States.

### 75 Responses to “OSPF Path Selection Challenge”

1. Alan garcia says:

R1-R3-R4-R5 because ospf prefer O IA vs O N2.

2. Alan garcia says:

R1-R3-R4-R5 because ospf prefer O E2 vs O N2. Cost does not matter in this scenario

R1 -> R2 -> R4 -> R5

R5 is known as a E2 route from both, but we first chose the lowest cost.

Correction:
R1 -> R3 -> R4 -> R5

Cost the the deciding factor….

4. Rodrigo says:

It will choose R3 because external type E is preferred over external type N.

5. Dustin B. says:

I would say that it depends on several variables.

1)

6. ZAC says:

R3 will go via R4 to reach 5.5.5.5 because LSA5 will be preferred over LSA7 which it will be receiving from R1.
R2 will be go via R1->R3->R4->R5 because it will be receiving LSA7 from R4 and LSA5 from R1 so it will prefer.this path.

7. Alvaro says:

Hello,

What will R2′s path selection to 5.5.5.5/32 be, and why?
- R2 -> R1 -> R3 -> R4 -> R5, because external type E is preferred over external type N.
What will R3′s path selection to 5.5.5.5/32 be, and why?
- R3 -> R4 -> R5, same reason as prior question.

8. Alan garcia says:

R2 is Just used in case of failure in interfeces of R4 or R3, ospf will prefer always type E2 vs N2, no matter what the cost of the links is. Even more when you recreate this you Will see the forward addres 0.0.0.0 Wich is an indicator to prefer resolve the path internally instead of forward address for R4. Routing bit will be set in the path of R3, so R3 will be chose.
Again cost does not play a role here because the rule of ospf path selection state machine:
I
IA
E1
N1
E2
N2

I hope to win

9. Seyi says:

Since the P-bit is set when R4 redistributes into the NSSA, R2 will prefer R2—>R4—>R5 as per the RFC rules (N over E if P-bit is set).
R3 will prefer R3—>R4—->R5 since the T5 LSA sent by R4 is an intra-area-external, and R2 will not translate the T7 LSA. So basically, R3 has only 1 source.
R2 will not translate the T7 LSA since the P-bit is set, and ultimately R1 will follow the path through R3 (R1—->R3—->R4—–>R5).

In some old IOS where the RFC hasn’t been implemented, R2 will actually prefer the path through R1 (E over N).
I think the RFC is RFC 3101, though not sure

• Seyi says:

Take that back, was a mixup

R2—>R4—>R5 as per an intra-area- recursion is preferred to an inter-area-recursion.
R3 will prefer R3—>R4—->R5 since the T5 LSA sent by R4 is an intra-area-external, and R2 will not translate the T7 LSA. So basically, R3 has only 1 source.
R2 will not translate the T7 LSA since the P-bit is not set, and ultimately R1 will follow the path through R3 (R1—->R3—->R4—–>R5).

• Correct Seyi! Sorry I didn’t see your second comment the other day when I was posting the answers. Email me offline at bmcgahan@ine.com and I’ll arrange for your access to the upcoming online class and the videos.

10. mohamed atallah says:

R1 WILL TAKE PATH VIA R3 TO R4 TO R5 5.5.5.5/32
BECAUSE R3 WILL ADVERTISE SPECIFIC NETWORK O E2 5.5.5.5/32 , BUT R2 WILL ADVERTISE DEFAULT NETWORK O N2 0.0.0.0/0
AND ROUTER PREFER SPECIFIC MATCHING THAT VIA R3
SO R3 WILL WIN

11. Sagar says:

R1 will choose the path via R3->R4.

Reasons:

R4 will not set the P-Bit for 5.5.5.5 and send to R2 as it is also generating type 5 LSA for 5.5.5.5 and sending to R3.
As Pbit is not set R2 will not send this LSA to R1.

Type 5 LSA will be sent to R3 and R3 propagates it to R1. Thus taking the route as R3–>R4.

Thanks,
Sagar

• Sagar says:

What will R2′s path selection to 5.5.5.5/32 be, and why?

R2 will choose the N2 path (via R4 Directly) as the cost to R4 is less.

What will R3′s path selection to 5.5.5.5/32 be, and why?

R3 will choose the E2 Path ( via R4 Directly). R3 will not have a path known via R2 and the cost is less this way.

Assume R3′s link to R1 is lost. Does this affect R1′s path selection to 5.5.5.5/32? If so, how?

No! This does not affect R1 path selection unless a default route is being injected via R2 into area 0. If no default route is being injected via R2 then 5.5.5.5 is not reachable.

• Correct! Email me offline at bmcgahan@ine.com and I’ll arrange for your access to the upcoming online class and the videos.

12. DK says:

Seyi-

You’ve got that backwards:

“R2 will not translate the T7 LSA since the P-bit is set”

The P stands for “propagate.” With the P-bit set, it WILL translate or at least try to, in this case. But the translation will fail, due to the presence of the Type 5 LSA learned from R4 via Area 0.

13. Alex Z says:

R1->R3->R4->R5

R2 will eventuall withdraw its N2 route since R3′s route via R1 is E2 and is prefferred over N2. Eventually R2 will stop translating 7->5 and R1 will only see one path through R3.

14. DK says:

Seyi-

Specifically, the P-bit is cleared when the Type 7 is originated on R4 due to RFC 3101 Section 2.4:

When an NSSA border router originates both a Type-5 LSA and a Type-7
LSA for the same network, then the P-bit must be clear in the Type-7
LSA so that it isn’t translated into a Type-5 LSA by another NSSA
border router.

As a result, this R-4 originated Type 7 is not translated when at R2. So R1 only sees a single Type 5 LSA (via R3->R4).

• Congrats DK, you were the first to answer correctly! Email me offline at bmcgahan@ine.com and I’ll arrange for your access to the upcoming online class and the videos.

• Alan says:

Hey Brian, there is a lot of more detail and large answers but you choose one, could you explain the 4 questions you did?
-I think everyone knows the path is via R3,
-in the other question R2 exits via R4,
-R3 go for R4 and
-if the link in R3 fails, R1 change the path through R2. is that right?

Regards, and thanks a lot for make us think and analyse this kind of scenarios.
Actually I did the lab in GNS3.

15. Rob Riker says:

R1′s RIB:
5.0.0.0/32 is subnetted, 1 subnets
O E2 5.5.5.5 [110/20] via 10.1.13.3, 00:01:37, FastEthernet1/1
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C 10.1.12.0/24 is directly connected, FastEthernet1/0
L 10.1.12.1/32 is directly connected, FastEthernet1/0
C 10.1.13.0/24 is directly connected, FastEthernet1/1
L 10.1.13.1/32 is directly connected, FastEthernet1/1
O IA 10.1.24.0/24 [110/11] via 10.1.12.2, 00:03:58, FastEthernet1/0
O IA 10.1.34.0/24 [110/11] via 10.1.13.3, 00:01:37, FastEthernet1/1
O E2 10.1.45.0/24 [110/20] via 10.1.13.3, 00:01:37, FastEthernet1/1

OSPF Path selection will choose a route type per the following:
O – intra area
O IA – inter area
E1 – external type 1
N1 – NSSA external type 1
E2 – external type 2
N2 – NSSA External type 2

Seemed pretty straighforward, E2 routes are preferred over N2. I did notice Typ3 7 to 5 translation being off on R2. Not sure why. But it was pretty apparent from the route type hierarchy process what the problem was. At least to me.

16. Keith Chayer says:

R1 -> R2 -> R1 -> R2 R1 -> R2 R1 -> R2 …
there would be a routing loop

(We are assuming default redistribution settings, so type 2 external LSAs with metric of 20.)

R4 sends the route into area 2 as N2 (by default), creating an LSA type 7. R4 also generates an LSA type 5 for area 1; route type is E2. In both cases the cost is ignored unless there is a tie. R4′s LSA type 5 sets the forwarding address to itself.

R3 passes the type 5 LSA into area 0 and also generates a type 4 LSA for R4 with its cost to R4, which is 10.

R2 translates its type 7 LSA to type 5 as it passes the route into the backbone area, and sets the forwarding address to itself. This is key.

When R1 compares the two type 5 LSAs (both E2), its metric is 20 so it has to revert to its shortest path to the forwarding address set for the route. There is no type 4 LSA for the route from R2 since it came from an NSSA area; the forwarding address is R2. Thus the cost to R2 is 10. The type 4 LSA to ASBR R4 generated by ABR R3 allows R1 to calculate a cost of 110. Thus the lower cost is 10 to R2.

Here is where things get interesting. It’s easy to overlook which path R2 chooses and assume it chooses R4 to get to 5.5.5.5/32 because on the topology it seems to make sense. It appears to be closer. But R2 is going to apply the OSPF tie breaking algorithm in choosing whether or not to use the type 7 LSA from R4 or the type 5 LSA from R3:

O
O IA
O E1
O E2
O N1
O N2

Don’t forget that while R2 as an ABR of an NSSA area generates a default route into the area and eliminates type 4/5 LSAs, it has full visibility into area 0 LSAs also. Ignoring the EIGRP -> OSPF redistribution into NSSA area 2 on R4 for a moment, then any other router in area 2 would only ever see the 0.0.0.0/0 representing 5.5.5.5/32 is a member route. But R2 knows about the type 5 E2 route from R3. So in choosing which route to install in its RIB, it uses the tie breaker and installs the E2 route from R3.

In the end we have a scenario where R1s RIB thinks R2 is the best path, but R2 thinks R1 is the best path. There is a loop, and the traffic never makes it to R5.

Granted there could be some detailed behavior that I’m not aware of in the OSPF spec that deals with this scenario (preventing R2 from performing the 7->5 translation because there is already another type 5 in the area). But Brian said this issue deals with a common area of confusion, so without labbing it up, based on what I understand about OSPF, I propose this solution.

• Jamil Jafri says:

Your qoute “R2 translates its type 7 LSA to type 5 as it passes the route into the backbone area, and sets the forwarding address to itself. This is key.”

I think this is where you are wrong, from what I understand, R2 will not set the forwarding address to itself, in fact forwarding address will be the of the router doing the redistribution in NSSA.

• Keith Chayer says:

You’re right; I had that mixed up. R4 sets the forward address on its type 5 LSA to 0.0.0.0; R2 sets it to R4 — IF it performs the translation. Which it doesn’t, since it doesn’t prefer the NSSA path to get to 5.5.5.5. That part of my solution was also incorrect then, and thus there would be no routing loop. (This behavior was probably designed to prevent the looping scenario I described).

This the correct path (as others have mentioned) is R1 -> R3 -> R4 -> R5, mainly because R2 prefers the path to R1 (due to E2 in its database) as well.

If R1 – R3 link goes down, then R2 would prefer its NSSA route (it wouldn’t have the E2 route), R2 would perform 7->5 translation, and R1 would swing its traffic to R2 as well since it would get a new type 5 from R2 (and lose both the one sent through R3 and the type 4 generated by R3).

17. Jamil Jafri says:

Q1. which path(s) will R1 choose to reach the network 5.5.5.5/32, and why?

18. Jamil Jafri says:

Q1. which path(s) will R1 choose to reach the network 5.5.5.5/32, and why?
Ans1. R1->R3->R4->R5, reason being the cost of 100 to reach the ABR(R3, as the LSA will point to the ABR) as compared to a cost of 110 to reach the link of ASBR(R4, as the LSA will point to the link of the router doing the redistribution).

Q2. What will R2′s path selection to 5.5.5.5/32 be, and why?
Ans2. R2->R1->R3->R4->R5, since R2 is also an ABR so it will receive the network 5.5.5.5/32 external route from both R4(N2) and via R1(E2). Since E2>N2, so it will choose the path via R1.

Q3. What will R3′s path selection to 5.5.5.5/32 be, and why?
Ans3. R3->R4->R5. Cost of 10 via R4 is preferred over a cost of 210 via R1.

Q4. Assume R3′s link to R1 is lost. Does this affect R1′s path selection to 5.5.5.5/32? If so, how?
Ans4. Yes it will affect R1′s path selection, new path will be via R2, as no alternate route is available.

19. Juan Figueroa says:

I am able to see the 150.100.55.55/32 host route from the EIGRP network generateed by the 6509.com

Nexus_1000.com#config t
Enter configuration commands, one per line. End with CNTL/Z.
Nexus_1000.com(config)#do sh ip route ospf 100
155.100.0.0/16 is variably subnetted, 14 subnets, 2 masks
O 155.100.4.0/30 [110/174] via 155.100.6.1, 00:32:59, Serial0/0
O 155.100.3.0/30 [110/164] via 155.100.6.1, 00:41:08, Serial0/0
O 155.100.2.0/30 [110/174] via 155.100.6.1, 00:34:58, Serial0/0
O 155.100.1.0/30 [110/74] via 155.100.6.1, 00:43:41, Serial0/0
O 155.100.40.40/32 [110/175] via 155.100.6.1, 00:27:05, Serial0/0
O 155.100.30.30/32 [110/165] via 155.100.6.1, 00:38:03, Serial0/0
O 155.100.20.20/32 [110/75] via 155.100.6.1, 00:43:31, Serial0/0
O 155.100.10.10/32 [110/65] via 155.100.6.1, 00:50:26, Serial0/0
150.100.0.0/32 is subnetted, 4 subnets
O E1 150.100.55.55 [110/1000174] via 155.100.6.1, 00:03:13, Serial0/0
O E1 150.100.53.53 [110/1000174] via 155.100.6.1, 00:10:21, Serial0/0
O E1 150.100.52.52 [110/1000174] via 155.100.6.1, 00:10:21, Serial0/0
O E1 150.100.51.51 [110/1000174] via 155.100.6.1, 00:10:21, Serial0/0
Nexus_1000.com(config)#

i am able to ping from my source lo0 155.100.60.60 located on the Nexus_100.com to destination 150.100.55.55/32

Nexus_1000.com(config)#do ping 150.100.55.55 source lo0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.100.55.55, timeout is 2 seconds:
Packet sent with a source address of 155.100.60.60
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/28/52 ms
Nexus_1000.com(config)#

i am able to traceroute from the Nexus_1000.com Lo0_INT to the destination address 150.100.55.55/32 host route on the 6509.com EIGRP domain.

the reason that the traceroute is taking the path of::::

Nexus_1000.com(config)#do traceroute 150.100.55.55 source lo0

Type escape sequence to abort.
Tracing the route to 150.100.55.55

1 155.100.6.1 8 msec 20 msec 28 msec
2 155.100.1.2 12 msec 28 msec 4 msec
3 155.100.2.2 4 msec 20 msec 12 msec
4 150.100.5.2 16 msec 36 msec 16 msec
Nexus_1000.com(config)#

is becuause #ip ospf cost 10 was configure on the serial 0/2 interface pointing to the Router_2.com serial 0/2

which the lower the cost the higher the bandwidth and the higher the cost the lower the bandwidth, so in this case since traffic is coming from the Nexus_1000.com

to Router_1.com, Router_1.com will do its best path selection based on the lower cost that was stactically assigned to the serial 0/2 interface on both end

such as Router_1.com serial 0/2 TO Router_2.com serial 0/2.

Router_4.com(config-std-nacl)#do sh run | s router ospf 100
router ospf 100
router-id 15.15.15.15
redistribute eigrp 100 metric 1000000 metric-type 1 subnets tag 50 route-map E_TO_O
network 155.100.2.2 0.0.0.0 area 0
network 155.100.40.40 0.0.0.0 area 0
distance ospf intra-area 105 inter-area 105 external 125
Router_4.com(config-std-nacl)#

router eigrp 100
redistribute ospf 100 metric 1000 2000 1 255 1500
network 150.100.5.1 0.0.0.0
network 150.100.50.50 0.0.0.0
distance eigrp 80 105
no auto-summary
eigrp router-id 50.50.50.50
Router_4.com(config-std-nacl)#

20. Juan Figueroa says:

I am able to see the 150.100.55.55/32 host route from the EIGRP network generated by the 6509.com

Nexus_1000.com#config t
Enter configuration commands, one per line. End with CNTL/Z.
Nexus_1000.com(config)#do sh ip route ospf 100
155.100.0.0/16 is variably subnetted, 14 subnets, 2 masks
O 155.100.4.0/30 [110/174] via 155.100.6.1, 00:32:59, Serial0/0
O 155.100.3.0/30 [110/164] via 155.100.6.1, 00:41:08, Serial0/0
O 155.100.2.0/30 [110/174] via 155.100.6.1, 00:34:58, Serial0/0
O 155.100.1.0/30 [110/74] via 155.100.6.1, 00:43:41, Serial0/0
O 155.100.40.40/32 [110/175] via 155.100.6.1, 00:27:05, Serial0/0
O 155.100.30.30/32 [110/165] via 155.100.6.1, 00:38:03, Serial0/0
O 155.100.20.20/32 [110/75] via 155.100.6.1, 00:43:31, Serial0/0
O 155.100.10.10/32 [110/65] via 155.100.6.1, 00:50:26, Serial0/0
150.100.0.0/32 is subnetted, 4 subnets
O E1 150.100.55.55 [110/1000174] via 155.100.6.1, 00:03:13, Serial0/0
O E1 150.100.53.53 [110/1000174] via 155.100.6.1, 00:10:21, Serial0/0
O E1 150.100.52.52 [110/1000174] via 155.100.6.1, 00:10:21, Serial0/0
O E1 150.100.51.51 [110/1000174] via 155.100.6.1, 00:10:21, Serial0/0
Nexus_1000.com(config)#

i am able to ping from my source lo0 155.100.60.60 located on the Nexus_100.com to destination 150.100.55.55/32

Nexus_1000.com(config)#do ping 150.100.55.55 source lo0

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.100.55.55, timeout is 2 seconds:
Packet sent with a source address of 155.100.60.60
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/28/52 ms
Nexus_1000.com(config)#

i am able to traceroute from the Nexus_1000.com Lo0_INT to the destination address 150.100.55.55/32 host route on the 6509.com EIGRP domain.

the reason that the traceroute is taking the path of::::

Nexus_1000.com(config)#do traceroute 150.100.55.55 source lo0

Type escape sequence to abort.
Tracing the route to 150.100.55.55

1 155.100.6.1 8 msec 20 msec 28 msec
2 155.100.1.2 12 msec 28 msec 4 msec
3 155.100.2.2 4 msec 20 msec 12 msec
4 150.100.5.2 16 msec 36 msec 16 msec
Nexus_1000.com(config)#

is becuause #ip ospf cost 10 was configure on the serial 0/2 interface pointing to the Router_2.com serial 0/2

which the lower the cost the higher the bandwidth and the higher the cost the lower the bandwidth, so in this case since traffic is coming from the Nexus_1000.com

to Router_1.com, Router_1.com will do its best path selection based on the lower cost that was stactically assigned to the serial 0/2 interface on both end

such as Router_1.com serial 0/2 TO Router_2.com serial 0/2.

Router_4.com(config-std-nacl)#do sh run | s router ospf 100
router ospf 100
router-id 15.15.15.15
redistribute eigrp 100 metric 1000000 metric-type 1 subnets tag 50 route-map E_TO_O
network 155.100.2.2 0.0.0.0 area 0
network 155.100.40.40 0.0.0.0 area 0
distance ospf intra-area 105 inter-area 105 external 125
Router_4.com(config-std-nacl)#

router eigrp 100
redistribute ospf 100 metric 1000 2000 1 255 1500
network 150.100.5.1 0.0.0.0
network 150.100.50.50 0.0.0.0
distance eigrp 80 105
no auto-summary
eigrp router-id 50.50.50.50
Router_4.com(config-std-nacl)#

21. Bob Hayes says:

Since R4 is also an ABR, the P-bit gets set to 0 since a type-5 is already being generated. If you look at the Options section on R2, the LSA will have “No Type 7/5 translation”. Therefore R1 will not recieve the route from R2.

R1 will recieve the and E2 route from area 1 (R3) so the path will be R1->R3->R4->R5

• Correct! Email me offline at bmcgahan@ine.com and I’ll arrange for your access to the upcoming online class and the videos.

22. Rob Riker says:

What will R2′s path selection to 5.5.5.5/32 be, and why?

Will use R4 as it’s exit point as it is an Intra Area external route. The FA is all zeros pointing to R4.

What will R3′s path selection to 5.5.5.5/32 be, and why?

It will also be R4 as it to is an intra area external route.

Assume R3′s link to R1 is lost. Does this affect R1′s path selection to 5.5.5.5/32? If so, how?

If R3′s link went down R2′s N2 routes should be used as the Type 7 to 5 translation should occur, and R1 should see an N2 route to 5.5.5.5 via R2.

23. Seyi says:

R2—>R4—>R5 as per an intra-area- recursion is preferred to an inter-area-recursion.
R3 will prefer R3—>R4—->R5 since the T5 LSA sent by R4 is an intra-area-external, and R2 will not translate the T7 LSA. So basically, R3 has only 1 source.
R2 will not translate the T7 LSA since the P-bit is not set, and ultimately R1 will follow the path through R3 (R1—->R3—->R4—–>R5).

24. Zeeshan Omar says:

1)R4 sents a Type 7 LSA to R2 and Type 5 to R3.
2)R2 converts Type 7 to Type 5 and send it to R1
3)R3 sends the Type 5 LSA to R1
4)R1 will receive a Type 5 LSA from both R2 and R3.
5)R2 will receive 5.5.5.5/32 with a cost of 110 from both R2 and R3

R1 will load-balance via R2 and R3.

25. Feroz says:

R1 will chose via R3 to reach network 5.5.5.5 because it select the high bandwidth link which is via R3. so R1–R3–R4

26. Feroz says:

R1 will chose via R3 to reach network 5.5.5.5 because it select the high bandwidth link which is via R3. so R1–R3–R4

27. David says:

Given the below topology, where R4 mutually redistributes between EIGRP and OSPF, which path(s) will R1 choose to reach the network 5.5.5.5/32, and why?

R1->R3->R4->R5

R4 is redistributing into both an NSSA area and a regular OSPF area.

R4 is originating a Type 7 LSA into Area 2 and sets the P-bit to ’0′, since R4 is also originating a Type 5 LSA for the same route into Area 1 (onto Area 0 and ultimately to R1…)

That means the route will not be propagated out Area 2 while it will be propagated out of Area 1

————————————————

Bonus Questions:

What will R2′s path selection to 5.5.5.5/32 be, and why?

http://tools.ietf.org/html/rfc3101#section-16.4.1

(c) If the new AS external path is still indistinguishable
from the current paths in N’s routing table entry, and
RFC1583Compatibility is set to “disabled”, select the
preferred paths based on the intra-AS paths to the
ASBR/forwarding addresses, as specified in Section 16.4.1.
Here intra-NSSA paths are equivalent to the intra-area
paths of non-backbone regular OSPF areas.

————————————————

What will R3′s path selection to 5.5.5.5/32 be, and why?
R3->R4

Packets travel in the direction of the advertisement. Since R4 is originating the Type 5 LSA into Area 1, R3 will receive it, perform Type 5 to Type 1 LSA recursion, install it in its routing table and route 5.5.5.5 towards R3.

——————————————–
Assume R3′s link to R1 is lost. Does this affect R1′s path selection to 5.5.5.5/32? If so, how?

R1 will lose connectivity to R5′s loopback, since R4 will still be originating the Type 7 LSA with the P bit set to ’0′ in area 2, meaning R2, the ABR for Area 2 will never do a Type 7 to Type 5 translation, thus the LSA will never leave the NSSA, meaning R1 will never know about the route when R3′s link to R1 goes down.

• David says:

What will R3′s path selection to 5.5.5.5/32 be, and why?
R3->R4

Packets travel in the direction of the advertisement. Since R4 is originating the Type 5 LSA into Area 1, R3 will receive it, perform Type 5 to Type 1 LSA recursion, install it in its routing table and route 5.5.5.5 towards R3.

Just an edit on that comment…install it in its routing table and route 5.5.5.5 towards R4…not R3

• Correct David! Email me offline at bmcgahan@ine.com and I’ll arrange for your access to the upcoming online class and the videos.

28. Paul Buts says:

Given the below topology, where R4 mutually redistributes between EIGRP and OSPF, which path(s) will R1 choose to reach the network 5.5.5.5/32, and why?
R1 – R3 – R4 – R5: Cost is the same. E2 will win vs N2.

What will R2′s path selection to 5.5.5.5/32 be, and why?
R2 will choose R1 – R3 – R4 – R5. LSA-5 will win vs LSA-7.

Assume R3′s link to R1 is lost. Does this affect R1′s path selection to 5.5.5.5/32? If so, how?
No.

29. SivaKumar says:

What will R2′s path selection to 5.5.5.5/32 be, and why?
Would Prefer R3 Path through R1 to reach 5.5.5.5 .

What will R3′s path selection to 5.5.5.5/32 be, and why?
R3 would use link which directly connects to R4 to reach 5.5.5.5 .

Assume R3′s link to R1 is lost. Does this affect R1′s path selection to 5.5.5.5/32? If so, how?
R1 does load sharing if R1-R3 fails still it would forward the traffic through R2 .

Before failure R1 would receive 2 LSA 5 with same cost .

30. David says:

What will R2′s path selection to 5.5.5.5/32 be, and why?
R2 -> R4

http://tools.ietf.org/html/rfc3101#section-16.4.1

(c) If the new AS external path is still indistinguishable
from the current paths in N’s routing table entry, and
RFC1583Compatibility is set to “disabled”, select the
preferred paths based on the intra-AS paths to the
ASBR/forwarding addresses, as specified in Section 16.4.1.
Here intra-NSSA paths are equivalent to the intra-area
paths of non-backbone regular OSPF areas.

I forgot to put my answer in my original post D=

31. Ananth says:

1)R1 will choose R3 R4 R5 . Because there is a tie between E2 and N2 in terms of cost E2 and N2 have the same cost.E2 route is preferred.

2)R2 will take this route R4- R5. Because N2 has lower cost than E2

3)R3 will take this path R4 -R5 . Forwarding distance to reach R4 will be lower than R1-R2-R4-R5

4) Yes it will be affected if R2 is configured not to redistribute routes from NSSA to Area 0

32. Franklin says:

For R1 to get to 5.5.5.5/32 it will go through R1-R3-R4-R5

This path is chosen because R1 will only receive the external LSA 5 from R3 and would not receive the type 7 LSA from R2 as it is only run in area 2 and not in areas 0. In fact, Al

Bonus question:

1. R2′s path will be R2-R4-R5. This is because R2 wont allow LSA type 5 because its an NNSA

2. R3′s path will be R3-R4-R5.

3. If R3′s link to R1 is lost, yes it affects R3′s path selection. since its not learning the external route from R2. R3 will lost visibility

• Correct Franklin! Email me offline at bmcgahan@ine.com and I’ll arrange for your access to the upcoming online class and the videos.

33. Bede says:

Question 1:
R1 will go R1->R3->R4->R5 by default. This is because the E2 is the only route that makes it to R1 as by default R2 will not redistribute into Area 0 (and E2 > N2 as well).

Question 2:
R2 learns about 5.5.5.5/32 only via R4.

Question 3:
R3 is closer to 5.5.5.5/32 and goes via R4.

Question 4:
If the R1-R3 link goes down then R1 will no longer be able to get to 5.5.5.5/32 unless R2 is configured to redistribute the N2 route into Area 0.

34. Stevan says:

R1 will ecmp because it will have the same cost to the ASBR via two E2 routes.
R2 will go via the NSSA since it only has to look up the lsa type 1 to get the the ASBR.
R3 will go area 1 because of the same logic being in the same area as the ASBR. .

35. Aires de Oliveira says:

Dear all,

see my input bellow:

Given the below topology, where R4 mutually redistributes between EIGRP and OSPF, which path(s) will R1 choose to reach the network 5.5.5.5/32, and why?
A: R1-R3-R4-R5, because E2 is preferred versus N2

Bonus Questions:

• What will R2′s path selection to 5.5.5.5/32 be, and why?
A: R2-R1-R5, because R2 is closer to ASBR and has better cost

• What will R3′s path selection to 5.5.5.5/32 be, and why?
A: R3-R4-R5, because the E2 route has better cost

• Assume R3′s link to R1 is lost. Does this affect R1′s path selection to 5.5.5.5/32? If so, how?
A: no, because ospf has a comple view of the topology, so an alternate path will be used,but lsa flood will happen.

R4 redistributes as type 7 in area2 NSSA
R4 redistributes as type 5 in area 1
Intra area external is preferred over inter area external
So R1>R3>R4>R5
Cost from R1>R4 is all the same if it goes through R2 or R3.

sh ip ospf database externa 5.5.5.5 from R1 should give us a forward address of 0.0.0.0 but the advertising router is R4. Since R4 is not in our area then sh ip ospf database external R4ip_address should tell us that it is R3 because we get inter area external from R3

37. Michael says:

R1 – Equal cost paths. forward metric is the same as well.
R2 – will go through R3, R4, R5.
r2 is receving the external route as a N2 and as a E2. E2 beats N2 based on path selection
R3 – r3 will go to r4 based on cost. receiving e2 route from r4 and r2 but the cost is better going to r4

Lastly if R1 lost its link to R3 then ECMP is lost and now the calculation will be to the ABR (R3) which will include the extra hop through R2. So yes it will affect routing for R1

38. Ali says:

-What will R2′s path selection to 5.5.5.5/32 be, and why?
R2 choose R4 because the lowest cost to R4
-What will R3′s path selection to 5.5.5.5/32 be, and why?
R3 will choose the E2 Path because didn’t receive any router form R2
-Assume R3′s link to R1 is lost. Does this affect R1′s path selection to 5.5.5.5/32? If so, how?
No, R1 only receive route from R3 ,when NSSA border router advertise both a Type-5 LSA and a Type-7 the P bit set to 0 and translate on R3 is not happened.Assume R3′s link to R1 is lost. R1 unreachable to destination address 5.5.5.5/32

39. Daniel Parag says:

After reading the official answer, I still have a couple of doubts about the first Bonus Question:
(1) Will R2 learn both a N2 path via R4 and a E2 path via R1?
(2) Only If the answer to (1) is yes, then shouldn’t R2 as a general rule choose the E2 path over the N2 path?
Thanks in advance, if somebody could help me to clarify.

• Yes, R2 learns both paths. The deciding factor is that R4 (the ASBR) is reachable via an intra-area path in area 2 vs an inter-area path through area 0, i.e. LSA 1 vs LSA 4. In this case, LSA 1 is always preferred, which means the N2 route is preferred. If you were to change the link between R3 and R4 to be in area 0, then cost would be the tie-breaker between the N2 and the E2 route.

40. Fabio Pecoraro says:

Hi,

nice challenge.

Just a comment, in the solution for the optional questions it is mentioned the following:

“External routes to an ASBR within your area will always be preferred over external routes to an ASBR in a different area, regardless of cost.”

However, ASBR is actually chosen based on the least cost, irrespective of whether the route is an intra-area route or inter-area route.

• No, cost is not a factor in this decision. You see in the output I raised the cost to the maximum value of the link (65535) and it’s still preferring the N2 over the E2 route. The decision is based on the fact that if the ASBR is reachable via LSA 1 (Intra Area) it will preferred over the ASBR that is reachable via LSA 4 (Inter Area).

• Fabio Pecoraro says:

Hi Brian,

Thank you for your answer. Yeah you’re right cost is not a determining factor in this scenario.

• Fabio Pecoraro says:

If I’m not mistaken, in another different scenario where the same external route would be received from multiple intra and inter ASBRs (and suppose there’s no multiple way to reach the same single ASBR), the cost rule would apply and the Inter ASBR preferred if cost was the least.

Fabio

• Do you mean if there’s multiple different ASBRs redistributing the same route?

41. Ananth says:

I am not asking for the bootcamp

I do not know why my answer was not considered.

• Hi Ananth,

1)R1 will choose R3 R4 R5 . Because there is a tie between E2 and N2 in terms of cost E2 and N2 have the same cost.E2 route is preferred.
2)R2 will take this route R4- R5. Because N2 has lower cost than E2
3)R3 will take this path R4 -R5 . Forwarding distance to reach R4 will be lower than R1-R2-R4-R5
4) Yes it will be affected if R2 is configured not to redistribute routes from NSSA to Area 0

Cost is not the reason that it chooses the path, it has to do with the P-bit not being set in Area 2.

42. Fabio Pecoraro says:

@Brian
Exactly. It’s not relevant to this case but still interesting to mention.

• Yes, in that case you’d prefer the lower metric. If there’s a tie in the metric you’d then prefer the one with the lower forward metric.

43. Ananth says:

Thanks Brian for correcting me.

44. Seyi says:

• Correct Seyi! Sorry I didn’t see your second comment the other day when I was posting the answers. Email me offline at bmcgahan@ine.com and I’ll arrange for your access to the upcoming online class and videos.

• mehd says:

Hi
When we use these commands :
R2: # router bgp 2000
Redistribute static
#ipv6 route 2001:db8:2::/48 null 0

45. Ayyappan says:

Hi Brian.. This was a great refresher. Thanks first of all.

I enjoyed solving this riddle and a got a little more creative.

With your explanation for ‘What will R2′s path selection to 5.5.5.5/32 be, and why?’ – External routes to an ASBR within your area will always be preferred over external routes to an ASBR in a different area, regardless of cost.

Putting that into test, I did shut R2′s interface facing R4 and could see that external route 5.5.5.5/32 on R2′s routing table via R1->R3->R4->R5. So far so good.

Test case: Restoring everything back to normal, I did ‘area 2 nssa no-redistribution’ command on R4
Observations:
a) LSA-7 for 5.5.5.5/32 disappeared from both R4′s and R2′s OSPF databases.
b) R2 lost the route for 5.5.5.5/32
c) when I shut R2 R4 link, route 5.5.5.5/32 via R1 shows up on R2′s RT.

Can you please explain why could not I see 5.5.5.5/32 on R2′s RT even if there was no LSA-7 from R4? If your explanation is comprehensive, why did not R2 prefer ‘External routes to an ASBR in a different area’, in absence of ‘External routes to an ASBR within its NSSA Area’

46. Fulvio Allegretti says:

Hi all, dealing with an issue on my production network and bumped onto this blog page (as usual excellent Brian), which is kind of related; any help would be appriciated and will win you a beer next time you’re in Majorca

My topology:

area 0 area 0
| |
| |
R1—-area 0—-R2
| |
| |
area312nssa area312nssa
|——————-|

R1 is redistributing a static route (not a normal static, see below), so it is injecting a type 5 in Area 0 and a Type 7 in 312. here are the lsas from R2:

R-02#show ip ospf database external a.b.c.d (hidden real ips)

OSPF Router with ID (172.31.254.12) (Process ID 1000)

LS age: 1610
Options: (No TOS-capability, DC, Upward)
Link State ID: a.b.c.d (External Network Number )
LS Seq Number: 8000028A
Checksum: 0×4092
Length: 36
Metric Type: 1 (Comparable directly to link state metric)
MTID: 0
Metric: 20
External Route Tag: 0

OSPF Router with ID (192.168.103.2) (Process ID 313)

OSPF Router with ID (192.168.102.2) (Process ID 312)

R-02#show ip ospf database nssa a.b.c.d

OSPF Router with ID (172.31.254.12) (Process ID 1000)

Type-7 AS External Link States (Area 320)

LS age: 1654
Options: (No TOS-capability, No Type 7/5 translation, DC, Upward)
Link State ID: a.b.c.d (External Network Number )
LS Seq Number: 8000028A
Checksum: 0x24AC
Length: 36
Metric Type: 1 (Comparable directly to link state metric)
MTID: 0
Metric: 20
External Route Tag: 0

OSPF Router with ID (192.168.103.2) (Process ID 313)

OSPF Router with ID (192.168.102.2) (Process ID 312)

I am expecting R2 to prefer the path via area 0 but:

R-02#show ip route a.b.c.d
Routing entry for a.b.c.d/30
Known via “ospf 1000″, distance 110, metric 40, type NSSA extern 1
Last update from 192.168.36.1 on GigabitEthernet0/0/1.320, 2w1d ago
Routing Descriptor Blocks:
* 192.168.36.1, from 172.31.254.11, 2w1d ago, via GigabitEthernet0/0/1.320
Route metric is 40, traffic share count is 1

The only special thing about this static route is that is generated by the active router (usually R1) of the B2BHighAvailabilityNAT feature which generate a static route for the PAT range. I don’t see how that would have an implication, at the end of the day it is just a static route.

ip route a.b.c.d 255.255.255.252 GigabitEthernet0/0/1.750 track 750.

Hope you can help me understand.

Thanks

47. Fulvio Allegretti says:

Am I right this could generate routing loop if R5 inject an “external” default route into EIGRP, distance 170 and R4 is configured with injecting a default route into Area 2
area 2 nssa default-information originate

The P bit will not be set and therefore and therefore R2 will translate that to a Type 5 wich will reach R3 and then R4 which now has to choose between EIGRP 170 and OSPF 110.

Is there a way of controlling the P-Bit when injecting a default route?