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
AS2AS1
2 1 3
1
10 30
y
IGP metric = x
MED = y
x
MEDs aren’t 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
C2 C3
55
2
22
x IGP metric = x
Each RR is closer to another RR’s 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-mesh’s semantics&
RR’s 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 Reflection Address-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: 0.0.0.0/1 AP: 128.0.0.0/1
Prefix: 1.2.0.0/16
AP: short for Address Partition
Prefix: 200.0.0.0/8
ABRR - RR behaviors
R2
TRR1 R1
R4
R3TRR2
Full-mesh: router learns multiple routes per prefixTBRR: 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: 0.0.0.0/1 AP: 128.0.0.0/1
1. Highest Local Preference2. Shortest AS Path3. Lowest Origin Type4. Lowest MED5. eBGP-learned over iBGP-learned6. Lowest IGP Metric7. Lowest Router ID8. 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 #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