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.
•1. Company departments are administered by different terms, and multi-vendor equipment, and this will lead to such situations.
•2. Network administrators may intentionally create separate routing instances to filter routes, limit reachability and enforce policies.
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:
•1. If you misconfigured Route Redistribution, this will lead to sub-optimal routing and even severe instabilities such as route oscillations and persistent routing loops.
•2. What are we going to do with our metrics?
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:
EIGRP: K-Values (Bandwidth, Delay, Load and Reliability).
RIP: Hop count.
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.
Default seed Metric
20 except BGP is 1
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 220.127.116.11/24 and it has no idea about network 18.104.22.168/24. The same will be on Router Luigi, it knows only about network 22.214.171.124/24 and has no idea about network 126.96.36.199/24.
Let’s have a look on Router Maher
As we can see, Router Maher has both networks, 188.8.131.52/24 and 184.108.40.206/24. There are few things you should be aware of before configuring redistribution:
Redistribution happens outbound.
Router Maher will redistribute EIGRP routing information into RIP and advertise it to router Nada.
Router Maher will redistribute RIP routing information into EIGRP and advertise it to router Luigi.
Router Maher can’t advertise what it doesn’t have, this means the local routing table of Router Maher should have all networks advertised by Router Nada and Luigi.
As mentioned before, we should use a seed metric when redistributing form one routing protocol into another.
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 220.127.116.11/24 advertised by router Nada.
How to configure Redistribution between OSPF and RIP?
Luigi(config)#router ospf 1
Luigi(config-router)#network 18.104.22.168 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)#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