Route redistribution

In a router, route redistribution allows a network that uses one routing protocol to route traffic dynamically based on information learned from another routing protocol.

Routing
On the Internet, routers forward data packets between computer networks. In order for a router to determine where to forward each packet, it may use:
 * default or static routes that are manually configured,
 * on-demand routing,
 * dynamic routing protocols, or
 * Policy-based routing.

In a small network such as a home or home office, a default route is often used to send all traffic to the user's Internet service provider. Likewise, medium-sized networks such as branch offices or small Internet service providers may use default routes for traffic intended for the public Internet. But in medium-sized and large networks, routers use dynamic routing protocols to determine the best paths to various network destinations.

Sometimes, a network may use more than one dynamic routing protocol, for example, if two different companies merge or if networking devices from multiple vendors are used. In such networks, it is often useful to redistribute information from one routing protocol into another.

Where used
Route redistribution may be used to allow different networks belonging to the same company to communicate with each other. It may also be used when two companies merge and their networks use different routing protocols. And it may be used in conjunction with VRFs or MP-BGP.

Route redistribution pitfalls
If not implemented carefully, route redistribution may cause routing loops.

Each routing protocol contains loop-avoidance mechanisms, but the information needed for loops to be avoided is lost when routes are redistributed. For example, a distance-vector routing protocol may prevent loops by the "split-horizon" rule; that is to say, if a router learns a route from a particular interface it will not re-advertise the route out the same interface. In other words if A learns from B that the path to C is through B then it will not tell B to route packets destined for C through A. Likewise, a link-state routing protocol may keep a database containing the state of different links in the network, representing a "map" (so to speak) of the network. But the portion of the network whose routes are learned by redistribution are not "mapped" in the same way. The "where did I learn this route?" information is lost in the redistribution process.

The chance of loops is increased if there are more than one router that performs redistribution in the same network, and if redistribution occurs in both directions (for example, both from EIGRP into OSPF and from OSPF into EIGRP).