BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med...

70
© 2010 Cisco Systems, Inc. All rights reserved. ISP Workshops 1 BGP Best Current Practices ISP/IXP Workshops

Transcript of BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med...

Page 1: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 1

BGP Best Current Practices

ISP/IXP Workshops

Page 2: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 2

Configuring BGP

Where do we start?

Page 3: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 3

IOS Good Practices

ISPs should start off with the following BGP commandsas a basic template:

router bgp 64511

bgp deterministic-med

distance bgp 200 200 200

no synchronization

no auto-summary

If supporting more than just IPv4 unicast neighbours no bgp default ipv4 unicast

is also very important and required

Make ebgp and ibgpdistance the same

Replace with public ASN

Page 4: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 4

IOS Good Practices

BGP in Cisco IOS is permissive by default

Configuring BGP peering without using filters means:All best paths on the local router are passed to the neighbourAll routes announced by the neighbour are received by the localrouterCan have disastrous consequences

Good practice is to ensure that each eBGPneighbour has inbound and outbound filter applied:

router bgp 64511

neighbour 1.2.3.4 remote-as 64510

neighbour 1.2.3.4 prefix-list as64510-in in

neighbour 1.2.3.4 prefix-list as64510-out out

Page 5: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 5

What is BGP for??

What is an IGP not for?

Page 6: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 6

BGP versus OSPF/ISIS

Internal Routing Protocols (IGPs)examples are ISIS and OSPFused for carrying infrastructure addressesNOT used for carrying Internet prefixes or customer prefixesdesign goal is to minimise number of prefixes in IGP to aidscalability and rapid convergence

Page 7: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 7

BGP versus OSPF/ISIS

BGP used internally (iBGP) and externally (eBGP)

iBGP used to carrysome/all Internet prefixes across backbonecustomer prefixes

eBGP used toexchange prefixes with other ASesimplement routing policy

Page 8: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 8

BGP versus OSPF/ISIS

DO NOT:distribute BGP prefixes into an IGPdistribute IGP routes into BGPuse an IGP to carry customer prefixes

YOUR NETWORK WILL NOT SCALE

Page 9: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 9

Aggregation

Page 10: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 10

Aggregation

Aggregation means announcing the address blockreceived from the RIR to the other ASes connected toyour network

Subprefixes of this aggregate may be:Used internally in the ISP networkAnnounced to other ASes to aid with multihoming

Unfortunately too many people are still thinking aboutclass Cs, resulting in a proliferation of /24s in theInternet routing table

Page 11: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 11

Configuring Aggregation – Cisco IOS

ISP has 101.10.0.0/19 address block

To put into BGP as an aggregate:router bgp 64511

network 101.10.0.0 mask 255.255.224.0

ip route 101.10.0.0 255.255.224.0 null0

The static route is a “pull up” routemore specific prefixes within this address block ensureconnectivity to ISP’s customers“longest match lookup

Page 12: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 12

Aggregation

Address block should be announced to the Internet asan aggregate

Subprefixes of address block should NOT beannounced to Internet unless special circumstances(more later)

Aggregate should be generated internallyNot on the network borders!

Page 13: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 13

Announcing Aggregate – Cisco IOS

Configuration Examplerouter bgp 64511

network 101.10.0.0 mask 255.255.224.0

neighbor 102.102.10.1 remote-as 101

neighbor 102.102.10.1 prefix-list out-filter out

!

ip route 101.10.0.0 255.255.224.0 null0

!

ip prefix-list out-filter permit 101.10.0.0/19

ip prefix-list out-filter deny 0.0.0.0/0 le 32

Page 14: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 14

Announcing an Aggregate

ISPs who don’t and won’t aggregate are held in poorregard by community

Registries publish their minimum allocation sizeAnything from a /20 to a /22 depending on RIRDifferent sizes for different address blocks

No real reason to see anything longer than a /22 prefixin the Internet

BUT there are currently >168000 /24s!

Page 15: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 15

AS100customer

100.10.10.0/23Internet

100.10.10.0/23100.10.0.0/24100.10.4.0/22…

Aggregation – Example

Customer has /23 network assigned from AS100’s /19 addressblock

AS100 announces customers’ individual networks to the Internet

Page 16: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 16

Customer link returnsTheir /23 network is nowvisible to their ISPTheir /23 network is re-advertised to peersStarts rippling through InternetLoad on Internet backbonerouters as network isreinserted into routing tableSome ISP’s suppress the flapsInternet may take 10-20 min orlonger to be visibleWhere is the Quality ofService???

Customer link goes downTheir /23 network becomesunreachable/23 is withdrawn from AS100’siBGP

Their ISP doesn’t aggregate its/19 network block

/23 network withdrawalannounced to peersstarts rippling through theInternetadded load on all Internetbackbone routers as networkis removed from routing table

Aggregation – Bad Example

Page 17: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 17

AS100customer

100.10.10.0/23

100.10.0.0/19aggregate

Internet

100.10.0.0/19

Aggregation – Example

Customer has /23 network assigned from AS100’s /19 addressblock

AS100 announced /19 aggregate to the Internet

Page 18: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 18

Aggregation – Good Example

Customer link goes downtheir /23 network becomesunreachable/23 is withdrawn from AS100’siBGP

/19 aggregate is still beingannounced

no BGP hold down problemsno BGP propagation delaysno damping by other ISPs

Customer link returns

Their /23 network is visibleagain

The /23 is re-injected intoAS100’s iBGP

The whole Internet becomesvisible immediately

Customer has Quality ofService perception

Page 19: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 19

Aggregation – Summary

Good example is what everyone should do!Adds to Internet stabilityReduces size of routing tableReduces routing churnImproves Internet QoS for everyone

Bad example is what too many still do!Why? Lack of knowledge?Laziness?

Page 20: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 20

Separation of iBGP and eBGP

Many ISPs do not understand the importance of separating iBGPand eBGP

iBGP is where all customer prefixes are carriedeBGP is used for announcing aggregate to Internet and for TrafficEngineering

Do NOT do traffic engineering with customer originated iBGPprefixes

Leads to instability similar to that mentioned in the earlier bad exampleEven though aggregate is announced, a flapping subprefix will lead toinstability for the customer concerned

Generate traffic engineering prefixes on the Border Router

Page 21: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 21

The Internet Today (May 2010)

Current Internet Routing Table StatisticsBGP Routing Table Entries 321324Prefixes after maximum aggregation 147948Unique prefixes in Internet 155831Prefixes smaller than registry alloc 154125/24s announced 168259

only 5730 /24s are from 192.0.0.0/8ASes in use 33989

Page 22: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 22

Efforts to improve aggregation

The CIDR ReportInitiated and operated for many years by Tony BatesNow combined with Geoff Huston’s routing analysis

www.cidr-report.orgResults e-mailed on a weekly basis to most operations listsaround the worldLists the top 30 service providers who could do better ataggregating

RIPE Routing WG aggregation recommendationRIPE-399 — http://www.ripe.net/ripe/docs/ripe-399.html

Page 23: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 23

Efforts to Improve AggregationThe CIDR Report

Also computes the size of the routing table assumingISPs performed optimal aggregation

Website allows searches and computations ofaggregation to be made on a per AS basis

Flexible and powerful tool to aid ISPsIntended to show how greater efficiency in terms of BGP tablesize can be obtained without loss of routing and policyinformationShows what forms of origin AS aggregation could be performedand the potential benefit of such actions to the total table sizeVery effectively challenges the traffic engineering excuse

Page 24: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 24

Page 25: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 25

Page 26: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 26

Page 27: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 27

Importance of Aggregation

Size of routing tableMemory is no longer a problemRouters can be specified to carry 1 million prefixes

Convergence of the Routing SystemThis is a problemBigger table takes longer for CPU to processBGP updates take longer to deal withBGP Instability Report tracks routing system update activityhttp://bgpupdates.potaroo.net/instability/bgpupd.html

Page 28: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 28

Page 29: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 29

Page 30: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 30

Receiving Prefixes

Page 31: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 31

Receiving Prefixes

There are three scenarios for receiving prefixes fromother ASNs

Customer talking BGPPeer talking BGPUpstream/Transit talking BGP

Each has different filtering requirements and need to beconsidered separately

Page 32: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 32

Receiving Prefixes:From Customers

ISPs should only accept prefixes which have beenassigned or allocated to their downstream customer

If ISP has assigned address space to its customer, thenthe customer IS entitled to announce it back to his ISP

If the ISP has NOT assigned address space to itscustomer, then:

Check in the five RIR databases to see if this address spacereally has been assigned to the customerThe tool: whois –h whois.apnic.net x.x.x.0/24

Page 33: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 33

Portable – means its an assignmentto the customer, the customer canannounce it to you

Receiving Prefixes:From Customers

Example use of whois to check if customer is entitled to announceaddress space:

$ whois -h whois.apnic.net 202.12.29.0inetnum: 202.12.29.0 - 202.12.29.255netname: APNIC-AP-AU-BNEdescr: APNIC Pty Ltd - Brisbane Offices + Serversdescr: Level 1, 33 Park Rddescr: PO Box 2131, Miltondescr: Brisbane, QLD.country: AUadmin-c: HM20-APtech-c: NO4-APmnt-by: APNIC-HMchanged: [email protected] 20030108status: ASSIGNED PORTABLEsource: APNIC

Page 34: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 34

ASSIGNED PA – means that it isProvider Aggregatable address spaceand can only be used for connectingto the ISP who assigned it

Receiving Prefixes:From Customers

Example use of whois to check if customer is entitled to announceaddress space:

$ whois -h whois.ripe.net 193.128.2.0inetnum: 193.128.2.0 - 193.128.2.15descr: Wood Mackenziecountry: GBadmin-c: DB635-RIPEtech-c: DB635-RIPEstatus: ASSIGNED PAmnt-by: AS1849-MNTchanged: [email protected] 20020211source: RIPE

route: 193.128.0.0/14descr: PIPEX-BLOCK1origin: AS1849notify: [email protected]: AS1849-MNTchanged: [email protected] 20020321source: RIPE

Page 35: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 35

Receiving Prefixes from customer:Cisco IOS

For Example:downstream has 100.50.0.0/20 blockshould only announce this to upstreamsupstreams should only accept this from them

Configuration on upstreamrouter bgp 100

neighbor 102.102.10.1 remote-as 101

neighbor 102.102.10.1 prefix-list customer in

!

ip prefix-list customer permit 100.50.0.0/20

Page 36: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 36

Receiving Prefixes:From Peers

A peer is an ISP with whom you agree to exchangeprefixes you originate into the Internet routing table

Prefixes you accept from a peer are only those they haveindicated they will announcePrefixes you announce to your peer are only those you haveindicated you will announce

Page 37: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 37

Receiving Prefixes:From Peers

Agreeing what each will announce to the other:Exchange of e-mail documentation as part of the peeringagreement, and then ongoing updates

ORUse of the Internet Routing Registry and configuration toolssuch as the IRRToolSet

www.isc.org/sw/IRRToolSet/

Page 38: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 38

Receiving Prefixes from peer:Cisco IOS

For Example:Peer has 220.50.0.0/16, 61.237.64.0/18 and 81.250.128.0/17address blocks

Configuration on local routerrouter bgp 100

neighbor 102.102.10.1 remote-as 101

neighbor 102.102.10.1 prefix-list my-peer in

!

ip prefix-list my-peer permit 220.50.0.0/16

ip prefix-list my-peer permit 61.237.64.0/18

ip prefix-list my-peer permit 81.250.128.0/17

ip prefix-list my-peer deny 0.0.0.0/0 le 32

Page 39: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 39

Receiving Prefixes:From Upstream/Transit Provider

Upstream/Transit Provider is an ISP who you pay togive you transit to the WHOLE Internet

Receiving prefixes from them is not desirable unlessreally necessary

special circumstances – see later

Ask upstream/transit provider to either:originate a default-route

ORannounce one prefix you can use as default

Page 40: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 40

Receiving Prefixes:From Upstream/Transit Provider

Downstream Router Configurationrouter bgp 100

network 101.10.0.0 mask 255.255.224.0

neighbor 101.5.7.1 remote-as 101

neighbor 101.5.7.1 prefix-list infilter in

neighbor 101.5.7.1 prefix-list outfilter out

!

ip prefix-list infilter permit 0.0.0.0/0

!

ip prefix-list outfilter permit 101.10.0.0/19

Page 41: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 41

Receiving Prefixes:From Upstream/Transit Provider

Upstream Router Configurationrouter bgp 101

neighbor 101.5.7.2 remote-as 100

neighbor 101.5.7.2 default-originate

neighbor 101.5.7.2 prefix-list cust-in in

neighbor 101.5.7.2 prefix-list cust-out out

!

ip prefix-list cust-in permit 101.10.0.0/19

!

ip prefix-list cust-out permit 0.0.0.0/0

Page 42: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 42

Receiving Prefixes:From Upstream/Transit Provider

If necessary to receive prefixes from any provider, care isrequired

don’t accept private (RFC1918) and certain special use prefixes:http://www.rfc-editor.org/rfc/rfc5735.txt

don’t accept your own prefixesdon’t accept default (unless you need it)don’t accept prefixes longer than /24

Check Team Cymru’s list of “bogons”www.cymru.com/Documents/bogon-list.htmlwww.team-cymru.org/Services/Bogons/routeserver.html

Page 43: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 43

Receiving Prefixesrouter bgp 100 network 101.10.0.0 mask 255.255.224.0

neighbor 101.5.7.1 remote-as 101

neighbor 101.5.7.1 prefix-list in-filter in

!ip prefix-list in-filter deny 0.0.0.0/0 ! Block default

ip prefix-list in-filter deny 0.0.0.0/8 le 32

ip prefix-list in-filter deny 10.0.0.0/8 le 32

ip prefix-list in-filter deny 101.10.0.0/19 le 32 ! Block local prefixip prefix-list in-filter deny 127.0.0.0/8 le 32

ip prefix-list in-filter deny 169.254.0.0/16 le 32

ip prefix-list in-filter deny 172.16.0.0/12 le 32

ip prefix-list in-filter deny 192.0.2.0/24 le 32ip prefix-list in-filter deny 192.168.0.0/16 le 32

ip prefix-list in-filter deny 224.0.0.0/3 le 32 ! Block multicast

ip prefix-list in-filter deny 0.0.0.0/0 ge 25 ! Block prefixes >/24

ip prefix-list in-filter permit 0.0.0.0/0 le 32

Page 44: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 44

Receiving Prefixes

Paying attention to prefixes received from customers,peers and transit providers assists with:

The integrity of the local networkThe integrity of the Internet

Responsibility of all ISPs to be good Internet citizens

Page 45: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 45

Prefixes into iBGP

Page 46: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 46

Injecting prefixes into iBGP

Use iBGP to carry customer prefixesdon’t use IGP

Point static route to customer interface

Use BGP network statement

As long as static route exists (interface active), prefixwill be in BGP

Page 47: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 47

Router Configuration:network statement

Example:interface loopback 0

ip address 215.17.3.1 255.255.255.255

!

interface Serial 5/0

ip unnumbered loopback 0

ip verify unicast reverse-path

!

ip route 215.34.10.0 255.255.252.0 Serial 5/0

!

router bgp 100

network 215.34.10.0 mask 255.255.252.0

Page 48: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 48

Injecting prefixes into iBGP

Interface flap will result in prefix withdraw andreannounce

use “ip route…permanent”

Many ISPs redistribute static routes into BGP ratherthan using the network statement

Only do this if you understand why

Page 49: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 49

Router Configuration:redistribute static

Example:ip route 215.34.10.0 255.255.252.0 Serial 5/0!router bgp 100 redistribute static route-map static-to-bgp<snip>!route-map static-to-bgp permit 10 match ip address prefix-list ISP-block set origin igp<snip>!ip prefix-list ISP-block permit 215.34.10.0/22 le 30

Page 50: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 50

Injecting prefixes into iBGP

Route-map ISP-block can be used for many things:setting communities and other attributessetting origin code to IGP, etc

Be careful with prefix-lists and route-mapsabsence of either/both means all statically routed prefixes gointo iBGP

Page 51: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 51

Scaling the network

How to get out of carrying all prefixes in IGP

Page 52: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 52

Why use BGP rather than IGP?

IGP has Limitations:The more routing information in the network

Periodic updates/flooding “overload”Long convergence timesAffects the core first

Policy definitionNot easy to do

Page 53: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 53

Preparing the Network

We want to deploy BGP now…

BGP will be used therefore an ASN is required

If multihoming to different ISPs is intended in the nearfuture, a public ASN should be obtained:

Either go to upstream ISP who is a registry member, orApply to the RIR yourself for a one off assignment, orAsk an ISP who is a registry member, orJoin the RIR and get your own IP address allocation too(this option strongly recommended)!

Page 54: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 54

Preparing the NetworkInitial Assumptions

The network is not running any BGP at the momentsingle statically routed connection to upstream ISP

The network is not running any IGP at allStatic default and routes through the network to do “routing”

Page 55: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 55

Preparing the NetworkFirst Step: IGP

Decide on an IGP: OSPF or ISIS

Assign loopback interfaces and /32 address to eachrouter which will run the IGP

Loopback is used for OSPF and BGP router id anchorUsed for iBGP and route origination

Deploy IGP (e.g. OSPF)IGP can be deployed with NO IMPACT on the existing staticroutinge.g. OSPF distance might be 110; static distance is 1Smallest distance wins

Page 56: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 56

Preparing the NetworkIGP (cont)

Be prudent deploying IGP – keep the Link StateDatabase Lean!

Router loopbacks go in IGPWAN point to point links go in IGP(In fact, any link where IGP dynamic routing will be run shouldgo into IGP)Summarise on area/level boundaries (if possible) – i.e. thinkabout your IGP address plan

Page 57: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 57

Preparing the NetworkIGP (cont)

Routes which don’t go into the IGP include:Dynamic assignment pools (DSL/Cable/Dial)Customer point to point link addressing

(using next-hop-self in iBGP ensures that these do NOTneed to be in IGP)

Static/Hosting LANsCustomer assigned address spaceAnything else not listed in the previous slide

Page 58: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 58

AS200FF EE

DD CCAA

BB

Preparing the NetworkSecond Step: iBGP

Second step is to configure thelocal network to use iBGP

iBGP can run onall routers, ora subset of routers, orjust on the upstream edge

iBGP must run on all routerswhich are in the transit pathbetween externalconnections

Page 59: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 59

AS200FF EE

DD CCAA

BB

Preparing the NetworkSecond Step: iBGP (Transit Path)

iBGP must run on all routerswhich are in the transit pathbetween externalconnections

Routers C, E and F are not inthe transit path

Static routes or IGP will suffice

Router D is in the transit pathWill need to be in iBGP mesh,otherwise routing loops willresult

Page 60: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 60

Preparing the NetworkLayers

Typical SP networks have three layers:Core – the backbone, usually the transit pathDistribution – the middle, PoP aggregation layerAggregation – the edge, the devices connecting customers

Page 61: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 61

Preparing the NetworkAggregation Layer

iBGP is optionalMany ISPs run iBGP here, either partial routing (more common)or full routing (less common)Full routing is not needed unless customers want full tablePartial routing is cheaper/easier, might usually consist ofinternal prefixes and, optionally, external prefixes to aid externalload balancing

Communities and peer-groups make this administrativelyeasy

Many aggregation devices can’t run iBGPStatic routes from distribution devices for address poolsIGP for best exit

Page 62: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 62

Preparing the NetworkDistribution Layer

Usually runs iBGPPartial or full routing (as with aggregation layer)

But does not have to run iBGPIGP is then used to carry customer prefixes (does not scale)IGP is used to determine nearest exit

Networks which plan to grow large should deploy iBGPfrom day one

Migration at a later date is extra workNo extra overhead in deploying iBGP, indeed IGP benefits

Page 63: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 63

Preparing the NetworkCore Layer

Core of network is usually the transit path

iBGP necessary between core devicesFull routes or partial routes:

Transit ISPs carry full routes in coreEdge ISPs carry partial routes only

Core layer includes AS border routers

Page 64: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 64

Preparing the NetworkiBGP Implementation

Decide on:

Best iBGP policyWill it be full routes everywhere, or partial, or some mix?

iBGP scaling techniqueCommunity policy?Route-reflectors?Techniques such as peer groups and peer templates?

Page 65: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 65

Preparing the NetworkiBGP Implementation

Then deploy iBGP:Step 1: Introduce iBGP mesh on chosen routers

make sure that iBGP distance is greater than IGP distance (itusually is)

Step 2: Install “customer” prefixes into iBGPCheck! Does the network still work?

Step 3: Carefully remove the static routing for the prefixes nowin IGP and iBGP

Check! Does the network still work?Step 4: Deployment of eBGP follows

Page 66: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 66

Preparing the NetworkiBGP Implementation

Install “customer” prefixes into iBGP?

Customer assigned address spaceNetwork statement/static route combinationUse unique community to identify customer assignments

Customer facing point-to-point linksRedistribute connected through filters which only permit point-to-pointlink addresses to enter iBGPUse a unique community to identify point-to-point link addresses (theseare only required for your monitoring system)

Dynamic assignment pools & local LANsSimple network statement will do thisUse unique community to identify these networks

Page 67: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 67

Preparing the NetworkiBGP Implementation

Carefully remove static routes?

Work on one router at a time:Check that static route for a particular destination is also learned by theiBGPIf so, remove itIf not, establish why and fix the problem(Remember to look in the RIB, not the FIB!)

Then the next router, until the whole PoP is done

Then the next PoP, and so on until the network is now dependenton the IGP and iBGP you have deployed

Page 68: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 68

Preparing the NetworkCompletion

Previous steps are NOT flag day stepsEach can be carried out during different maintenance periods,for example:Step One on Week OneStep Two on Week TwoStep Three on Week ThreeAnd so onAnd with proper planning will have NO customer visible impactat all

Page 69: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 69

Preparing the NetworkConfiguration Summary

IGP essential networks are in IGP

Customer networks are now in iBGPiBGP deployed over the backboneFull or Partial or Upstream Edge only

BGP distance is greater than any IGP

Now ready to deploy eBGP

Page 70: BGP Best Current Practices - PacNOGas a basic template: router bgp 64511 bgp deterministic-med distance bgp 200 200 200 no synchronization no auto-summary If supporting more than just

© 2010 Cisco Systems, Inc. All rights reserved.ISP Workshops 70

BGP Best Current Practices

ISP/IXP Workshops