250 likes | 340 Views
Address-based Route Reflection. Ruichuan Chen (MPI-SWS) Aman Shaikh (AT&T Labs - Research) Jia Wang (AT&T Labs - Research) Paul Francis (MPI-SWS). CoNEXT 2011. iBGP reality. Original full-mesh iBGP All routers in an AS peer with all others Scales poorly Route reflection
E N D
Address-based Route Reflection Ruichuan Chen (MPI-SWS) Aman Shaikh (AT&T Labs - Research) Jia Wang (AT&T Labs - Research) Paul Francis (MPI-SWS) CoNEXT 2011
iBGP reality Original full-mesh iBGP All routers in an AS peer with all others Scales poorly Route reflection Introduces routing anomalies AS confederations 2
MED-based oscillation(MED: Multi-Exit Discriminator) Routing anomalies in RR 1 RR1 RR2 x IGP metric = x y MED = y 2 1 3 BGP best path decision: …… Step 4: Lowest MED …… Step 6: Lowest IGP metric …… C1 C2 C3 30 20 10 AS1 AS2 MEDs aren’t comparable between routes learned from different ASes! RR1 prefers C2 > C1 > C3 > C2 > … 3
Routing anomalies in RR Topology-based oscillation RR1 RR3 x IGP metric = x RR2 2 2 Each RR is closer to another RR’s client. 2 5 5 5 C1 C2 C3 4
Routing anomalies in RR Forwarding loop Path inefficiency 5
Routing anomalies in RR Why? Different routers learn different routes! Common solution RRs always prefer the routes learned from clients over those from non-clients. Restricts RR placement. Not sufficient! 6
Design Full-mesh’s semantics & RR’s scalability 7
Our contribution Address-Based Route Reflection (ABRR) Is decentralized Solves all oscillations and forwarding loops Has no path inefficiency Puts no restriction on RR placement Operates with no new BGP message formats 8
Key insight • BGP best-path decision for any given prefix at a given router is highly dependent on information provided by other routers. • BGP best-path decision for any given prefix is independent of that of any other prefix. 9
Comparison Topology-Based Route Reflection (TBRR) Address-Based Route Reflection (ABRR) Topology-Based Route Reflection Address-Based Route Reflection 10
ABRR - Client behaviors Each client peers with all ARRs Advertise best route (if not iBGP-learned) to associated ARR Advertise best route to eBGP neighbors AP: 0.0.0.0/1 AP: 128.0.0.0/1 AP: short for Address Partition ARR1 ARR2 Prefix: 1.2.0.0/16 Prefix: 200.0.0.0/8 C1 C2 C3 11
ABRR - RR behaviors • Full-mesh vs. TBRR • Full-mesh • TBRR TRR1 TRR2 R1 R3 R2 R4 Full-mesh: router learns multiple routes per prefix TBRR: router learns one single route per prefix 12
ABRR - RR behaviors (cont.) • Semantics equal to Full-mesh? • ARR advertises multiple routes • Routes flow through only one ARR • Scalability comparable to TBRR? • Address partition 13
ABRR - RR behaviors (cont.) Each ARR peers with all clients Advertise all best AS-level routes to clients ARR redundancy Multiple ARRs for each AP AP: 0.0.0.0/1 AP: 128.0.0.0/1 AS-level criteria • 1. Highest Local Preference • 2. Shortest AS Path • 3. Lowest Origin Type • 4. Lowest MED • 5. eBGP-learned over iBGP-learned • 6. Lowest IGP Metric • 7. Lowest Router ID • 8. Lowest Peer Address ARR1 ARR2 C1 C2 C3 14
No routing anomalies ABRR emulates full-mesh semantics No path inefficiency Full-mesh emulation Placement of ARRs within ISP network is irrelevant 15
No routing anomalies (cont.) No MED-based oscillation No topology-based oscillation No forwarding loop 16
RIB-In and RIB-Out sizes of RRs Parameters # routers: 2000 # APs / clusters: 50 # ARRs / TRRs per AP / cluster: 2 # peer ASes: 30 # best AS-level routes per prefix 18
RIB-In and RIB-Out sizes of RRs • For all parameter settings, ABRR has substantially smaller RIB size! #APs or #Clusters #APs or #Clusters 19
iBGP sessions of RRs • Modern routers or general-purpose computers can handle thousands of sessions each with the full routing table. • iBGP convergence time 20
Fully functional implementation based on Quagga • Less than 2K lines of code • Tier-1 ISP trace over 2 weeks 22
RIB-In and RIB-Out sizes TBRR 23
# updates during two weeks TBRR 24
Conclusion Address-Based Route Reflection Solves all oscillations Finds efficient paths Places no constraints on RR placement Operates with no new BGP message formats Semantics equal to full-mesh Scalability comparable to TBRR 25