BGP. Brad Smith. Spring 2016 CE Advanced Networks 1

Similar documents
BGP Attributes (C) Herbert Haas 2005/03/11 1

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

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

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

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

TELE 301 Network Management

CS BGP v4. Fall 2014

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

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

Inter-Domain Routing: BGP

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

PART III. Implementing Inter-Network Relationships with BGP

Internet Routing : Fundamentals of Computer Networks Bill Nace

Inter-Domain Routing: BGP II

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Border Gateway Protocol. Version: Demo

Ravi Chandra cisco Systems Cisco Systems Confidential

BGP. Attributes 2005/03/11. (C) Herbert Haas

Internet Routing Protocols Lecture 01 & 02

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

Unit 3: Dynamic Routing

Inter-Domain Routing: BGP II

BGP. Autonomous system (AS) BGP version 4

Advanced Computer Networks

Inter-Domain Routing: BGP

Configuring BGP community 43 Configuring a BGP route reflector 44 Configuring a BGP confederation 44 Configuring BGP GR 45 Enabling Guard route

BGP. Autonomous system (AS) BGP version 4

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

Lecture 18: Border Gateway Protocol

Internet inter-as routing: BGP

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

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

BGP. Autonomous system (AS) BGP version 4

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

BGP Attributes and Path Selection

Border Gateway Protocol - BGP

Internet Interconnection Structure

Routing. Jens A Andersson Communication Systems

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

internet technologies and standards

Routing Unicast routing protocols

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

Introduction. Keith Barker, CCIE #6783. YouTube - Keith6783.

Lecture 17: Border Gateway Protocol

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

BGP. Inter-domain routing with the Border Gateway Protocol. Iljitsch van Beijnum Amsterdam, 13 & 16 March 2007

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

BGP Attributes and Policy Control

Inter-domain Routing. Outline. Border Gateway Protocol

Chapter 13 Configuring BGP4

Dynamics of Hot-Potato Routing in IP Networks

BGP Protocol & Configuration. Scalable Infrastructure Workshop AfNOG2008

LACNIC XIII. Using BGP for Traffic Engineering in an ISP

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

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

Module 6 Implementing BGP

Configuration prerequisites 45 Configuring BGP community 45 Configuring a BGP route reflector 46 Configuring a BGP confederation 46 Configuring BGP

Border Gateway Protocol

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

Internet Routing Protocols Lecture 03 Inter-domain Routing

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

BGP Attributes and Policy Control

Service Provider Multihoming

Inter-Autonomous-System Routing: Border Gateway Protocol

Service Provider Multihoming

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013

BGP Attributes and Policy Control

BGP101. Howard C. Berkowitz. (703)

Advanced Multihoming. BGP Traffic Engineering

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

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

Protecting an EBGP peer when memory usage reaches level 2 threshold 66 Configuring a large-scale BGP network 67 Configuring BGP community 67

How BGP Routers Use the Multi Exit Discriminator for Best Path Selection

Lecture 16: Border Gateway Protocol

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

CS 268: Computer Networking. Next Lecture: Interdomain Routing

Symbols. Numerics I N D E X

From the given configuration taken from RTA and graphic, which network will be filtered from being propagated to RTC from RTA?

BGP made easy. John van Oppen Spectrum Networks / AS11404

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

CertifyMe. CertifyMe

Link State & OSPF. Spring 2013 CE Advanced Networks 1

COMP/ELEC 429 Introduction to Computer Networks

Link State Routing & Inter-Domain Routing

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

CS4700/CS5700 Fundamentals of Computer Networks

CSc 450/550 Computer Networks Internet Routing

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

BGP-v4 Theory and Practice

Table of Contents. BGP Configuration 1

Configuring BGP. Cisco s BGP Implementation

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

Communication Networks

Inter-Autonomous-System Routing: Border Gateway Protocol

Lecture 19: Network Layer Routing in the Internet

Connecting to a Service Provider Using External BGP

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

Table of Contents 1 BGP Configuration 1-1

IBGP internals. BGP Advanced Topics. Agenda. BGP Continuity 1. L49 - BGP Advanced Topics. L49 - BGP Advanced Topics

University of Belgrade - School of Electrical Engineering Department of Telecommunications

APNIC elearning: BGP Basics. 30 September :00 PM AEST Brisbane (UTC+10) Revision: 2.0

Transcription:

BGP Brad Smith Spring 2016 CE 151 - Advanced Networks 1

Scores Quiz 4/To Date Spring 2016 CE 151 - Advanced Networks 2

Per-QuesIon Averages Spring 2016 CE 151 - Advanced Networks 3

Reminders Thursday in Simularium or original classroom!!! Guest lectures Thursday 5/19 Jim Warner on physical layer (wireless?) Tuesday 5/24 Ignacio Solis from PARC on InformaIon Centric Networking Dates BGP exercise and STP quiz Thursday STP lab due Sunday Status reports due next Tuesday Reading for BGP Dordal Chapter 10 for BGP BGP Rou(ng Policies in ISP Networks h\p://classes.soe.ucsc.edu/cmpe151/spring14/content/readings/bgprouing-caesar05.pdf Spring 2016 CE 151 - Advanced Networks 4

Projects Status report e-mail to me (Brad) by midnight Due Tuesday, 5/17 (next week) Summary of how things are going specifically any problems you ve run into. Volunteers for early presentaions 10 min presentaion/q&a 7 Tuesday (5/31), 8 Thursday (6/2), 13 Monday (6/6 8-11am finals slot) Tue/Thu presentaions get special grading consideraion volunteers? Deliverables PresentaIon 10 mins w/ some Ime for quesions Turn in by the day of our final slot (Monday, June 6 th ) Slides from presentaion Paper describing Technology covered in the lab Lessons learned Lab, answer key, netref content Spring 2016 CE 151 - Advanced Networks 5

Functional Classification: IGP vs. EGP An autonomous system (AS) or routing domain is a region of the Internet that is administered by a single entity UCSC s network IBM s corporate network AT&T s ISP network Routing inside an AS Focus is on performance Popular protocols: RIP, OSPF Ethernet Called intra-domain or internal gateway (IGP) routing Routing between ASs Focus is on policy Popular protocol: BGP Called inter-domain or external gateway (EGP) routing Ethernet Router Router Router Ethernet Ethernet Router Router Autonomous System 2 Ethernet Router Ethernet Autonomous System 1 6 Spring 2016 CE 151 - Advanced Networks

Functional Classification: IGP vs. EGP An autonomous system (AS) or routing domain is a region of the Internet that is administered by a single entity UCSC s network IBM s corporate network AT&T s ISP network Routing inside an AS Focus is on performance Popular protocols: RIP, OSPF Ethernet Called intra-domain or internal gateway (IGP) routing Routing between ASs Focus is on policy Popular protocol: BGP Called inter-domain or external gateway (EGP) routing Ethernet Router Router Router Ethernet Ethernet Router Router Autonomous System 2 Ethernet Router Ethernet Autonomous System 1 7 Spring 2016 CE 151 - Advanced Networks

How ensure correct routes? Recall requirement for correctness of rouing protocol Loop-free Desired path characterisics Two strategies for ensuring correctness Use idenical algorithm for selecing paths Share minimal topology informaion Use idenical path selecion algorithm at all nodes Used for IGP/Intra-domain rouing Use link-state or distance vector protocol Use custom (private) algorithm for selecing paths Share full path informaion Use policy-specific path selecion algorithm at each node Used for EGP/Inter-domain rouing Use path-vector protocol Spring 2016 CE 151 - Advanced Networks 8

How ensure correct routes? Recall requirement for correctness of rouing protocol Loop-free Desired path characterisics Two strategies for ensuring correctness Use idenical algorithm for selecing paths Share minimal topology informaion Use idenical path selecion algorithm at all nodes Used for IGP/Intra-domain rouing Use link-state or distance vector protocol Use custom (private) algorithm for selecing paths Share full path informaion Use policy-specific path selecion algorithm at each node Used for EGP/Inter-domain rouing Use path-vector protocol Spring 2016 CE 151 - Advanced Networks 9

RouIng Algorithms Distance-Vector Vectors of desinaion and distance sent to neighbors Tell your neighbors about the rest of the network DesInaIon in terms of a network prefix Distance in terms of a metric: hop count, delay, bandwidth Use Distributed Bellman-Ford path selecion algorithm Popular protocol: RouIng InformaIon Protocol (RIP) Link-State Flood descripion of your links (link state) Tell the rest of the network about your neighbors Links described by End-point routers of subnet in internet Cost of subnet: delay, bandwidth Use Dijkstra path selecion algorithm Popular protocol: Open Shortest Path First (OSPF) Path-Vector Routes adverised as full-paths Paths described by sequence of ASs Popular protocol is Border Gateway RouIng Protocol (BGP) Spring 2016 CE 151 - Advanced Networks 10

RouIng Algorithms Distance-Vector Vectors of desinaion and distance sent to neighbors Tell your neighbors about the rest of the network DesInaIon in terms of a network prefix Distance in terms of a metric: hop count, delay, bandwidth Use Distributed Bellman-Ford path selecion algorithm Popular protocol: RouIng InformaIon Protocol (RIP) Link-State Flood descripion of your links (link state) Tell the rest of the network about your neighbors Links described by End-point routers of subnet in internet Cost of subnet: delay, bandwidth Use Dijkstra path selecion algorithm Popular protocol: Open Shortest Path First (OSPF) Path-Vector Routes adverised as full-paths Paths described by sequence of ASs Popular protocol is Border Gateway RouIng Protocol (BGP) Spring 2016 CE 151 - Advanced Networks 11

Policies Each AS selects paths based on it s own policies Called independent route selecion See paper Persistent route oscillaions in inter-domain rouing domains independently choose their route preference funcions. Policies reflect many issues Business relaionships Traffic engineering Scalability Security A very different world! Spring 2016 CE 151 - Advanced Networks 12

Policies Business rela+onships - policy arising from economic or poliical relaionships Customer-provider customer pays provider to forward traffic Peer-to-peer mutually beneficial traffic exchange with no payments Se\lement-free peering Backup peer-to-peer but for backup Traffic engineering - managing traffic to achieve performance requirements Manage outbound traffic to balance load or control congesion Manage inbound traffic with similar goals Scalability Limit rouing table size Limit rate of route changes Spring 2016 CE 151 - Advanced Networks 13

Policies Security Discard invalid routes (e.g. private prefixes, unallocated prefixes, etc.) Enforce rouing peering policies Protect internal services with route filtering Block denial-of-service a\acks (e.g. limit number of prefixes allowed) Spring 2016 CE 151 - Advanced Networks 14

Review BGP rouing enforces policies Business relaionships: e.g. customers, providers, peers. Traffic engineering Scalability/resource management Security Independent route selecion Private algorithm (determined by policy) domains independently choose their route preference func(ons. Exchange full-paths to ensure loop freedom Path-Vector rouing Spring 2016 CE 151 - Advanced Networks 15

Policy-Based, Path-Vector Algorithm Spring 2016 CE 151 - Advanced Networks 16

Purpose is Policies Largely ignores distance. Primary purpose is to implement policies on how traffic should be handled When should I use BGP? Dual- or muli-homed Providing parial or full Internet rouing to a downstream customer AnyIme the AS path informaion is required When you need to make a decision based on policy considerabons! Or if you re bored and want to read the Internet BGP tablej Spring 2016 CE 151 - Advanced Networks 17

Single-Homed AS A single homed AS does not need BGP!! Upstream Provider Sta+c Route AS 100 is only connected to one AS Default Route Use static routes AS100 Spring 2016 CE 151 - Advanced Networks 18

MulI-Homed AS AS 200 is muli-homed AS 200 needs to run BGP AS 100 AS 300 A D B C AS 200 Spring 2016 CE 151 - Advanced Networks 19

Policy mechanisms Import transforma+on I ij Applied to new route learned at AS i from AS j. Applies local policy to determine if route accepted. If so, applies transformaions defined by policy. Export transforma+on Applied to new routes selected at AS i for export to AS j. Applies local policy to determine if route should be exported If so, applies transformaion defined by policy. λ i E ij Preference func+on Selects best route for a given desinaion of those learned from neighbors Spring 2016 CE 151 - Advanced Networks 20

Updates composed of Path A\ributes NLRI Network layer reachability informaion The set of IP prefixes this update applies to AS_PATH List of AS s a route has traversed Used to ensure loop freedom, and influence decision process LOCAL_PREF Local to an AS Used to coordinate route processing MED MulI-exit descriminator Conveys preference of muliple entry points to neighboring AS s Others CLUSTER_LIST ORIGINATOR_ID AGGREGATOR ATOMIC-AGGREGATE Community aoributes Variable-length string used to control route processing in remote routers Spring 2016 CE 151 - Advanced Networks 21

λ i decision process Policy implemented in first 4 steps using update a\ributes LOCAL_PREF at step 1 allows operator to override other steps First 4 steps idenify set of equally good paths Last three steps are Ie-breakers Step 5 always prefer someone else s bandwidth:) Step 6 use as li\le of our bandwidth as possible Vendors may (do) augment (but not reorder) this funcion Step Attribute 1 Highest LOCAL_PREF 2 Lowest AS_PATH length 3 Lowest ORIGIN type 4 Lowest MED 5 External over Internal path 6 Lowest IGP cost to border router 7 Lowest router ID Spring 2016 CE 151 - Advanced Networks 22

Import and Export transformaions Filter routes for import/export from/to neighbor ASs Modify route afributes to influence preference funcion Tag route with community afribute to coordinate acions among a group of routers Implemented using a route-map in Cisco IOS (and similar for other vendors) Set of condiions for idenifying routes it applies to AcIons (reject or modify) Transform (change update to implement policy) Examples later Much of the following from BGP RouIng Policies in ISP Networks by Caesar and Rexford (see class web) Spring 2016 CE 151 - Advanced Networks 23

Path-vector protocol Pseudo-code is my approximaion Import transformaion applied on receipt of update. Export transformaions applied before SendUpdate(). Preference funcion invoked to select new route. protocol PathVector run at node i event Initialize: begin 1 for each {p P i}; 2 for each n N i 3 SendUpdate(E in(r p i ),n); end procedure UpdateRoutes(i, d) begin 3 r 0 i(ri d ); 4 if (ri d = r 0 ) 5 for each n N i 7 SendUpdate(E in(r 0 ),n); end event ReceiveUpdate: r d ij begin 8 if (HasLoop(r d ij)) return; 9 R d i R d i I ij(r d ij); 10 UpdateRoutes(i, d); end event LinkUp: j begin 11 N i N i + j; 12 for each {r d i R i } 13 for each n N i 14 SendUpdate(E in(r d i ),n); end Run at node i r d i route to d selected at i r d ij route to d from j at i P i prefixes in AS i N i neighbors of AS i R * i routes known at i R d i routes to d known at i event LinkDown: j begin 15 N N j; 16 for each {r d ij R i } begin // update routes currently using j 17 R d i R d i r d ij; 18 UpdateRoutes(i, d); end end Figure 7. Path-Vector Protocol Spring 2016 CE 151 - Advanced Networks 24

Review Use BGP when need to make rouing decision not based on distance. MulI-homed When you need to make a decision based on policy consideraions! Policies implemented with three mechanisms Import and export transformaions Preference funcion (BGP decision process) Data for filters and decision process carried in path a\ributes NLRI, AS_PATH, LOCAL_PREF, MED, community a\ributes, etc. Filters modify path a\ributes Preference funcion is defined in terms of path a\ributes BGP path selecion is composed of the following steps highest LOCAL_PREF lowest AS_PATH length lowest ORIGIN type lowest MED external over internal path lowest IGP cost to border router lowest router ID Spring 2016 CE 151 - Advanced Networks 25

BGP Spring 2016 CE 151 - Advanced Networks 26

Overview BGP = Border Gateway Protocol Currently in version 4 Uses TCP to send rouing messages Network administrators can specify rouing policies BGP s goal is to find any path (not an opimal one) that meets the policies of all the ASes it transits. Spring 2016 CE 151 - Advanced Networks 27

Big Picture AS 1 AS 2 Router Router Router Router AS 3 Router Router Router AS 4 Spring 2016 CE 151 - Advanced Networks 28

Peer Establishment Both peers send an OPEN message to TCP port 179 IP addresses must be configured correctly update-source must be configured correctly If OPENs are exchanged at the exact same Ime then two TCP sessions will be established but the TCP session from the Rtr with the highest router-id will be kept and the other torn down If RtrA s OPEN to RtrB is the OPEN that sets up the session, RtrA is said to have AcIvely opened the session and RtrB is said to have Passively opened the session R4 AcIvely opened this session: r4# show ip bgp neighbors 7.7.7.7! [snip]! Local host: 4.4.4.4, Local port: 12916! Foreign host: 7.7.7.7, Foreign port: 179! Spring 2016 CE 151 - Advanced Networks 29

BGP peer in different AS External BGP Usually directly connected If not directly connected, use ebgp-multihopself!! Router A! router bgp 100! neighbor 1.1.1.2 remote-as 200!! Router B! router bgp 200! neighbor 1.1.1.1 remote-as 100! A AS 100 B.1 1.1.1.0/30 2 AS 200 Spring 2016 CE 151 - Advanced Networks 30

Internal BGP BGP peer in same AS May be several hops away ibgp must have a logical full mesh! ibgp allows muliple routers to implement BGP in an AS; these routers collecively implement the desired rouing policy AS 109 B Spring 2016 CE 151 - Advanced Networks 31

Internal BGP 1.1.1.1 2.2.2.2 A B AS 100 Peer with loopback addresses ibgp session is not dependent on a single interface loopback interface does not go down Provides stability!! Use update-source keyword Router A! router bgp 100! neighbor 2.2.2.2 remote-as 100! neighbor 2.2.2.2 update-source loop0! Router B! router bgp 100! neighbor 1.1.1.1 remote-as 100! neighbor 1.1.1.1 update-source loop0! Spring 2016 CE 151 - Advanced Networks 32

Review Two components to BGP: ebgp and ibgp ibgp assumes full mesh among routers for an AS ibgp allows muliple routers to implement BGP in an AS; these routers collecively implement the desired rouing policy BGP peering done over TCP connecions (unique among rouing protocols) Provides reliability Can be mulihop Peering typically done between loopback interfaces Loopback interface only fails if router fails Fate-Sharing principle! Spring 2016 CE 151 - Advanced Networks 33

Examples Spring 2016 CE 151 - Advanced Networks 34

Assigned reading BGP RouIng Policies in ISP Networks! Spring 2016 CE 151 - Advanced Networks 35

Policy examples business relaionship Prefer routes learned from Customers over Earn as much $ as possible routes learned from Peers over Peering relaionships based on balance of traffic routes learned from Providers. Spend as li\le $ as possible Spring 2016 CE 151 - Advanced Networks 36

Transit Provider Assume A is a peer of B, C is a provider to B, and R3 is connected to a customer For outbound traffic, favor customers over peers over providers Modify import filter R1 B A R4 C R2 On R3 for routes from customer: LOCAL_PREF = 90! On R1 and R2 for routes from peer A: LOCAL_PREF = 80! On R4 for routes from provider C: LOCAL_PREF = 70! Traffic I send will prefer customer over peer (A) over provider (C) R3 Spring 2016 CE 151 - Advanced Networks 37

Geographical Control ISP that spans U.S. and Europe Want to minimize use of expensive trans-atlanic link Modify import filter For European routers Routes from European peers: LOCAL_PREF = High! For U.S. routers Routes from U.S. peers: LOCAL_PREF = High! Spring 2016 CE 151 - Advanced Networks 38

No Transit to Peer R1 B A R4 C R2 Same assumpion (A is peer and C is provider) B doesn t want to provide transit service for traffic between A and C Import filters On R1 and R2 for routes from A: add community attribute X peer! On R4 for routes from C: add community attribute X provider! Export filters On R4 for routes with X peer : reject for export to C! On R1 and R2 for routes with X provider : reject for export to A! I won t receive traffic from C for A or vice-versa R3 Spring 2016 CE 151 - Advanced Networks 39

Load Balancing R1 B A R4 C R2 R3 B wants to shiu traffic from its link to A to its link to C E.g. because link to A is overloaded Can use regular expression for prefix 2 choices Import filters in R1 and R2 Routes from A: lower LOCAL_PREF value below routes learned from C! Import filter on R4 Routes from C: higher LOCAL_PREF value above routes learned from A! Spring 2016 CE 151 - Advanced Networks 40

Control Inbound Traffic R1 B A R4 C R2 R3 B wants to shiu traffic load from R1 to R2 (same neighbor) Export filter on R1 All routes: increase value of MED attribute relative to R2! Spring 2016 CE 151 - Advanced Networks 41

Remote Control C agrees to allow B to control flow of traffic into B When B wants to route inbound traffic via A Export filters on routers R1 and R2: add community attribute X high! Export filters on router R4: add community attribute X low! And vice-versa when B wants to route inbound traffic via C Import filters on C R1 B A R4 C R2 Routes for prefixes in B with X high : LOCAL_PREF = 75! Routes for prefixes in B with X low : LOCAL_PREF = 60! R3 Spring 2016 CE 151 - Advanced Networks 42

Review You can do impressive things with BGP policy mechanisms! A simple example is for implemening the classic business relaionship of preferring routes learned from Customers over those learned from Peers over those learned from Providers. In the import filter for Customers, set LOCAL_PREF high (e.g. 90) In the import filter for Peers, set LOCAL_PREF med (e.g. 80) In the import filter for Providers, set LOCAL_PREF low(e.g. 70) Spring 2016 CE 151 - Advanced Networks 43

The End Spring 2016 CE 151 - Advanced Networks 44