Title: Making an AS Route Like a Single Node
1Making an AS Route Like a Single Node
- Rui Zhang-Shen
- Princeton University
- rz_at_cs.princeton.edu
NANOG43, June 2, 2008
joint work with Jennifer Rexford and Yi Wang
2Autonomous systems
The Internet (25k ASes)
An autonomous system
This talks focus BGP inside a single AS
3Policy-based routing
- Each AS has well-defined policies (RPSL aut-num
object), reflecting its - Goals e.g., traffic engineering, security
- Obligations e.g., business contracts
- Todays practice
- Specify the AS-level policies in terms of BGP
attributes - Configure how each router selects and exports
routes - Problem Some policies are violated
- Even if routers are configured correctly
- Due to peculiarities of protocol and
implementation - Violations hard to detect, diagnose, or fix
4Policies not jointly realizable today
Let customers use MED Use router ID tie break Use
hot-potato routing
No transit between peers Prefer shortest AS path
Export full customer routes to peers
Prefer shortest AS path Use hot-potato
routing Export consistently to peers
Can we satisfy all policies?
Use route reflectors Use hot-potato routing Let
customers use MED
Allow export communities Use hot-potato
routing Export consistently to peers
5Current possible approaches
- Sacrifice correctness for flexibility
- Common practice today
- Sacrifice flexibility for correctness
- Disallow conflicting policies
- A costly way to achieve both
- Change the physical topology
6Our contribution
- Atomic Routing Theory
- Mathematical model for policies and correctness
- Theoretical framework for exploring tradeoffs
- Flexibility and correctness
- Cost and flexibility
- Deriving minimum requirements for realizing
policies - Our proposal Atomic BGP
- Achieves both flexibility and correctness
efficiently - Requires only minor changes to the router
- Modify the decision process slightly
- Change iBGP route dissemination slightly
7Example I
- Let customers use MED
- Use router ID tie break
- Use hot-potato routing
r3
r1
My MED is ignored!
A
B
r3
r1
r2
MED1
MED0
Customer 2
Customer 1
MED-induced routing oscillation happened in the
real world.
d
8Example I Solutions
- Disallow MED (sacrifice flexibility)
- May lose Customer 2
A
B
r3
r1
r2
Customer 2
Customer 1
d
9Example I Solutions
- Disallow MED (sacrifice flexibility)
- Terminate MED links separately (costly)
A
B
C
r3
r1
r2
MED1
MED0
Customer 2
Customer 1
d
10Example I Solutions
- Disallow MED (sacrifice flexibility)
- Terminate MED links separately (costly)
- Disseminate more routes (atomic BGP)
A
B
r3
r1
r2
MED1
MED0
Customer 2
Customer 1
d
11(No Transcript)
12Example II
- No transit between peers
- Equally prefer customer and peer routes
- Export full customer routes to peers
Peer 1
Peer 2
r1
A
C
B
r2
d
Customer 1
http//www.merit.edu/mail.archives/nanog/1997-03/m
sg00250.html
13Example II
- No transit between peers
- Equally prefer customer and peer routes
- Export full customer routes to peers
I cant reach d any more!
r1
Peer 1
Peer 2
r1
X
A
C
B
r2
d
Customer 2
Customer 1
http//www.merit.edu/mail.archives/nanog/1997-03/m
sg00250.html
14Example II
- No transit between peers
- Equally prefer customer and peer routes
- Export full customer routes to peers
r1
I lost half of my users!
Peer 1
Peer 2
r1
X
d
A
C
B
r2
d
Customer 2
Customer 1
http//www.merit.edu/mail.archives/nanog/1997-03/m
sg00250.html
15Example II Solutions
- No premium service (sacrifice flexibility)
- May lose Customer 2
Peer 1
Peer 2
r1
A
C
B
r2
d
Customer 2
Customer 1
16Example II Solutions
- No premium service (sacrifice flexibility)
- Host peers and customers separately (costly)
Peer 1
Peer 2
r1
A
C
B
D
r2
d
Customer 2
Customer 1
17Example II Solutions
- No premium service (sacrifice flexibility)
- Host peers and customers separately (costly)
- Links export different routes (atomic BGP)
Peer 1
Peer 2
r1
A
C
B
r2
d
Customer 2
Customer 1
18(No Transcript)
19Atomic Routing Theory
- An AS is atomic if it realizes all its policies
- Disseminate all routes within the AS realize any
policies - Disseminate one route realize policies with
strict ranking
Atomic BGP
X
Policy Flexibility
Todays practice
X
Atomic Routing
Dissemination Overhead
BGP
X
20Atomic BGP Flexibility
- Realizes all policies based on comparing route
attributes - Supports todays common policies correctly
(including MED) - Supports any new attributes
21Atomic BGP Implementation
- Select routes for each neighbor independently
- Separate route selection process per neighbor
class - E.g., customers, peers, providers
- Separate forwarding table per neighbor class
- E.g., a different forwarding table on each
linecard (VRF) - Among set of best routes at the router,
disseminate - At least one route from each neighbor that uses
MED - At least one route
- E.g., use the new ADD-PATH feature
- Forward traffic according to the route assignment
- Tunneling from ingress link to egress link
ART shows these changes are necessary and
sufficient
22Atomic BGP offers
- Correct policy and simple configuration
- Define the AS-wide policies
- Configure each router with it
- No restrictions on the physical topology
- Minimum protocol overhead
- Dissemination of routes within the AS
- Storage for routing tables
- Incremental deployability
- Only modest changes to the routers
- Changes and benefits local to a single AS
- Incrementally deployable within an AS
23(No Transcript)
24Backup Slides
25Applications of ART
- When realizing a policy
- Find out potential policy violations
- Suggest minimum protocol changes
- When introducing new features to BGP
- Ensure no new violations are introduced
- When proposing new policy-based routing protocols
- Ensure the desired policies can be realized
- When analyzing multiple AS interactions
- Correctly model an AS as a single node
26Example III
- Let customers use export communities
- Use hot-potato routing
- Export consistently to peers
Inconsistent export!
r1
r1
Customer
Peer
C
A
d
X
D
B
r2 (no export)
r2
27Example III Solutions
- Disallow export communities
- Change how communities are handled
r1
r1
Customer
Peer
C
A
d
D
B
r2 (no export)
r1
28Example III Solutions
- Disallow export communities
- Change how communities are handled
- Allow a router to select multiple routes
r1
r1
Customer
Peer
C
A
d
D
B
r2 (no export)
r1, r2