BGP Attributes and Path Selection



Similar documents
APNIC elearning: BGP Attributes

Multihomed BGP Configurations

APNIC elearning: BGP Basics. Contact: erou03_v1.0

BGP Basics. BGP Uses TCP 179 ibgp - BGP Peers in the same AS ebgp - BGP Peers in different AS's Private BGP ASN. BGP Router Processes

Introduction to BGP. Cisco ISP Workshops. 2003, Cisco Systems, Inc. All rights reserved.

Border Gateway Protocol BGP4 (2)

Using the Border Gateway Protocol for Interdomain Routing

BGP Best Path Selection Algorithm

Simple Multihoming. ISP/IXP Workshops

Border Gateway Protocol (BGP)

Module 12 Multihoming to the Same ISP

- Border Gateway Protocol -

Routing Protocol - BGP

Configuring BGP. Cisco s BGP Implementation

How To Set Up Bgg On A Network With A Network On A Pb Or Pb On A Pc Or Ipa On A Bg On Pc Or Pv On A Ipa (Netb) On A Router On A 2

Advanced BGP Policy. Advanced Topics

netkit lab bgp: prefix-filtering Università degli Studi Roma Tre Dipartimento di Informatica e Automazione Computer Networks Research Group

BGP Router Startup Message Flow

basic BGP in Huawei CLI

E : Internet Routing

Simple Multihoming. ISP Workshops. Last updated 30 th March 2015

Understanding Route Aggregation in BGP

BGP overview BGP operations BGP messages BGP decision algorithm BGP states

BGP4 Case Studies/Tutorial

Border Gateway Protocol Best Practices

Module 7. Routing and Congestion Control. Version 2 CSE IIT, Kharagpur

How To Understand Bg

no aggregate-address address mask [as-set] [summary-only] [suppress-map map-name] [advertise-map map-name] [attribute-map map-name]

Internet inter-as routing: BGP

BSCI Module 6 BGP. Configuring Basic BGP. BSCI Module 6

BGP for Internet Service Providers

Exterior Gateway Protocols (BGP)

Gateway of last resort is to network

BGP Advanced Routing in SonicOS

BGP Multihoming. Why Multihome? Why Multihome? Why Multihome? Why Multihome? Why Multihome? Redundancy. Reliability

BGP Multihoming Techniques

Chapter 49 Border Gateway Protocol version 4 (BGP-4)

BGP Operations and Security. Training Course

BGP Terminology, Concepts, and Operation. Chapter , Cisco Systems, Inc. All rights reserved. Cisco Public

Configuring and Testing Border Gateway Protocol (BGP) on Basis of Cisco Hardware and Linux Gentoo with Quagga Package (Zebra)

Transitioning to BGP. ISP Workshops. Last updated 24 April 2013

Configuring BGP. The Cisco BGP Implementation

BGP1 Multihoming and Traffic Engineering

Load balancing and traffic control in BGP

BGP Multihoming Techniques

BGP-4 Case Studies. Nenad Krajnovic.

--BGP 4 White Paper Ver BGP-4 in Vanguard Routers

BGP Techniques for Internet Service Providers

BGP: Frequently Asked Questions

Internet inter-as routing: BGP

BGP Techniques for Internet Service Providers

BGP for Internet Service Providers

Today s Agenda. Note: it takes years to really master BGP Many slides stolen from Prof. Zhi-Li Zhang at Minnesota and from Avi Freedman s slides

CS551 External v.s. Internal BGP

Exam Name: BGP + MPLS Exam Exam Type Cisco Case Studies: 3 Exam Code: Total Questions: 401

BGP Multihoming Techniques

BGP Multihoming Techniques. Philip Smith APRICOT 2013 Singapore 19 th February 1 st March 2013

Effective BGP Load Balancing Using "The Metric System" A real-world guide to BGP traffic engineering

Application Note. Failover through BGP route health injection

Configuring Route Maps and Policy-Based Routing

Bell Aliant. Business Internet Border Gateway Protocol Policy and Features Guidelines

BGP Multihoming Techniques

DD2491 p Inter-domain routing and BGP part I Olof Hagsand KTH/CSC

Effective BGP Load Balancing Using "The Metric System" A real-world guide to BGP traffic engineering

Chapter 6: Implementing a Border Gateway Protocol Solution for ISP Connectivity

Internet Routing Protocols Lecture 04 BGP Continued

netkit lab bgp: multi-homed Università degli Studi Roma Tre Dipartimento di Informatica e Automazione Computer Networks Research Group

> Border Gateway Protocol (BGP-4) Technical Configuration Guide. Ethernet Routing Switch. Engineering

Lecture 18: Border Gateway Protocol"

UPDATE = [Withdrawn prefixes (Optional)] + [Path Attributes] + [NLRIs].

Inter-domain Routing Basics. Border Gateway Protocol. Inter-domain Routing Basics. Inter-domain Routing Basics. Exterior routing protocols created to:

The ISP Column. An Introduction to BGP the Protocol

Understanding Virtual Router and Virtual Systems

BGP Support for Next-Hop Address Tracking

BGP Multihoming Techniques

Based on Computer Networking, 4 th Edition by Kurose and Ross

How To Import Ipv4 From Global To Global On Cisco Vrf.Net (Vf) On A Vf-Net (Virtual Private Network) On Ipv2 (Vfs) On An Ipv3 (Vv

BGP Multihoming Techniques

Load balancing and traffic control in BGP

BGP Techniques for Network Operators

BGP Link Bandwidth. Finding Feature Information. Contents

Analyzing Capabilities of Commercial and Open-Source Routers to Implement Atomic BGP

BGP Link Bandwidth. Finding Feature Information. Prerequisites for BGP Link Bandwidth

Understanding Route Redistribution & Filtering

JNCIA Juniper Networks Certified Internet Associate

Administra0via. STP lab due Wednesday (in BE 301a!), 5/15 BGP quiz Thursday (remember required reading), 5/16

ETHEL THE AARDVARK GOES BGP ROUTING

MPLS VPN. Agenda. MP-BGP VPN Overview MPLS VPN Architecture MPLS VPN Basic VPNs MPLS VPN Complex VPNs MPLS VPN Configuration (Cisco) L86 - MPLS VPN

JUNOS Secure BGP Template

- Route Filtering and Route-Maps -

Edge-1#show ip route Routing entry for /24. Known via "bgp 65001", distance 200, metric 0. Tag 65300, type internal

Interdomain Routing. Outline

A Systematic Approach to BGP Configuration Checking

IP Routing Tecnologie e Protocolli per Internet II rev 1

Tutorial: Options for Blackhole and Discard Routing. Joseph M. Soricelli Wayne Gustavus NANOG 32, Reston, Virginia

IPv6 over MPLS VPN. Contents. Prerequisites. Document ID: Requirements

Introduction to Routing

Transcription:

BGP Attributes and Path Selection ISP Workshops Last updated 29 th March 2015 1

BGP Attributes BGP s policy tool kit 2

What Is an Attribute?... Next Hop AS Path MED...... p Part of a BGP Update p Describes the characteristics of prefix p Can either be transitive or non-transitive p Some are mandatory 3

BGP Attributes p Carry various information about or characteristics of the prefix being propagated n AS-PATH n NEXT-HOP n ORIGIN n AGGREGATOR n LOCAL_PREFERENCE n Multi-Exit Discriminator n (Weight) n COMMUNITY

AS-Path p Sequence of ASes a route has traversed p Mandatory transitive attribute p Used for: n Loop detection n Applying policy AS 300 AS 200 AS 100 170.10.0.0/16 180.10.0.0/16 180.10.0.0/16 300 200 100 170.10.0.0/16 300 200 AS 400 150.10.0.0/16 AS 500 180.10.0.0/16 300 200 100 170.10.0.0/16 300 200 150.10.0.0/16 300 400 5

AS-Path (with 16 and 32-bit ASNs) p Internet with 16-bit and 32-bit ASNs n 32-bit ASNs are 65536 and above p AS-PATH length maintained AS 300 AS 80000 AS 70000 170.10.0.0/16 180.10.0.0/16 180.10.0.0/16 300 23456 23456 170.10.0.0/16 300 23456 AS 400 150.10.0.0/16 AS 90000 180.10.0.0/16 300 80000 70000 170.10.0.0/16 300 80000 150.10.0.0/16 300 400 6

AS-Path loop detection AS 200 AS 100 170.10.0.0/16 180.10.0.0/16 AS 300 140.10.0.0/16 140.10.0.0/16 500 300 170.10.0.0/16 500 300 200 180.10.0.0/16 300 200 100 170.10.0.0/16 300 200 140.10.0.0/16 300 AS 500 p 180.10.0.0/16 is not accepted by AS100 as the prefix has AS100 in its AS-PATH this is loop detection in action 7

Next Hop 150.10.1.1 150.10.1.2 AS 200 150.10.0.0/16 A ebgp B ibgp AS 300 C 150.10.0.0/16 150.10.1.1 160.10.0.0/16 150.10.1.1 AS 100 160.10.0.0/16 p p p ebgp address of external neighbour ibgp NEXT_HOP from ebgp Mandatory non-transitive attribute 8

ibgp Next Hop 120.1.1.0/24 Loopback 120.1.254.2/32 B AS 300 A ibgp 120.1.2.0/23 C D Loopback 120.1.254.3/32 p p Next hop is ibgp router loopback address Recursive route look-up 120.1.1.0/24 120.1.254.2 120.1.2.0/23 120.1.254.3 9

Third Party Next Hop AS 202 120.68.1.0/24 150.1.1.3 150.1.1.1 150.1.1.2 B AS 201 A C 150.1.1.3 120.68.1.0/24 AS 200 p p p p p ebgp between Router A and Router B ebgp between Router B and Router C 120.68.1/24 prefix has next hop address of 150.1.1.3 this is used by Router A instead of 150.1.1.2 as it is on same subnet as Router B More efficient No extra config needed 10

Next Hop Best Practice p Cisco IOS default is for external next-hop to be propagated unchanged to ibgp peers n This means that IGP has to carry external next-hops n Forgetting means external network is invisible n With many ebgp peers, it is unnecessary extra load on IGP p ISP Best Practice is to change external next-hop to be that of the local router neighbor x.x.x.x next-hop-self 11

Next Hop (Summary) p IGP should carry route to next hops p Recursive route look-up p Unlinks BGP from actual physical topology p Use next-hop-self for external next hops p Allows IGP to make intelligent forwarding decision 12

Origin p Conveys the origin of the prefix p Historical attribute n Used in transition from EGP to BGP p Transitive and Mandatory Attribute p Influences best path selection p Three values: IGP, EGP, incomplete n IGP generated by BGP network statement n EGP generated by EGP n incomplete redistributed from another routing protocol 13

Aggregator p Conveys the IP address of the router or BGP speaker generating the aggregate route p Optional & transitive attribute p Useful for debugging purposes p Does not influence best path selection p Creating aggregate using aggregate-address sets the aggregator attribute: router bgp 100 aggregate-address 100.1.0.0 255.255.0.0 14

Local Preference AS 100 160.10.0.0/16 AS 200 AS 300 D E A AS 400 B C 15

Local Preference AS 100 160.10.0.0/16 AS 200 AS 300 D 500 800 E A AS 400 B C 16

Local Preference AS 100 160.10.0.0/16 AS 200 AS 300 D 500 800 E 160.10.0.0/16 500 > 160.10.0.0/16 800 A AS 400 B C 17

Local Preference AS 100 160.10.0.0/16 AS 200 AS 300 D 500 800 E 160.10.0.0/16 500 > 160.10.0.0/16 800 A AS 400 B C 18

Local Preference p Non-transitive and optional attribute p Local to an AS only n Default local preference is 100 (IOS) p Used to influence BGP path selection n determines best path for outbound traffic p Path with highest local preference wins 19

Local Preference p Configuration of Router B: router bgp 400 neighbor 120.5.1.1 remote-as 300 neighbor 120.5.1.1 route-map LOCAL-PREF in! route-map LOCAL-PREF permit 10 match ip address prefix-list MATCH set local-preference 800! route-map LOCAL-PREF permit 20! ip prefix-list MATCH permit 160.10.0.0/16 20

Multi-Exit Discriminator (MED) AS 200 C D A B 120.68.1.0/24 AS 400 21

Multi-Exit Discriminator (MED) AS 200 C D 120.68.1.0/24 2000 A B 120.68.1.0/24 1000 120.68.1.0/24 AS 400 22

Multi-Exit Discriminator (MED) 120.68.1.0/24 2000 > 120.68.1.0/24 1000 AS 200 C D 120.68.1.0/24 2000 A B 120.68.1.0/24 1000 120.68.1.0/24 AS 400 23

Multi-Exit Discriminator (MED) 120.68.1.0/24 2000 > 120.68.1.0/24 1000 AS 200 C D 120.68.1.0/24 2000 A B 120.68.1.0/24 1000 120.68.1.0/24 AS 400 24

Multi-Exit Discriminator p Inter-AS non-transitive & optional attribute p Used to convey the relative preference of entry points n Determines best path for inbound traffic p Comparable if paths are from same AS n bgp always-compare-med allows comparisons of MEDs from different ASes p Path with lowest MED wins p Absence of MED attribute implies MED value of zero (RFC4271) 25

Deterministic MED p IOS compares paths in the order they were received n Leads to inconsistent decisions when comparing MED p Deterministic MED n Configure on all bgp speaking routers in AS n Orders paths according to their neighbouring ASN n Best path for each neighbour ASN group is selected n Overall bestpath selected from the winners of each group router bgp 10 bgp deterministic-med 26

MED & IGP Metric p IGP metric can be conveyed as MED n set metric-type internal in route-map p enables BGP to advertise a MED which corresponds to the IGP metric values p changes are monitored (and re-advertised if needed) every 600s p bgp dynamic-med-interval <secs> 27

Multi-Exit Discriminator p Configuration of Router B: router bgp 400 neighbor 120.5.1.1 remote-as 200 neighbor 120.5.1.1 route-map SET-MED out! route-map SET-MED permit 10 match ip address prefix-list MATCH set metric 1000! route-map SET-MED permit 20! ip prefix-list MATCH permit 120.68.1.0/24 28

Weight p Not really an attribute local to router p Highest weight wins p Applied to all routes from a neighbour: neighbor 120.5.7.1 weight 100 p Weight assigned to routes based on filter: neighbor 120.5.7.3 filter-list 3 weight 50 29

Weight Used to help Deploy RPF AS4 Link to use for most traffic from AS1 C AS4, LOCAL_PREF 200 B Backup link, but RPF still needs to work A AS1 AS4, LOCAL_PREF 100, weight 100 p p Best path to AS4 from AS1 is always via B due to localpref But packets arriving at A from AS4 over the direct C to A link will pass the RPF check as that path has a priority due to the weight being set n If weight was not set, best path back to AS4 would be via B, and the RPF check would fail 30

Aside: What is urpf? FIB: 172.16.1.0/24 fa0/0 192.168.1.0/24 se0/1 src=172.16.1.1 fa0/0 router se0/1 p Router compares source address of incoming packet with FIB entry n If FIB entry interface matches incoming interface, the packet is forwarded n If FIB entry interface does not match incoming interface, the packet is dropped 31

Aside: What is urpf? FIB: 172.16.1.0/24 fa0/0 192.168.1.0/24 se0/1 src=192.168.1.1 fa0/0 router se0/1 p Router compares source address of incoming packet with FIB entry n If FIB entry interface matches incoming interface, the packet is forwarded n If FIB entry interface does not match incoming interface, the packet is dropped 32

Weight Used for traffic policy AS4 Link to use for most customer traffic from AS1 C AS4, LOCAL_PREF 200 AS7 D A B AS1 Router A customers have best path to AS7 AS4, LOCAL_PREF 100, weight 100 p p Best path to AS4 from AS1 is always via B due to localpref But customers connected directly to Router A use the link to AS7 as best outbound path because of the high weight applied to routes heard from AS7 n If the A to D link goes down, then the Router A customers see best path via Router B and AS4 33

Community p Communities are described in RFC1997 n Transitive and Optional Attribute p 32 bit integer n Represented as two 16 bit integers (RFC1998) n Common format is <local-asn>:xx n 0:0 to 0:65535 and 65535:0 to 65535:65535 are reserved p Used to group destinations n Each destination could be member of multiple communities p Very useful in applying policies within and between ASes 34

Community Example (before) permit 160.10.0.0/16 out D AS 300 E ISP 1 F Upstream AS 400 permit 160.10.0.0/16 in C AS 100 A 160.10.0.0/16 35

Community Example (before) permit 160.10.0.0/16 out D AS 300 E ISP 1 F Upstream AS 400 permit 160.10.0.0/16 in C permit 170.10.0.0/16 in AS 100 A 160.10.0.0/16 B AS 200 170.10.0.0/16 36

Community Example (before) permit 160.10.0.0/16 out permit 170.10.0.0/16 out D AS 300 E ISP 1 F Upstream AS 400 permit 160.10.0.0/16 in C permit 170.10.0.0/16 in AS 100 A 160.10.0.0/16 B AS 200 170.10.0.0/16 37

Community Example (before) Peer AS1 X 100.10.0.0/16 permit 100.10.0.0/16 in permit 160.10.0.0/16 out permit 170.10.0.0/16 out D AS 300 E ISP 1 F Upstream AS 400 permit 160.10.0.0/16 in C permit 170.10.0.0/16 in AS 100 A 160.10.0.0/16 B AS 200 170.10.0.0/16 38

Community Example (after) 160.10.0.0/16 300:1 D AS 300 E ISP 1 F Upstream AS 400 160.10.0.0/16 300:1 C AS 100 A 160.10.0.0/16 39

Community Example (after) 160.10.0.0/16 300:1 D AS 300 E ISP 1 F Upstream AS 400 160.10.0.0/16 300:1 C 170.10.0.0/16 300:1 AS 100 A 160.10.0.0/16 B AS 200 170.10.0.0/16 40

Community Example (after) 160.10.0.0/16 300:1 170.10.0.0/16 300:1 D AS 300 E ISP 1 F Upstream AS 400 160.10.0.0/16 300:1 C 170.10.0.0/16 300:1 AS 100 A 160.10.0.0/16 B AS 200 170.10.0.0/16 41

Community Example (after) Peer AS1 X 100.10.0.0/16 100.10.0.0/16 300:9 160.10.0.0/16 300:1 170.10.0.0/16 300:1 D AS 300 E ISP 1 F Upstream AS 400 160.10.0.0/16 300:1 C 170.10.0.0/16 300:1 AS 100 A 160.10.0.0/16 B AS 200 170.10.0.0/16 42

Well-Known Communities p Several well known communities n www.iana.org/assignments/bgp-well-known-communities p no-export 65535:65281 n Do not advertise to any ebgp peers p no-advertise 65535:65282 n Do not advertise to any BGP peer p no-export-subconfed 65535:65283 n Do not advertise outside local AS (only used with confederations) p no-peer 65535:65284 n Do not advertise to bi-lateral peers (RFC3765) 43

No-Export Community 105.7.0.0/16 105.7.X.X no-export 105.7.X.X A D 105.7.0.0/16 AS 100 AS 200 B E G C F p p p AS100 announces aggregate and subprefixes n Intention is to improve loadsharing by leaking subprefixes Subprefixes marked with no-export community Router G in AS200 does not announce prefixes with noexport community set 44

No-Peer Community 105.7.0.0/16 105.7.X.X no-peer upstream D 105.7.0.0/16 C&D&E are peers e.g. Tier-1s C A upstream 105.7.0.0/16 E B upstream p Sub-prefixes marked with no-peer community are not sent to bi-lateral peers n They are only sent to upstream providers 45

What about 4-byte ASNs? p Communities are widely used for encoding ISP routing policy n 32 bit attribute p RFC1998 format is now standard practice n ASN:number p Fine for 2-byte ASNs, but 4-byte ASNs cannot be encoded p Solution: n Use private ASN for the first 16 bits n (http://datatracker.ietf.org/doc/draft-ietf-idr-as4octetextcomm-generic-subtype/ has now expired) 46

Summary Attributes in Action Router6>sh ip bgp BGP table version is 16, local router ID is 10.0.15.246 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP,? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *>i 10.0.0.0/26 10.0.15.241 0 100 0 i *>i 10.0.0.64/26 10.0.15.242 0 100 0 i *>i 10.0.0.128/26 10.0.15.243 0 100 0 i *>i 10.0.0.192/26 10.0.15.244 0 100 0 i *>i 10.0.1.0/26 10.0.15.245 0 100 0 i *> 10.0.1.64/26 0.0.0.0 0 32768 i *>i 10.0.1.128/26 10.0.15.247 0 100 0 i *>i 10.0.1.192/26 10.0.15.248 0 100 0 i *>i 10.0.2.0/26 10.0.15.249 0 100 0 i *>i 10.0.2.64/26 10.0.15.250 0 100 0 i... 47

BGP Path Selection Algorithm Why is this the best path? 48

BGP Path Selection Algorithm for Cisco IOS: Part One 1. Do not consider path if no route to next hop 2. Do not consider ibgp path if not synchronised (Cisco IOS) 3. Highest weight (local to router) 4. Highest local preference (global within AS) 5. Prefer locally originated route 6. Shortest AS path 49

BGP Path Selection Algorithm for Cisco IOS: Part Two 7. Lowest origin code n IGP < EGP < incomplete 8. Lowest Multi-Exit Discriminator (MED) n n n If bgp deterministic-med, order the paths by AS number before comparing If bgp always-compare-med, then compare for all paths Otherwise MED only considered if paths are from the same AS (default) 50

BGP Path Selection Algorithm for Cisco IOS: Part Three 9. Prefer ebgp path over ibgp path 10. Path with lowest IGP metric to next-hop 11. For ebgp paths: n n n If multipath is enabled, install N parallel paths in forwarding table If router-id is the same, go to next step If router-id is not the same, select the oldest path 51

BGP Path Selection Algorithm for Cisco IOS: Part Four 12. Lowest router-id (originator-id for reflected routes) 13. Shortest cluster-list n Client must be aware of Route Reflector attributes! 14. Lowest neighbour address 52

BGP Attributes and Path Selection ISP Workshops 53