11-28-2013 04:35 AM - edited 03-01-2019 04:59 PM
Introduction
If you have a small company, you probably run one routing protocol only, like OSPF, EIGRP or RIP. What if you’re company is getting bigger and you bought more than one company that run different protocols?
Your new enterprise network in this case, will have multiple domains or routing instances. These routing instances are formed for many reasons.
As you should know, every router within a routing instance is typically running the same routing protocol to fully share reachability information, but by default, this routing information cannot be exchanged with routers in other routing instances.
Have a look at the following diagram:
In the diagram above, we have two routing instances, RIP and OSPF. Routers in the RIP instance do not have visibility of the addresses and subnets prefixes in the OSPF instance and vice versa. What is the solution to allow the exchange of routing information between those two different routing instances?
Here comes the role of a new feature called “Router Redistribution” OR “RR”. In the above scenario, in order to let routers in the RIP learn the prefixes in the OSPF instance, routers 4 and 5 need to run both RIP and OSPF processes and to inject the OSPF routes into RIP instance.
Route Redistribution issues and solutions
We have two problems here with Route Redistribution:
In addition to propagating routing information between two different routing instances for connectivity purposes, Route Redistribution is having another objective, which is route back up. If there is a link failure between R1 and R3, routing instances should provide alternate forwarding paths to each other, in our case, R3 should be still able to reach R1 through R4-R7-R5-R2 path. To avoid routing loops, a route received from a routing instance must not be re-injected back into the same instance. But. What about metrics? How can we solve this?
When we redistribute from one instance to another, we have to use a seed metric. As we know, every routing protocol uses a different metric:
We have to convert the metric from one routing protocol to another, and this doesn’t happen by default, we have to do it manually. We have to tell the router what metrics to use, and this differs from one routing protocol to another.
Protocol | Default seed Metric |
RIP | Infinity |
EIGRP | Infinity |
OSPF | 20 except BGP is 1 |
BGP | BGP metric is set to IGP metric |
According to the above table, redistributing into RIP, the default seed metric is infinity. As we know, RIP will ignore routes that have an infinite metric and they won’t show up in the routing table. This means that we have to configure a default hop count for every instance we redistribute into RIP or it won’t be working.
Let’s have an example, have a look at the following topology:
Router Luigi is running EIGRP, Router Nada is running RIP and Router Maher is running both, EIGRP and RIP. Redistribution will be done on Router Maher.
Nothing special till now. Let’s do “show ip route” command on Router Nada.
As we can see, it only knows about network 2.2.2.0/24 and it has no idea about network 1.1.1.0/24. The same will be on Router Luigi, it knows only about network 1.1.1.0/24 and has no idea about network 2.2.2.0/24.
Let’s have a look on Router Maher
As we can see, Router Maher has both networks, 1.1.1.0/24 and 2.2.2.0/24. There are few things you should be aware of before configuring redistribution:
So let’s get router Maher ready for redistribution.
I’ve configured the default metric by using this command “default-metric”. For RIP, I set it to 5 hop count and for EIGRP I set the K-Values to bandwidth of 1500, delay of 100, reliability 255 (100%), load of 1 and MTU of 1500.
Let’s go on configuring Redistribution on Router Maher
Let’s check router Luigi now and establish “show ip route” command
As we can see, router Luigi now knows about network 2.2.2.0/24 advertised by router Nada.
How to configure Redistribution between OSPF and RIP?
Router Luigi
Luigi(config)#router ospf 1
Luigi(config-router)#network 1.1.1.0 0.0.0.255 area 0
Luigi(config-router)#network 172.16.2.0 0.0.0.255 area 0
We’ve already configured router Nada to use RIP. Also we’ve configured router Maher to use RIP, but now let’s Configure OSPF as well
Maher(config)#router ospf 1
Maher(config-router)#network 172.16.2.0 0.0.0.255 area 0
To redistribute OSPF into RIP, we should configure the seed metric of RIP. In this example we’ve already configured it to 5 hop count.
Maher(config)#router rip
Maher(config-router)#redistribute ospf 1 metric 5
Now let’s redistribute RIP into OSPF
Maher(config)#router ospf 1
Maher(config-router)#redistribute rip subnets
Note: We use keyword subnets when redistributing RIP into OSPF to redistribute classless network addresses
References
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: