Internet Routing (COS 598A) Today: Interdomain Traffic Engineering Jennifer Rexford Tuesdays/Thursdays.

Slides:



Advertisements
Similar presentations
Multihoming and Multi-path Routing
Advertisements

Multihoming and Multi-path Routing CS 7260 Nick Feamster January
1 Interdomain Traffic Engineering with BGP By Behzad Akbari Spring 2011 These slides are based on the slides of Tim. G. Griffin (AT&T) and Shivkumar (RPI)
1 Copyright  1999, Cisco Systems, Inc. Module10.ppt10/7/1999 8:27 AM BGP — Border Gateway Protocol Routing Protocol used between AS’s Currently Version.
BGP.
Border Gateway Protocol Ankit Agarwal Dashang Trivedi Kirti Tiwari.
Network Layer: Internet-Wide Routing & BGP Dina Katabi & Sam Madden.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
Lecture 9 Overview. Hierarchical Routing scale – with 200 million destinations – can’t store all dests in routing tables! – routing table exchange would.
© J. Liebeherr, All rights reserved 1 Border Gateway Protocol This lecture is largely based on a BGP tutorial by T. Griffin from AT&T Research.
Border Gateway Protocol Autonomous Systems and Interdomain Routing (Exterior Gateway Protocol EGP)
Fundamentals of Computer Networks ECE 478/578 Lecture #18: Policy-Based Routing Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
1 Interdomain Routing Protocols. 2 Autonomous Systems An autonomous system (AS) is a region of the Internet that is administered by a single entity and.
Traffic Engineering With Traditional IP Routing Protocols
Practical and Configuration issues of BGP and Policy routing Cameron Harvey Simon Fraser University.
Interdomain Routing and The Border Gateway Protocol (BGP) Courtesy of Timothy G. Griffin Intel Research, Cambridge UK
The Border Gateway Protocol (BGP) Sharad Jaiswal.
1 Policy-Based Path-Vector Routing Reading: Sections COS 461: Computer Networks Spring 2006 (MW 1:30-2:50 in Friend 109) Jennifer Rexford Teaching.
Slide -1- February, 2006 Interdomain Routing Gordon Wilfong Distinguished Member of Technical Staff Algorithms Research Department Mathematical and Algorithmic.
Interdomain Routing Establish routes between autonomous systems (ASes). Currently done with the Border Gateway Protocol (BGP). AT&T Qwest Comcast Verizon.
Inherently Safe Backup Routing with BGP Lixin Gao (U. Mass Amherst) Timothy Griffin (AT&T Research) Jennifer Rexford (AT&T Research)
Ion Stoica October 2, 2002 (* this presentation is based on Lakshmi Subramanian’s slides) EE 122: Inter-domain routing – Border Gateway Protocol (BGP)
Internet Routing (COS 598A) Today: Multi-Homing Jennifer Rexford Tuesdays/Thursdays 11:00am-12:20pm.
Network Monitoring for Internet Traffic Engineering Jennifer Rexford AT&T Labs – Research Florham Park, NJ 07932
14 – Inter/Intra-AS Routing
1 Interdomain Routing Policy Reading: Sections plus optional reading COS 461: Computer Networks Spring 2008 (MW 1:30-2:50 in COS 105) Jennifer Rexford.
Feb 12, 2008CS573: Network Protocols and Standards1 Border Gateway Protocol (BGP) Network Protocols and Standards Winter
Backbone Networks Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Interdomain Routing Policy COS 461: Computer Networks Spring 2011 Mike Freedman 1.
Border Gateway Protocol(BGP) L.Subramanian 23 rd October, 2001.
Jennifer Rexford Fall 2010 (TTh 1:30-2:50 in COS 302) COS 561: Advanced Computer Networks Stub.
Computer Networks Layering and Routing Dina Katabi
I-4 routing scalability Taekyoung Kwon Some slides are from Geoff Huston, Michalis Faloutsos, Paul Barford, Jim Kurose, Paul Francis, and Jennifer Rexford.
© 2009 Cisco Systems, Inc. All rights reserved. ROUTE v1.0—6-1 Connecting an Enterprise Network to an ISP Network BGP Attributes and Path Selection Process.
1 Interdomain Routing (BGP) By Behzad Akbari Fall 2008 These slides are based on the slides of Ion Stoica (UCB) and Shivkumar (RPI)
CS 3700 Networks and Distributed Systems Inter Domain Routing (It’s all about the Money) Revised 8/20/15.
CS 3830 Day 29 Introduction 1-1. Announcements r Quiz 4 this Friday r Signup to demo prog4 (all group members must be present) r Written homework on chapter.
Lecture 4: BGP Presentations Lab information H/W update.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks BGP.
Border Gateway Protocol
Border Gateway Protocol (BGP) W.lilakiatsakun. BGP Basics (1) BGP is the protocol which is used to make core routing decisions on the Internet It involves.
More on Internet Routing A large portion of this lecture material comes from BGP tutorial given by Philip Smith from Cisco (ftp://ftp- eng.cisco.com/pfs/seminars/APRICOT2004.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Inter-domain routing Some slides used with.
Controlling the Impact of BGP Policy Changes on IP Traffic Jennifer Rexford IP Network Management and Performance AT&T Labs – Research; Florham Park, NJ.
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
Routing in the Inernet Outcomes: –What are routing protocols used for Intra-ASs Routing in the Internet? –The Working Principle of RIP and OSPF –What is.
Mike Freedman Fall 2012 COS 561: Advanced Computer Networks Traffic Engineering.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 11 - Inter-Domain Routing - BGP (Border Gateway Protocol)
1 Agenda for Today’s Lecture The rationale for BGP’s design –What is interdomain routing and why do we need it? –Why does BGP look the way it does? How.
Text BGP Basics. Document Name CONFIDENTIAL Border Gateway Protocol (BGP) Introduction to BGP BGP Neighbor Establishment Process BGP Message Types BGP.
Michael Schapira, Princeton University Fall 2010 (TTh 1:30-2:50 in COS 302) COS 561: Advanced Computer Networks
Border Gateway Protocol BGP-4 BGP environment How BGP works BGP information BGP administration.
ROUTING ON THE INTERNET COSC Jun-16. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
1 Internet Routing 11/11/2009. Admin. r Assignment 3 2.
CS 3700 Networks and Distributed Systems
Border Gateway Protocol
BGP 1. BGP Overview 2. Multihoming 3. Configuring BGP.
CS 3700 Networks and Distributed Systems
Controlling the Impact of BGP Policy Changes on IP Traffic
Border Gateway Protocol
COS 561: Advanced Computer Networks
BGP supplement Abhigyan Sharma.
Interdomain Traffic Engineering with BGP
Lixin Gao ECE Dept. UMASS, Amherst
COS 561: Advanced Computer Networks
COS 561: Advanced Computer Networks
BGP Policies Jennifer Rexford
COS 561: Advanced Computer Networks
BGP Instability Jennifer Rexford
Presentation transcript:

Internet Routing (COS 598A) Today: Interdomain Traffic Engineering Jennifer Rexford Tuesdays/Thursdays 11:00am-12:20pm

Outline Border Gateway Protocol –BGP protocol –BGP policies –BGP decision process BGP traffic engineering for outbound traffic –Predicting effects of policy changes –Identifying good policy changes What about inbound traffic? –AS prepending and MEDs –Inter-AS negotiation

Interdomain Routing: 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? “ /24: path (2,1)” “ /24: path (1)” data traffic

Components of BGP BGP protocol –Definition of how two BGP neighbors communicate –Message formats, state machine, route attributes, etc. –Standardized by the IETF Policy specification –Flexible language for filtering and manipulating routes –Indirectly affects the selection of the best route –Varies across vendors, though constructs are similar BGP decision process –Complex sequence of rules for selecting the best route –De facto standard applied by router vendors –Being codified in a new RFC for BGP coming soon

BGP Protocol: BGP Sessions Establish session on TCP port 179 Exchange all active routes Exchange incremental updates AS1 AS2 While connection is ALIVE exchange route UPDATE messages BGP session

BGP Protocol: Update Messages Update messages –Advertisement New route for the prefix (e.g., /24) Attributes such as the AS path (e.g., “2 1”) –Withdrawal Announcing that the route is no longer available Numerous BGP attributes –AS path –Next-hop IP address –Local preference –Multiple-Exit Discriminator –…

BGP Policy: 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 Best Route Selection Apply Import Policies Best Route Table Apply Export Policies Install forwarding Entries for best Routes. Receive BGP Updates Best Routes Transmit BGP Updates Apply Policy = filter routes & tweak attributes Based on Attribute Values IP Forwarding Table Apply Policy = filter routes & tweak attributes Open ended programming. Constrained only by vendor configuration language

BGP Decision Process: Path Selection 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: Multiple Steps 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

BGP Decision Process in Action “(2, 1)” “(3, 4, 1)” “(2, 1)” But, what if the path “(3,4,1)” would be better?

Manipulating Policy to Move the Traffic Assign local preference to… –Prefer one neighbor over another for a prefix –Prefer certain AS paths over others Router configuration languages –Specifying rules for setting local-pref attribute –“if path(3, *, 1), then local-pref=110” –“else, local-pref=100” Allow policy to over-ride shortest AS path –Indirect way of making one path look better or worse than another –Main way to do BGP traffic engineering today

BGP Traffic Engineering

Limitations of intradomain traffic engineering –Alleviating congestion on edge links –Making use of new or upgraded edge links –Influencing choice of end-to-end path Extra flexibility by allowing changes to BGP policies –Direct traffic toward/from certain edge links –Change the set of egress links for a destination

BGP Modeling for Traffic Engineering Predict effects of changes to import policies –Inputs: routing, traffic, and configuration data –Outputs: flow of traffic through the network Topology BGP policy configuration eBGP routes Offered traffic BGP routing model Flow of traffic through the network

Steps in the Model Effects of import policy on the routes –Inputs: BGP routes, and import policies –Output: BGP routes modified by policies Set of best routes for the network –Inputs: BGP routes modified by policies –Output: set of best routes (max local-pref, min AS path,…) Best route per router –Inputs: set of BGP routes, and intradomain costs –Outputs: best route (closest egress) per prefix per router Link-level paths –Inputs: best route per router, and intradomain costs –Outputs: link-level shortest path(s) from entry to egress

But, Hard to Select Good Import Policy Changes Can’t enumerate all choices –Many eBGP sessions –Around 100K prefixes –Highly programmable policies Risk of creating side-effects –Overhead of BGP routing changes –Unpredictable behavior of others Vulnerability to changes –New eBGP routes from neighbors –Shifts in the traffic volume per prefix

Traffic Engineering Guidelines Predictability –Ensure the BGP decision process is deterministic –Assume that BGP updates are (relatively) stable Outbound traffic (import policy, local preference) –Easier to control how traffic leaves the network –Cooperate with neighbor ASes for inbound traffic Limit overhead introduced by routing changes –Minimize frequency of changes to routing policies –Limit number of prefixes affected by changes Limit impact on how traffic enters the network –Avoid new routes that might change neighbor’s mind –Select route with same attributes, or at least path length

Measurement Data Analysis of peering links –Links connecting AT&T to other large providers –Relatively small # of high-end routers BGP routing tables –Log daily output of “show ip bgp” command –Extract BGP routes for each prefix Cisco Netflow –Collect continuous flow-level measurement –Aggregate the traffic by prefix –Focus on outbound traffic to peers

Controlling the Scale Destination prefixes –More than 90,000 destination prefixes Don’t want to have per-prefix routing policies –Small fraction of prefixes contribute most of the traffic Focus on the small number of heavy hitters –Define routing policies for selected prefixes Routing choices –About 27,000 unique “routing choices” Help in reducing the scale of the problem –Small fraction of “routing choices” contribute most traffic Focus on the very small number of “routing choices” –Define routing policies on common attributes

Avoid Impacting Downstream Neighbors Will traffic volume change???

Predictable Routing Change Predictability –Do not change the route sent to downstream neighbor –Focus on prefixes where all “best” routes are identical –Neighbors do not even receive a new BGP advertisement! Example application –Multiple links to same peer, with one congested link –Assign lower local-pref at that link for some prefixes Empirical results –83.5% of prefixes have shortest AS paths that are all identical (same next-hop AS, same AS path, etc.) –These prefixes are responsible for 45% of the traffic –Plenty of scope to move traffic in a predictable fashion

Semi-Predictable Routing Change Semi-predictability –Do not change the length of the AS path sent to neighbor –Neighbors receive new advertisement with same length –(Hopefully) they still make the same routing decision Example application –Need to move some traffic from one peer to another –Find prefixes with “best” paths via both neighbors –Assign lower local-pref at some links for some prefixes Empirical results –10-15% of prefixes have shortest paths with 2 next hops –These prefixes contribute 35-40% of the traffic –Potential to move traffic in a semi-predictable fashion

Influence of AS Path Length AS path length –Plays a significant role in the BGP decision process –All “best” routes must have the same AS path length –10% of prefixes have choices with different path lengths An idea: a more flexible approach –Possible to disable consideration of AS path length, and incorporate AS path length in local-pref assignment –E.g., treat paths of length 3 and 4 as equally good AS prepending by other ASes –Inflating AS path length by adding fake hops –E.g., “ ” instead of “701 80” –18% of routes had some form of AS prepending

Inbound Traffic

Why Inbound Traffic is Hard to Manage Other ASes decide how to send to you –Destination-based routing –Other ASes decide which path to take –Based on their own policies AS 2 doesn’t know how AS 1 will send traffic toward p p

AS Prepending Artificial inflate AS path length –Prepend your own AS in the path –E.g., turn “3 4 5” into “ ” –Hope to make the path less attractive 1 3 “ ” “3 4 5”

Multiple Exit Discriminator (MED) Tell your neighbor what you want –MED attribute to indicate receiver preference –Decision process picks route with smallest MED –Can use MED for “cold potato” routing –But, have to get your neighbor to accept MEDs 1 3 “3 4 5” with MED=2 “3 4 5” with MED=1

Inter-AS Negotiation Better to cooperate? –Negotiate where to send –Inbound and outbound –Mutual benefits But, how to do it? –What info to exchange? –How to prioritize the many choices? –How prevent cheating? Open research territory Customer A Customer B multiple peering points Provider A Provider B Early-exit routing

Next Time: Multi-Homed Customers Two papers –“A Measurement-Based Analysis of Multi-homing” (SIGCOMM’03) –“Optimizing Cost and Performance for Multihoming” (SIGCOMM’04) Reviews of both papers –Brief summary of the paper –Reasons to accept the paper –Reasons to reject the paper –Suggestions for future research directions