Stable Internet Routing Without
Global Coordination
Jennifer Rexford
Princeton University
http://www.cs.princeton.edu/~jrex
Joint work with Lixin Gao, Michael Schapira, and Yi Wang
What is an Internet?
A
“network of networks”
– Networks run by different institutions
Autonomous
System (AS)
– Collection of routers run by a single institution
ASes
have different goals
– Different views of which paths are good
Interdomain
routing is what reconciles those views
– To compute end-to-end paths through the Internet
Wonderful problem setting for game theory and mechanism design
An Open Question
Evolvable Protocols
(under-specified, programmable)
?
Autonomy
Global Properties
(autonomous parties, with
different economic objectives)
(stability, scalability, reliability,
security, managability, …)
Can we have all three? Under what conditions?
Autonomous Systems (ASes)
Path: 6, 5, 4, 3, 2, 1
4
3
5
2
7
1
6
Web server
Client
Interdomain Routing: Border Gateway Protocol
ASes
exchange info about who they can reach
– Destination: block of IP addresses (an “IP prefix”)
– AS path: sequence of ASes along the path
Policies
configured by the AS’s network operator
– Path selection: which of the paths to use?
– Path export: which neighbors to tell?
“I can reach d
via AS 1”
“I can reach d”
2
1
data traffic
d
3
data traffic
Interdomain Routing Convergence Challenges
Must
scale
– Address blocks: 300,000 and growing
– Autonomous Systems: around 35,000
Must
support flexible policy
– Path selection: which path your AS wants to use
– Path export: who can send packets through your AS
Must
converge, and quickly
– Routing convergence can take several minutes
– … and the system doesn’t necessarily converge at all!
Goal: Guaranteed convergence of the global routing system with purely local control.
Stable Paths Problem (SPP) Model
Model
of routing policy
– Each AS has a ranking of the permissible paths
Model
of path selection
– Pick the highest-ranked path consistent with neighbors
2 23d
2d
12d
1d
Flexibility
is not free
1
d
31d
3 3d
– Global system converges slowly, or not at all
– Depending on the way the ASes rank their paths
Conflicting Policies Cause Convergence Problems
1
Better choice!
120
10
Only choice!
0
Top choice!
310
30
Only choice!
Better choice!
3
2
230
20
Only choice!
Pick the highest-ranked path consistent with your neighbors’ choices.
Global Control is Not Workable
Create
a global Internet routing registry
– Keeping the registry up-to-date would be difficult
Require
each AS to publish its routing policies
– ASes may be unwilling to reveal BGP policies
Check
for conflicting policies, and resolve conflicts
– Checking for convergence problems is NP-complete
– Link/router failure may result in an unstable system
Need a solution that does not require global coordination.
Think Globally, Act Locally
Key
features of a good solution
– Flexibility: allow diverse local policies for each AS
– Privacy: do not force ASes to divulge their policies
– Backwards-compatibility: no changes to BGP
– Guarantees: convergence even when system changes
Restrictions
based on AS relationships
– Path selection rules: which route you prefer
– Export policies: who you tell about your route
– AS graph structure: who is connected to who
Customer-Provider Relationship
Customer
pays provider for access to the Internet
– Provider exports its customer’s routes to everybody
– Customer exports provider’s routes only to downstream customers
Traffic to the customer
Traffic from the customer
d
provider
advertisements
provider
traffic
customer
d
customer
Peer-Peer Relationship
Peers
exchange traffic between their customers
– AS exports only customer routes to a peer
– AS exports a peer’s routes only to its customers
Traffic to/from the peer and its customers
advertisements
peer
d
traffic
peer
Hierarchical AS Relationships
Provider-customer
graph is a directed, acyclic graph
– If u is a customer of v and v is a customer of w
– … then w is not a customer of u
w
v
u
Valid and Invalid Paths
Valid paths: “6
“1 4
23
d”d”
and
and
“7“8
d”5 d”
Invalid
Invalidpaths:
path: “5
“6 85 d”
d” and “1 4 3 d”
1
d
5
Provider-Customer
Peer-Peer
4
3
2
7
8
6
Act Locally, Prove Globally
Route
export
– Do not export routes learned from a peer or provider
– … to another peer or provider
Global
topology
– Provider-customer relationship graph is acyclic
– E.g., my customer’s customer is not my provider
Route
selection
– Prefer routes through customers
– … over routes through peers and providers
Guaranteed
to converge to unique, stable solution
Our Local Path Selection Rules
Classify
routes based on next-hop AS
– Customer routes, peer routes, and provider routes
Rank
routes based on classification
– Prefer customer routes over peer and provider routes
Allow
any ranking of routes within a class
– E.g., can rank one customer route higher than another
– Gives network operators the flexibility they need
Consistent
with traffic engineering practices
– Customers pay for service, and providers are paid
– Peer relationship contingent on balanced traffic load
Solving the Convergence Problem
Result
– Safety: guaranteed convergence to unique stable solution
– Inherent safety: holds under failures and policy changes
Definitions
– System state: current best route at each AS
– Activating AS: re-do decision based on neighbor choices
Sketch
of (constructive) proof
– Find an activation sequence that leads to a stable state
– Any “fair” sequence (eventually) includes this sequence
Rough Sketch of the Proof
Two
phases
– Walking up the customer-provider hierarchy
– Walking down the provider-customer hierarchy
1
d
5
Provider-Customer
Peer-Peer
4
3
2
7
8
6
Economic Incentives Affect Protocol Behavior
ASes
already follow our rules, so system is stable
– High-level argument
» Export and topology assumptions are reasonable
» Path selection rule matches with financial incentives
– Empirical results
» BGP routes for popular destinations are stable for ~10 days
» Most instability from failure/recovery of a few destinations
ASes
should follow our rules to make system stable
– Need to encourage operators to obey these guidelines
– … and provide ways to verify the network configuration
– Need to consider more complex relationships and graphs
Playing One Condition Off Against Another
All
three conditions are important
– Path ranking, export policy, and graph structure
Allowing
more flexibility in ranking routes
– Allow same preference for peer and customer routes
– Never choose a peer route over a shorter customer route
…
at the expense of stricter AS graph assumptions
– Hierarchical provider-customer relationship (as before)
– No private peering with (direct or indirect) providers
Peer-peer
Extension to Backup Relationships
Backups:
more liberal export policies, and different ranking
– The motivation is increased reliability
– …but ironically it may cause routing instability!
Generalize
rule: prefer routes with fewest backup links
– Need to maintain a count of the # of backup links in the path
Backup Provider
Peer-Peer Backup [RFC 1998]
provider
primary
provider
failure
backup path
failure
backup path
backup
provider
peer
Results Hold Under More Complex Scenarios
Complex
AS relationships
– AS pair with different relationship for different prefixes
– AS pair with both a backup and a peer relationships
– AS providing transit service between two peer ASes
Stability
under changing AS relationships
– Customer-provider to/from peer-peer
– Customer-provider to/from provider-customer
Extensions of the Work
Influence
of AS relationships on BGP convergence
– Algebraic framework and design principles for policy languages
– Fundamental limits on relaxing the assumptions
Application
of the idea to internal BGP inside an AS
– Sufficient conditions for iBGP convergence inside an AS
– “What-if” tool for traffic engineering inside an AS
AS-level
analysis of the Internet topology
– Inference of AS relationships and policies from routing data
– Characterization of AS-level topology and growth
Practical
applications of knowing AS relationships
– Analyzing your competitors’ business relationships
– Identifying BGP routes that violate export conditions
A Case For Customized Route Selection
ISPs
usually have multiple paths to the destination
Different paths have different properties
Different neighbors may prefer different routes
Bank
Most secure
VoIP
provider
School
Lowest cost
Shortest latency
Neighbor-Specific Route Selection
A
node has a ranking function per neighbor
i
j
is node i’s ranking function for neighbor node j.
Stability Conditions for NS-BGP
Surprisingly,
NS-BGP improves stability!
– Neighbor-specific selection is more flexible
– Yet, requires less restrictive stability conditions
“Prefer
customer” assumption is not needed
– Choose any “permissible” route per neighbor
That
is, need just two assumptions
– No cycle of provider-customer relationships
– Do not export routes learned from one peer/provider to
other peers/providers
Why Do Weaker Conditions Work?
1
120
10
0
310
30
An
3
2
230
20
AS always tells its neighbor a route
– If it has any route that is permissible for that neighbor
Deploying NS-BGP
An
AS can deploy NS-BGP alone
– Without upgrading their routers
– Without coordinating with all their neighbors
Three
aspects to the solution
– Disseminating extra BGP routes
– Customized route selection
– Directing traffic from ingress to egress
Can
be done exploiting existing mechanisms
– Designed for Virtual Private Networks (VPNs)
Disseminating Extra BGP Routes
Advertising
more than one BGP route
– Route distinguisher feature for VPNs
– Multiple internal BGP sessions
– ADD-PATHs extensions to internal BGP
Customized Route Selection
Multiple
virtual routing and forwarding tables
– Cisco: Virtual Routing and Forwarding (VRF)
– Juniper: Virtual Router
R3’s forwarding table (FIB) entries
D: (red path): R6
D: (blue path): R7
Directing Traffic from Ingress to Egress
Tunnels
from ingress to egress
– IP-in-IP tunneling
– MPLS
?
Customized Route Selection
Customized
route selection as a service
– Select a different best route for different neighbors
Different
menu options
– Cheapest route (e.g., “prefer customer”)
– Best performing routes, or most secure routes
– Routes that avoid undesirable ASes (e.g., censorship)
Nice
practical features of NS-BGP
– An individual AS can deploy NS-BGP alone
– … without compromising global stability!
Conclusions
Avoiding
convergence problems
– Hierarchical of provider-customer relationships
– Export policies based on commercial relationships
– (Path ranking based on AS relationships)
Salient
features
– No global coordination (locally implementable)
– No changes to BGP protocol or decision process
– Guaranteed convergence, even under failures
– Guidelines consistent with financial incentives
References Related to This Talk
“The stable paths problem and interdomain routing”
– Tim Griffin, Bruce Shepherd, and Gordon Wilfong
– http://portal.acm.org/citation.cfm?id=508332
“Stable Internet routing without global coordination”
– Lixin Gao and Jennifer Rexford
– http://www.cs.princeton.edu/~jrex/papers/sigmetrics00.long.pdf
“Inherently Safe Backup Routing with BGP”
– Lixin Gao, Tim Griffin, and Jennifer Rexford
– http://www.cs.princeton.edu/~jrex/papers/infocom01.pdf
“Neighbor-Specific BGP: More flexible routing policies while
improving global stability”
– Yi Wang, Michael Schapira, and Jennifer Rexford
– http://www.cs.princeton.edu/~jrex/papers/nsbgp_sigmetrics09.pdf
Other Related Research Papers
Inherently Safe Backup Routing with BGP
– http://www.cs.princeton.edu/~jrex/papers/infocom01.pdf
Design Principles of Policy Languages for Path Vector Protocols
– http://conferences.sigcomm.org/sigcomm/2003/papers/p61-griffin.pdf
Implications of Autonomy for the Expressiveness of Policy Routing
– http://conferences.sigcomm.org/sigcomm/2005/paper-FeaBal.pdf
Meta-routing
– http://conferences.sigcomm.org/sigcomm/2005/paper-GriSob.pdf
An Algebraic Theory of Interdomain Routing
– http://portal.acm.org/citation.cfm?id=1103561
Searching for Stability In Interdomain Routing
– http://www.cs.yale.edu/homes/schapira/PID808559.pdf
Related Papers With Game Theory
Interdomain Routing and Games
– http://www.cs.huji.ac.il/~mikesch/routing_games-full.pdf
Rationality and Traffic Attraction: Incentives for Honest Path Announcements in BGP
– http://ccr.sigcomm.org/online/?q=node/395
Incentive-Compatible Interdomain Routing
– http://cs-www.cs.yale.edu/homes/jf/FRS.pdf
Mechanism Design for Policy Routing
– http://cs-www.cs.yale.edu/homes/jf/FSS.pdf
The Complexity of Game Dynamics: BGP Oscillations, Sink Equlibria, and Beyond
– http://www.cs.berkeley.edu/~alexf/papers/fp08.pdf
Specification Faithfulness in Networks with Rational Nodes
– http://www.eecs.harvard.edu/econcs/pubs/podc04.pdf
Distributed Algorithmic Mechanism Design
– http://cs-www.cs.yale.edu/homes/jf/AGTchapter14.pdf
Partially Optimal Routing
– http://www.stanford.edu/~rjohari/pubs/por.pdf
36
Background on Interdomain Economics
http://drpeering.net/a/Home.html
http://www.fcc.gov/Bureaus/OPP/working_papers/oppwp32.pdf
http://www.potaroo.net/papers/1999-6-peer/peering.pdf
http://www.cisco.com/en/US/about/ac123/ac147/ac174/ac201/about_
cisco_ipj_archive_article09186a00800c83a5.html
http://www.cisco.com/en/US/about/ac123/ac147/ac174/ac200/about_
cisco_ipj_archive_article09186a00800c8900.html
http://www.vjolt.net/vol3/issue/vol3_art8.html
37