Advanced Computer Networks

Similar documents
Advanced Computer Networks

Advanced Computer Networks

Advanced Computer Networks

Advanced Computer Networks

ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE. External Routing BGP. Jean Yves Le Boudec 2015

Internet Interconnection Structure

internet technologies and standards

Routing Between Autonomous Systems (Example: BGP4) RFC 1771

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

Configuring BGP. Cisco s BGP Implementation

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

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

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

External Routing BGP Jean Yves Le Boudec Fall 2012

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

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

Internet inter-as routing: BGP

Table of Contents. BGP Configuration 1

LACNIC XIII. Using BGP for Traffic Engineering in an ISP

Table of Contents 1 BGP Configuration 1-1

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

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

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

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

Module 6 Implementing BGP

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

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

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

University of Belgrade - School of Electrical Engineering Department of Telecommunications

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

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

Inter-Domain Routing: BGP

BGP-v4 Theory and Practice

This appendix contains supplementary Border Gateway Protocol (BGP) information and covers the following topics:

Operation Manual BGP. Table of Contents

IBGP scaling: Route reflectors and confederations

CS BGP v4. Fall 2014

Ravi Chandra cisco Systems Cisco Systems Confidential

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4

BGP. Autonomous system (AS) BGP version 4

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

TELE 301 Network Management

Connecting to a Service Provider Using External BGP

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 Protocol & Configuration. Scalable Infrastructure Workshop AfNOG2008

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

Inter-domain Routing. Outline. Border Gateway Protocol

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

Contents. BGP commands 1

Routing Unicast routing protocols

BGP. BGP Overview. BGP Operation. BGP Neighbors

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

BGP Attributes and Policy Control

Connecting to a Service Provider Using External BGP

Chapter 13 Configuring BGP4

Routing. Jens A Andersson Communication Systems

BGP Attributes and Policy Control

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

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

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

Chapter 17 BGP4 Commands

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

Cisco CISCO Configuring BGP on Cisco Routers Exam. Practice Test. Version

FiberstoreOS BGP Command Line Reference

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

Configuring Internal BGP Features

BGP Route Reflector Commands

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

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

BGP Tutorial. APRICOT 2004, Kuala Lumpur February Philip Smith APRICOT , Cisco Systems, Inc. All rights reserved.

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

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

This chapter explores the various aspects of BGP policy control: Policy control techniques Conditional advertisement Aggregation and deaggregation

BGP Attributes and Policy Control

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.

CertifyMe. CertifyMe

Routing Protocols --- Exterior Gateway Protocol

COMP/ELEC 429 Introduction to Computer Networks

Border Gateway Protocol - BGP

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

HP Load Balancing Module

Configuring Advanced BGP

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

BGP Tutorial. APRICOT 2003, Taipei February Philip Smith APRICOT , Cisco Systems, Inc. All rights reserved.

CS4700/CS5700 Fundamentals of Computer Networks

BGP Attributes and Path Selection

Internet Routing Protocols Lecture 03 Inter-domain Routing

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

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

Border Gateway Protocol (BGP-4)

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

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

Internet Routing Protocols Lecture 01 & 02

Configuration BGP Services Avaya Virtual Services Platform 9000

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

Routing part 2. Electrical and Information Technology

BGP101. Howard C. Berkowitz. (703)

Introduction to BGP ISP/IXP Workshops

Transcription:

Advanced Computer Networks External Routing - BGP protocol Prof. Andrzej Duda duda@imag.fr Contents Autonomous systems Interconnection of ASs Path vector routing BGP types of AS protocol structure of BGP interconnections attributes filtering Statistics http://duda.imag.fr 1 2 Autonomous systems AS autonomous system border router internal router Set of routers under single technical administration using an interior gateway protocol ( like OSPF) and common metrics to route packets within the AS using an exterior gateway protocol (EGP like BGP) to route packets to other AS subnetwork interconnection layer 3 switch (bridge) AS - autonomy of management IP address allocation AS determines internal routing interconnection layer 2 VLAN static routes protocol (RIP, OSPF) host 3 4 AS Interconnection of AS AS structure one or more border routers all subnetworks inside an AS should be connected should learn about other subnetworks - the routing tables of internal routers should contain entries of all destination of the Internet AS number 16 bits public: 1-64511 private: 64512-65535 Examples AS1942 - CICG-GRENOBLE, AS1717, AS2200 - Renater AS559 - SWITCH Teleinformatics Services (EPFL) AS5511 - OPENTRANSIT 5 autonomous system NAP, MAE, GIX, IXP border router subnetworks 6 1

Interconnection of AS Interconnection of AS Border routers interconnect AS advertise routes to internal subnetworks AS accepts the traffic there is an internal route to the destination - AS is able to forward packets to the destination, otherwise - black hole learn routes to external subnetworks Interconnection point NAP (Network Access Point), MAE (Metropolitan Area Ethernet), CIX (Commercial Internet exchange), GIX (Global Internet exchange), IXP, SFINX, LINX exchange of traffic - peering contract between ASs High-speed local area network connecting border routers of Ass D C Internet Router 1 Router 2 A B AS of a company Company can advertise its routes in different ways 7 8 Interconnection of AS Interconnection of AS D C D C Internet Internet Router 1 Router 2 A B AS of a company Router 1 Router 2 A B AS of a company A advertised through Router 1, B through Router 2 A and B advertised through both routers External packets use internal resources of the company 9 10 Advertisement of internal routes Advertisement of internal routes D C D C Internet Internet Router 1 Router 2 Router 1 Router 2 A AS of a company B A AS of a company B Router 1 advertises default route Routers 1 and 2 advertise different external routes Traffic from AS goes directly to the Internet 11 Traffic from AS goes to the Internet via private interconnection 12 2

Towards BGP Possible strategy exchange distances between ASs find best routes to destinations by Distance Vector problem: count to infinity find best routes to destinations by Link State metrics are not homogeneous scale - no. of AS greater than large OSPF networks policy routing more important than shortest path Path vector knowledge of the global state path: sequence of AS with attributes loop detection: AS appears twice global optimization and policy routing 13 A4 Hierarchical routing OSPF A1 A3 A2 Autonomous System A (ex: EPFL) BGP D5 area 1 D4 B4 BGP D1 area 0 B1 B3 area 2 D2 OSPF Autonomous System C ASs can be transit (B and D), stub (A) or multihomed (C). Only non stub domains need an AS number D3 B2 BGP Autonomous System B Autonomous System D BGP C4 IGRP C3 C1 C2 14 Path Vector routing n1, n2 A A:n1,n2 A:n1,n2 n3 n5 B C C A:n1,n2 C:n3 B A:n1,n2 B:n5 n4 D E D C A:n1,n2 D C: n3 D: n4 AS maintains a table of best paths known so far Table updated using local rules Suitable when BGP table in E dest n1 n2 n3 n4 n5 AS path B A B A D C D B Policy Routing Principle: computation of best path is restricted by explicit rules no global meaning for costs can be assumed (heterogeneous environments) global topology is fairly stable e.g. EPFL-Berkeley link 15 16 n1 D1 = EPFL D1:n1 D1:n1 DY D2:n2 DX DY Through BGP D2 is not allowed to tell DY: D2 D1:n1 DY is allowed to tell DX: DY D2: n2 D2:n2 D2 = UCB example: backdoor link reserved for peer to peer traffic, should not be used by transit traffic of other AS n2 BGP (Border Gateway Protocol) BGP-4, RFC 1771 AS border router - BGP speaker peer-to peer relation with another AS border router connected communication on top of a TCP connection, port 179 (vs. datagram (RIP, OSPF)) external connections () with border routers of different AS internal connections () with border routers of the same AS BGP only transmits modifications Routes Route - unit of information destination (subnetwork prefix) stored as the NLRI (Network Layer Reachability Information) - <prefix length, IP address> equivalent to CIDR attributes of a path to the destination (e.g. list of AS) Advertised between a pair of BGP speakers Stored in the RIB (Routing Information Base) If route chosen to advertise BGP speaker can add or modify the path attributes 17 18 3

Stub AS Stub AS with private AS No. Operator AS BGP: AS 64512 Operator AS AS 454 BGP: AS 454 Client AS Client AS AS 64512 Stub AS - single connection to another AS BGP not necessary static routes may be sufficient BGP provides more control over routes 19 Operator changes the client AS number to its number limits the need for AS numbers 20 Non transit multi-homed AS Multi-homed AS with one exit Operator 1 AS Operator 2 AS Operator 1 AS Operator 2 AS Client AS Client AS BGP is recommended Client border router has two peer border routers Client strategies redundant route via Operator 2 different contracts with different operators 21 22 Two exit points Multi-homed transit AS Operator 1 AS Operator AS Operator 2 AS Client AS Client AS Client AS Two exit points to one or two operators Motivated by geographic optimization or redundancy Can be generalized to N exit points Used for transit traffic by other AS 23 24 4

ebgb and ebgb and Border routers of different AS exchange route information using External BGP () peer border routers should be on the same subnetwork Border routers of AS exchange route information using Internal BGP () 25 Different internal BGP interconnections full mesh between all border routers (6 connections in ) confederations route reflectors 26 Confederations Route reflectors AS P1 AS P2 AS P3 RR RR RR cluster 1 cluster 2 cluster 3 AS decomposed into sub-as private AS number similar to OSPF areas inside sub-as (full interconnection) between sub-as 27 Cluster of routers one session between one client and RR CLUSTER_ID Route reflector re-advertises a route learnt via to avoid loops ORIGINATOR_ID attribute associated with the advertisement 28 configuration EGP and synchronization R5 R6 lo0 lo0 18.1/16 (OSPF) R2 configured on loopback interface (lo0) interface always up IP address associated with the interface routing guarantees packet forwarding to the interface 29 R5 advertises 18.1/16 to R6 via R6 transmits it to R2 via TCP connection between R6 and R2 R6 injects 18.1/16 into (OSPF - external route) R2 advertises it to R4 via Packet to 18.1/16 from R1 (OSPF) routing table of R2 should contain an entry for 18.1/16 established by (OSPF) R2 must wait for the entry before advertising via R4 30 5

Route server BGP principles 1.1.1.1 n1,n2 2.2.2.2 n1 n2 n3,n4 n3 n4 Instead of n(n-1)/2 peer to peer connections n connections to Route Server To avoid loops ADVERTISER attribute indicates which router in the AS generated the route 31 Establish BGP session Update list of destinations reachable via each router path attributes such as degree of preference for a particular route 32 BGP principles BGP speaker 1.1.1.1 withdraw n1 2.2.2.2 n2 n3 n4 updates in In filter policy Out filter policy updates out n1 no longer reachable Adj-RIB-in Loc-RIB Adj-RIB-out Incremental update withdraw n1 BGP process 33 Local configuration and Routing table 34 Components BGP messages Static description of policies what we advertise to others what we accept from others criteria for processing attributes Dynamic tables containing routing information Adj-RIB - Adjacency Routing Information Base received from other BGP speakers Adj-RIB-in selected for advertisement to other BGP speakers Adj-RIB-out internal, used by the local BGP speaker, routes chosen from Adj-RIB-in by the Decision Process by applying its local policies Loc-RIB 4 types OPEN KEEPALIVE NOTIFICATION UPDATE Size: from 19 to 4096 bytes Security by MD5 35 36 6

OPEN message NOTIFICATION message First message of BGP session Indicates to the peer BGP router Id optional parameters Proposes a session duration between 3 to 90 sec max time between KEEPALIVE msgs or UPDATE choice of the smallest, 0 - no limit on duration Wait for KEEPALIVE Closes BGP session and TCP connection Error code and subcode Cancels all routes learnt by BGP (can be maintained if configured) Kind of reset in case of error no KEEPALIVE during hold time incorrect message state error 37 38 UPDATE message Add or withdraw a route advertisement NLRI (Network Layer Reachability Information) list of network prefixes to add or withdraw List of attributes common to all network prefixes in NLRI origin, AS path, metrics, preferences Attribute = type, value, 4 flags UPDATE message 4 flags Well-known/Optional Well-known Mandatory/Discretionary Optional Transitive (let them pass)/nontransitive (eliminate) Partial (at least one router not processed)/complete On 1 byte/on 2 bytes UPDATE message sent when modification Two effects modification of the RIB table of the BGP process sending updates to neighbors 39 40 BGP state machine Attributes IDLE open TCP connection NOTIFY CONNECTED SESSION ESTABLISHED send OPEN KEEPALIVE OPEN SENT Well-known Mandatory ORIGIN, AS_PATH, NEXT_HOP Well-known Discretionary LOCAL_PREF, ATOMIC_AGGREGATE Optional Transitive COMMUNITY, MULTI_EXIT_DISC (MED), AGGREGATOR Optional Nontransitive WEIGHT UPDATE KEEPALIVE 41 42 7

ORIGIN 10.0.0.0 ORIGIN 11.0.0.0 ORIGIN network 10.0.0.0 network 11.0.0.0 network 12.0.0.0 12.0.0.0 not in routing table Source of information : route internal to the source AS route explicitly injected into BGP by network directive exists in the routing table EGP: route learned via BGP 12.0.0.0 ORIGIN INCOMPLETE 11.0.0.0 ORIGIN network 11.0.0.0 redistribute 12.0.0.0 INCOMPLETE: another origin (by redistribute directive) 43 AS_PATH AS1 AS2 193.212.0.0/24 AS3 193.212.1.0/24 193.212.0.0/23 193.212.0.0/23 Ordered path of AS the advertisement has traversed to reach a destination AS_SEQUENCE each AS adds its number to the list AS_SET aggregation of routes coming from different AS AS1: 193.212.0.0/24 AS_PATH: 1 AS2: 193.212.1.0/24 AS_PATH: 2 AS3: 193.212.0.0/23 AS_PATH: 3 {1 2} AS4: 193.212.0.0/23 AS_PATH: 4 3 {1 2} AS4 44 ATOMIC_AGGREGATE Atomic aggregation ATOMIC_AGGREGATE indicates information loss when aggregating routes prefix may cover prefixes subject to different policies, e.g. having different AS_PATH or other attributes forbids de-aggregation - route with ATOMIC_AGGREGATE cannot be made more specific not required if an aggregate carries the set of ASs that form the aggregate (aggregated with the AS_SET parameter) AGGREGATOR AS and router that has generated an aggregate 193.250.5.0/24 193.250.6.0/24 AS 1276 AS 1277 195.4.0.2 AS 875 193.250.0.0/16 ATOMIC_AGGREGATE AGGREGATOR={875, 195.4.0.2} 45 46 Aggregation Aggregation AS1 AS2 AS3 has 197.8.0.0/23 (two class C addresses 197.8.0.0/24 and 197.8.1.0/24) aggregates all addresses to 197.8.0.0/22 AS4 receives 197.8.2.0/24 AS3 197.8.0.0/22 AS4 197.8.0.0/22 AS_PATH: 3 {1 2} AS_PATH: 2 Overlapping routes (more specific and less specific) 197.8.0.0/22 47 AS1 AS2 More specific route is not always the better longer path through AS5 and AS6 AS4 receives 197.8.2.0/24 AS3 AS5 AS6 197.8.0.0/22 197.8.0.0/22 AS4 197.8.0.0/22 AS_PATH: 3 {1 2} AS_PATH: 6 5 2 48 8

Atomic aggregation No aggregation 197.8.2.0/24 AS1 197.8.0.0/22 197.8.0.0/22 AS3 AS4 AS2 AS4 can advertise 197.8.0.0/22 AS_PATH: 4 {3 1 2} ATOMIC_AGGREGATE, AGGREGATOR={4, rtr-id} Atomic aggregation AS1 AS2 197.8.2.0/24 AS3 197.8.0.0/23 197.8.2.0/24 If AS3 does not aggregate 197.8.0.0/23 AS_PATH: 4 3 197.8.2.0/24 AS_PATH: 4 3 1 AS_PATH: 4 2 AS4 197.8.0.0/23 197.8.2.0/24 49 50 NEXT_HOP NEXT_HOP R6 R5 R1 R2 R3 R4 10.1/16 10.2/16 R3 advertises 10.2/16 to R1, NEXT_HOP = R4 IP address R6 advertises 10.1/16 to R5, NEXT_HOP = R6 IP address 51 193.250.5.0/24 AS 1276 Receives and stores: Receives and stores: 195.4.0.1 195.4.0.2 AS 875 NLRI ORIGIN NEXT_HOP AS_PATH 193.120.3.0/24 I 195.4.0.2 875 193.120.3.0/24 NLRI ORIGIN NEXT_HOP AS_PATH 193.250.5.0/24 I 195.4.0.1 1276 52 Configuration on CISCO Choice of routes 193.250.5.0/24 router bgp 1276 AS 1276 195.4.0.1 195.4.0.2 neighbor 195.4.0.2 remote-as 875 network 193.250.5.0 255.255.255.0 AS 875 193.120.3.0/24 When multiple routes exist, choose one route to put into the BGP routing table Preference information local to a BGP router - WEIGHT local to an AS - LOCAL_PREF passed to other ASs - MED router bgp 875 neighbor 195.4.0.1 remote-as 1276 network 193.120.3.0 255.255.255.0 53 54 9

WEIGHT LOCAL_PREF Associate a weight with a neighbor For a local choice at a BGP router neighbor IP-address weight weight-value The route passing via the neighbor of the largest weight will be chosen Never advertised 55 pref=100 R6 Advertised by (never by ebgb) that AS prefers a given AS_PATH when coming from different Ass done by an entry border router R6 associates pref=100, R2 pref=10 R1 R1 chooses the largest preference bgp default local-preference pref-value Examples prefer a faster or cheaper link R2 pref=10 56 MULTI_EXIT_DISC (MED) COMMUNITY R2 R5 {y} MED=50 {y, z} MED=5 {y} MED=20 Preference for a prefix list when there are several exit routers from an AS advertises its prefixes with MED 10, 20, 50 will accept the prefix with the smallest MED R6 R1 R3 {y} MED=10 R4 57 Mark routes which share a common property Signal routes that needs to be processed in a predefined way Standard well-known values NO_EXPORT - the route should not be advertised to peers outside a confederation NO_ADVERTIZE - the route should not be advertised to any peer Private values AS-no:value (0-65535) Transitive 58 COMMUNITY COMMUNITY n3 n1 (NO_EXPORT) n2 (NO_EXPORT) n3 COMM=672:X set LOCAL_PREF = X AS 672 primary attach COMM=672:100 AS 987 backup COMM=672:X set LOCAL_PREF = X attach COMM=672:50 Routes not propagated because of the COMMUNITY attribute Set LOCAL_PREF according to community values 59 60 10

Choice of the best route Internal routes advertisement Install the best route in Loc-RIB Decreasing priority NEXT_HOP accessible max WEIGHT max LOCAL_PREF route generated by the router the shortest AS_PATH ORIGIN > EGP > INCOMPLETE min MULTI_EXIT_DISC > External confederation > NEXT_HOP accessible via a neighbor route advertised by router having the smallest IP address From static declarations redistribute [static connected] ORIGIN: INCOMPLETE Semi-dynamic network <prefix> ORIGIN: Dynamic redistribute <> <parameters> ORIGIN: EGP 61 62 Routing policy Route filtering Objectives choose from received routes choose from routes that can be advertised set route attributes Mechanisms prefix filtering AS_PATH filtering (regular expression matching) attribute manipulation prefix aggregation Associate an access list with a neighbor neighbor ID distribute-list no-of-the-list [in/out] Define an access list non-significant-bits (inverse of the netmask) if no action specified at the end of the list, apply "deny everything else" access-list No-of-the-list [deny/permit] IP-address non-significant-bits 63 64 Route filtering Path filtering 194.10.1.0/24 195.4.0.1 195.4.0.2 194.10.3.0/24 Associate a filter list with a neighbor neighbor ID filter-list no-of-the-list [in/out] 194.10.2.0/24 AS 1276 AS 1277 195.4.1.1 AS 875 router bgp 1276 network 194.10.1.0 255.255.255.0 neighbor 195.4.1.1 remote-as 1277 neighbor 195.4.0.2 remote-as 875 neighbor 195.4.1.1 distribute-list 1 out access-list 1 deny 194.10.3.0 0.0.0.255 access-list 1 permit 0.0.0.0 255.255.255.255 AS 1276 does not want to forward traffic to 194.10.3.0/24 of AS 875 - it does not re-advertise this prefix 65 Define a filter list ip as-path access-list no-of-the-list [deny/permit] regular-expression Regular expressions ^ beginning of the path $ end of the path. any character? one character _ matches ^ $ ( ) 'space' * any number of characters (zero included) + any number of characters (at least one) 66 11

Path filtering Path filtering Examples ^$ - local routes only (empty AS_PATH).* - all routes (all paths AS_PATH) ^300$ - AS_PATH = 300 ^300_ - all routes coming from 300 (e.g. AS_PATH = 300 200 100) _300$ - all routes originated at 300 (e.g. AS_PATH = 100 200 300) _300_ - all routes passing via 300 (e.g. AS_PATH = 200 300 100) 194.10.1.0/24 194.10.2.0/24 AS 1276 AS 1277 195.4.0.1 195.4.0.2 195.4.1.1 AS 875 194.10.3.0/24 router bgp 1276 network 194.10.1.0 255.255.255.0 neighbor 195.4.1.1 remote-as 1277 neighbor 195.4.0.2 remote-as 875 neighbor 195.4.1.1 filter-list 1 out ip as-path access-list 1 deny ^875$ ip as-path access-list 1 permit.* AS 1276 does not want to forward traffic for all internal routes of AS 875 67 68 Route maps route-map map-tag [permit deny] instance-no first-instance-conditions: set match next-instance-conditions: set match... route-map SetMetric permit 10 match ip address 1 set metric 200 route-map SetMetric permit 20 set metric 300 Route maps 194.10.1.0/24 194.10.2.0/24 AS 1276 AS 1277 195.4.0.1 195.4.0.2 195.4.1.1 AS 875 194.10.3.0/24 router bgp 1276 network 194.10.1.0 255.255.255.0 neighbor 195.4.1.1 remote-as 1277 neighbor 195.4.0.2 remote-as 875 neighbor 195.4.1.1 route-map SetMetric out access-list 1 permit 194.10.3.0 0.0.0.255 Set metric 200 (MED) on route 194.10.3/24 69 Set metric 200 on route 194.10.3/24, 300 otherwise 70 Route maps neighbor 192.68.5.2 route-map SetLocal in route-map SetLocal permit 10 set local-preference 300 Set LOCAL_PREF to 300 neighbor 172.16.2.2 route-map AddASnum out route-map AddASnum permit 10 set as-path prepend 801 801 Route dampening Route modification propagates everywhere successive UPDATE and WITHDRAW of a route Penalty for flapping routes penalty for ill-behaved routes if too ill-behaved, suppressed penalty halved at each half-life-time (configurable) Thresholds suppress-limit reuse-limit Prepend AS 801 801 to AS_PATH (makes it longer) 71 72 12

Route dampening Some statistics penalty suppress-limit reuse-limit t 1 t 2 Route suppressed at t 1, restored at t 2 time Number of routes 1988-1994: exponential increase 1994-1995: CIDR 1995-1998: linear increase (10000/year) 1999-2000: return to exponential increase (42% per year) since 2001: return to linear increase, ~120,000 Number of ASs 51% per year for 4 last years 14000 AS effectively used Number of IP addresses 162,128,493 (Jul 2002) 7% per year 73 74 75 76 Number of hosts BGP statistics BGP routing table entries examined: 1 17013 Total ASes present in the Internet Routing Table: 1 4042 Origin-only ASes present in the Internet Routing Table: 12159 Transit ASes present in the Internet Routing Table: 1883 Transit-only ASes present in the Internet Routing Table: 63 Average AS path length visible in the Internet Routing Table: 5.3 Max AS path length visible: 23 Number of addresses announced to Internet: 1182831464 Equivalent to 70 /8s, 128 /16s and 147 /24s Percentage of available address space announced: 31.9 Percentage of allocated address space announced: 58.5 77 78 13

Prefix length distribution /1:0 /2:0 /3:0 /4:0 /5:0 /6:0 /7:0 /8:17 /9:5 /10:8 /11:12 /12:46 /13:90 /14:239 /15:430 /16:7308 /17:1529 /18:2726 /19:7895 /20:7524 /21:5361 /22:8216 /23:9925 /24:64838 /25:185 /26:221 /27:126 /28:105 /29:85 /30:93 /31:0 /32:29 AS 559 - SWITCH AS559 SWITCH-AS SWITCH Teleinformatics Services Adjacency: 3 Upstream: 2 Downstream: 1 Upstream Adjacent AS list AS1299 TCN-AS Telia Corporate Network AS3549 GBLX Global Crossing Downstream Adjacent AS list AS4128 RG-SPARE RGnet, Inc. Prefix (AS Path) 128.178.0.0/15 1 3549 559 129.129.0.0/16 1 3549 559 129.132.0.0/16 1 3549 559 79 80 AS 1942 - CICG-GRENOBLE Looking glass at genbb1.opentransit.net AS1942 AS1942 FR-CICG-GRENOBLE Adjacency: 1 Upstream: 1 Downstream: 0 Upstream Adjacent AS list AS2200 AS2200 RENATER 2 Prefix (AS Path) 129.88.0.0/16 1239 5511 2200 1942 130.190.0.0/16 1239 5511 2200 1942 147.171.0.0/16 1239 5511 2200 1942 147.173.0.0/16 1239 5511 2200 1942 2200 - Renater-2, 5511 - OpenTransit (FT), 1239 - Sprint 81 sh ip bgp 129.88.38.241 BGP routing table entry for 129.88.0.0/16, version 34110212 2200 1942 193.51.185.30 (metric 16) from 193.251.128.5 (193.251.128.1) Origin, localpref 100, valid, internal Community: 2200:1001 2200:2200 5511:211 5511:500 5511:503 5511:999 Originator: 193.251.128.1, Cluster list: 0.0.0.10 2200 1942 193.51.185.30 (metric 16) from 193.251.128.3 (193.251.128.1) Origin, localpref 100, valid, internal Community: 2200:1001 2200:2200 5511:211 5511:500 5511:503 5511:999 Originator: 193.251.128.1, Cluster list: 0.0.0.10 2200 1942 193.51.185.30 (metric 16) from 193.251.128.1 (193.251.128.1) Origin, localpref 100, valid, internal, best Community: 2200:1001 2200:2200 5511:211 5511:500 5511:503 5511:999 82 From genbb1.opentransit.net Looking glass at genbb1.opentransit.net Tracing the route to horus.imag.fr (129.88.38.1) 1 P8-0-0.GENAR1.Geneva.opentransit.net (193.251.242.130) 0 msec 0 msec 0 msec 2 P6-0-0.GENAR2.Geneva.opentransit.net (193.251.150.30) 0 msec 4 msec 0 msec 3 P4-3.BAGBB1.Bagnolet.opentransit.net (193.251.154.97) 8 msec 8 msec 8 msec 4 193.51.185.30 [AS 2200] 16 msec 16 msec 16 msec 5 grenoble-pos1-0.cssi.renater.fr (193.51.179.238) [AS 2200] 16 msec 20 msec 16 ms 6 tigre-grenoble.cssi.renater.fr (195.220.98.58) [AS 2200] 20 msec 20 msec 20 msec 7 r-campus.grenet.fr (193.54.184.45) [AS 1942] 20 msec 16 msec 16 msec 8 r-imag.grenet.fr (193.54.185.123) [AS 1942] 20 msec 20 msec 20 msec 9 horus.imag.fr (129.88.38.1) [AS 1942] 16 msec 20 msec 20 msec 83 sh ip bgp 128.178.50.92 BGP routing table entry for 128.178.0.0/15, version 30024182 1299 559 193.251.252.22 (metric 13) from 193.251.128.5 (193.251.128.4) Origin, metric 100, localpref 85, valid, internal Community: 5511:666 5511:710 Originator: 193.251.128.4, Cluster list: 0.0.0.10 1299 559 193.251.252.22 (metric 13) from 193.251.128.3 (193.251.128.4) Origin, metric 100, localpref 85, valid, internal Community: 5511:666 5511:710 Originator: 193.251.128.4, Cluster list: 0.0.0.10 1299 559 193.251.252.22 (metric 13) from 193.251.128.1 (193.251.128.4) Origin, metric 100, localpref 85, valid, internal, best Community: 5511:666 5511:710 Originator: 193.251.128.4, Cluster list: 0.0.0.10 84 14

From genbb1.opentransit.net Conclusion Tracing the route to empc19.epfl.ch (128.178.50.92) 1 P5-1.PASBB1.Pastourelle.opentransit.net (193.251.150.25) 8 msec P4-1.PASBB1.Pastourelle.opentransit.net (193.251.242.134) 8 msec P5-1.PASBB1.Pastourelle.opentransit.net (193.251.150.25) 8 msec 2 P8-0.PASBB2.Pastourelle.opentransit.net (193.251.240.102) 8 msec 8 msec 8 msec 3 Telia.GW.opentransit.net (193.251.252.22) 8 msec 12 msec 8 msec 4 prs-bb1-pos0-3-0.telia.net (213.248.70.1) [AS 1299] 8 msec 8 msec 8 msec 5 ffm-bb1-pos2-1-0.telia.net (213.248.64.190) [AS 1299] 16 msec 16 msec 16 msec 6 zch-b1-pos6-1.telia.net (213.248.65.42) [AS 1299] 48 msec 32 msec 48 msec 7 dante-01287-zch-b1.c.telia.net (213.248.79.190) [AS 1299] 44 msec 36 msec 44 msec 8 swiez2-g3-2.switch.ch (130.59.36.249) [AS 559] 36 msec 44 msec 36 msec 9 swils2-g2-3.switch.ch (130.59.36.33) [AS 559] 36 msec 36 msec 36 msec 10 * * * BGP essential to the current structure of the Internet influence the choice of the routing - OSPF recommended AS numbers exhaustion - extending to 32 bits possible, but deployment difficult complex - policy management, filtering bad configuration - route suppression 85 86 87 15