90 likes | 281 Views
Advertising Equal Cost Multi-Path (ECMP) Routes in BGP. 61 st IETF, Washington DC Manav Bhatia ( manav@riverstonenet.com ) Joel M. Halpern ( jhalpern@megisto.com ). Introduction. Providers install ECMP routes, announce just one. This can break routing, policies, etc. How it works?. 10/8
E N D
Advertising Equal Cost Multi-Path (ECMP) Routes in BGP 61st IETF, Washington DC Manav Bhatia (manav@riverstonenet.com) Joel M. Halpern (jhalpern@megisto.com)
Introduction • Providers install ECMP routes, announce just one. • This can break routing, policies, etc.
How it works? 10/8 AS_PATH: X X1 NEXT_HOP N1 N1 AS X AS Y R2 10/8 AS_PATH: Z Z1 NEXT_HOP N2 AS W R1 R3 N3 * 10/8 N1 AS X * 10/8 N2 AS Z N2 10/8 AS_PATH X X1 NEXT_HOP N1 AS Z 10/8 AS_PATH: Y {X Z} {X1 Z1} NEXT_HOP R3 10/8 AS_PATH Z Z1 ECMP_NEXT_HOP N2
What if R2 and R3 don’t support ECMP extensions? • R1 announces the UPDATEs with the following AS_PATH: {X Z} {X1 Z1}
Constructing Synthetic AS_PATHs AS_PATH1: X Z {A B C} AS_PATH2: X1 Z1 XZ1 AS_PATH: {X X1} {Z Z1} {A B C XZ1} AS_PATH: Y {X X1} {Z Z1} {A B C XZ1} AS_PATH: Y Y Y {X X1 Z Z1 A B C XZ1}
Constructing Synthetic AS_PATHs - II AS_PATH1: X Z {A B C} AS_PATH2: X1 Z1 {A B C} AS_PATH3: X2 Z2 Z3 AS_PATH: {X X1 X2} {Z Z1 Z2} {A B C Z3} AS_PATH: Y {X X1 X2} {Z Z1 Z2} {A B C Z3} AS_PATH: Y Y Y {X X1 X2 Z Z1 Z2 A B C Z3}
With BGP ECMP .. • Can avoid sub-optimal routing with Route Reflectors • Avoid some cases of persistent route oscillations • Load Balance BGP!
How do we deal with .. • Multiprotocol Extensions • BGP Route Flap Dampening • BGP/MPLS VPNs • Regular Expressions • Splitting load across ASes
Next Steps • Operator Feedback • Making it a WG doc