0

I'm having trouble understanding redistribution in reference to this topology

enter image description here

  • R1, R2, R3 and R4 have OSPF enabled on all IP interfaces, all in Area 0
  • R5 has a default route pointing to the VRRP address between R1 and R2 on Net B
  • both R1 and R2 have the exact same static route to Net A via R5
  • both R1 and R2 are redistributing static routes into ospf
  • R2 is the OSPF DR for Net B

Now, my understanding is, R1 will learn that R2 has a static route to Net A, but it will not place it in its own routing table, as it has the same static route. However, when it comes to redistribution, how does R1 decide whether to redistribute its own static route, or to advertise the one learnt from R2 via OSPF?

Or is my understanding completely off?

Best regards Mufaddal

4

However, when it comes to redistribution, how does R1 decide whether to redistribute its own static route, or to advertise the one learnt from R2 via OSPF?

One key concept about redistribution: Redistribution happens from the routing table, not from the given dynamic routing protocol's "topology database" (different terms for the various protocols).

To redistribute a route learned from one protocol into another routing protocol's "information exchange mechanism", that route first has to make it into the (local) routing table. And and yes, in THIS context, "static" and "connected" are as good as any other routing protocol (even "stronger", see below).

Once redistributed, for example via OSPF, it is then up to the other routers to decide what they make of this information. They'll decide themselves if they want to promote this information to their routing table, or if they have conflicting, more specific or superior information, for example from other routing protocols such as eigrp, bgp, rip, even static or connected. However, all of them will pass on the original information via the given routing protocol to the other routers.

What makes "stronger" routing information is up to the manufacturer or the admin. This information is not passed on via any routing protocol. Cisco calls this metric "administrative distance", and it has a set of default values, which may be overridden by the admin.

And now for the actual answer:

Even if superseded by a "stronger" route (locally on the given router that has both a static AND learned from OSPF), the information about such a route (in case of OSPF: an "external route") is passed on to the other routers in the Autonomous System. So R1 from your example will do this:

  • keep its own static route in its routing table.
  • forward (via OSPF) the neighbor's OSPF External route (generated/originated on R2, because R2 has "redistribute static") to its other neighbors, so they may learn that this network is reachable via R2. Like this, the information is distributed across the entire AS.
  • (if also configured to "redistribute static") R1 will generate an additional "OSPF external" route, so other routers in the AS may learn that this network is also reachable via R1, and the neighbors will pass on the information through the AS.

The other routers in the AS will now learn that there are two ASBRs (R1 and R2) in their AS announcing the reachability of that possibly same external network. If they have packets to forward towards that network, it is up their discretion (read: how they choose to populate their own routing table, based on the information they learned via OSPF) which path they will choose.

So, in OSPF, the passing-on of information from the topology database is independent of the given router's local routing table.

| improve this answer | |
  • Thank you very much for the detailed answer! Really appreciate your effort. – Muffi May 15 '19 at 8:56
  • The reason for my confusion is because of an issue on a production site. What happens is, when R2 fails, both R3 and R4 lose all their routes to Net A, even though R1 is also redistributing the same static route. On R1, i can see that the ospf external link state database maintains the routes it has learnt from R2 even after R2 has failed, and does not create the same routes from itself within its external database. I'm pretty certain this is a bug – Muffi May 15 '19 at 9:07
  • You may want to edit the question and add that symptom desciption there. Be sure to include details if R1 had enough time to detect R2's failure; that might take up to 40seconds or longer (default OSPF dead interval), and enough time for VRRP to be properly taken over by R1. – Marc 'netztier' Luethi May 15 '19 at 10:49
  • If possible, please add (sanitized) config snippets of R1 and R2 (maybe later on also for R3/R4). We should see sections from OSPF router configuration and the OSPF enabled interfaces, static routes and interfaces pertaining to static routes. – Marc 'netztier' Luethi May 15 '19 at 10:53
  • Its alright Marc. I highlighted this to the manufacturer, and they acknowledged it as a bug. the problem is that, even when all routers are alive, both R1 and R2 only have the static route from R2 within their ospf external link database, because R2 has the higher router ID. R1 doesn't want to add its own static route into its own ospf external link database. Therefore, when R2 fails, R3 and R4 no longer learn a route to Net A, as R1 is not advertising its own static route. this is clearly a wrong behavior, and a fix is on the way. – Muffi May 16 '19 at 4:30
0

Redistributing is a one routing protocol distribute routing information with Another Protocol.

When you use Static Route, you don't use any routing Protocol. When you use Dynamic Routing you will use Protocols. Then only you can talk about Redistribution.

In your case, if your router 5 has been configured with Any protocol except OSPF, you can enable redistribution.

However if you enable, route redistribution it will share all information which related to protocol. In your case OSPF Routing Information.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.