Home Home

Question #2: One-Way versus Two-Way Redistribution

Back

What is the "rule of thumb" to calculate the metric we should use when redistributing one protocol into another? I usually thought that redistributed metric should always be larger than largest metric known by the protocol (ie: if largest rip-known metric is 6, the redistributing command should set metric for the imported route at least to 7) Is this Correct?

The answer to your question is both "yes" and "no". In other words, it depends!!  Yes, you may want to set the seed metric to a higher number than any possible route inside if you are using "two-way redistribution" topology like the one shown below. But in our previous discussion, there is no risk of a route being "re-injected" because there was only one router doing redistribution (the BRANCH router). However, you have brought up an interesting topic that instructors may want to discuss with more advanced CCNA students:  "One-Way Redistribution" versus "Two-Way Redistribution".

(The following discussion is adapted from the online curriculum, CCNP1v3: Mod8; 8.3.4-8.3.6)

You should use the following important guidelines when configuring route redistribution:

  • Be familiar with the network
  • Do not overlap routing protocols – Do not run two different protocols in the same internetwork. Instead, have distinct boundaries between networks that use different routing protocols.
  • Use one-way redistribution with multiple boundary routers – If more than one router serves as a redistribution point, use one-way redistribution to avoid routing loops and convergence problems. Consider using default routes in the domains that do not import external routes.
  • Use two-way redistribution with a single boundary router – Two-way redistribution works smoothly when redistribution is configured on a single boundary router in the internetwork. If there are multiple redistribution points, do not use two-way redistribution unless a mechanism to reduce the chances of routing loops is enabled.

Routing Loops caused by Two-Way Redistribution with multiple ASBRs

In the above topology, we have multiple Autonomous System Boundary Routers (ASBR) attached to the two routing domains. Both ASBR1 and ASBR2 are configured with the following routing configurations:

router rip
 version 2
 network 10.0.0.0
 redistribute ospf metric 1 subnets
!
router ospf 1
 network 172.16.0.0 0.0.255.255 area 0
 redistribute rip metric 30 metric-type 1 subnets

A common question at this point is, "Why don't we simply configure both network 10.0.0.0 and network 172.16.0.0 in each routing process?" We could do this. However, that would result in the RIP process running in the OSPF domain and the OSPF process running in the RIP domain. This solution will generate needless overhead. Redistribution offers a much more efficient and elegant solution.

But as can be seen in the graphic, we might generate a routing loop with the same route being re-injected in the routing domain from which it originated. For example, ASBR1 receives the 10.0.0.0 route from the RIP domain and redistributes the route into the OSPF domain. Routers within the OSPF domain then advertise the redistributed RIP route (now an OSPF external route) to ASBR2. Then ASBR2 "re-injects" this 10.0.0.0 route back into the RIP domain from which it originated.

There are several ways to solve this problem. I will discuss two.

  1. Use one-way redistribution with default routes
  2. Make the seed metric higher than any known metric

One-way Redistribution with Default Routes

The easiest and, usually, best solution is to configure one-way redistribution with default routes. In many networks, one routing domain can be view as a "stub domain" of the other routing domain. In this case, configure ASBR1 and ASBR2 with the following:

router rip
 version 2
 network 10.0.0.0
 default-information originate
!
router ospf 1
 network 172.16.0.0 0.0.255.255 area 0
 redistribute rip metric 30 metric-type 1 subnets
!
ip route 0.0.0.0 0.0.0.0 serial 0

Increase the Seed Metric

The "seed metric" is the cost or metric that you want the local router to advertise within the other routing process. To avoid routing loops in "two-way redistribution", we should increase this "seed metric" to a value higher than any known route. For example, if the highest metric for a RIP route within the RIP routing domain is 6, then we should set the metric to 7 or higher. Likewise, if the highest cost for an OSPF route in the OSPF routing domain is 124, then we should set the metric to something higher than 124 (I used 150 below). Configure both ASBR1 and ASBR2 with the following commands:

router rip
 version 2
 network 10.0.0.0
 redistribute ospf metric 7 subnets
!
router ospf 1
 network 172.16.0.0 0.0.255.255 area 0
 redistribute rip metric 150 metric-type 1 subnets

Thank you for your question!!