CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig.

Slides:



Advertisements
Similar presentations
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.
Advertisements

Border Gateway Protocol Ankit Agarwal Dashang Trivedi Kirti Tiwari.
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)
Does BGP Solve the Shortest Paths Problem? Timothy G. Griffin Joint work with Bruce Shepherd and Gordon Wilfong Bell Laboratories, Lucent Technologies.
Part IV BGP Modeling. 2 BGP Is Not Guaranteed to Converge!  BGP is not guaranteed to converge to a stable routing. Policy inconsistencies can lead to.
Fundamentals of Computer Networks ECE 478/578 Lecture #18: Policy-Based Routing Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
Courtesy: Nick McKeown, Stanford
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.
Interdomain Routing and The Border Gateway Protocol (BGP) Courtesy of Timothy G. Griffin Intel Research, Cambridge UK
Part II: Inter-domain Routing Policies. March 8, What is routing policy? ISP1 ISP4ISP3 Cust1Cust2 ISP2 traffic Connectivity DOES NOT imply reachability!
Lecture 14: Inter-domain Routing Stability CS 268 class March 8 th, 2004 (slides from Timothy Griffin’s tutorial and Craig Labovitz’s NANOG talk)
Interdomain Routing and The Border Gateway Protocol (BGP) Courtesy of Timothy G. Griffin Intel Research, Cambridge UK
The Border Gateway Protocol (BGP) Sharad Jaiswal.
Slide -1- February, 2006 Interdomain Routing Gordon Wilfong Distinguished Member of Technical Staff Algorithms Research Department Mathematical and Algorithmic.
IP Routing CS 552 Richard Martin (with slides from S. Savage and S. Agarwal)
Computer Networking Lecture 10: Inter-Domain Routing
Announcement Paper summary due at 11:59PM before the class Sometimes there are two papers which are closely related. In your summary –Share the problem.
15-744: Computer Networking L-5 Inter-Domain Routing.
Ion Stoica October 2, 2002 (* this presentation is based on Lakshmi Subramanian’s slides) EE 122: Inter-domain routing – Border Gateway Protocol (BGP)
Feb 12, 2008CS573: Network Protocols and Standards1 Border Gateway Protocol (BGP) Network Protocols and Standards Winter
© 2009 Cisco Systems, Inc. All rights reserved. ROUTE v1.0—6-1 Connecting an Enterprise Network to an ISP Network Considering the Advantages of Using BGP.
ROUTING PROTOCOLS PART IV ET4187/ET5187 Advanced Telecommunication Network.
Border Gateway Protocol(BGP) L.Subramanian 23 rd October, 2001.
CS 268: Lecture 18 Measurement Studies on Internet Routing Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Inter-domain Routing Outline Border Gateway Protocol.
Internet Routing: Measurement, Modeling, and Analysis Dr. Jia Wang AT&T Labs Research Florham Park, NJ 07932, USA
Introduction to BGP.
IP is a Network Layer Protocol Physical 1 Network DataLink 1 Transport Application Session Presentation Network Physical 1 DataLink 1 Physical 2 DataLink.
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 268: Lecture 9 Inter-domain Routing Protocol Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks BGP.
Chapter 9. Implementing Scalability Features in Your Internetwork.
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.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #08: SOLUTIONS Shivkumar Kalyanaraman: GOOGLE: “Shiv.
1 Introduction to Computer Networks University of Ilam By: Dr. Mozafar Bag-Mohammadi Routing.
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.
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.
Computer Networks Lecture 8: Network layer Part III
© 2005 Cisco Systems, Inc. All rights reserved. BGP v3.2—6-1 Scaling Service Provider Networks Scaling IGP and BGP in Service Provider Networks.
1 Border Gateway Protocol (BGP) and BGP Security Jeff Gribschaw Sai Thwin ECE 4112 Final Project April 28, 2005.
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
Inter-domain Routing Outline Border Gateway Protocol.
CSci5221: BGP Policies1 Inter-Domain Routing: BGP, Routing Policies, etc. BGP Path Selection and Policy Routing Stable Path Problem and Policy Conflicts.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 11 - Inter-Domain Routing - BGP (Border Gateway Protocol)
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
Border Gateway Protocol
COS 561: Advanced Computer Networks
BGP supplement Abhigyan Sharma.
Department of Computer and IT Engineering University of Kurdistan
COS 561: Advanced Computer Networks
COS 561: Advanced Computer Networks
Inter-domain Routing Protocol
COS 561: Advanced Computer Networks
BGP Instability Jennifer Rexford
Computer Networks Protocols
Presentation transcript:

CS 268: Lecture 11 Inter-domain Routing Protocol Karthik Lakshminarayanan UC Berkeley (substituting for Ion Stoica) (*slides from Timothy Griffin and Craig Labovitz)

2 Overview  An Introduction to BGP  BGP and the Stable Paths problem  Convergence of BGP in the real world  The End-to-End Effects of Internet Path Selection

3 Internet Routing  Internet organized as a two level hierarchy  First level – autonomous systems (AS’s) -AS – region of network under a single administrative domain  AS’s run an intra-domain routing protocols -Distance Vector, e.g., RIP -Link State, e.g., OSPF  Between AS’s runs inter-domain routing protocols, e.g., Border Gateway Routing (BGP) -De facto standard today, BGP-4

4 Example AS-1 AS-2 AS-3 Interior router BGP router

5 Inter-domain Routing basics  Internet is composed of over autonomous systems  BGP = Border Gateway Protocol -Policy-Based routing protocol -De facto inter-domain routing protocol of Internet  Relatively simple protocol, but… -complex configuration: entire world can see, and be impacted by, configuration mistakes

6 BGP Basics  Use TCP  Border Gateway Protocol (BGP), based on Bellman-Ford path vector  AS’s exchange reachability information through their BGP routers, only when routes change  BGP routing information – a sequence of AS’s indicating the path traversed by a route  General operations of a BGP router: -Learns multiple paths -Picks best path according to its AS policies -Install best pick in IP forwarding tables

7 BGP Operations (Simplified) 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

8 Customers and Providers Customer pays provider for access to the Internet provider customer IP traffic provider customer

9 The “Peering” Relationship peer customerprovider Peers provide transit between their respective customers Peers do not provide transit between peers Peers (often) do not exchange $$$ traffic allowed traffic NOT allowed

10 Peering Provides Shortcuts Peering also allows connectivity between the customers of “Tier 1” providers. peer customerprovider

11 Peering Wars  Reduces upstream transit costs  Can increase end-to-end performance  May be the only way to connect your customers to some part of the Internet (“Tier 1”)  You would rather have customers  Peers are usually your competitors  Peering relationships may require periodic renegotiation Peering struggles are by far the most contentious issues in the ISP world! Peering agreements are often confidential. PeerDon’t Peer

12 Architecture of Dynamic Routing AS 1 AS 2 BGP EGP = Exterior Gateway Protocol IGP = Interior Gateway Protocol Metric based: OSPF, IS-IS, RIP, EIGRP (cisco) Policy based: BGP OSPF EIGRP

13 AS-Path  Sequence of AS’s a route traverses  Used for loop detection and to apply policy / / /16 AS-1 AS-2 AS-3 AS-4 AS /16 AS-2 AS-3 AS /16 AS-2 AS /16 AS-2 AS-5

14 Four Types of BGP Messages  Open : Establish a peering session.  Keep Alive : Handshake at regular intervals.  Notification : Shuts down a peering session.  Update : Announcing new routes or withdrawing previously announced routes. announcement = prefix + attributes values

15 Two Types of BGP Neighbor Relationships External Neighbor (eBGP) in a different Autonomous Systems Internal Neighbor (iBGP) in the same Autonomous System AS1 AS2 eBGP iBGP iBGP is routed using Interior Gateway Protocol (IGP) such as OSPF/IS-IS

16 iBGP Peers Must be Fully Meshed iBGP neighbors do not announce routes received via iBGP to other iBGP neighbors. eBGP update iBGP updates iBGP is needed to avoid routing loops within an AS Injecting external routes into IGP does not scale and causes BGP policy information to be lost BGP does not provide “shortest path” routing

17 Important BGP attributes  LocalPREF -Local preference policy to choose “most” preferred route  Multi-exit Discriminator (MED) -Which peering point to choose?  Import Rules -What route advertisements do I accept?  Export Rules -Which routes do I forward to whom?

18 Route Selection Summary Highest Local Preference Shortest ASPATH Lowest MED i-BGP < e-BGP Lowest IGP cost to BGP egress Lowest router ID Traffic engineering Enforce relationships Throw up hands and break ties

19 Implementing Customer/Provider and Peer/Peer relationships  Enforce transit relationships -Outbound route filtering  Enforce order of route preference -provider < peer < customer

20 Import Routes From peer From peer From provider From provider From customer From customer provider routecustomer routepeer routeISP route

21 Export Routes To peer To peer To customer To customer To provider From provider provider routecustomer routepeer routeISP route filters block

22 Overview  An Introduction to BGP  BGP and the Stable Paths problem  Convergence of BGP in the real world  The End-to-End Effects of Internet Path Selection

23 Our focus What Problem is BGP solving? Underlying problem Shortest Paths Distributed means of computing a solution X? RIP, OSPF, IS-IS BGP  aid in the design of policy analysis algorithms and heuristics,  aid in the analysis and design of BGP and extensions,  help explain some BGP routing anomalies,  provide a fun way of thinking about the protocol Having an X can

24 1 Q : How simple can X get? A: The Stable Paths Problem (SPP)  graph of nodes and edges  node 0, called the origin  for each non-zero node, a set or permitted paths to the origin—this set always contains the “null path”  ranking of permitted paths at each node—null path is always least preferred An instance of the SPP : When modeling BGP : nodes represent BGP speaking border routers, and 0 represents a node originating some address block most preferred … least preferred (not null)

A Solution to a Stable Paths Problem  node u’s assigned path is either the null path or is a path uwP, where wP is assigned to node w and {u,w} is an edge in the graph,  each node is assigned the highest ranked path among those consistent with the paths assigned to its neighbors. A Solution need not represent a shortest path tree, or a spanning tree. A solution is an assignment of permitted paths to each node such that

26 Example: SHORTEST

27 Example: SHORTEST1 (Solution)

28 Example: SHORTEST

29 Example: SHORTEST2 (Solution)

Example: GOOD GADGET

31 Example: GOOD GADGET (Solution)

32 A Stable Paths Problem may have multiple solutions First solution Second solution DISAGREE

33 Example: NAUGHTY GADGET

34 Example: NAUGHTY GADGET (Solution 1)

35 Example: NAUGHTY GADGET (Solution 2)

36 SPP explains possibility of BGP divergence  BGP is not guaranteed to converge to a stable routing. Policy inconsistencies can lead to “livelock” protocol oscillations.  See “Persistent Route Oscillations in Inter-domain Routing” by K. Varadhan, R. Govindan, and D. Estrin. ISI report, 1996 SolvableCan Diverge must converge must diverge The SPP view :

37 Example: NAUGHTY GADGET

38 Example: BAD GADGET

39 Example: BAD GADGET chooses (2 0) 4 chooses (4 2 0) 3 chooses ( ) 1 chooses (1 0)

40 Example: BAD GADGET … 2 chooses (2 1 0) … 2 chooses (2 0) 4 chooses (4 2 0) 3 chooses ( ) 1 chooses (1 0)

41 Example: BAD GADGET … 4 chooses ( ) … 2 chooses (2 0) 4 chooses (4 2 0) 3 chooses ( ) 1 chooses (1 0)

42 Example: BAD GADGET … 3 chooses (3 0) … 2 chooses (2 0) 4 chooses (4 2 0) 3 chooses ( ) 1 chooses (1 0)

43 Example: BAD GADGET … 4 chooses (4 3 0) … 2 chooses (2 0) 4 chooses (4 2 0) 3 chooses ( ) 1 chooses (1 0)

44 Example: BAD GADGET … 1 chooses (1 3 0) … 2 chooses (2 0) 4 chooses (4 2 0) 3 chooses ( ) 1 chooses (1 0)

45 Example: BAD GADGET … 2 chooses (2 0) … chooses (2 0) 4 chooses (4 2 0) 3 chooses ( ) 1 chooses (1 0)

46 Example: BAD GADGET … 4 chooses (4 2 0) … chooses (2 0) 4 chooses (4 2 0) 3 chooses ( ) 1 chooses (1 0)

47 Example: BAD GADGET … 3 chooses ( ) … chooses (2 0) 4 chooses (4 2 0) 3 chooses ( ) 1 chooses (1 0)

48 Example: BAD GADGET … 1 chooses (1 0) … That was one round of oscillation! 2 chooses (2 0) 4 chooses (4 2 0) 3 chooses ( ) 1 chooses (1 0)

BAD GADGET : No Solution In a BGP-like protocol each node local decisions at least one node can always improve its path Result: persistent oscillation

50 SURPRISE : Beware of Backup Policies Becomes BAD GADGET if link (4, 0) goes down. BGP is not robust : it is not guaranteed to recover from network failures

51 PRECARIOUS As with DISAGREE, this part has two distinct solutions This part has a solution only when node 1 is assigned the direct path (1 0). Has a solution, but can get “trapped”

52 Theoretical Results  The problem of determining whether an instance of stable paths problem is solvable is NP- complete  Shortest path route selection is provably safe

53 What is to be done? Static Approach Inter-AS coordination Automated Analysis of Routing Policies (This is very hard). Dynamic Approach Extend BGP with a dynamic means of detecting and suppressing policy-based oscillations? These approaches are complementary

54 Overview  An Introduction to BGP  BGP and the Stable Paths problem  Convergence of BGP in the real world  The End-to-End Effects of Internet Path Selection

55 Convergence in the real-world?  [Labovitz99] Experimental results from two year study which measured 150,000 BGP faults injected into peering sessions at several IXPs  Found: -Internet averages 3 minutes to converge after failover -Some multihomed failovers (short to long ASPath) require 15 minutes

56 BGP Convergence Example R AS0 AS1 AS2 AS3 *B Rvia AS3 B R via AS0,AS3 B R via AS2,AS3 *B Rvia AS3 B R via AS0,AS3 B R via AS2,AS3 *B Rvia AS3 B R via AS1,AS3 B R via AS2,AS3 AS0AS1AS2 *** *B R via 203 *B R via 013 B R via 103

57 Convergence Result  If we assume 1.unbounded delay on BGP processing and propagation 2.Full BGP mesh BGP peers 3.Constrained shortest path first selection algorithm  Convergence time of BGP is O(N!), where N number of BGP speakers There exists possible ordering of messages such that BGP will explore all possible ASPaths of all possible lengths

58 Overview  An Introduction to BGP  BGP and the Stable Paths problem  Convergence of BGP in the real world  The End-to-End Effects of Internet Path Selection

59 End-to-end effects of Path Selection  Goal of study: Quantify and understand the impact of path selection on end-to-end performance  Basic metric -Let X = performance of default path -Let Y = performance of best path -Y-X = cost of using default path  Technical issues -How to find the best path? -How to measure the best path?

60 Approximating the best path  Key Idea -Use end-to-end measurements to extrapolate potential alternate paths  Rough Approach -Measure paths between pairs of hosts -Generate synthetic topology – full NxN mesh -Conservative approximation of best path  Question: Given a selection of N hosts, how crude is this approximation?

61 Methodology  For each pair of end-hosts, calculate: -Average round-trip time -Average loss rate -Average bandwidth  Generate synthetic alternate paths (based on long-term averages)  For each pair of hosts,graph difference between default path and alternate path

62 Courtesy: Stefan Savage

63 Courtesy: Stefan Savage

64 Courtesy: Stefan Savage

65 Courtesy: Stefan Savage

66 Why Path Selection is imperfect?  Technical Reasons -Single path routing -Non-topological route aggregation -Coarse routing metrics (AS_PATH) -Local policy decisions  Economic Reasons -Disincentive to offer transit -Minimal incentive to optimize transit traffic