Redistribution Overview
Redistribution Overview
- Takes one protocol and propagates it into another
- Original protocol information lost
- Can be done from any routing protocol to any other routing protocol
- Redistribution is done on information in the RIB and not the routing protocol database
- e.g. OSPF database or EIGRP Topology table
- Redistribution implicitly occurs for connected links running original protocol
- Doesn’t apply for IPv6 interfaces
- Selecting routes for the Global RIB
- If multiple equal prefixes between the same protocol
- EIGRP chooses lowest AS number
- OSPF chooses lowest Process ID number
RIP Redistribution
RIP Redistribution
- Doesn’t differentiate between internal and external prefixes
- All prefixes have AD of 120
- No default seed metric of redistributing into RIP
- Can be configured manually
- Command:
- (config-router)#default-metric <hops>
- Command:
- (config-router)#redistribute <protocol> metric <hops>
EIGRP Redistribution
EIGRP Redistribution
- Internal EIGRP has AD of 90
- External EIGRP has AD of 170
- No default seed metric unless redistributing:
- EIGRP to EIGRP
- CONNECTED to EIGRP
- Takes the metrics from the interface
- Can be manually configured with a default seed metric
- Command:
- (config-router)#default-metric <bandwidth> <delay> <load> <reliability> <mtu>
- Default seed metric can also be set on route-map when redistributing into EIGRP
- Command:
- (config-router)#redistribute <protocol> metric <bandwidth> <delay> <load> <reliability> <mtu>
- EIGRP uses Router-ID for loop prevention
- Router-ID included on internal routes as well in EIGRP version 5.0 and greater
- Route will be dropped if own Router-ID is include in prefix update
- Determine EIGRP version
OSPF Redistribution
OSPF Redistribution
- Sets AD of 110 for all prefixes
- Can be manually changed
- Commands:
- (config-router)#distance ospf intra-area <AD>
- (config-router)#distance ospf inter-area <AD>
- (config-router)#distance ospf external <AD>
- Uses Router-ID for loop prevention
- Drops LSAs with own Router-ID
- Default seed metric is 20 and default metric-type is E2/N2
- Command:
- (config-router)#redistribute <protocol> <process ID> subnets
BGP Redistribution
BGP Redistribution
- IGP into BGP
- Uses Origin Code Incomplete (?)*
- Denies OSPF External routes by default
- Can be configured manually
- Command:
- (config-router)redistribute ospf <process> match internal external
- Command:
- (config-router)#redistribute <protocol> <process ID>
- BGP to IGP
- eBGP routes allowed redistribution
- iBGP routes denied by default
- Can be configured manually
- Command:
- (config-router)#bgp redistribute-internal
- BGP routes automatically tagged with AS number
Redistribution Loops
Redistribution Loops
- Can not occur on with a single redistribution point
- Can only occur with multiple redistribution points in topology
- Wrong path selected due to
- Example 1 Redistribution:
- Figure 1 is more likely to no have issues due to the loop prevention mechanisms built in to each routing protocol
Figure 1 – Mutual Redistribution at multiple gateways
- Example 2 Redistribution:
- Figure 2 is more likely to have redistribution loops due to unequal distribution between the 2 protocols
Figure 2 – One-way Redistribution at multiple gateways
Control Plane loops
- Routes advertised and withdrawn constantly from routing table
- RIB in a constant state of flux
- Results in partial reachability
- More difficult to troubleshoot
[_/su_spoiler]
Data Plane loops
- Wrong path selected as best path
- RIB stable
- Loss of connectivity
[_/su_spoiler]
Troubleshooting Loops
- Can use the following tools to trace redistribution loops
- TCL Ping Scripts
- No good IOS documentation available
- www.tcl.tk only source of general documentation
- Routing table output
- Traceroute
- TCP Script Ping example:
- tclsh
- foreach X {
- 1.1.1.1
- 2.2.2.2
- 3.3.3.3
- } {ping $X ]
- tclquit
[_/su_spoiler]
Preventing Loops
- Higher AD routes more likely to be re-received from lower AD protocol
- IP Route Profile
- Takes periodic snapshots of the routing table
- Collects statistics of what is changing over time
- Doesn't explain what has changed, only something has changed
- Command:
- (config)#ip route profile
- Display the statistics of how much has changed over what period
[_/su_spoiler]