210 likes | 318 Views
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. “ 12.34.158.0/24: path (2,1) ”. “ 12.34.158.0/24: path (1) ”. 2. 3. Border Gateway Protocol.
E N D
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/
“12.34.158.0/24: path (2,1)” “12.34.158.0/24: path (1)” 2 3 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? 1 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 Apply Policy = filter routes & tweak attributes Apply Policy = filter routes & tweak attributes Receive BGP Updates Based on Attribute Values Transmit BGP Updates Best Routes Best Route Selection Apply Import Policies Apply Export Policies Best Route Table Install forwarding Entries for best Routes. IP Forwarding Table
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 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
advertisements traffic 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 provider customer d customer
advertisements traffic 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 peer peer d
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
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
Reliability Reduced fate sharing Survive ISP failure Performance Multiple paths Select the best Financial Leverage through competition Game 95th-percentile billing model Why Connect to Multiple Providers? Provider 2 Provider 1
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 Provider 2 One static route L1 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 Provider 2 traffic traffic 12.34.158.0/24