BGP policies

advertisement
BGP Policies
Jennifer Rexford
Fall 2014 (TTh 3:00-4:20 in CS 105)
COS 561: Advanced Computer Networks
http://www.cs.princeton.edu/courses/archive/fall14/cos561/
BGP Route Selection
2
Border Gateway Protocol
• ASes exchange info about who they can reach
– IP prefix: block of destination IP addresses
– AS path: sequence of ASes along the path
• Policies configured by the AS’s operator
– Path selection: which of the paths to use?
– Path export: which neighbors to tell?
“12.34.158.0/24:
path (2,1)”
3
“12.34.158.0/24:
path (1)”
1
2
data traffic
data traffic
12.34.158.5
Applying Policy to Routes
• Import policy
–Filter unwanted routes from neighbor
 E.g. prefix that your customer doesn’t own
–Manipulate attributes to influence path selection
 E.g., assign local preference to favored routes
• Export policy
–Filter routes you don’t want to tell your neighbor
 E.g., don’t tell a peer a route learned from other peer
–Manipulate attributes to control what they see
 E.g., make a path look artificially longer than it is
BGP Policy: Influencing Decisions
Open ended programming.
Constrained only by vendor configuration language
Receive Apply Policy = Based on
filter routes &
BGP
Attribute
Updates tweak attributes Values
Apply Import
Policies
Best Route
Selection
Apply Policy =
Best
filter routes &
Routes tweak attributes
Best Route
Table
Apply Export
Policies
Install forwarding
Entries for best
Routes.
IP Forwarding Table
Transmit
BGP
Updates
BGP Decision Process on a Router
• Routing Information Base
–Store all BGP routes for each destination prefix
–Withdrawal message: remove the route entry
–Advertisement message: update the route entry
• Selecting the best route
–Consider all BGP routes for the prefix
–Apply rules for comparing the routes
–Select the one best route
 Use this route in the forwarding table
 Send this route to neighbors
BGP Decision Process
• Highest local preference
– Set by import policies upon receiving advertisement
• Shortest AS path
– Included in the route advertisement
• Lowest origin type
– Included in advertisement or reset by import policy
• Smallest multiple exit discriminator
– Included in the advertisement or reset by import policy
• Smallest internal path cost to the next hop
– Based on intradomain routing protocol (e.g., OSPF)
• Smallest next-hop router id
– Final tie-break
Routing Policy
8
Routing Policies
• Economics
– Enforce business relationships
– Pick routes based on revenue and cost
– Get traffic out of the network as early as possible
• Traffic engineering
– Balance traffic over edge links
– Select routes with good end-to-end performance
• Security and scalability
– Filter routes that seem erroneous
– Prevent the delivery of unwanted traffic
– Limit the dissemination of small address blocks
9
Customer-Provider Relationship
• Customer pays provider for Internet access
– Provider exports customer’s routes to everybody
– Customer exports 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 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
BGP Stability Without Global
Coordination
12
Three Restrictions on Policies
• Route export
– Do not export a route learned from one peers or
provider, to another
• Route selection
– Prefer a route learned from a customer over a route
learned from a peer or provider
• AS graph
– No cycle of provider-customer relationships
• Together: guarantee convergence to unique,
stable route assignment
13
Two Interpretations
• System is stable because ASes act like this
–High-level argument
 Export and topology assumptions are reasonable
 Path selection rule matches with financial incentives
–Empirical results
 BGP routes for popular prefixes stable for ~10 days
 Most instability from a few flapping destinations
• ASes should follow rules for system stability
–Encourage operators to obey these guidelines
–… and provide ways to verify the configuration
–Need to consider more complex relationships
Trading Off the Conditions
• All three conditions are important
– Route 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
Relaxing Export Rules [Feamster/Johari]
• Goal: no restrictions on export and topology
– Allow an AS to decide whether to export
– Do not require hierarchical relationships
• Question
– How much do you have to restrict path ranking to have a
guarantee that the system is safe?
• Answer
– Limited to shortest-path routing
• Implications
– Trade-off between safety, autonomy, & expressiveness
Conclusion
• Interdomain routing policies
– Local policies have global implications
– Stability, scalability, security
• Next time: routing security
– BGP vulnerabilities
– Proposed security solutions
– Deployment challenges
• Reminder
– Project proposals due 5pm Friday
17
Backup Slides: Multi-Homing
18
Why Connect to Multiple Providers?
• Reliability
– Reduced fate sharing
– Survive ISP failure
• Performance
Provider 1
– Multiple paths
– Select the best
• Financial
– Leverage through
competition
– Game 95th-percentile billing
model
Provider 2
The Stub AS Doesn’t Need to Speak BGP…
• Sending traffic
– Assume both providers can reach everyone
– Split traffic however you want (e.g., 50%/50%)
– But… what if a provider can’t reach someone?
– But… what if one provider has a better path?
Provider 1
L1
Provider 2
One static route
L2
0.0.0.0/0  L1, L2
The Stub AS Doesn’t Need to Speak BGP…
• Receiving traffic
– Both providers can announce the prefix into BGP
– Ensures that everyone else can reach you
– But… what if traffic load is very uneven?
Advertise 12.34.158.0/24
Provider 1
traffic
Provider 2
traffic
12.34.158.0/24
Download