Understanding Route Redistribution ICNP 2007 October 17th, 2007 Franck Le, Geoffrey G. Xie, Hui Zhang 1 Internetwork and Routing • Common view: – Intra-domain routing using OSPF, RIP – Inter-domain routing using BGP • In reality, internetworking is much more complex – ISP networks: • OSPF routes to be redistributed into BGP (and vice versa) – Enterprise networks: • When BGP is not used, needs mechanism to distribute routes among OSPF, RIP, EIGRP domains • Also, needs to distribute routes among multiple OSPF domains 2 What is Route Re-Distribution (RR)? By default, OSPF routers have no visibility of RIP routers RIP B A OSPF D C E Office branch 1 Office branch 2 RIP OSPF Local FIB router ospf 27 redistribute rip metric 200 subnets route-map rip2ospf distance ospf external 200 ! route-map rip2ospf permit 100 match ip address 100 set tag 22 set metric-type-1 3 How Does RR Compare to BGP? • In many scenarios, RR, not BGP, is used to interconnect network domains, • Even when BGP is used, RR is required to connect BGP and IGP • RR can implement policy, like BGP • Unlike BGP, RR is NOT a protocol – RR is just a configuration mechanism, used separately at each router RR is more commonly used than BGP, but much less understood, and much more error-prone 4 Problem Statements • Given an internetwork with RR configurations, what are the loop-free and convergence properties? • What are the guidelines of using RR if one wants to have loop-free and convergent internetwork? 5 Synthesis of the Paper • Model that reasons about the loop-free and convergence properties • Sufficient condition to guarantee loop-free and convergence properties 6 Outline 1. 2. 3. 4. Introduction to Route Redistribution (RR) Illustration of routing anomalies A Model for RR Sufficient condition for loop-free and convergent RR 7 Route Selection Process Office branch 1 Office branch 2 RIP OSPF P D B P E A RIP C OSPF FIB Local P Signaling Data path 8 Route Selection Process Office branch 1 Office branch 2 RIP OSPF D B P A P P E C P Selected routing process RIP OSPF Local 120 110 0/1 FIB P Signaling Data path 9 Route Redistribution Process Office branch 1 Office branch 2 RIP OSPF B D A P C E RIP Update RIP OSPF Local 120 110 0/1 FIB P Signaling Data path 10 Outline 1. 2. 3. 4. Introduction to Route Redistribution (RR) Illustration of routing anomalies A Model for RR Sufficient condition for loop-free and convergent RR 11 Instabilities • Wide range of possible routing instabilities • No general guideline to configure RR 12 Formation of Routing Loops RIP(120) Next-hop: D P B D OSPF Local FIB P Next-hop: C E P C A Next-hop: B P RIP Next-hop: EOSPF(110) RIP OSPF Local Signaling Data path FIB 13 Outline 1. 2. 3. 4. Introduction to Route Redistribution (RR) Illustration of routing anomalies A Model for RR Sufficient condition for loop-free and convergent RR 14 Challenges • Too many network elements – Hundreds or thousands of routers • Different router processing order – Routers may process signaling messages in different order (message delay, router load) – Different order can result in different outcome 15 Solutions • Too many network elements – Abstractions: routing instances – Logics: route selection, RR, network-wide RR • Different router processing order – Activation sequence1 1 L. Gao and J. Rexford, Stable Internet Routing Without Global Coordination, in Proc. ACM SIGMETRICS, 2000 16 A Model for RR • Abstracts the dynamic exchange of routing information for a prefix P • Allows to predict paths 17 Route Propagation Graph • Routing instance 2 (110) • Originating routing instance 1 (120) • Configured redistribution • Actual redistribution • Route vs. no route 1 (120) 80, A, 90 2 (110) 1 (120) 80, A, 90 2 (110) 1 (120) 80, A, 90 2 (110) • Variables: CL, S 18 Illustration of Model B C D E A F G I H J P K OSPF1 RIP 0 Local (0) N M L A OSPF2 RIP F 1 RIP (120) F E E L 2 OSPF1 (110) 3 RIP (120) L H 4 OSPF2 (110) H 19 Illustration of Model Sequence 1 0 Local (0) F 1 RIP (120) A L 2 OSPF1 (110) F L E Signaling H 4 OSPF2 (110) E Data path S(t=1) = {A} CL(t=0) = {A} S(t=6) = {A, F} CL(t=6) = { } S(t=2) = {F} CL(t=1) = {E, F} H S(t=3) = {L} CL(t=2) = {E, L} S(t=5) = {E} CL(t=5) = {A, F} 3 RIP (120) CL(t=3) = {E, H} S(t=4) = {H} CL(t=4) = {E} 20 Route Redistribution Configuration Cycle Detection (RRC-CD) Problem • Given a RR configuration, determining whether there is an activation sequence such that the redistributions converge to state including a cycle of active redistributions is NP-hard 21 Outline 1. 2. 3. 4. Introduction to Route Redistribution (RR) Illustration of routing anomalies A Model for RR Sufficient condition for loop-free and convergent RR 22 Sufficient condition for safety • Pruning of Route Propagation Graph – For each redistributing router, only conserve redistributions from the routing processes with lowest administrative distances • Rationale – Focus on preferred redistributions 1 (100) A 2 (70) A 3 (120) A 4 (90) 23 Sufficient condition If resulting graph satisfies 1. Every redistributing router redistributes from a single routing instance (predictable outcome) 2. For all vertice, there is a redistribution path from a originating vertex (active redistribution) 3. The graph is acyclic (no cycle) Then, the redistributions converge to an acyclic routing state No route oscillations No forwarding loops 24 Application of Sufficient Condition 0 Local (0) A F 1 RIP (120) F E E L 2 OSPF1 (110) 3 RIP (120) L H 4 OSPF2 (110) H 25 Application of Sufficient Condition 0 Local (0) A 80, F 1 RIP (120) F, 80 80, E E, 80 L 2 OSPF1 (110) 3 RIP (120) L H 4 OSPF2 (110) H Modifications 26 Application of Sufficient Condition 0 Local (0) A 80, F 1 RIP (120) F, 80 80, E E, 80 L 2 OSPF1 (110) 3 RIP (120) L H 4 OSPF2 (110) H Pruning 27 Application of Sufficient Condition 0 Local (0) A 1 RIP (120) 80, F 2 OSPF1 (110) L 3 RIP (120) 80, E 4 OSPF2 (110) H Pruning 28 Application of Sufficient Condition 0 Local (0) A 1 RIP (120) 80, F 2 OSPF1 (110) L 3 RIP (120) 80, E 4 OSPF2 (110) 1. Every redistributing router is redistributing from a single routing instance. 2. For all vertice, there is a redistribution path from a originating vertex. 3. The graph is acyclic. H 29 Summary • Internetwork is far more complex with RR than the conceptual model of BGP/OSPF • RR serves a fundamental need, but is not well-understood or even well-designed • First formal study route-free and convergence properties of RR internetwork – Model – Sufficient condition 30 Future Work • If one were to re-design the RR, what should be the solution that supports all the RR applications but avoid the pitfalls? 31