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
2 iBGP reality Original full-mesh iBGP All routers in an AS peer with all others Scales poorly Route reflection Introduces routing anomalies AS confederations
3 MED-based oscillation (MED: Multi-Exit Discriminator) Routing anomalies in RR C1 RR1 C3 RR2 C2 20 AS2 AS y IGP metric = x MED = y x MEDs arent comparable between routes learned from different ASes! RR1 prefers C2 > C1 > C3 > C2 > … BGP best path decision: …… Step 4: Lowest MED …… Step 6: Lowest IGP metric ……
4 Routing anomalies in RR Topology-based oscillation C1 RR1 5 RR2 RR3 C2C xIGP metric = x Each RR is closer to another RRs client.
5 Routing anomalies in RR Forwarding loop Path inefficiency
6 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!
Design Full-meshs semantics & RRs scalability 7
8 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
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
10 Comparison Topology-Based Route Reflection (TBRR) Address-Based Route Reflection (ABRR) Topology-Based Route ReflectionAddress-Based Route Reflection
11 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 C1 ARR1 C3 ARR2 C2 AP: /1AP: /1 Prefix: /16 AP: short for Address Partition Prefix: /8
ABRR - RR behaviors R2 TRR1 R1 R4 R3 TRR2 Full-mesh: router learns multiple routes per prefix TBRR: router learns one single route per prefix Full-mesh vs. TBRR Full-mesh TBRR 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
14 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 C1 ARR1 C3 ARR2 C2 AP: /1AP: /1 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 AS-level criteria
15 No routing anomalies ABRR emulates full-mesh semantics No path inefficiency Full-mesh emulation Placement of ARRs within ISP network is irrelevant
16 No routing anomalies (cont.) No MED-based oscillation No topology-based oscillation No forwarding loop
Performance analysis 17
18 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
RIB-In and RIB-Out sizes of RRs For all parameter settings, ABRR has substantially smaller RIB size! #APs or #Clusters 19
20 iBGP sessions of RRs Modern routers or general-purpose computers can handle thousands of sessions each with the full routing table. iBGP convergence time
Implementation results 21
Fully functional implementation based on Quagga Less than 2K lines of code Tier-1 ISP trace over 2 weeks 22
23 RIB-In and RIB-Out sizes TBRR
24 # updates during two weeks TBRR
25 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