Title: Route Control Platform Making an AS look and act like one router
1Route Control PlatformMaking an AS look and act
like one router
- Aman Shaikh
- ATT Labs Research
Matt Caesar (UC Berkeley) Don Caldwell (ATT Labs
Research) Nick Feamster (MIT) Jennifer Rexford
(ATT Labs Research) Kobus van der Merwe (ATT
Labs Research) Presentation at DAIICT, January
20, 2005
2Routing in the Internet
- Internet is a collection of Autonomous Systems
(ASes) - BGP routing between ASes
- IGP (Interior Gateway Protocol) routing within
AS - Example OSPF, IS-IS, RIP
AS1
AS2
BGP
OSPF
IS-IS
BGP
BGP
BGP
BGP
AS3
AS4
AS5
BGP
BGP
RIP
OSPF
OSPF
3BGP Broken Gateway Protocol???
- BGP is broken
- It converges slowly
- At times it does not converge at all
- It causes routing loops and deflections inside an
AS - Its misconfigured frequently
- Traffic engineering is hard with BGP
- Fixing BGP is hard
- Incremental fixes
- Makes BGP even more complicated
- New architectures and inter-domain protocols
- Deployment is almost impossible
4What are the Fundamental Problems?
- AS is a logical entity for inter-domain routing
(i.e. BGP) and yet BGP state and logic are
decomposed across routers inside an AS - No router has complete BGP state
- Each router makes routing decision based on
partial and incomplete state - BGP interacts in odd ways with other protocols
- Most notably with the IGP (Interior Gateway
Protocol) running inside an AS
5Fixing the Fundamental Problems
- Treat the AS as a single logical entity
- Compute routes using AS-wide state
- Control routing protocol interactions
Principles for inter-domain routing!
6Applying the PrinciplesRoute Control Platform
(RCP)
- Represents an AS as a single logical entity
- Complete view of ASs routes
- Computes routes for all routers inside an AS
- Routers no longer have to compute routes
- Controls BGP-IGP interactions
- Exchanges routing information with RCPs in other
ASes
Inter-AS Protocol
RCP
RCP
RCP
iBGP
AS 1
AS 2
AS 3
Physical peering
7The rest of this Talk The Case for RCP
- How current routing infrastructure violates the
principles of inter-domain routing - Treat the AS as a single logical entity
- Control routing protocol interactions
- Potential deal-breakers for RCP
- Backwards compatibility and deployment incentives
- Scalability and reliability
- Related work (orhavent we seen this before?)
- Route reflection and route servers
- Overlay networks
8BGP Route Distribution inside AS
- Use of iBGP (internal BGP) for route distribution
- Routers have to form a full mesh of iBGP sessions
- Full mesh does not scale beyond few tens of
routers - Use of route reflectors to solve scalability
problem - Leads to information hiding
- Scalability at the expense of visibility
9BGP-IGP Interaction
- BGP route selection process uses IGP costs to
tie-break between equally good egress points - If multiple egress points, choose the one with
shortest IGP path (known as hot potato routing) - Once egress-point is selected, BGP relies on IGP
to reach the egress point
d
A
B
10
9
C
10Example of a Forwarding Loop
d
3
3
1
1
C1
C2
1
C1 sends packets to RR1 via its IGP shortest path
which traverses C2
Persistent forwarding loop ?
11Avoiding Forwarding Loops with RCP
d
RCP
1
1
RR2
RR2
3
3
C1
C2
1
- RCP learns all externally learned routes
- Computes consistent router-level paths
- Benefits
- Intrinsic loop freedom and faster convergence
- RCP does not have to stick to BGP decision
process - Can pin paths for traffic engineering and other
purposes
12Deployment in Three Steps
eBGP
iBGP
Inter-AS Protocol
RCP
RCP
RCP
iBGP
AS 1
AS 2
AS 3
Physical peering
- Two key issues
- Backward compatibility
- Deployment incentives
13Phase 1 Control over Protocol Interactions
Before conventional iBGP
eBGP
iBGP
After RCP gets best iBGP routes (and IGP
topology)
eBGP
RCP
iBGP
Only one AS has to change its architecture!
14Phase 1 Application Controlling Path Changes
BGP routes take nearest exist (shortest IGP
path)
Failures or maintenance can change IGP (path)
weights
Exit point can also change Traffic shifts,
convergence delay, congestion
d
d
A
B
A
B
10
10
11
9
C
Path cost change due to failure, traffic
engineering or maintenance
C
15Phase 1 Application Controlling Path Changes
BGP routes take nearest exist (shortest IGP
path)
Failures or maintenance can change IGP (path)
weights
RCP can pin exit points as IGP weights change
RCP
A
B
10
11
C
Path cost change due to failure, traffic
engineering or maintenance
16Phase 2 AS-wide Selection and Policy
Before RCP gets best iBGP routes (and IGP
topology)
eBGP
RCP
iBGP
After RCP gets all eBGP routes from neighbors
eBGP
RCP
iBGP
17Phase 2 Application Centralize Configuration
10.0.0.1
192.168.0.1
A
C
Sprint
UUNet
Simple policy Dont advertise routes learned
from UUNet to Sprint Configuration is
decomposed, so routes must carry state
18Phase 2 Application Centralize Configuration
10.0.0.1
192.168.0.1
A
C
Sprint
UUNet
- RCP implements policies for entire AS
- Knows about sessions to all other ASes
- Implements policies in terms of relationship with
ASes - Todays router configuration cannot capture this
- Benefits
- Simpler configuration
- Do not have to tag routes with state
19Phase 3 All ASes have RCPs
Before RCP gets all eBGP routes from neighbors
eBGP
RCP
iBGP
After ASes exchange routes via RCP
Inter-AS Protocol
RCP
RCP
RCP
iBGP
AS 1
AS 2
AS 3
Physical peering
20Phase 3 Application More Flexible Routing
- Better network management
- Diagnostics and trouble-shooting
- Routing co-located with other information (e.g.
traffic) - Ability to reason about an AS as a single entity
- Protocol Improvements
- Routing based on optimization of resources (or
some other criteria) instead of kludgy things
like hot-potato - Attaching prices to routes
- Inter-AS negotiation of exit points
- Overlay routing informed by IP-layer information
- Your application here
21Scalability and Robustness
- Can RCP scale?
- We have a prototype implementation
- Single-box RCP can handle AS-wide BGP load
- OSPF changes can be troublesome!
- Centralized ! unable to scale
- Is RCP a single point of failure?
- RCP can be implemented using distributed system
insights - Consistency (mostly) a non-isssue
- Guarantee from OSPF/IS-IS operation
- Either an RCP replica has a complete view of
network (partition) or no view but never a
partial view
22Is RCP basically a Route Reflector?
- Yes, but its a better route reflector
- Customized routing decisions for clients
- Route reflectors do not compute routes from
clients perspective - Route reflectors do not emulate a full mesh
- Routing decisions based on complete visibility
- Guaranteed correct routes
- Replication is dictated by system issues
23RCP also looks a lot like
- A route server
- Route arbiter looked at applying policy at
exchange points - AS agents
- RCP can act as an AS agent can answer queries
for the AS - An overlay network
- Most previous work is in data overlays
- RCP is a control overlay
- Hierarchical routing is about control overlays
- RCP could give more information and control to
data overlays - RCP has AS-wide information and direct control
over paths taken through the AS
24Conclusions
- RCP embodies two principles for inter-domain
routing - Treat an AS as a single logical entity
- Compute consistent routes using complete AS-wide
view - Control routing protocol interactions
- Benefits
- Simpler, more expressive configuration
- Intrinsic robustness no loops, faster
convergence - Enable new applications and innovations
- Opportunity for new traffic engineering
applications
25More information
- FDNA 04 paper
- The Case for Separating Routing from Routers
- Nick Feamster, Hari Balakrishnan, Jennifer
Rexford, Aman Shaikh, Kobus van der Merwe - http//www.research.att.com/ashaikh/publications.
html - Questions??
26Backup
27Phase 2 Application Efficient Aggregation
Aggregation curbs routing table growth
Routers cant know which routers need more
specific routes
192.168.0.0/23 192.168.1.0/24
192.168.0.0/23 192.168.0.0/24
192.168.0.0/23 (??)
192.168.0.0/23 (??)
iBGP
eBGP
28Phase 2 Application Efficient Aggregation
Aggregation curbs routing table growth
RCP can determine which routers need more
specific routes and which routers can do away
with less specific routes
192.168.0.0/23 192.168.0.0/24
192.168.0.0/23 192.168.1.0/24
192.168.0.0/23
192.168.0.0/23
RCP
192.168.0.0/23
192.168.0.0/23
192.168.0.0/24
192.168.1.0/24
29Phase 1 Application Controlling Path Changes
BGP routes take nearest exist (shortest IGP
path)
Failures or maintenance can change IGP (path)
weights
Exit point can also change Traffic shifts,
convergence delay, congestion
A
B
C
D
30Phase 1 Application Controlling Path Changes
BGP routes take nearest exist (shortest IGP
path)
Failures or maintenance can change IGP (path)
weights
RCP can pin exit points as IGP weights change
A
B
RCP
C
D