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

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

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

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

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

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

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

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

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4

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

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

Inter-Domain Routing: BGP

Internet Interconnection Structure

BGP. BGP Overview. Formats of BGP Messages. I. Header

Table of Contents. BGP Configuration 1

internet technologies and standards

Table of Contents 1 BGP Configuration 1-1

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

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

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

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

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

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

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

BGP Attributes and Path Selection

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

Connecting to a Service Provider Using External BGP

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

Connecting to a Service Provider Using External BGP

Module 6 Implementing BGP

Internet inter-as routing: BGP

2011, Sushile Tejwani

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

CS BGP v4. Fall 2014

BGP Protocol & Configuration. Scalable Infrastructure Workshop AfNOG2008

University of Belgrade - School of Electrical Engineering Department of Telecommunications

Multiprotocol BGP (MBGP)

TELE 301 Network Management

BGP Attributes and Policy Control

Configuring BGP. Cisco s BGP Implementation

Operation Manual BGP. Table of Contents

MPLS VPN Route Target Rewrite

Ravi Chandra cisco Systems Cisco Systems Confidential

Routing part 2. Electrical and Information Technology

BGP Attributes and Policy Control

Chapter 1. Getting Started

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

Routing Protocols --- Exterior Gateway Protocol

CertifyMe. CertifyMe

H3C S9500 Series Routing Switches

BGP-v4 Theory and Practice

Border Gateway Protocol - BGP

PART III. Implementing Inter-Network Relationships with BGP

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

BGP Route Reflector Commands

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

LACNIC XIII. Using BGP for Traffic Engineering in an ISP

Chapter 13 Configuring BGP4

Routing Unicast routing protocols

ibgp Multipath Load Sharing

BGP Attributes and Policy Control

Architectures and Protocols for Integrated Networks. Intra-domain and Inter-domain Routing Protocols

c2001, Dr.Y.N.Singh, EED, IITK 2 Border Gateway Protocol - 4 BGP-4 (RFC intended to be used for routing between Autonomou

The Contemporary Internet p. 3 Evolution of the Internet p. 5 Origins and Recent History of the Internet p. 5 From ARPANET to NSFNET p.

Routing. Jens A Andersson Communication Systems

FiberstoreOS BGP Command Line Reference

L11 : Inter-domain Routing with BGP Lecture14 Michaelmas, 2016

Configuring BGP on Cisco Routers Volume 1

HP Load Balancing Module

Advanced Computer Networks

Internet Routing Protocols Lecture 01 & 02

Advanced Computer Networks

Internet Routing Protocols Lecture 03 Inter-domain Routing

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

Copyright 1998, Cisco Systems, Inc. All rights reserved. Printed in USA. 0945_05F9_c1.scr 1. RST _05_2001_c1

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

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

Configuring Internal BGP Features

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

Outline. Organization of the global Internet. BGP basics Routing policies The Border Gateway Protocol How to prefer some routes over others

Implementing BGP. BGP Functional Overview. Border Gateway Protocol (BGP) is an Exterior Gateway Protocol (EGP) that allows you to create loop-free

BGP can also be used for carrying routing information for IPv6 prefix over IPv6 networks.

Internet Routing Seminar. September/2000

CS321: Computer Networks Unicast Routing

Configuring a Basic BGP Network

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

Balancing incoming traffic over multiple links

IPv6 Switching: Provider Edge Router over MPLS

IBGP scaling: Route reflectors and confederations

Configuring Advanced BGP

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

Configuring basic MBGP

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

ISP Border Definition. Alexander Azimov

Internetwork Expert s CCNP Bootcamp. Border Gateway Protocol (BGP) What Is BGP?

IPv6 Switching: Provider Edge Router over MPLS

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

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

ibgp Multipath Load Sharing

Transcription:

BGP Border Gateway Protocol (an introduction) Karst Koymans Informatics Institute University of Amsterdam (version 17.3, 2017/12/04 13:20:08) Tuesday, December 5, 2017 Karst Koymans (UvA) BGP Tuesday, December 5, 2017 1 / 73

1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 2 / 73

General ideas behind BGP Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 3 / 73

General ideas behind BGP Background Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 4 / 73

General ideas behind BGP Background BGP version 4 Border Gateway Protocol version 4 (BGP4) Specified in RFC 4271 The inter-as routing protocol Monopolises the Internet Based on path vector routing which is in-between distance vector and link state routing Uses (often non-coordinated) routing policies which can be problematic for convergence Karst Koymans (UvA) BGP Tuesday, December 5, 2017 5 / 73

General ideas behind BGP Background Autonomous system (AS) Definition (AS Autonomous System) A connected group of networks and routers representing some assigned set of IP prefixes having a single, consistent routing policy both internally and externally Karst Koymans (UvA) BGP Tuesday, December 5, 2017 6 / 73

Autonomous system illustration

General ideas behind BGP Providers, Customers and Peers Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 8 / 73

Providers and Customers Internet IP IP Provider $$ IP Customer Internet The IP means IP data packet flow The $$ means money transfer

Peers Provider 1 $$ Provider 2 $$ Provider 3 IP IP $$ $$ $$ Customer 1 Customer 2 No packets Customer 3 No packets here means that packet flow between Customer 1 and Customer 3 usually will not flow through Provider 2.

Providers, Customers and Peers G1 IP $$ $$ G2 $$ $$ R1 $$ C1 C2 $$ $$ P1 P2 IP $$ $$ C3 $$ C4 What route will traffic between C1 and C2 take?

The AS abstraction

Providers, Customers and Peers routing preferences The order of preference for incoming route advertisements is Customers have highest preference Peers have the next highest preference Providers have the lowest preference Transit relationships are enforced by export filtering Outgoing route advertisements attract incoming traffic Do not advertise provider or peer routes to other providers or peers Do advertise all routes to customers Do advertise customer routes to providers and peers

Providers, Customers and Peers: Export filtering

General ideas behind BGP External and Internal BGP Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 15 / 73

General ideas behind BGP External and Internal BGP External and Internal BGP (1) EBGP (External BGP) Used for BGP neighbors between different ASs Exchanging prefixes Implementing policies IBGP (Internal BGP) Used for BGP neighbors within one and the same AS Distributing Internet prefixes across the backbone in order to create a consistent view among all entry/exit points and in the whole routing domain Inserting locally originated prefixes, for instance for customers that do not speak BGP Karst Koymans (UvA) BGP Tuesday, December 5, 2017 16 / 73

General ideas behind BGP External and Internal BGP External and Internal BGP (2) Routes imported from one IBGP peer are not distributed to another IBGP peer This prevents possible routing loops Loop detection is based on duplicates in AS paths EBGP detects this between different ASs IBGP cannot detect this inside one and the same AS Requires IBGP peers to be configured as a full mesh 1 1 I have seen authors write this as full mess Karst Koymans (UvA) BGP Tuesday, December 5, 2017 17 / 73

General ideas behind BGP BGP information bases Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 18 / 73

General ideas behind BGP BGP information bases Routing Information Bases (RIBs) Adj-RIB-In (one per peer) Unprocessed 2 routes received from peer Loc-RIB (only one globally) Routes after input filtering and best path selection Every AS needs an input policy Path selection is a fixed and specified algorithm Adj-RIB-Out (one per peer) Routes after output filtering Every AS needs an output policy 2 According to the RFC, but implementations may tweak? Karst Koymans (UvA) BGP Tuesday, December 5, 2017 19 / 73

BGP route processing Receive BGP update Install route in Adj-RIB-In Apply import policy: filter routes and tweak attributes Apply best route selection algorithm Install selected route in Loc-RIB Influence IP forwarding table Apply export policy: filter routes and tweak attributes Possibly apply route aggregation Install exported routes in Adj-RIB-Out Transmit BGP update Send Adj-RIBs-Out to peers

The BGP protocol Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 21 / 73

The BGP protocol BGP protocol Uses TCP over port 179 EBGP usually connects to a directly connected neighbor on layer 2, except when using multi-hop EBGP (not common) IBGP uses routes from an IGP to reach its peers Exchanges Network Layer Reachability Information (NLRI) Prefixes that can or can no longer be reached through the router Accompanied by BGP attributes used by the best route selection algorithm Karst Koymans (UvA) BGP Tuesday, December 5, 2017 22 / 73

The BGP protocol BGP attributes Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 23 / 73

The BGP protocol BGP attributes Some important BGP attributes In order of path selection importance LOCAL_PREF (Local Preference) AS_PATH ORIGIN (Historical) MULTI_EXIT_DISC (MED; Multi-exit discriminator) Unrelated to path selection NEXT_HOP Must be reachable (directly or via IGP, except in the case of multi-hop BGP) Otherwise route is not used in path selection Karst Koymans (UvA) BGP Tuesday, December 5, 2017 24 / 73

Next Hop in EBGP and IBGP

The BGP protocol BGP attributes BGP attribute types Well-known, mandatory ORIGIN, AS_PATH, NEXT_HOP Well-known, discretionary LOCAL_PREF, ATOMIC_AGGREGATE Optional, transitive COMMUNITIES, AGGREGATOR Optional, non-transitive MULTI_EXIT_DISC Karst Koymans (UvA) BGP Tuesday, December 5, 2017 26 / 73

The BGP protocol BGP attributes LOCAL_PREF (Local Preference) Advertised within a single AS (via IBGP) Used to implement local policies Can depend on any locally available information This might be learned outside of BGP Default value is 100 Highest value wins Karst Koymans (UvA) BGP Tuesday, December 5, 2017 27 / 73

The BGP protocol BGP attributes AS_PATH Sequence of ASs An AS can also be generalized to a set of ASs Used for loop detection The sequence length defines the metric (distance) Shortest path wins Prepend your own AS in EBGP updates Possibly multiple times, enabling traffic engineering Leave unchanged in IBGP updates Karst Koymans (UvA) BGP Tuesday, December 5, 2017 28 / 73

AS_PATH example

AS_PATH length can be deceptive

Traffic often follows AS_PATH (in reverse)

Sometimes traffic does not follow AS_PATH

The BGP protocol BGP attributes ORIGIN (Historic attribute) The ORIGIN attribute tells where the route (NLRI) originated Interior to the originating AS: ORIGIN = 0 Via the EGP protocol (historic): ORIGIN = 1 Via some other means (incomplete): ORIGIN = 2 A lower ORIGIN wins In practice the ORIGIN is always 0 Karst Koymans (UvA) BGP Tuesday, December 5, 2017 33 / 73

The BGP protocol BGP attributes MULTI_EXIT_DISC (Multi-Exit Discriminator or MED) The MED (or metric, formerly INTER_AS_METRIC) is meant to be advertised between neighboring ASs (via EBGP) Some implementations carry MED on by IBGP Hot potato versus cold potato The MED is non-transitive (is not transferred into a third AS) A lower MED wins The default MED is 0 (lowest possible value) Some implementations choose the highest possible value Karst Koymans (UvA) BGP Tuesday, December 5, 2017 34 / 73

Best route selection Definition (Route selection preference) 1 (Weight; Cisco specific) 2 Highest Local Preference 3 Shortest AS Path 4 (Lowest Origin; hardly used; historic) 5 Lowest MED 6 Prefer EBGP over IBGP 7 Lowest IGP cost to BGP egress 8 Lowest Router ID

The BGP protocol BGP messages Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 36 / 73

The BGP protocol BGP messages BGP message header 0 15 16 23 24 31 Marker Length Type We use the term message and not packet, because BGP packets are in fact part of one single TCP-stream. Karst Koymans (UvA) BGP Tuesday, December 5, 2017 37 / 73

The BGP protocol BGP messages a No superfluous bytes are allowed inside the TCP stream Karst Koymans (UvA) BGP Tuesday, December 5, 2017 38 / 73 BGP header fields BGP header fields Marker 128 bits of 1 (compatibility) Length Total length (min 19, max 4096) No padding a, Including header Type 1: OPEN 2: UPDATE 3: NOTIFICATION 4: KEEPALIVE 5: Route-REFRESH

The BGP protocol BGP messages BGP OPEN message 0 7 8 15 16 31 Version My Autonomous System Opt Parm Len Hold Time These bits are absent BGP Identifier as well as these Optional Parameters and these and these (variable) Karst Koymans (UvA) BGP Tuesday, December 5, 2017 39 / 73

The BGP protocol BGP messages OPEN message fields OPEN message fields Version 4 My Autonomous System Hold Time BGP Identifier Opt Parm Length Optional Parameters Sender s AS Liveness detection Sender s identifying IP address Length of parameter field TLV-encoded options One interesting parameter is the Capabilities Optional Parameter, which defines (among others) the Route Refresh Capability. Karst Koymans (UvA) BGP Tuesday, December 5, 2017 40 / 73

The BGP protocol BGP messages BGP KEEPALIVE message Karst Koymans (UvA) BGP Tuesday, December 5, 2017 41 / 73

The BGP protocol BGP messages BGP KEEPALIVE message This page intentionally left blank. Karst Koymans (UvA) BGP Tuesday, December 5, 2017 41 / 73

The BGP protocol BGP messages BGP KEEPALIVE message This page intentionally left blank. http://www.this-page-intentionally-left-blank.org/ 3 3 One of those Internet memes like http://endoftheinternet.com/ Karst Koymans (UvA) BGP Tuesday, December 5, 2017 41 / 73

The BGP protocol BGP messages KEEPALIVE message fields KEEPALIVE message fields :) Karst Koymans (UvA) BGP Tuesday, December 5, 2017 42 / 73

The BGP protocol BGP messages BGP NOTIFICATION message 0 7 8 15 16 31 Error code Error subcode Data (variable) Karst Koymans (UvA) BGP Tuesday, December 5, 2017 43 / 73

The BGP protocol BGP messages NOTIFICATION message fields NOTIFICATION message fields Error code Error subcode Data 1: Message Header Error 2: OPEN Error 3: UPDATE Error 4: Hold Timer Expired Depends on error code Depends on error code and subcode Karst Koymans (UvA) BGP Tuesday, December 5, 2017 44 / 73

The BGP protocol BGP messages BGP Route-REFRESH message 0 15 16 23 24 31 AFI Reserved SAFI The AFI (Address Family Identifier) is used for Multiprotocol extensions to BGP (MBGP). This AFI is not compatible with the one used in RIP. A SAFI (Subsequent Address Family Identifier) is also defined for a further subdivision, for instance to distinguish unicast from multicast. Karst Koymans (UvA) BGP Tuesday, December 5, 2017 45 / 73

The BGP protocol BGP messages Route-REFRESH message fields Route-REFRESH message fields AFI Address Family Identifier a Reserved 0 SAFI Subsequent Address Family Identifier b a https://www.iana.org/assignments/address-family-numbers/address-family-numbers.xhtml b https://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml Karst Koymans (UvA) BGP Tuesday, December 5, 2017 46 / 73

The BGP protocol BGP messages BGP UPDATE message 0 15 16 31 Unfeasible Routes Length Withdrawn Routes (variable length) Absent bits Total Path Attribute Length Path Attributes (variable length) Absent bits Network Layer Reachability Information (variable length) Karst Koymans (UvA) BGP Tuesday, December 5, 2017 47 / 73

The BGP protocol BGP messages UPDATE message fields UPDATE message fields Unfeasible Routes Length Withdrawn Routes Total Path Attribute Length Path Attributes Network Layer Reachability Information Length of Withdrawn Routes List of prefixes a Length of Path Attributes TLV-encoded attributes List of NLRI prefixes a A prefix is specified by its length in bits and just enough bytes of the network IP address to cover this length Karst Koymans (UvA) BGP Tuesday, December 5, 2017 48 / 73

Traffic Engineering Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 49 / 73

Tweaking your policies Outbound traffic Influenced by inbound routes and filters Tweak attributes to influence best route selection You are in control yourself Inbound traffic Influenced by outbound routes and filters Tweak attributes trying to influence your peers best route selection You are dependent on your peers policies

Traffic Engineering Outbound Traffic Engineering Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 51 / 73

Traffic Engineering Outbound Traffic Engineering Outbound Traffic Engineering Outbound TE works by manipulating incoming routes Changing local preference Extending inbound AS paths Manipulating the metric (MED), for instance by using inbound communities It is relatively simple Based on your own policy You are in control yourself Karst Koymans (UvA) BGP Tuesday, December 5, 2017 52 / 73

Choice between provider, peer or customer

Manipulating local preference Prefer customer over peer over provider

Multihomed setup

Singlehomed primary and backup links

Traffic Engineering Inbound Traffic Engineering Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 57 / 73

Traffic Engineering Inbound Traffic Engineering Inbound Traffic Engineering Inbound TE works by manipulating outgoing routes Extending outbound AS_PATHs is a traditional hack Manipulating the metric (MED) is the official way Setting outbound communities is a more modern approach Agreements with your neighbors are necessary (common policy) Inbound is more complex than outbound Inbound depends (also) on neighbor s policy You are not in control all by yourself Announcing more specific routes Method of last resort, but often a bad idea Karst Koymans (UvA) BGP Tuesday, December 5, 2017 58 / 73

Advertising a longer AS_PATH

Your providers may overrule your effort

But you can make an agreement by using a community

Hot potato routing

Burnt by the hot potato

Cold potato routing by honoring MEDs

Traffic Engineering Inbound Traffic Engineering Communities An optional transitive attribute A community can be used to communicate preferred treatment of a route Communities can be used with both inbound as well as outbound Communities can also be used with IBGP, for instance tagging customer, peer and provider routes Some communities have a well-known semantics NO_EXPORT: don t export beyond current AS (or confederation) NO_ADVERTISE: don t export at all Karst Koymans (UvA) BGP Tuesday, December 5, 2017 65 / 73

Traffic Engineering Inbound Traffic Engineering Use of communities Inbound from your upstream Learn where your upstream imported this route You can base policy decisions on that Outbound to your upstream Request specific upstream treatment Setting of local preference Announcements or not to specific ASs AS_PATH prepending for certain peerings Your upstream promises to implement the requested policy Karst Koymans (UvA) BGP Tuesday, December 5, 2017 66 / 73

IBGP scaling Outline 1 General ideas behind BGP Background Providers, Customers and Peers External and Internal BGP BGP information bases 2 The BGP protocol BGP attributes BGP messages 3 Traffic Engineering Outbound Traffic Engineering Inbound Traffic Engineering 4 IBGP scaling Karst Koymans (UvA) BGP Tuesday, December 5, 2017 67 / 73

IBGP scaling Route reflectors Specified in RFC 4456 A route reflector is a kind of super IBGP peer A route reflector has clients with which it peers via IBGP and for which it reflects (transitively) routes A route reflector is part of a full mesh of other route reflectors and non-clients Karst Koymans (UvA) BGP Tuesday, December 5, 2017 68 / 73

Full mesh IBGP

Route reflector mesh

IBGP scaling Confederations Specified in RFC 5065 Use multiple private ASs inside your main AS Talk to the outside world with your main AS This hides the private ASs Talk to the inside world as if using EBGP and IBGP Using the different private ASs This needs special AS_PATH segment types Karst Koymans (UvA) BGP Tuesday, December 5, 2017 71 / 73

Confederation with SubAS s

IBGP scaling BGP in data centers Modern (Clos) fabrics in data centers can Eliminate layer 2 Use IP only on point-to-point links Use EBGP internally with private ASs as if it were an IGP Karst Koymans (UvA) BGP Tuesday, December 5, 2017 73 / 73