BGP101. Howard C. Berkowitz. (703)

Similar documents
internet technologies and standards

BGP Multihoming ISP/IXP Workshops

BGP Attributes and Path Selection

BGP Protocol & Configuration. Scalable Infrastructure Workshop AfNOG2008

Border Gateway Protocol

Border Gateway Protocol - BGP

Connecting to a Service Provider Using External BGP

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

BGP Multihoming. ISP/IXP Workshops

BGP. Autonomous system (AS) BGP version 4

BGP and the Internet. Why Multihome? Why Multihome? Why Multihome? Why Multihome? Why Multihome? Redundancy. Reliability

IPv4/IPv6 BGP Routing Workshop. Organized by:

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

BGP. BGP Overview. BGP Operation. BGP Neighbors

Introduction to BGP. ISP/IXP Workshops

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

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

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

BGP Multihoming Techniques

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

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

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

Configuring BGP. Cisco s BGP Implementation

Module 6 Implementing BGP

Internet inter-as routing: BGP

Connecting to a Service Provider Using External BGP

BGP and the Internet. Enterprise Multihoming. Enterprise Multihoming. Medium/Large ISP Multihoming. Enterprise Multihoming. Enterprise Multihoming

BGP Attributes and Policy Control

Chapter 13 Configuring BGP4

BGP Attributes and Policy Control

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

BGP Attributes and Policy Control

BGP Multihoming Techniques

BGP Multihoming Techniques

Ravi Chandra cisco Systems Cisco Systems Confidential

Multihoming with BGP and NAT

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

LACNIC XIII. Using BGP for Traffic Engineering in an ISP

Internet Routing : Fundamentals of Computer Networks Bill Nace

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

University of Belgrade - School of Electrical Engineering Department of Telecommunications

PART III. Implementing Inter-Network Relationships with BGP

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

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

BGP Multihoming Techniques

Multihoming Complex Cases & Caveats

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

BGP-v4 Theory and Practice

Inter-Domain Routing: BGP

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

DE-CIX Academy: BGP - Multihoming

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

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

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

Introduction to BGP ISP/IXP Workshops

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

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

Unit 3: Dynamic Routing

Simple Multihoming. ISP Workshops. Last updated 25 September 2013

BGP4 workshop scenario

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.

Configuring BGP on Cisco Routers Volume 1

Simple Multihoming. ISP Workshops. Last updated 9 th December 2015

TELE 301 Network Management

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

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

3/10/2011. Copyright Link Technologies, Inc.

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

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

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

Service Provider Multihoming

FAQ. Version: Copyright ImageStream Internet Solutions, Inc., All rights Reserved.

BGP Commands. Network Protocols Command Reference, Part 1 P1R-355

Advanced Multihoming. BGP Traffic Engineering

CertifyMe. CertifyMe

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

BGP Tutorial Part 3 Multihoming

BGP made easy. John van Oppen Spectrum Networks / AS11404

Examination. ANSWERS IP routning på Internet och andra sammansatta nät, DD2491 IP routing in the Internet and other complex networks, DD2491

Service Provider Multihoming

Lecture 18: Border Gateway Protocol

Operation Manual BGP. Table of Contents

COMP/ELEC 429 Introduction to Computer Networks

BGP for Internet Service Providers

Internet Routing Protocols Lecture 03 Inter-domain Routing

CS4700/CS5700 Fundamentals of Computer Networks

IPv6 Address Planning

BGP Multihoming Techniques

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

Internet Routing Protocols Lecture 01 & 02

Configuring basic MBGP

BGP Multihoming Techniques

Master Course Computer Networks IN2097

Table of Contents 1 MBGP Configuration 1-1

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

Chapter 17 BGP4 Commands

Multihoming Techniques. bdnog8 May 4 8, 2018 Jashore, Bangladesh.

Lecture 17: Border Gateway Protocol

Transcription:

BGP101 Howard C. Berkowitz hcb@clark.net (703)998-5819

What is the Problem to be Solved? Just configuring the protocol? Participating in the Internet and/or running Virtual Private Networks

A Life Cycle Initial address space Customers Space Manage Space Release Route Justify Allocated Space Renumber

"BGP Transmits Policies"

Policies are in Routers Advertising Policies Outbound to other AS BGP advertisement sources Outbound route filters Route must be in internal routing table Acceptance Policies Inbound AS filters Inbound route filters

BGP Stack BGP TCP IP medium

Policy vs. Protocol Flow AS1 R1 AS21 R1 AS1 R1 AS21 R1 AS1 R1 AS1 R2 AS21 R1 AS21 R2 All equivalent from a policy standpoint!

AS Path 1 1 2 1 2 4 1 2 4 5 1 2 4 5

Network Layer Reachability Information (NLRI) Prefix Attributes of prefix AS_PATH to reach it Next hop Community Address Aggregates» Aggregate only» Aggregate and all more specific» Aggregate and some more specific» Holes

Stop! What are you going to Advertise?

Advertising Affects The way the world sees you/sends to you Binary Routes to which you provide routing Quantitative Preferences Multi-Exit Discriminators to your Neighbors AS Path Manipulation to all

Advertise Routes Assigned/Allocated to You Routes Assigned/Allocated to Customers Routes for which you provide Transit

Routes Eligible to Advertise Are reachable by your IGPor static routes Unless they are black holes Which conceptiually are reachable

Do Not Advertise Spoofed source addresses Your internal addresses RFC1918 space Known rogues? RBL?

Stop! What are you going to Accept?

Do Not Accept RFC1918 source or destination Unexpected sources not assigned/allocated to peers Your internal addresses from peers

Accept It depends Only those routes you will do something about Otherwise default

Definitions and Issues

Transit vs. Peer Two meanings General BGP Peering Economic

Peering vs. Transit Provider Peer relationship Mulual benefit customers reach one another No monetary exchange Each advertises customer routes Transit Provider relationship Customer pays for service Full routes available to customer

Closest Exit Routing dest src Paths are not optimized end-to-end Paths are optimized for each AS

Asymmetrical Routing No guarantee that traffic leaving your AS at one point Will return at the same point Remember Each AS in both directions makes decisions on its information

Operational Relationships 1 Addresses and Delegation Address authority Reverse DNS DNS Address delegation Prefixes Hosts

Autonomous System Basis of exterior routing AS originate routes for some prefixes they want to be visible AS advertise routes to one another Advertisement may not contain all addresses Not all advertisements need be accepted

Current AS Definition RFC 1930 Connected group of IP CIDR blocks Run by one or more network operators Single routing policy announced to the general Internet announced with BGP-4

AS Number 16 bit number Numbers assigned by registries Private ASNs 64512 through 65535

Operational Relationships 2: Addesses and Autonomous Systems Address authority Reverse DNS AS DNS Address delegation Prefixes Hosts

When is an AS Not Needed? Enterprise ISP AS 1 Internet Enterprise connects to Internet only via ISP Enterprise uses provider AS if it needs one at all

When is an AS Possibly Needed? ISP AS 1 Enterprise ISP AS 2 Internet Enterprise connects to Internet via multiple ISP AS may be needed for load-sharing or keepalive

When is an AS Needed? Supplier AS 4 AS 2 Commercial ISP Research Partner AS 5 Internal Researchers AS 3 Academic network

Routes/Aggregates Address Authority AS 1 Organization 1 Prefix Block A Prefix Block A.1 Aggregation Organization 1 Prefix Block B Internal Only Prefix Block A.2 Organization 3 Prefix BlockC

Relationships to Adjacent AS AS 2 AS 3 AS 4 Announces A, C Announces A AS 1 Announces A (B in future) Prefix Block A Prefix Block B Prefix Block C

Joining the Club Get/join an AS Register AS in appropriate registries Peer AS to other cooperating AS

Establishing an AS (1) Obtain routable address space Apply to registry RIPE, APNIC, ARIN If immediate need for /19 or /20* Obtain addresses from upstream ISP If /19 or /20 cannot be justified Registry needs Network design Justification for address space

Establishing an AS (2) AS Number Request In request to AS number registry Administrative and technical contacts Autonomous system name Router description Deployment schedule Networks (by name) connected by the router(s) Internet addresses of the routers

Establishing an AS (3) Registering in Routing Registry Minimum requirements Maintainer object AS object Route object (s)

Establishing an AS (4) Operational deployment Build configuration Policy implementation Ingress/egress filtering Establish security procedures Start BGP connections

Registry Issues Not all providers use registries If multihomed to any that does use registry...it s needed Procedure is useful as a checklist that everything is defined

Registry-Based Tools Web-available Servers Routing Arbiter Tool Set Other tools

Routing Registry Objects Basic AS Route Maintainer Additional Inter-AS Network Community Router Refinements

Refinements Route AS Maintainer Route set Route macro AS set AS macro Person Role

Operational Relationships 3: Registries, Domains, etc. Address authority Reverse DNS Route objects AS DNS Address delegation Prefixes Hosts

Turning it On

BGP Configuration Overview Plans and policies first! Define system of BGP speakers Specific BGP speaker configuration Identifier BGP process Neighbors NLRI to advertise Filters and other policy mechanisms Cisco commands used as examples

Consider Register in registry Use rtconfig, etc. to generate configuration

Router ID and loopback interface interface loopback 0 ip address 192.168.0.1 255.255.255.0

router bgp command router bgp A S-nu m ber The parameter is a true AS number Subcommands will be needed -- minimally, network neighbor

netw o rk subcommand for BGP network ip-address [mask] Establishes eligibility of address ranges to be advertised But does not actually cause anything to be advertised Different than Cisco IGP network statements

Basic neighbor subcommand for ebgp neighborip-address rem ote-as as-number Identifies peer in external AS For ebgp, as-num ber is different from our own Will not advertise anything unless network statements are defined

Bilateral Exchange AS 65535 AS 65534

Refining the Configuration Single and Multiple Links to a Single Provider

The BGP Tunnel Serial 0 Serial 0 Loop 0 Loop 0 Serial 1 Serial 1 ebgp-multihop needed when neighbor is not on same subnet

Load Balancing 1: IP Level to Single Provider Serial 0 Serial 0 Loop 0 Loop 0 Serial 1 Serial 1

Basic IBGP AS65534 R1 AS65535 R1 AS65535 R2

Basic neighbor subcommand (ibgp) neighborip-address remote-as as-num ber Identifies peer in our AS For ibgp, as-number is our own Will not advertise anything unless network statements are defined Not needed in single-router configurations

Another Non-BGP Alternative OSPF Routing Domain ISP 1 D1-A0 ASBR1 Static routes D1-A0 ASBR2 Default Route (0.0.0.0/0) Metric Type 1 Equal Metrics

Multiple OSPF Defaults ISP 1 POP ISP 2 POP D1-A0 ASBR1 Static routes D1-A0 ASBR2 Default Route (0.0.0.0/0) Metric Type 2 Higher Metric to ISP 2 (Backup)

Blackhole Route Establish static route to your block(s) ip route 1.2.3.4 255.255.240.0 null0 Redistribute/import into BGP Suppress more-specific prefix advertising

Effects of Blackholing No route flapping outside your AS If your internal routes go up or down Incoming traffic for specific routes that are down Doesn t match any internal route Automatically discarded without concerning anyone else

BGP Path Selection

Next Hop Access Advertised route via R1 X R1 Advertised route via R2 R2

General commands Pattern matching Action/set

Scope: MED vs. Local Preference vs. Weight AS1 AS2 Local Preference Weight Weight MED

Administrative Weight Advertised route via R1 X R1 Advertised route via R2 R2 Rules in this router set R1 weight to 100, R2 weight to 500

Weight example for load sharing Default local preference 200 Primary ISP Default local preference 500 All routes ^ AS_Backup + local preference 100 Backup ISP

Tiebreaker for Equal Weight: Local Preference Advertised route via R1, local preference 100 R1 Advertised route via R2, local preference 500 R2

Local Preference example for load sharing Default local preference 200 Primary ISP Default local preference 500 All routes ^ AS_Backup + local preference 100 Backup ISP

Mutual Backup & Private Peering AS65534 AS65530 AS65533 AS65535

Prefer locally originated routes Advertised route via R1 R1 Locally defined via R2 R2

Shortest AS Path AS AS AS AS Route R1 AS AS Route R2

AS Path Prepending Applies to routes you advertise Makes them less attractive to others Increases AS_PATH length your AS put in the path twice

Limitations of Prepending 1 1 2 1 2 4 1 2 4 5 6 1 2 4 5 3 1 1 1 1 3

External Paths Preferred Route Learned from ibgp R1 Route Learned from ebgp R2

Lowest MED MED=500 R1 MED=100 R2 Remote AS

Closest Neighbor IGP metric to R1=500 R1 IGP metric to R1=100 R2

Lowest BGP router ID R1 1.1.1.1 R2 2.2.2.2

Administrative Distance Preference factors for installing routes in main routing table Cisco calls it administrative distance Will affect which sources of routing are installed Since we advertise only internally reachable routes This affects those advertised

Permit/Deny Filtering Routes can be blocked or permitted to enter BGP Criteria include: Advertising address Route address being advertised AS_PATH to reach route» Can use UNIX regular expressions

An ISP Topology Core 1 Core 2 Dial /25 POP1 POP2 POP3 POP4 8 x /28 /24 Dial 8 x Dial 8 x Dial 8 x /25 /28 /25 /28 /25 /28 /24

An ISP Address Plan /19* 128.0.0.0/20 /23 POP Dialups Block A /25 /25 /25 /25 /23 Internal Block B 32 * /25 /25 /30 /23 (4x25) Customers Block C 32 * /28 /23 Customers Block D /24 /24

Aggregation is better than Aggravation Blackhole routes for your blocks Avoid more-specifics Use NO-EXPORT when controlling load to upstream Encourage customers to aggregate Proxy aggregation hard to administer Understand which blocks you can advertise And do ingress/egress filtering

Origination vs. Advertising AS65000 128.0.0.0/19 AS65000 AS64444 192.0.0.0/16 AS 65000 /23 P O P Dialups 32 /25 /25 /25 /25 * /30 128.0.0.0/20 /23 Internal /25 /25 /23 Customers 32 * /28 /23 Customers /24 /24 192.0.0.0/16 AS64444 an AS65000 Customer

Aggregating your Own Traffic AS65000 128.0.0.0/19 128.0.0.0/20 Suppress more specific routes unless required by multihoming /23 POP Dialups /23 Internal /23 Customers /23 Customers 32 /25 /25 /25 /25 * /30 /25 /25 32 * /28 /24 /24

Advertising with NO-EXPORT AS63333 64.0.0.0/12 Assigns 64.0.0.0/22 AS62222 Advertises 64.0.0.0/22 NO-EXPORT Assigns 64.0.4.0/22 AS61111 Advertises 64.0.4.0/22 NO-EXPORT 96.1.0.0/16 AS61000 96.1.0.0/16