BGP: New Architectures

advertisement
New Interdomain Routing Architectures
Jennifer Rexford
Well, BGP Has Some Problems
• Instability
– Not guaranteed to converge to a unique, stable
solution (e.g., oscillation and bi-stable solutions)
• Slow convergence
– Path exploration can take a very long time
• Non-linearity
– Small changes can have large effects (e.g.,
intradomain changes leading to BGP changes)
• Feature interaction
– Unexpected side effects (e.g., the interaction of
route-flap damping and path exploration)
Well, BGP Has Some More Problems
• Scalability challenges
– Large memory, processing, and message-passing
overhead, dependent on behavior in other ASes
• Security vulnerabilities
– BGP update messages are relatively easy to forge
with bogus prefix, AS path, or other attributes
• Difficult to configure
– Operators must express their (many) goals in an
indirect and contorted manner
• Difficult to troubleshoot
– Hard to infer the root cause of a routing change,
or even the AS(es) responsible
But Wait, There’s More!
• No performance guarantees
– BGP announcements do not include any
information about the performance of the path
• Limited flexibility for path selection
– Only single-path routing on destination prefix
• Limited control over path selection
– Chosen path is a byproduct of the composition of
local routing policies in many different ASes
• Forwarding path may not match AS path
– Routers may deflect packets to other paths (e.g.,
route aggregation, misconfiguration, and malice)
And, Perhaps the Biggest Problem of All…
• Hard to change
– BGP is the glue that holds the disparate parts of
the Internet together
– So, hard to change BGP in a fundamental ways
– … or is it?
Why is BGP Such a Mess?
• Absence of underlying models
– Protocol designed without a design for the
decision process or policy language
– BGP models (e.g., SPP) came much later
• Incremental evolution of the protocol
– Many additions to BGP over the years
– New route attributes and decision-process steps
• Rapid growth of the Internet
– Many ASes, and much more complex topology
• Commercialization of the Internet
– More complex routing policies and competition
– Heightened importance of security concerns
What’s a Networking Researcher to Do?
• Characterize the existing routing system
– Measurement, modeling, simulation
• Improved operational practices
– Best common practices for configuration
• Timer settings, route filtering, features to use, …
– Methods and tools for complicated tasks
• Traffic engineering, config checking, root-cause analysis
• Incremental changes to BGP
– Better implementations of the protocol
– New route attributes for greater flexibility
– Graceful handling of failures, config changes, …
What’s a Networking Researcher to Do?
• Build on top of the existing routing system
– Overlay networks
• Propose new architectures anyway
– Identify and evaluate new and better solutions
– … even if we can’t readily deploy them today
• Explore incremental-deployment approaches
– Meta solutions that enable new architectures
– With the goal of leading to a better architecture
• Create models of the fundamental limits
– Maybe the problem BGP is solving is really hard…
Key Ingredients of Architectural Proposals
• More control at the edge
– Source routing and multi-path routing
• Negotiation between ASes
– Explicit coordination for path selection
• Design for the common case
– Handle common routing policies well (e.g., HLP)
• Servers computing the routes
– Greater visibility and control than any one router
• Multiple simultaneous architectures
– Virtualization to support customized solutions
Source Routing
• The ultimate in flexibility
– Sender determines path for each packet
– At the router level, or at the AS level
• At the cost of…
– Overhead of propagating topology information
– Need for fast path changes after a failure
– Lost control for intermediate routers/ASes
B
A
ADECF
C
ABEF
F
D
E
Source Routing Deployment Challenges
• ASes have little incentive to cooperate
– No business relationship with ASes far away
– Don’t want to relinquish control over routing
– So, source routing is typically disabled
• Policy-compliant source routing
– Limiting what sources routes can be used
• Progress on limited forms of source routing
– Overlay networks
• Source routing on an overlay topology
– Multi-homing route control
• “One hop source routing”
Multipath Routing
• Expose more paths to ASes
– Multiple paths through same next-hop AS
– Giving ASes greater control over path selection
• Extreme case: export all paths
– High protocol overhead
– Lost control for intermediate ASes
• Compromise: export selective paths
– Under control of intermediate ASes
– Based on their routing policies, pricing, etc.
Exposing Extra Paths
BEF*
BCF
B
ABEF*
ADEF
A
C
CF*
CEF
CBEF
BCF
F F*
D
DEF*
DABEF
E
EF *
ECF
• Example: AS A doesn’t like AS E
– Default routes both go through E
– Good to learn alternate route that avoids E
Encapsulation to Use Non-Default Paths
e
d
B
e
d
C
A
F
D
E
• Direct packet along alternate route
– Destination-based forwarding not enough
– Encapsulate the packet to egress point
Inter-AS Negotiation
• Directives
– Tell other AS what to do
– E.g., which link to use
Customer B
• Suggestions
Provider B
multiple
peering
points
– Tell other AS your wishes
– Which link you prefer used
• Cooperation
Early-exit
routing
Provider A
Customer A
–
–
–
–
Negotiate where to send
Across flows and time
Inbound and outbound
Trade small losses for
larger gain (“win win”)
Inter-AS Negotiation
• But, how to do it?
– What info to exchange?
– How to prioritize the
many choices?
– How prevent cheating?
Customer B
Provider B
• Open research territory
multiple
peering
points
Early-exit
routing
Provider A
Customer A
– Some initial work on
exchanging preferences
– E.g., ASes exchange
preferences, and iterates
Revisiting the Division of Labor
• Routers
– Forward packets: yes
– Compute paths: maybe not
• End users or ASes
– Dictate path properties: yes
– Control path selection: maybe not
• Intermediate ASes (e.g., ISPs)
– Forward packets: yes
– Business relationships: yes
– Compute end-to-end paths: maybe not
Removing Routing From Routers
• Should routers forward packets: yes
– Must be done at high speed
– … in line-card hardware on fast routers
– So, needs to be done on the routers
• Should routers compute routes: no
– Hard to do in a distribution fashion
– Difficult to make load-sensitive routing stable
– Lacking complete information for good decisions
– Not flexible enough for end users
– Difficult to extend over time
Routing As a Service (RAS)
• Goal: third parties pick end-to-end paths for
clients to satisfy diverse user objectives
• Forwarding infrastructure
– Basic routing (e.g., default routing)
– Primitives for inserting forwarding-table entries
• Routing Service Provider (RSP)
– Contracts ISPs for service (e.g., virtual links)
– Selects end-to-end routes on behalf of clients
– Competes with other selectors for customers
• End host
– Queries RSP to pick path & install forwarding state
Routing As a Service (RAS)
RSP
ISP
ISP
user
ISP
Routing Control Platform (RCP)
• Goal: Move beyond today’s artifacts, while
remaining compatible with the legacy routers
• Incentive compatibility: phased evolution
– Intelligent route reflector in a single AS
– Learning BGP routes directly from neighbor ASes
– Interdomain routing between RCPs
• Backwards compatibility: BGP to the routers
eBGP
Inter-AS
Protocol
–eBGP
Using
answers to the routers
RCPBGP to “push” RCP
RCP
iBGP
– No need
RCPat all
RCPto change the legacy routers
iBGP
iBGP
– Keep
message
format
and
router
implementation
AS
1
AS
2
AS 3
Physical
peering
How Does This Differ From Overlays
• Overlays: circumventing the underlay
– Host nodes throughout the network
– Logical links between the host nodes
– Active probes to observe the performance
– Direct packets through good intermediate nodes
• Routing services: controlling the underlay
– Servers collect data directly from the routers
– Servers compute forwarding tables for the routers
– Data packets do not go through the servers
– Like an overlay for managing the underlay
Maybe some combination of the two makes sense?
Concurrent Architectures Better than One
• Multiple customized architectures in parallel
– Multiple virtual routers on a single platform
– Resource isolation in CPU, forwarding table,
bandwidth
– Programmability for different protocols and
mechanisms (routing, forwarding, addressing, …)
Cabo: Applications Within an Single ISP
• Customized virtual networks
– Security for online banking
– Fast-convergence for VoIP and gaming
– Specialized handling of suspicious traffic
• Testing and deploying new protocols
– Evaluate on a separate virtual network
– Rather than in a dedicated test lab
– Large scale and early-adopter traffic
• Leasing virtual components to others
– ISPs have unused node and link capacity
– Can allow others to construct services on top
Cabo: Enabling Economic Refactoring
Infrastructure Providers
Service Providers
• Infrastructure providers: Maintain routers,
links, data centers, other physical infrastructure
• Service providers: Offer end-to-end services
(e.g., layer 3 VPNs, SLAs, etc.) to users
Today: ISPs try to play both roles, and cannot offer end-to-end services
Key Ingredients of Incremental Deployability
• Backwards compatibility
– Technically possible to deploy the solution
– E.g., change anything but the message format
• Incentive compatibility
– Offer concrete benefits to early adopters
– Generate incentives for others to follow
– Do not rely on complete participation
• QoS, multicast, secure routing, IPv6, …
• Need creativity on incremental deployment
Lessons on Incremental Deployment
• Adding on top: tunneling in the data plane
– Circumvent destination-based forwarded
– Traverse routers
• Adding on top: servers in the control plan
– Tricking the routers into doing the server’s bidding
– Implementing new functionality on the servers
• Sneaking in on the side: virtualization
– Running additional virtual networks in parallel
– Offering new functionality for special applications
– … while continuing to support “legacy” Internet
Discussion
• Tussles between stake-holders
– Users and ISPs
• Division of function
– Data, control, and management planes
– End host, edge routers, and core routers
• How much better could BGP be?
– While still being an interdomain protocol with
control distributed across Autonomous Systems?
– With an even cleaner slate than that?
– Where should the economics be???
Download