Interdomain Routing Reading: Sections P&D 4.3.{3,4}

Similar documents
Interdomain Routing Reading: Sections K&R EE122: Intro to Communication Networks Fall 2007 (WF 4:00-5:30 in Cory 277)

Interdomain Routing. EE122 Fall 2011 Scott Shenker

Interdomain Routing. EE122 Fall 2012 Scott Shenker

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal

Internet Routing Protocols Lecture 01 & 02

Internet Routing Protocols Lecture 03 Inter-domain Routing

PART III. Implementing Inter-Network Relationships with BGP

Professor Yashar Ganjali Department of Computer Science University of Toronto.

EE 122: Inter-domain routing Border Gateway Protocol (BGP)

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella

CS4700/CS5700 Fundamentals of Computer Networks

BGP. Autonomous system (AS) BGP version 4

Internet Protocols Fall Lectures Inter-domain routing, mobility support, multicast routing Andreas Terzis

BGP. Autonomous system (AS) BGP version 4

COMP/ELEC 429 Introduction to Computer Networks

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

Border Gateway Protocol (an introduction) Karst Koymans. Monday, March 10, 2014

Lecture 16: Interdomain Routing. CSE 123: Computer Networks Stefan Savage

Lecture 18: Border Gateway Protocol

Inter-Domain Routing: BGP

Lecture 17: Border Gateway Protocol

Internet inter-as routing: BGP

Next Lecture: Interdomain Routing : Computer Networking. Outline. Routing Hierarchies BGP

CSCD 433/533 Network Programming Fall Lecture 14 Global Address Space Autonomous Systems, BGP Protocol Routing

Lecture 4: Intradomain Routing. CS 598: Advanced Internetworking Matthew Caesar February 1, 2011

Dynamics of Hot-Potato Routing in IP Networks

Outline Computer Networking. Inter and Intra-Domain Routing. Internet s Area Hierarchy Routing hierarchy. Internet structure

Interdomain routing CSCI 466: Networks Keith Vertanen Fall 2011

TELE 301 Network Management

CS 268: Computer Networking. Next Lecture: Interdomain Routing

internet technologies and standards

Routing on the Internet. Routing on the Internet. Hierarchical Routing. Computer Networks. Lecture 17: Inter-domain Routing and BGP

Routing. Jens A Andersson Communication Systems

Border Gateway Protocol

Routing Unicast routing protocols

Lecture 16: Border Gateway Protocol

Routing part 2. Electrical and Information Technology

Internet Routing : Fundamentals of Computer Networks Bill Nace

INTERDOMAIN ROUTING POLICY

Inter-domain Routing. Outline. Border Gateway Protocol

Ravi Chandra cisco Systems Cisco Systems Confidential

Interdomain Routing. Networked Systems (H) Lecture 11

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley

CS321: Computer Networks Unicast Routing

An overview of how packets are routed in the Internet

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP)

Introduction to IP Routing. Geoff Huston

IP Addressing & Interdomain Routing. Next Topic

Backbone Networks. Networking Case Studies. Backbone Networks. Backbone Topology. Mike Freedman COS 461: Computer Networks.

CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca

Configuring BGP. Cisco s BGP Implementation

Connecting to a Service Provider Using External BGP

Interdomain Routing BGP. Benjamin Baron

Advanced Computer Networks

6.829 BGP Recitation. Rob Beverly September 29, Addressing and Assignment

ISP Border Definition. Alexander Azimov

Border Gateway Protocol (an introduction) Karst Koymans. Tuesday, March 8, 2016

INTERDOMAIN ROUTING POLICY READING: SECTIONS PLUS OPTIONAL READING

15-744: Computer Networking BGP

CS BGP v4. Fall 2014

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP Attributes and Path Selection

Connecting to a Service Provider Using External BGP

BGP. Border Gateway Protocol A short introduction. Karst Koymans. Informatics Institute University of Amsterdam. (version 18.3, 2018/12/03 13:53:22)

Network Layer (Routing)

CS 457 Networking and the Internet. The Global Internet (Then) The Global Internet (And Now) 10/4/16. Fall 2016

BGP. Autonomous system (AS) BGP version 4. Definition (AS Autonomous System)

BGP. Border Gateway Protocol (an introduction) Karst Koymans. Informatics Institute University of Amsterdam. (version 17.3, 2017/12/04 13:20:08)

CSE/EE 461 Lecture 11. Inter-domain Routing. This Lecture. Structure of the Internet. Focus How do we make routing scale?

CS 268: Computer Networking

Master Course Computer Networks IN2097

PATH VECTOR ROUTING AND THE BORDER GATEWAY PROTOCOL

Inter-Domain Routing: BGP II

Inter-Domain Routing: BGP II

CS 204: BGP. Jiasi Chen Lectures: MWF 12:10-1pm Humanities and Social Sciences

CS519: Computer Networks. Lecture 4, Part 5: Mar 1, 2004 Internet Routing:

Interdomain Routing and Connectivity

CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca

Inter-AS routing and BGP. Network Layer 4-1

BGP Configuration. BGP Overview. Introduction to BGP. Formats of BGP Messages. Header

BGP Attributes and Policy Control

Computer Networking Introduction

Introduction to BGP. ISP Workshops. Last updated 30 October 2013

BGP Attributes and Policy Control

CSCI-1680 Network Layer: Inter-domain Routing Rodrigo Fonseca

Advanced Computer Networks

Graph abstraction: costs. Graph abstraction 10/26/2018. Interplay between routing and forwarding

CS Networks and Distributed Systems. Lecture 8: Inter Domain Routing

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm

BGP Routing and BGP Policy. BGP Routing. Agenda. BGP Routing Information Base. L47 - BGP Routing. L47 - BGP Routing

Master Course Computer Networks IN2097

BGP101. Howard C. Berkowitz. (703)

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

BGP Attributes and Policy Control

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

CSE 461 Interdomain routing. David Wetherall

Network-Wide Prediction of BGP Routes

Transcription:

Interdomain Routing Reading: Sections P&D 4.3.{3,4} EE122: Intro to Communication Networks Fall 2006 (MW 4:00-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Jennifer Rexford, Ion Stoica and colleagues at Princeton and UC Berkeley 1 Outline Why does BGP exist? What is interdomain routing and why do we need it? Why does BGP look the way it does? How does BGP work? Boring details Yuck pay more attention to the why than the how 3 1

Routing Provides paths between networks Previous lecture presented two routing designs link-state distance vector Previous lecture assumed single domain all routers have same routing metric (shortest path) no privacy issues, no policy issues 4 Internet is more complicated... Internet not just unstructured collection of networks Internet is comprised of a set of autonomous systems (ASes) independently run networks, some are commercial ISPs currently around 20,000 ASes ASes are sometimes called domains hence interdomain routing 5 2

Internet: a large number of ASes Large ISP Large ISP Stub Dial-Up ISP Stub Small ISP Stub Access Network 6 This adds another level in hierarchy Three levels in logical routing hierarchy networks: reaches individual hosts intradomain: routes between networks interdomain: routes between ASes Need a protocol to route between domains BGP is current standard Different kinds of unification IP unifies network technologies BGP unifies network organizations 7 3

Who speaks BGP? AS2 AS1 BGP R2 R3 R1 R border router internal router Two types of routers Border router (Edge), Internal router (Core) 8 Purpose of BGP you can reach net A via me AS2 AS1 traffic to A R1 BGP R2 A R3 table at R1: dest next hop A R2 R border router internal router Share connectivity information across ASes 9 4

I-BGP and E-BGP I-BGP IGP: Intradomain routing Example: OSPF R2 IGP R3 AS1 E-BGP AS2 A announce B R1 R border router internal router R4 AS3 B R5 10 In more detail Border router Internal router 6 2 3 4 9 2 1. Provide internal reachability (IGP) 2. Learn routes to external destinations (ebgp) 3. Distribute externally learned routes internally (ibgp) 4. Select closest egress (IGP) 3 1 11 5

Rest of lecture... Motivate why BGP is the way it is driven by two salient aspects of AS structure Discuss some problems with interdomain routing Discuss (briefly!) what a new BGP might look like Explain some of BGP s details not fundamental, just series of specific design decisions 12 #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 13 6

#2 ASes have business relationships Three 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 Policy implications 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 14 AS-level topology Destinations are IP prefixes (e.g., 12.0.0.0/8) Nodes are Autonomous Systems (ASes) internals are hidden Links are connections & business relationships 3 4 5 2 7 6 1 Client Web server 15 7

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 16 What about distance vector? Does not reveal any connectivity information But is designed to compute shortest paths Extend distance vector to allow policy choices? 17 8

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 3 d: path (2,1) d: path (1) 2 1 data traffic data traffic d 18 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 3 d: path (2,1) d: path (1) 2 1 d: path (3,2,1) 19 9

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 20 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 can depend on entire path (advantage of PV approach) 21 10

Illustration Route advertisement Route selection Customer Primary Competitor Backup Selection: controls traffic out of the network Export: controls traffic into the network 22 Examples of Standard Policies Transit network: Selection: prefer customer to peer to provider Export: only export customer s routes to peers Multihomed (nontransit) network: Export: Don t export routes for other domains Selection: pick primary over backup 23 11

Any Questions? 24 Issues with Path-Vector Policy Routing Reachability Security Performance Lack of isolation Policy oscillations 25 12

Reachability In normal routing, if graph is connected then reachability is assured With policy routing, this does not always hold 26 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 27 13

Performance BGP designed for policy not performance Hot Potato routing common but suboptimal AS wants to hand off the packet as soon as possible 20% of paths inflated by at least 5 router hops Not clear this is a significant problem 28 Lack of Isolation If there is a change in the path, the path must be re-advertised to every node upstream of the change Distance-vector provides more isolation 29 14

Persistent Oscillations due to Policies Depends on the interactions of policies 1 3 0 1 0 1 2 1 0 2 0 0 2 3 3 2 0 3 0 We are back to where we started! 30 Policy Oscillations (cont d) Policy autonomy vs network stability focus of much recent research If there is no global constraint, then any degree of autonomy can lead to oscillations only shortest path is guaranteed to be stable However, if policies follow normal business practices, stability is guaranteed lack of cycles in business graph a global constraint 31 15

Redesigning BGP If we keep all the current constraints, not many alternative design options (at high-level) Which constraints might we lift? Are most policies really private? could use link-state for some of the routing Do ASes really need to see the entire path? could hide some of the path, reducing updates Can AS structure be integrated into addressing? 32 Any Questions? 33 16

Rest of lecture... BGP details Stay awake as long as you can... 34 Border Gateway Protocol (BGP) Interdomain routing protocol for the Internet Prefix-based path-vector protocol Policy-based routing based on AS Paths Evolved during the past 15 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) 35 17

BGP Routing Table ner-routes>show ip bgp BGP table version is 6128791, local router ID is 4.2.34.165 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 * i3.0.0.0 4.0.6.142 1000 50 0 701 80 i * i4.0.0.0 4.24.1.35 0 100 0 i * i12.3.21.0/23 192.205.32.153 0 50 0 7018 4264 6468? * e128.32.0.0/16 192.205.32.153 0 50 0 7018 4264 6468 25 e 36 BGP Operations Establish session on TCP port 179 AS1 Exchange all active routes BGP session AS2 Exchange incremental updates While connection is ALIVE exchange route UPDATE messages 37 18

Incremental Protocol A node learns multiple paths to destination Stores all of the routes in a routing table Applies policy to select a single active route and may advertise the route to its neighbors Incremental updates Announcement Upon selecting a new active route, add node id to path and (optionally) advertise to each neighbor Withdrawal If the active route is no longer available send a withdrawal message to the neighbors 38 BGP Route Destination prefix (e.g,. 128.112.0.0/16) Routes have attributes, including AS path (e.g., 7018 88 ) Next-hop IP address (e.g., 12.127.0.121) AS 88 Princeton 192.0.2.1 AS 7018 AT&T 12.127.0.121 AS 12654 RIPE NCC RIS project 128.112.0.0/16 AS path = 88 Next Hop = 192.0.2.1 128.112.0.0/16 AS path = 7018 88 Next Hop = 12.127.0.121 39 19

ASPATH Attribute 128.112.0.0/16 AS Path = 1755 1239 7018 88 AS 1129 Global Access 128.112.0.0/16 AS Path = 1239 7018 88 AS 1239 Sprint AS 1755 Ebone 128.112.0.0/16 AS Path = 7018 88 128.112.0.0/16 AS Path = 1129 1755 1239 7018 88 AS 12654 RIPE NCC RIS project 128.112.0.0/16 AS Path = 88 AS 88 Princeton 128.112.0.0/16 Prefix Originated AS7018 AT&T 128.112.0.0/16 AS Path = 7018 88 128.112.0.0/16 AS Path = 3549 7018 88 AS 3549 Global Crossing 40 BGP Path Selection Simplest case Shortest AS path Arbitrary tie break AS 12654 prefers path through Global Crossing But, BGP is not limited to shortest-path routing Policy-based routing Could choose longer path AS 1129 Global Access 128.112.0.0/16 AS Path = 1129 1755 1239 7018 88 AS 12654 RIPE NCC RIS project 128.112.0.0/16 AS Path = 3549 7018 88 AS 3549 Global Crossing 41 20

Other Routing Attributes Origin, MED, Local Preference,... Origin: Who originated the announcement? Where was a prefix injected into BGP? IGP, BGP or Incomplete (often used for static routes) 42 Multi-Exit Discriminator (MED) When ASes interconnected via 2 or more links AS1 AS announcing prefix sets MED (AS2 in picture) Link B MED=50 MED=10 Link A AS receiving prefix uses MED to select link AS2 A way to specify how close a prefix is to the link it is announced on AS4 AS3 43 21

Local Preference Policy choice between different AS paths AS1 140.20.1.0/24 The higher the value the more preferred Carried by IBGP, local to the AS. AS2 AS3 AS4 BGP table at AS4: Destination AS Path Local Pref 140.20.1.0/24 AS3 AS1 300 140.20.1.0/24 AS2 AS1 100 44 Choosing Best Route (simplified) Choose AS path with highest LOCAL_PREF Preference-based routing Tie: select route with shortest hop-count Multiple egress choices for same neighboring AS: choose path with min MED value Among IGP paths, choose one with lowest cost Finally use router ID to break the tie. 45 22

BGP Route Processing Open ended programming. Constrained only by vendor configuration language Receive BGP Updates Apply Policy = filter routes & tweak attributes Based on Attribute Values Best Routes Apply Policy = filter routes & tweak attributes Transmit BGP Updates Apply Import Policies Best Route Selection Best Route Table Apply Export Policies Install forwarding Entries for best Routes. IP Forwarding Table 46 AS is Not a Single Node AS path length can be misleading An AS may have many router-level hops BGP says that path 4 1 is better than path 3 2 1 AS 4 AS 3 AS 2 AS 1 47 23

An AS is Not a Single Node Multiple routers in an AS Need to distribute BGP information within the AS Internal BGP (ibgp) sessions between routers AS1 ebgp ibgp AS2 48 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 AS 200 AS 100 AS 300 Local Pref = 100 Local Pref = 90 AS 256 I-BGP 49 24

Hot-Potato (Early-Exit) Routing Hot-potato routing Each router selects the closest egress point based on the path cost in intradomain protocol Somewhat in conflict with MED A 4 F 3 5 dst 9 D 3 8 E C 8 B 4 10 G hot potato 50 Joining BGP and IGP Information Border Gateway Protocol (BGP) Announces reachability to external destinations Maps a destination prefix to an egress point 128.112.0.0/16 reached via 192.0.2.1 Interior Gateway Protocol (IGP) Used to compute paths within the AS Maps an egress point to an outgoing link 192.0.2.1 reached via 10.1.1.1 10.1.1.1 192.0.2.1 51 25

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 Nail up routes 130.132.0.0/16 pointing to Yale Nail up default routes 0.0.0.0/0 pointing to Qwest Yale University 130.132.0.0/16 52 Summary BGP is essential to the Internet ties different organizations together Poses fundamental challenges... leads to use of path vector approach...and myriad details 53 26