Interdomain Routing EE 122: Intro to Communication Networks Fall 2010 (MW 4-5:30 in 101 Barker) Scott Shenker TAs: Sameer Agarwal, Sara Alspaugh, Igor.

Slides:



Advertisements
Similar presentations
BGP Convergence Jennifer Rexford. Outline Border Gateway Protocol (BGP) –Prefix-based routing at the AS level –Policy-based path-vector protocol –Incremental.
Advertisements

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.
INTERDOMAIN ROUTING POLICY COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Mike Freedman
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.
BGP EE 122, Fall 2013 Sylvia Ratnasamy Material thanks to Ion Stoica, Scott Shenker, Jennifer Rexford, and many other.
PATH VECTOR ROUTING AND THE BORDER GATEWAY PROTOCOL READING: SECTIONS PLUS OPTIONAL READING COS 461: Computer Networks Spring 2010 (MW 3:00-4:20.
1 Interdomain Routing EE122 Fall 2011 Scott Shenker Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson.
Interdomain Routing and The Border Gateway Protocol (BGP) Courtesy of Timothy G. Griffin Intel Research, Cambridge UK
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.
Computer Networking Lecture 10: Inter-Domain Routing
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Interdomain Routing Computer Science Division Department of Electrical Engineering and Computer.
Interdomain Routing Establish routes between autonomous systems (ASes). Currently done with the Border Gateway Protocol (BGP). AT&T Qwest Comcast Verizon.
Ion Stoica October 2, 2002 (* this presentation is based on Lakshmi Subramanian’s slides) EE 122: Inter-domain routing – Border Gateway Protocol (BGP)
CSEE W4140 Networking Laboratory Lecture 5: IP Routing (OSPF and BGP) Jong Yul Kim
Interdomain Routing EECS 122: Lecture 11 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
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.
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.
Interdomain Routing and the Border Gateway Protocol (BGP) Reading: Section COS 461: Computer Networks Spring 2011 Mike Freedman
ROUTING PROTOCOLS PART IV ET4187/ET5187 Advanced Telecommunication Network.
Border Gateway Protocol(BGP) L.Subramanian 23 rd October, 2001.
BGP CS168, Fall 2014 Sylvia Ratnasamy
Computer Networks Layering and Routing Dina Katabi
Inter-domain Routing Outline Border Gateway Protocol.
14 – Inter/Intra-AS Routing Network Layer Hierarchical Routing scale: with > 200 million destinations: can’t store all dest’s in routing tables!
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Introduction to BGP.
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.
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.
PATH VECTOR ROUTING AND THE BORDER GATEWAY PROTOCOL 1.
Network Layer r Introduction r Datagram networks r IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP r What’s inside a router r Routing.
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.
Network Layer4-1 Intra-AS Routing r Also known as Interior Gateway Protocols (IGP) r Most common Intra-AS routing protocols: m RIP: Routing Information.
CSCI-1680 Network Layer: Inter-domain Routing Based partly on lecture notes by Rob Sherwood, David Mazières, Phil Levis, Rodrigo Fonseca John Jannotti.
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.
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.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 11 - Inter-Domain Routing - BGP (Border Gateway Protocol)
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.
1 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
CS 3700 Networks and Distributed Systems
Border Gateway Protocol
CS 3700 Networks and Distributed Systems
Border Gateway Protocol
COS 561: Advanced Computer Networks
BGP supplement Abhigyan Sharma.
Interdomain Traffic Engineering with BGP
Cours BGP-MPLS-IPV6-QOS
COS 561: Advanced Computer Networks
COS 561: Advanced Computer Networks
COMP/ELEC 429/556 Introduction to Computer Networks
BGP Instability Jennifer Rexford
Computer Networks Protocols
Network Layer: Internet Inter-Domain Routing
Presentation transcript:

Interdomain Routing EE 122: Intro to Communication Networks Fall 2010 (MW 4-5:30 in 101 Barker) Scott Shenker TAs: Sameer Agarwal, Sara Alspaugh, Igor Ganichev, Prayag Narula Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and UC Berkeley

2 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 does BGP work? –Boring details pay more attention to the “why” than the “how”

3 Routing Provides paths between networks –Prefixes refer to the “network” portion of the address Last lecture presented two routing designs –Link-state (broadcast state, local computation on graph) –Distance vector (globally distributed route computation) Both only consider routing within a domain –All routers have same routing metric (shortest path) oNo autonomy oNo privacy issues oNo policy issues

4 Internet is more a single domain..... Internet not just unstructured collection of networks –“Networks” in the sense of prefixes Internet is comprised of a set of “autonomous systems” (ASes) –Independently run networks, some are commercial ISPs –Currently over 30,000 ASes ASes are sometimes called “domains” –Hence “interdomain routing”

5 Internet: a large number of ASes Large ISP Dial-Up ISP Access Network Small ISP Stub

6 Three levels in routing hierarchy Networks: reaches individual hosts –Covered in “Link-layer” lecture Intradomain: routes between networks –Covered in “lowest-cost routing” lecture Interdomain: routes between Ases –Today’s lecture Need a protocol to route between domains –BGP is current standard –BGP unifies network organizations

A New Routing Paradigm The idea of routing through networks was well- known before the Internet –Dijkstra's algorithm 1956 –Bellman-Ford 1958 The notion of “autonomous systems” which could implement their own private policies was new BGP was hastily designed in response to this need It has mystified us ever since….. 7

8 Who speaks BGP? R border routerinternal router BGP R2R1R3 AS1 AS2  Two types of routers  Border router (Edge), Internal router (Core)

9 Purpose of BGP R border router internal router BGP R2R1R3 A AS1 AS2 you can reach net A via me traffic to A table at R1: dest next hop AR2 Share connectivity information across ASes

10 I-BGP and E-BGP R border router internal router R1 AS1 R4 R5 B AS3 E-BGP R2R3 A AS2 announce B IGP: Intradomain routing Example: OSPF I-BGP IGP

11 In more detail Border router Internal router 1.Provide internal reachability (IGP) 2.Learn routes to external destinations (eBGP) 3.Distribute externally learned routes internally (iBGP) 4.Select closest egress (IGP)

12 Rest of lecture... Motivate why BGP is the way it is Discuss some problems with interdomain routing Explain some of BGP’s details –not fundamental, just series of specific design decisions

13 Why BGP Is the Way It Is

14 1. ASes are autonomous Want to choose their own internal routing protocol –Different algorithms and metrics Want freedom to route based on policy –“My traffic can’t be carried over my competitor’s network” –“I don’t want to carry transit traffic through my network” –Not expressible as Internet-wide “shortest path”! Want to keep their connections and policies private –Would reveal business relationships, network structure

15 2. ASes have business relationships Three basic kinds of relationships between ASes –AS A can be AS B’s customer –AS A can be AS B’s provider –AS A can be AS B’s peer Business implications –Customer pays provider –Peers don’t pay each other oExchange roughly equal traffic Policy implications: packet flow follows money flow –“When sending traffic, I prefer to route through customers over peers, and peers over providers” –“I don’t carry traffic from one provider to another provider”

Business Relationships 16 peer provider customer Relations between ASes Customer pay provider Peers don’t pay each other Business Implications

Routing Follows the Money! Peers provide transit between their customers Peers do not provide transit to each other 17 traffic allowed traffic not allowed

18 AS-level topology –Destinations are IP prefixes (e.g., /8) –Nodes are Autonomous Systems (ASes) oInternals are hidden –Links: connections and business relationships ClientWeb server

19 What routing algorithm can we use? Key issues are policy and privacy Can’t use shortest path –domains don’t have any shared metric –policy choices might not be shortest path Can’t use link state –would have to flood policy preferences and topology –would violate privacy

20 What about distance vector? Does not reveal any connectivity information But can only compute shortest paths Extend distance vector to allow policy choices?

21 Path-Vector Routing Extension of distance-vector routing –Support flexible routing policies –Faster loop detection (no count-to-infinity) Key idea: advertise the entire path –Distance vector: send distance metric per dest d –Path vector: send the entire path for each dest d d “d: path (2,1)” “d: path (1)” data traffic

22 Faster Loop Detection Node can easily detect a loop –Look for its own node identifier in the path –E.g., node 1 sees itself in the path “3, 2, 1” Node can simply discard paths with loops –E.g., node 1 simply discards the advertisement “d: path (2,1)” “d: path (1)” “d: path (3,2,1)”

23 Flexible Policies Each node can apply local policies –Path selection: Which path to use? –Path export: Which paths to advertise? Examples –Node 2 may prefer the path “2, 3, 1” over “2, 1” –Node 1 may not let node 3 hear the path “1, 2” 2 3 1

24 Selection vs Export Selection policies –determines which paths I want my traffic to take Export policies –determines whose traffic I am willing to carry Notes: –any traffic I carry will follow the same path my traffic takes, so there is a connection between the two –from a protocol perspective, decisions can be arbitrary ocan depend on entire path (advantage of PV approach)

25 Illustration Route selection Route export Customer Competitor Primary Backup Selection: controls traffic out of the network Export: controls traffic into the network

26 Examples of Standard Policies Transit network: –Selection: prefer customer to peer to provider oWhy? –Export: oLet customers use any of your routes oLet anyone route through you to your customer oBlock everything else Multihomed (nontransit) network: –Export: Don’t export routes for other domains –Selection: pick primary over backup

27 Issues with Path-Vector Policy Routing Reachability Security Performance Lack of isolation Policy oscillations

28 Reachability In normal routing, if graph is connected then reachability is assured With policy routing, this does not always hold AS 2 AS 3AS 1 Provider Customer

29 Security An AS can claim to serve a prefix that they actually don’t have a route to (blackholing traffic) –problem not specific to policy or path vector –important because of AS autonomy Fixable: make ASes “prove” they have a path

30 Performance BGP designed for policy not performance “Hot Potato” routing common but suboptimal –AS wants to hand off the packet as soon as possible Even BGP “shortest paths” are not shortest –Fewest AS’s != Fewest number of routers 20% of paths inflated by at least 5 router hops Not clear this is a significant problem

31 Performance (example) AS path length can be misleading –An AS may have many router-level hops AS 4 AS 3 AS 2 AS 1 BGP says that path 4 1 is better than path 3 2 1

32 Lack of Isolation: dynamics If there is a change in the path, the path must be re-advertised to every node upstream of the change –Why isn’t this a problem for DV routing? “Route Flap Damping” supposed to help here, (but ends up causing more problems) BGP updates per day (100,000s) Date (Jan - Dec 2005) Fig. from [Huston & Armitage 2006]

33 Lack of isolation: routing table size Each BGP router must know path to every other IP prefix –but router memory is expensive and thus constrained Number of prefixes growing more than linearly Subject of current research Number of prefixes in BGP table Fig. from [Huston & Armitage 2006] Jan ’02Jan ’06

34 Persistent Oscillations due to Policies Depends on the interactions of policies We are back to where we started!

35 Persistent Oscillations due to Policies Depends on the interactions of policies “1” prefers “1 3 0” over “1 0” to reach “0”

36 Persistent Oscillations due to Policies Initially: nodes “1”, “2”, and “3” know only shortest path to “0”

37 Persistent Oscillations due to Policies “1” advertises its path “1 0” to “2” advertise: 1 0

38 Persistent Oscillations due to Policies

39 Persistent Oscillations due to Policies advertise: 3 0 “3” advertises its path “3 0” to “1”

40 Persistent Oscillations due to Policies

41 Persistent Oscillations due to Policies withdraw: 1 0 “1” withdraws its path “1 0” from “2” since is no longer using it

42 Persistent Oscillations due to Policies

43 Persistent Oscillations due to Policies advertise: 2 0 “2” advertises its path “2 0” to “3”

44 Persistent Oscillations due to Policies

45 Persistent Oscillations due to Policies withdraw: 3 0 “3” withdraws its path “3 0” from “1” since is no longer using it

46 Persistent Oscillations due to Policies

47 Persistent Oscillations due to Policies “1” advertises its path “1 0” to “2”

48 Persistent Oscillations due to Policies

49 Persistent Oscillations due to Policies withdraw: 2 0 “2” withdraws its path “2 0” from “3” since is no longer using it

50 Persistent Oscillations due to Policies Depends on the interactions of policies We are back to where we started!

51 Policy Oscillations (cont’d) Policy autonomy vs network stability –focus of much recent research Not an easy problem –PSPACE-complete to decide whether given policies will eventually converge! However, if policies follow normal business practices, stability is guaranteed

Theoretical Results (in more detail) If preferences obey Gao-Rexford, BGP is safe –Safe = guaranteed to converge If there is no “dispute wheel”, BGP is safe –But converse is not true If there are two stable states, BGP is unsafe –But converse is not true If domains can’t lie about routes, and there is no dispute wheel, BGP is incentive compatible 52

53 Rest of lecture.... BGP details Stay awake as long as you can.....

54 Interdomain routing protocol for the Internet –Prefix-based path-vector protocol –Policy-based routing based on AS Paths –Evolved during the past 20 years 1989 : BGP-1 [RFC 1105] –Replacement for EGP (1984, RFC 904) 1990 : BGP-2 [RFC 1163] 1991 : BGP-3 [RFC 1267] 1995 : BGP-4 [RFC 1771] –Support for Classless Interdomain Routing (CIDR) Border Gateway Protocol (BGP)

55 BGP Routing Table ner-routes>show ip bgp BGP table version is , local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * i i * i i * i / ? * e / e

56 BGP Operations 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

57 BGP Route Processing 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

58 Selecting the best route Attributes of routes set/modified according to operator instructions Routes compared based on attributes using (mostly) standardized rules 1.Highest local preference (all equal by default… 2.Shortest AS path length …so default = shortest paths) 3.Lowest origin type (IGP < EGP < incomplete) 4.Lowest MED 5.eBGP- over iBGP-learned 6.Lowest IGP cost 7.Lowest next-hop router ID

59 Attributes Destination prefix (e.g, /16) Routes have attributes, including –AS path (e.g., “ ”) –Next-hop IP address (e.g., ) AS 88 Princeton /16 AS path = 88 Next Hop = AS 7018 AT&T AS RIPE NCC RIS project /16 AS path = Next Hop =

60 ASPATH Attribute AS /16 AS Path = 88 AS 1239 Sprint AS 1755 Ebone AT&T AS 3549 Global Crossing /16 AS Path = /16 AS Path = AS /16 Princeton Prefix Originated AS RIPE NCC RIS project AS 1129 Global Access /16 AS Path = /16 AS Path = /16 AS Path = /16 AS Path =

61 Local Preference attribute Policy choice between different AS paths The higher the value the more preferred Carried by IBGP, local to the AS. AS4 AS2 AS3 AS /24 BGP table at AS4:

62 Internal BGP and Local Preference Example –Both routers prefer the path through AS 100 on the left –… even though the right router learns an external path I-BGP AS 256 AS 300 Local Pref = 100 Local Pref = 90 AS 100 AS 200

63 Origin attribute Who originated the announcement? Where was a prefix injected into BGP? IGP, BGP or Incomplete (often used for static routes)

64 Multi-Exit Discriminator (MED) attr. When ASes interconnected via 2 or more links AS announcing prefix sets MED (AS2 in picture) AS receiving prefix uses MED to select link A way to specify how close a prefix is to the link it is announced on Link B Link A MED=10 MED=50 AS1 AS2 AS4 AS3

65 IGP cost attribute Used in BGP for hot-potato routing –Each router selects the closest egress point –… based on the path cost in intradomain protocol Somewhat in conflict with MED hot potato A B C D G E F A B dst

66 Lowest Router ID Last step in route selection decision process “Arbitrary” tiebreaking But we do sometimes reach this step, so how ties are broken matters

67 Joining BGP and IGP Information Border Gateway Protocol (BGP) –Announces reachability to external destinations –Maps a destination prefix to an egress point o /16 reached via Interior Gateway Protocol (IGP) –Used to compute paths within the AS –Maps an egress point to an outgoing link o reached via

68 Some Routers Don’t Need BGP Customer that connects to a single upstream ISP –The ISP can introduce the prefixes into BGP –… and the customer can simply default-route to the ISP Qwest Yale University Nail up default routes /0 pointing to Qwest Nail up routes /16 pointing to Yale /16

69 Summary BGP is essential to the Internet –ties different organizations together Poses fundamental challenges.... –leads to use of path vector approach...and myriad details