+ All Categories
Home > Documents > BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes...

BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes...

Date post: 26-May-2020
Category:
Upload: others
View: 21 times
Download: 0 times
Share this document with a friend
178
© 2009 Cisco Systems, Inc. All rights reserved. APRICOT2009 1 BGP Multihoming Techniques Philip Smith <[email protected]> APRICOT 2009 18-27 February 2009 Manila, Philippines
Transcript
Page 1: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 1

BGP Multihoming Techniques

Philip Smith <[email protected]>APRICOT 200918-27 February 2009Manila, Philippines

Page 2: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 2

Presentation Slides

Available onftp://ftp-eng.cisco.com/pfs/seminars/APRICOT2009-Multihoming.pdfAnd on the APRICOT2009 website

Feel free to ask questions any time

Page 3: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 3

Preliminaries

Presentation has many configuration examplesUses Cisco IOS CLI

Aimed at Service ProvidersTechniques can be used by many enterprises too

Page 4: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 4

BGP Multihoming Techniques

Why Multihome? Definition & Options

Preparing the Network

Basic Multihoming

Service Provider Multihoming

Page 5: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 5

Why Multihome?

It’s all about redundancy, diversity & reliability

Page 6: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 6

Why Multihome?

RedundancyOne connection to internet means the network is dependent on:

Local router (configuration, software, hardware)WAN media (physical failure, carrier failure)Upstream Service Provider (configuration, software,hardware)

Page 7: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 7

Why Multihome?

ReliabilityBusiness critical applications demand continuous availabilityLack of redundancy implies lack of reliability implies loss ofrevenue

Page 8: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 8

Why Multihome?

Supplier DiversityMany businesses demand supplier diversity as a matter ofcourseInternet connection from two or more suppliers

With two or more diverse WAN pathsWith two or more exit pointsWith two or more international connectionsTwo of everything

Page 9: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 9

Why Multihome?

Not really a reason, but oft quoted…

Leverage:Playing one ISP off against the other for:

Service QualityService OfferingsAvailability

Page 10: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 10

Why Multihome?

Summary:Multihoming is easy to demand as requirement for any serviceprovider or end-site networkBut what does it really mean:

In real life?For the network?For the Internet?

And how do we do it?

Page 11: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 11

BGP Multihoming Techniques

Why Multihome?

Definition & Options

Preparing the Network

Basic Multihoming

Service Provider Multihoming

Page 12: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 12

Multihoming: Definitions & Options

What does it mean, what do we need, and how do we doit?

Page 13: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 13

Multihoming Definition

More than one link external to the local networktwo or more links to the same ISPtwo or more links to different ISPs

Usually two external facing routersone router gives link and provider redundancy only

Page 14: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 14

Autonomous System Number (ASN)

Two ranges0-65535 (original 16-bit range)65536-4294967295 (32-bit range - RFC4893)

Usage:0 and 65535 (reserved)1-64495 (public Internet)64496-64511 (documentation - RFC5398)64512-65534 (private use only)23456 (represent 32-bit range in 16-bit world)65536-65551 (documentation - RFC5398)65552-4294967295 (public Internet)

32-bit range representation specified in RFC5396Defines “asplain” (traditional format) as standard notation

Page 15: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 15

Autonomous System Number (ASN)

ASNs are distributed by the Regional InternetRegistries

They are also available from upstream ISPs who are membersof one of the RIRs

Current 16-bit ASN allocations up to 49151 have beenmade to the RIRs

Around 30600 are visible on the Internet

The RIRs also have received 1024 32-bit ASNs each18 are visible on the Internet (early adopters)

See www.iana.org/assignments/as-numbers

Page 16: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 16

1880193.0.34.0/24 65003

193.0.35.0/24

65002193.0.33.0/24

65001193.0.32.0/24

A

193.0.32.0/22 1880

B

C

Private-AS – Application

ApplicationsAn ISP with customersmultihomed on their backbone(RFC2270)

-or-A corporate network withseveral regions butconnections to the Internetonly in the core

-or-Within a BGP Confederation

Page 17: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 17

Private-AS – Removal

Private ASNs MUST be removed from all prefixesannounced to the public Internet

Include configuration to remove private ASNs in the eBGPtemplate

As with RFC1918 address space, private ASNs areintended for internal use

They should not be leaked to the public Internet

Cisco IOSneighbor x.x.x.x remove-private-AS

Page 18: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 18

Configuring Policy

Three BASIC Principles for IOS configuration examplesthroughout presentation:

prefix-lists to filter prefixesfilter-lists to filter ASNsroute-maps to apply policy

Route-maps can be used for filtering, but this is more“advanced” configuration

Page 19: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 19

Policy Tools

Local preferenceoutbound traffic flows

Metric (MED)inbound traffic flows (local scope)

AS-PATH prependinbound traffic flows (Internet scope)

Communitiesspecific inter-provider peering

Page 20: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 20

Originating Prefixes: Assumptions

MUST announce assigned address block to Internet

MAY also announce subprefixes – reachability is notguaranteed

Current minimum allocation is from /20 to /22depending on the RIR

Several ISPs filter RIR blocks on this boundarySeveral ISPs filter the rest of address space according to theIANA assignmentsThis activity is called “Net Police” by some

Page 21: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 21

Originating Prefixes

The RIRs publish their minimum allocation sizes per /8 address blockAfriNIC: www.afrinic.net/docs/policies/afpol-v4200407-000.htmAPNIC: www.apnic.net/db/min-alloc.htmlARIN: www.arin.net/reference/ip_blocks.htmlLACNIC: lacnic.net/en/registro/index.htmlRIPE NCC: www.ripe.net/ripe/docs/smallest-alloc-sizes.htmlNote that AfriNIC only publishes its current minimum allocation size, not theallocation size for its address blocks

IANA publishes the address space it has assigned to end-sites and allocatedto the RIRs:

www.iana.org/assignments/ipv4-address-space

Several ISPs use this published information to filter prefixes on:What should be routed (from IANA)The minimum allocation size from the RIRs

Page 22: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 22

“Net Police” prefix list issues

Meant to “punish” ISPs who pollute the routing table with specificsrather than announcing aggregates

Impacts legitimate multihoming especially at the Internet’s edge

Impacts regions where domestic backbone is unavailable or costs$$$ compared with international bandwidth

Hard to maintain – requires updating when RIRs start allocatingfrom new address blocks

Don’t do it unless consequences understood and you are preparedto keep the list current

Consider using the Team Cymru or other reputable bogon BGP feed:http://www.team-cymru.org/Services/Bogons/routeserver.html

Page 23: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 23

Multihoming Scenarios

Stub network

Multi-homed stub network

Multi-homed network

Configuration Options

Page 24: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 24

AS100AS101

Stub Network

No need for BGP

Point static default to upstream ISP

Upstream ISP advertises stub network

Policy confined within upstream ISP’s policy

Page 25: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 25

AS100AS65530

Multi-homed Stub Network

Use BGP (not IGP or static) to loadshare Use private AS (ASN > 64511) Upstream ISP advertises stub network Policy confined within upstream ISP’s policy

Page 26: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 26

AS300 AS200

AS100

Global Internet

Multi-homed Network

Many situations possiblemultiple sessions to same ISPsecondary for backup onlyload-share between primary and secondaryselectively use different ISPs

Page 27: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 27

AS 65534

1.1.1.1

AS 200

Multiple Sessions to an ISP– Example One

Use eBGP multihopeBGP to loopback addresseseBGP prefixes learned with loopbackaddress as next hop

Cisco IOSrouter bgp 65534

neighbor 1.1.1.1 remote-as 200

neighbor 1.1.1.1 ebgp-multihop 2

!

ip route 1.1.1.1 255.255.255.255 serial 1/0

ip route 1.1.1.1 255.255.255.255 serial 1/1

ip route 1.1.1.1 255.255.255.255 serial 1/2

Page 28: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 28

AS 200AS 100

R1 R3

R2

Used PathDesired Path

Multiple Sessions to an ISP– Example One

One eBGP-multihop gotcha:R1 and R3 are eBGP peers thatare loopback peeringConfigured with:neighbor x.x.x.x ebgp-multihop 2

If the R1 to R3 link goes down thesession could establish via R2

Page 29: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 29

We will run eBGP multihop, but do not support it as a standard offeringbecause customers generally have a hard time managing it due to:• routing loops• failure to realise that BGP session stability problems are usually dueconnectivity problems between their CPE and their BGP speaker

Multiple Sessions to an ISP– Example One

Try and avoid use of ebgp-multihop unless:It’s absolutely necessary –or–Loadsharing across multiple links

Many ISPs discourage its use, for example:

Page 30: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 30

ISP

AS 201

AS 200

Multiple Sessions to an ISPbgp multi path

Three BGP sessions required

limit of 6 parallel paths

router bgp 201

neighbor 1.1.2.1 remote-as 200

neighbor 1.1.2.5 remote-as 200

neighbor 1.1.2.9 remote-as 200

maximum-paths 3

Page 31: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 31

AS 201

ISP

CC DD

AA BB

Multiple Sessions to an ISP

Simplest scheme is to usedefaults

Learn/advertise prefixes forbetter control

Planning and some workrequired to achieveloadsharing

Point default towards one ISPLearn selected prefixes fromsecond ISPModify the number of prefixeslearnt to achieve acceptableload sharing

No magic solution

Page 32: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 32

BGP Multihoming Techniques

Why Multihome?

Definition & Options

Preparing the Network

Basic Multihoming

Service Provider Multihoming

Complex Cases & Caveats

Using Communities

Case Study

Page 33: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 33

Preparing the Network

Putting our own house in order first…

Page 34: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 34

Preparing the Network

We will deploy BGP across the network before we tryand multihome

BGP will be used therefore an ASN is required

If multihoming to different ISPs, public ASN needed: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 (thisoption strongly recommended)!

Page 35: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 35

Preparing the Network

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 36: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 36

Preparing the NetworkIGP

Decide on IGP: OSPF or ISIS

Assign loopback interfaces and /32 addresses 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 staticrouting

OSPF distance is 110, static distance is 1Smallest distance wins

Page 37: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 37

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 38: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 38

Preparing the NetworkIGP (cont)

Routes which don’t go into the IGP include:Dynamic assignment pools (DSL/Cable/Dial/Wireless)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 39: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 39

Preparing the NetworkIntroduce OSPF

interface loopback 0

ip address 121.10.255.1 255.255.255.255

!

interface Ethernet 0/0

ip address 121.10.2.1 255.255.255.240

!

interface serial 0/0

ip address 121.10.0.1 255.255.255.252

!

interface serial 0/1

ip address 121.10.0.5 255.255.255.252

!

router ospf 100

network 121.10.255.1 0.0.0.0 area 0

network 121.10.2.0 0.0.0.15 area 0

passive-interface default

no passive-interface Ethernet 0/0

!

ip route 121.10.24.0 255.255.252.0 serial 0/0

ip route 121.10.28.0 255.255.254.0 serial 0/1

Add loopbackconfiguration

Customerconnections

Page 40: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 40

AS200FF EE

DD CCAA

BB

Preparing the NetworkiBGP

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 external connections

Page 41: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 41

AS200FF EE

DD CCAA

BB

Preparing the NetworkiBGP (Transit Path)

iBGP must run on all routerswhich are in the transit pathbetween external connections

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 42: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 42

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 43: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 43

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 44: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 44

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 45: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 45

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 46: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 46

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 templates?

Page 47: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 47

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 48: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 48

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 49: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 49

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 eitherby IGP or by iBGPIf 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 50: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 50

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 51: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 51

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 52: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 52

BGP Multihoming Techniques

Why Multihome?

Definition & Options

Preparing the Network

Basic Multihoming

“BGP Traffic Engineering”

Page 53: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 53

Basic Multihoming

Learning to walk before we try running

Page 54: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 54

Basic Multihoming

No frills multihoming

Will look at two cases:Multihoming with the same ISPMultihoming to different ISPs

Will keep the examples easyUnderstanding easy concepts will make the more complexscenarios easier to comprehendAll assume that the site multihoming has a /19 address block

Page 55: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 55

Basic Multihoming

This type is most commonplace at the edge of theInternet

Networks here are usually concerned with inbound traffic flowsOutbound traffic flows being “nearest exit” is usually sufficient

Can apply to the leaf ISP as well as Enterprisenetworks

Page 56: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 56

Basic Multihoming

Multihoming to the Same ISP

Page 57: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 57

Basic Multihoming:Multihoming to the same ISP

Use BGP for this type of multihominguse a private AS (ASN > 64511)There is no need or justification for a public ASN

Making the nets of the end-site visible gives no usefulinformation to the Internet

Upstream ISP proxy aggregatesin other words, announces only your address block to theInternet from their AS (as would be done if you had onestatically routed connection)

Page 58: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 58

Two links to the same ISP

One link primary, the other link backup only

Page 59: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 59

Two links to the same ISP(one as backup only)

Applies when end-site has bought a large primary WANlink to their upstream a small secondary WAN link asthe backup

For example, primary path might be an E1, backup might be64kbps

Page 60: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 60

AS 100 AS 65534AACC

DDEE BB

primary

backup

Two links to the same ISP(one as backup only)

AS100 removes private AS and any customersubprefixes from Internet announcement

Page 61: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 61

Two links to the same ISP(one as backup only)

Announce /19 aggregate on each linkprimary link:

Outbound – announce /19 unalteredInbound – receive default route

backup link:Outbound – announce /19 with increased metricInbound – received default, and reduce local preference

When one link fails, the announcement of the /19aggregate via the other link ensures continuedconnectivity

Page 62: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 62

Two links to the same ISP(one as backup only)

Router A Configurationrouter bgp 65534

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.2 remote-as 100

neighbor 122.102.10.2 description RouterC

neighbor 122.102.10.2 prefix-list aggregate out

neighbor 122.102.10.2 prefix-list default in

!

ip prefix-list aggregate permit 121.10.0.0/19

ip prefix-list default permit 0.0.0.0/0

!

ip route 121.10.0.0 255.255.224.0 null0

Page 63: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 63

Two links to the same ISP(one as backup only)

Router B Configurationrouter bgp 65534

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.6 remote-as 100

neighbor 122.102.10.6 description RouterD

neighbor 122.102.10.6 prefix-list aggregate out

neighbor 122.102.10.6 route-map routerD-out out

neighbor 122.102.10.6 prefix-list default in

neighbor 122.102.10.6 route-map routerD-in in

!

..next slide

Page 64: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 64

Two links to the same ISP(one as backup only)

ip prefix-list aggregate permit 121.10.0.0/19ip prefix-list default permit 0.0.0.0/0!ip route 121.10.0.0 255.255.224.0 null0!route-map routerD-out permit 10 set metric 10!route-map routerD-in permit 10 set local-preference 90!

Page 65: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 65

Two links to the same ISP(one as backup only)

Router C Configuration (main link)router bgp 100

neighbor 122.102.10.1 remote-as 65534

neighbor 122.102.10.1 default-originate

neighbor 122.102.10.1 prefix-list Customer in

neighbor 122.102.10.1 prefix-list default out

!

ip prefix-list Customer permit 121.10.0.0/19

ip prefix-list default permit 0.0.0.0/0

Page 66: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 66

Two links to the same ISP(one as backup only)

Router D Configuration (backup link)router bgp 100

neighbor 122.102.10.5 remote-as 65534

neighbor 122.102.10.5 default-originate

neighbor 122.102.10.5 prefix-list Customer in

neighbor 122.102.10.5 prefix-list default out

!

ip prefix-list Customer permit 121.10.0.0/19

ip prefix-list default permit 0.0.0.0/0

Page 67: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 67

Two links to the same ISP(one as backup only)

Router E Configurationrouter bgp 100

neighbor 122.102.10.17 remote-as 110

neighbor 122.102.10.17 remove-private-AS

neighbor 122.102.10.17 prefix-list Customer out

!

ip prefix-list Customer permit 121.10.0.0/19

Router E removes the private AS and customer’ssubprefixes from external announcements

Private AS still visible inside AS100

Page 68: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 68

Two links to the same ISP

With Loadsharing

Page 69: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 69

Loadsharing to the same ISP

More common case

End sites tend not to buy circuits and leave them idle,only used for backup as in previous example

This example assumes equal capacity circuitsUnequal capacity circuits requires more refinement – see later

Page 70: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 70

Loadsharing to the same ISP

AS 100 AS 65534AACC

Border router E in AS100 removes private AS and any customersubprefixes from Internet announcement

DDEE BB

Link one

Link two

Page 71: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 71

Loadsharing to the same ISP

Announce /19 aggregate on each link

Split /19 and announce as two /20s, one on each linkbasic inbound loadsharingassumes equal circuit capacity and even spread of traffic acrossaddress block

Vary the split until “perfect” loadsharing achieved

Accept the default from upstreambasic outbound loadsharing by nearest exitokay in first approx as most ISP and end-site traffic is inbound

Page 72: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 72

Loadsharing to the same ISP

Router A Configurationrouter bgp 65534 network 121.10.0.0 mask 255.255.224.0 network 121.10.0.0 mask 255.255.240.0 neighbor 122.102.10.2 remote-as 100 neighbor 122.102.10.2 prefix-list routerC out neighbor 122.102.10.2 prefix-list default in!ip prefix-list default permit 0.0.0.0/0ip prefix-list routerC permit 121.10.0.0/20ip prefix-list routerC permit 121.10.0.0/19!ip route 121.10.0.0 255.255.240.0 null0ip route 121.10.0.0 255.255.224.0 null0

Page 73: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 73

Loadsharing to the same ISP

Router C Configurationrouter bgp 100

neighbor 122.102.10.1 remote-as 65534

neighbor 122.102.10.1 default-originate

neighbor 122.102.10.1 prefix-list Customer in

neighbor 122.102.10.1 prefix-list default out

!

ip prefix-list Customer permit 121.10.0.0/19 le 20

ip prefix-list default permit 0.0.0.0/0

Router C only allows in /19 and /20 prefixes fromcustomer block

Router D configuration is identical

Page 74: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 74

Loadsharing to the same ISP

Router E Configurationrouter bgp 100

neighbor 122.102.10.17 remote-as 110

neighbor 122.102.10.17 remove-private-AS

neighbor 122.102.10.17 prefix-list Customer out

!

ip prefix-list Customer permit 121.10.0.0/19

Private AS still visible inside AS100

Page 75: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 75

Loadsharing to the same ISP

Default route for outbound traffic?Use default-information originate for the IGP and rely on IGPmetrics for nearest exite.g. on router A:router ospf 65534

default-information originate metric 2 metric-type 1

Page 76: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 76

Loadsharing to the same ISP

Loadsharing configuration is only on customer router

Upstream ISP has toremove customer subprefixes from external announcementsremove private AS from external announcements

Could also use BGP communities

Page 77: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 77

Two links to the same ISP

Multiple Dualhomed Customers(RFC2270)

Page 78: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 78

Multiple Dualhomed Customers(RFC2270)

Unusual for an ISP just to have one dualhomedcustomer

Valid/valuable service offering for an ISP with multiple PoPsBetter for ISP than having customer multihome with anotherprovider!

Look at scaling the configuration⇒ Simplifying the configurationUsing templates, peer-groups, etcEvery customer has the same configuration (basically)

Page 79: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 79

AS 100AS 65534A1A1CC

DDEE

B1B1

AS 65534B2B2

AS 65534A3A3

B3B3

A2A2

Multiple Dualhomed Customers(RFC2270)

Border router E in AS100 removesprivate AS and any customer subprefixesfrom Internet announcement

Page 80: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 80

Multiple Dualhomed Customers(RFC2270)

Customer announcements as per previous example

Use the same private AS for each customerdocumented in RFC2270address space is not overlappingeach customer hears default only

Router An and Bn configuration same as Router A andB previously

Page 81: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 81

Multiple Dualhomed Customers(RFC2270)

Router A1 Configurationrouter bgp 65534 network 121.10.0.0 mask 255.255.224.0 network 121.10.0.0 mask 255.255.240.0 neighbor 122.102.10.2 remote-as 100 neighbor 122.102.10.2 prefix-list routerC out neighbor 122.102.10.2 prefix-list default in!ip prefix-list default permit 0.0.0.0/0ip prefix-list routerC permit 121.10.0.0/20ip prefix-list routerC permit 121.10.0.0/19!ip route 121.10.0.0 255.255.240.0 null0ip route 121.10.0.0 255.255.224.0 null0

Page 82: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 82

Multiple Dualhomed Customers(RFC2270)

Router C Configurationrouter bgp 100 neighbor bgp-customers peer-group neighbor bgp-customers remote-as 65534 neighbor bgp-customers default-originate neighbor bgp-customers prefix-list default out neighbor 122.102.10.1 peer-group bgp-customers neighbor 122.102.10.1 description Customer One neighbor 122.102.10.1 prefix-list Customer1 in neighbor 122.102.10.9 peer-group bgp-customers neighbor 122.102.10.9 description Customer Two neighbor 122.102.10.9 prefix-list Customer2 in

Page 83: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 83

Multiple Dualhomed Customers(RFC2270)

neighbor 122.102.10.17 peer-group bgp-customers

neighbor 122.102.10.17 description Customer Three

neighbor 122.102.10.17 prefix-list Customer3 in

!

ip prefix-list Customer1 permit 121.10.0.0/19 le 20

ip prefix-list Customer2 permit 121.16.64.0/19 le 20

ip prefix-list Customer3 permit 121.14.192.0/19 le 20

ip prefix-list default permit 0.0.0.0/0

Router C only allows in /19 and /20 prefixes fromcustomer block

Router D configuration is almost identical

Page 84: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 84

Multiple Dualhomed Customers(RFC2270)

Router E Configurationassumes customer address space is not part of upstream’saddress blockrouter bgp 100

neighbor 122.102.10.17 remote-as 110

neighbor 122.102.10.17 remove-private-AS

neighbor 122.102.10.17 prefix-list Customers out

!

ip prefix-list Customers permit 121.10.0.0/19

ip prefix-list Customers permit 121.16.64.0/19

ip prefix-list Customers permit 121.14.192.0/19

Private AS still visible inside AS100

Page 85: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 85

Multiple Dualhomed Customers(RFC2270)

If customers’ prefixes come from ISP’s address blockdo NOT announce them to the Internetannounce ISP aggregate only

Router E configuration:router bgp 100

neighbor 122.102.10.17 remote-as 110

neighbor 122.102.10.17 prefix-list my-aggregate out

!

ip prefix-list my-aggregate permit 121.8.0.0/13

Page 86: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 86

Basic Multihoming

Multihoming to different ISPs

Page 87: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 87

Two links to different ISPs

Use a Public ASOr use private AS if agreed with the other ISPBut some people don’t like the “inconsistent-AS” which resultsfrom use of a private-AS

Address space comes fromboth upstreams orRegional Internet Registry

Configuration concepts very similar

Page 88: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 88

AS 200

AS 65534

AS 210

Internet

Inconsistent-AS?

Viewing the prefixesoriginated by AS65534 in theInternet shows they appear tobe originated by both AS210and AS200

This is NOT badNor is it illegal

IOS command isshow ip bgp inconsistent-as

Page 89: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 89

Two links to different ISPs

One link primary, the other link backup only

Page 90: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 90

AS 100 AS 120

AS 130

CC DD

Announce /19 blockwith longer AS PATH

Internet

Announce /19 blockBBAA

Two links to different ISPs(one as backup only)

Page 91: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 91

Two links to different ISPs(one as backup only)

Announce /19 aggregate on each linkprimary link makes standard announcementbackup link lengthens the AS PATH by using AS PATH prepend

When one link fails, the announcement of the /19aggregate via the other link ensures continuedconnectivity

Page 92: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 92

Two links to different ISPs(one as backup only)

Router A Configurationrouter bgp 130 network 121.10.0.0 mask 255.255.224.0 neighbor 122.102.10.1 remote-as 100 neighbor 122.102.10.1 prefix-list aggregate out neighbor 122.102.10.1 prefix-list default in!ip prefix-list aggregate permit 121.10.0.0/19ip prefix-list default permit 0.0.0.0/0!ip route 121.10.0.0 255.255.224.0 null0

Page 93: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 93

Two links to different ISPs(one as backup only)

Router B Configurationrouter bgp 130 network 121.10.0.0 mask 255.255.224.0 neighbor 120.1.5.1 remote-as 120 neighbor 120.1.5.1 prefix-list aggregate out neighbor 120.1.5.1 route-map routerD-out out neighbor 120.1.5.1 prefix-list default in neighbor 120.1.5.1 route-map routerD-in in!ip prefix-list aggregate permit 121.10.0.0/19ip prefix-list default permit 0.0.0.0/0!route-map routerD-out permit 10 set as-path prepend 130 130 130!route-map routerD-in permit 10 set local-preference 80

Page 94: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 94

Two links to different ISPs(one as backup only)

Not a common situation as most sites tend to preferusing whatever capacity they have

(Useful when two competing ISPs agree to provide mutualbackup to each other)

But it shows the basic concepts of using local-prefs andAS-path prepends for engineering traffic in the chosendirection

Page 95: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 95

Two links to different ISPs

With Loadsharing

Page 96: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 96

AS 100 AS 120

AS 130

CC DD

Two links to different ISPs(with loadsharing)

Announce second/20 and /19 block

Internet

Announce first/20 and /19 block

BBAA

Page 97: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 97

Two links to different ISPs(with loadsharing)

Announce /19 aggregate on each link

Split /19 and announce as two /20s, one on each linkbasic inbound loadsharing

When one link fails, the announcement of the /19aggregate via the other ISP ensures continuedconnectivity

Page 98: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 98

Two links to different ISPs(with loadsharing)

Router A Configurationrouter bgp 130

network 121.10.0.0 mask 255.255.224.0

network 121.10.0.0 mask 255.255.240.0

neighbor 122.102.10.1 remote-as 100

neighbor 122.102.10.1 prefix-list firstblock out

neighbor 122.102.10.1 prefix-list default in

!

ip prefix-list default permit 0.0.0.0/0

!

ip prefix-list firstblock permit 121.10.0.0/20

ip prefix-list firstblock permit 121.10.0.0/19

Page 99: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 99

Two links to different ISPs(with loadsharing)

Router B Configurationrouter bgp 130

network 121.10.0.0 mask 255.255.224.0

network 121.10.16.0 mask 255.255.240.0

neighbor 120.1.5.1 remote-as 120

neighbor 120.1.5.1 prefix-list secondblock out

neighbor 120.1.5.1 prefix-list default in

!

ip prefix-list default permit 0.0.0.0/0

!

ip prefix-list secondblock permit 121.10.16.0/20

ip prefix-list secondblock permit 121.10.0.0/19

Page 100: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 100

Two links to different ISPs(with loadsharing)

Loadsharing in this case is very basic

But shows the first steps in designing a load sharingsolution

Start with a simple conceptAnd build on it…!

Page 101: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 101

Two links to different ISPs

More Controlled Loadsharing

Page 102: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 102

AS 100 AS 120

AS 130

CC DD

Loadsharing with different ISPs

Announce /20 subprefix, and/19 block with longer AS path

Internet

Announce /19 blockBBAA

Page 103: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 103

Loadsharing with different ISPs

Announce /19 aggregate on each linkOn first link, announce /19 as normalOn second link, announce /19 with longer AS PATH, andannounce one /20 subprefix

controls loadsharing between upstreams and the Internet

Vary the subprefix size and AS PATH length until“perfect” loadsharing achieved

Still require redundancy!

Page 104: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 104

Loadsharing with different ISPs

Router A Configurationrouter bgp 130 network 121.10.0.0 mask 255.255.224.0 neighbor 122.102.10.1 remote-as 100 neighbor 122.102.10.1 prefix-list default in neighbor 122.102.10.1 prefix-list aggregate out!ip prefix-list aggregate permit 121.10.0.0/19ip prefix-list default permit 0.0.0.0/0!ip route 121.10.0.0 255.255.224.0 null0

Page 105: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 105

Loadsharing with different ISPs

Router B Configurationrouter bgp 130 network 121.10.0.0 mask 255.255.224.0 network 121.10.16.0 mask 255.255.240.0 neighbor 120.1.5.1 remote-as 120 neighbor 120.1.5.1 prefix-list default in neighbor 120.1.5.1 prefix-list subblocks out neighbor 120.1.5.1 route-map routerD out!route-map routerD permit 10 match ip address prefix-list aggregate set as-path prepend 130 130route-map routerD permit 20!ip prefix-list subblocks permit 121.10.0.0/19 le 20ip prefix-list aggregate permit 121.10.0.0/19

Page 106: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 106

Loadsharing with different ISPs

This example is more commonplace

Shows how ISPs and end-sites subdivide addressspace frugally, as well as use the AS-PATH prependconcept to optimise the load sharing between differentISPs

Notice that the /19 aggregate block is ALWAYSannounced

Page 107: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 107

BGP Multihoming Techniques

Why Multihome?

Definition & Options

Preparing the Network

Basic Multihoming

“BGP Traffic Engineering”

Page 108: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 108

Service Provider Multihoming

BGP Traffic Engineering

Page 109: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 109

Service Provider Multihoming

Previous examples dealt with loadsharing inboundtraffic

Of primary concern at Internet edgeWhat about outbound traffic?

Transit ISPs strive to balance traffic flows in bothdirections

Balance link utilisationTry and keep most traffic flows symmetricSome edge ISPs try and do this too

The original “Traffic Engineering”

Page 110: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 110

Service Provider Multihoming

Balancing outbound traffic requires inbound routinginformation

Common solution is “full routing table”Rarely necessary

Why use the “routing mallet” to try solve loadsharingproblems?

“Keep It Simple” is often easier (and $$$ cheaper) than carryingN-copies of the full routing table

Page 111: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 111

Service Provider MultihomingMYTHS!!

Common MYTHS1: You need the full routing table to multihome

People who sell router memory would like you to believe thisOnly true if you are a transit providerFull routing table can be a significant hindrance to multihoming

2: You need a BIG router to multihomeRouter size is related to data rates, not running BGPIn reality, to multihome, your router needs to:

Have two interfaces,Be able to talk BGP to at least two peers,Be able to handle BGP attributes,Handle at least one prefix

3: BGP is complexIn the wrong hands, yes it can be! Keep it Simple!

Page 112: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 112

Service Provider Multihoming:Some Strategies

Take the prefixes you need to aid traffic engineeringLook at NetFlow data for popular sites

Prefixes originated by your immediate neighbours andtheir neighbours will do more to aid load balancing thanprefixes from ASNs many hops away

Concentrate on local destinations

Use default routing as much as possibleOr use the full routing table with care

Page 113: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 113

Service Provider Multihoming

ExamplesOne upstream, one local peerOne upstream, local exchange pointTwo upstreams, one local peerThree upstreams, unequal link bandwidths

Require BGP and a public ASN

Examples assume that the local network has their own/19 address block

Page 114: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 114

Service Provider Multihoming

One upstream, one local peer

Page 115: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 115

One Upstream, One Local Peer

Very common situation in many regions of the Internet

Connect to upstream transit provider to see the“Internet”

Connect to the local competition so that local trafficstays local

Saves spending valuable $ on upstream transit costs for localtraffic

Page 116: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 116

AS 110

CC

AA

Upstream ISPAS130

Local PeerAS120

One Upstream, One Local Peer

Page 117: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 117

One Upstream, One Local Peer

Announce /19 aggregate on each link

Accept default route only from upstreamEither 0.0.0.0/0 or a network which can be used as default

Accept all routes from local peer

Page 118: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 118

Router A Configurationrouter bgp 110

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.2 remote-as 120

neighbor 122.102.10.2 prefix-list my-block out

neighbor 122.102.10.2 prefix-list AS120-peer in

!

ip prefix-list AS120-peer permit 122.5.16.0/19

ip prefix-list AS120-peer permit 121.240.0.0/20

ip prefix-list my-block permit 121.10.0.0/19

!

ip route 121.10.0.0 255.255.224.0 null0 250

Prefix filtersinbound

One Upstream, One Local Peer

Page 119: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 119

Router A – Alternative Configurationrouter bgp 110

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.2 remote-as 120

neighbor 122.102.10.2 prefix-list my-block out

neighbor 122.102.10.2 filter-list 10 in

!

ip as-path access-list 10 permit ^(120_)+$

!

ip prefix-list my-block permit 121.10.0.0/19

!

ip route 121.10.0.0 255.255.224.0 null0

AS Path filters –more “trusting”

One Upstream, One Local Peer

Page 120: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 120

One Upstream, One Local Peer

Router C Configurationrouter bgp 110

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.1 remote-as 130

neighbor 122.102.10.1 prefix-list default in

neighbor 122.102.10.1 prefix-list my-block out

!

ip prefix-list my-block permit 121.10.0.0/19

ip prefix-list default permit 0.0.0.0/0

!

ip route 121.10.0.0 255.255.224.0 null0

Page 121: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 121

One Upstream, One Local Peer

Two configurations possible for Router AFilter-lists assume peer knows what they are doingPrefix-list higher maintenance, but saferSome ISPs use both

Local traffic goes to and from local peer, everythingelse goes to upstream

Page 122: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 122

Aside:Configuration Recommendations

Private PeersThe peering ISPs exchange prefixes they originateSometimes they exchange prefixes from neighbouring ASNstoo

Be aware that the private peer eBGP router shouldcarry only the prefixes you want the private peer toreceive

Otherwise they could point a default route to you andunintentionally transit your backbone

Page 123: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 123

Service Provider Multihoming

One upstream, Local Exchange Point

Page 124: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 124

One Upstream, Local Exchange Point

Very common situation in many regions of the Internet

Connect to upstream transit provider to see the“Internet”

Connect to the local Internet Exchange Point so thatlocal traffic stays local

Saves spending valuable $ on upstream transit costs for localtraffic

Page 125: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 125

One Upstream, Local Exchange Point

AS 110

CC

AA

Upstream ISP

AS130IXP

Page 126: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 126

One Upstream, Local Exchange Point

Announce /19 aggregate to every neighbouring AS

Accept default route only from upstreamEither 0.0.0.0/0 or a network which can be used as default

Accept all routes originated by IXP peers

Page 127: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 127

One Upstream, Local Exchange Point

Router A Configurationinterface fastethernet 0/0

description Exchange Point LAN

ip address 120.5.10.1 mask 255.255.255.224

ip verify unicast reverse-path

!

router bgp 110

neighbor ixp-peers peer-group

neighbor ixp-peers prefix-list my-block out

neighbor ixp-peers remove-private-AS

neighbor ixp-peers route-map set-local-pref in

…next slide

Page 128: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 128

One Upstream, Local Exchange Point

neighbor 120.5.10.2 remote-as 100 neighbor 120.5.10.2 peer-group ixp-peers neighbor 120.5.10.2 prefix-list peer100 in neighbor 120.5.10.3 remote-as 101 neighbor 120.5.10.3 peer-group ixp-peers neighbor 120.5.10.3 prefix-list peer101 in neighbor 120.5.10.4 remote-as 102 neighbor 120.5.10.4 peer-group ixp-peers neighbor 120.5.10.4 prefix-list peer102 in neighbor 120.5.10.5 remote-as 103 neighbor 120.5.10.5 peer-group ixp-peers neighbor 120.5.10.5 prefix-list peer103 in..next slide

Page 129: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 129

One Upstream, Local Exchange Point

!

ip prefix-list my-block permit 121.10.0.0/19

ip prefix-list peer100 permit 122.0.0.0/19

ip prefix-list peer101 permit 122.30.0.0/19

ip prefix-list peer102 permit 122.12.0.0/19

ip prefix-list peer103 permit 122.18.128.0/19

!

route-map set-local-pref permit 10

set local-preference 150

!

Page 130: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 130

One Upstream, Local Exchange

Note that Router A does not generate the aggregate forAS110

If Router A becomes disconnected from backbone, then theaggregate is no longer announced to the IXBGP failover works as expected

Note the inbound route-map which sets the localpreference higher than the default

This ensures that local traffic crosses the IXP(And avoids potential problems with uRPF check)

Page 131: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 131

One Upstream, Local Exchange Point

Router C Configurationrouter bgp 110

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.1 remote-as 130

neighbor 122.102.10.1 prefix-list default in

neighbor 122.102.10.1 prefix-list my-block out

!

ip prefix-list my-block permit 121.10.0.0/19

ip prefix-list default permit 0.0.0.0/0

!

ip route 121.10.0.0 255.255.224.0 null0

Page 132: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 132

One Upstream, Local Exchange Point

Note Router A configurationPrefix-list higher maintenance, but saferuRPF on the IX facing interfaceNo generation of AS110 aggregate

IXP traffic goes to and from local IXP, everything elsegoes to upstream

Page 133: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 133

Aside:IXP Configuration Recommendations

IXP peersThe peering ISPs at the IXP exchange prefixes they originateSometimes they exchange prefixes from neighbouring ASNstoo

Be aware that the IXP border router should carry onlythe prefixes you want the IXP peers to receive and thedestinations you want them to be able to reach

Otherwise they could point a default route to you andunintentionally transit your backbone

If IXP router is at IX, and distant from your backboneDon’t originate your address block at your IXP router

Page 134: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 134

Service Provider Multihoming

Two Upstreams, One local peer

Page 135: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 135

Two Upstreams, One Local Peer

Connect to both upstream transit providers to see the“Internet”

Provides external redundancy and diversity – the reason tomultihome

Connect to the local peer so that local traffic stays localSaves spending valuable $ on upstream transit costs for localtraffic

Page 136: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 136

Two Upstreams, One Local Peer

AS 110

CC

AA

Upstream ISPAS140

Local PeerAS120 DD

Upstream ISPAS130

Page 137: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 137

Two Upstreams, One Local Peer

Announce /19 aggregate on each link

Accept default route only from upstreamsEither 0.0.0.0/0 or a network which can be used as default

Accept all routes from local peer

Note separation of Router C and DSingle edge router means no redundancy

Router ASame routing configuration as in example with one upstreamand one local peer

Page 138: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 138

Two Upstreams, One Local Peer

Router C Configurationrouter bgp 110

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.1 remote-as 130

neighbor 122.102.10.1 prefix-list default in

neighbor 122.102.10.1 prefix-list my-block out

!

ip prefix-list my-block permit 121.10.0.0/19

ip prefix-list default permit 0.0.0.0/0

!

ip route 121.10.0.0 255.255.224.0 null0

Page 139: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 139

Two Upstreams, One Local Peer

Router D Configurationrouter bgp 110

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.5 remote-as 140

neighbor 122.102.10.5 prefix-list default in

neighbor 122.102.10.5 prefix-list my-block out

!

ip prefix-list my-block permit 121.10.0.0/19

ip prefix-list default permit 0.0.0.0/0

!

ip route 121.10.0.0 255.255.224.0 null0

Page 140: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 140

Two Upstreams, One Local Peer

This is the simple configuration for Router C and D

Traffic out to the two upstreams will take nearest exitInexpensive routers requiredThis is not useful in practice especially for international linksLoadsharing needs to be better

Page 141: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 141

Two Upstreams, One Local Peer

Better configuration options:Accept full routing from both upstreams

Expensive & unnecessary!

Accept default from one upstream and some routes from theother upstream

The way to go!

Page 142: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 142

Allow all prefixes inapart from RFC1918and friends

Two Upstreams, One Local PeerFull Routes

Router C Configurationrouter bgp 110

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.1 remote-as 130

neighbor 122.102.10.1 prefix-list rfc1918-deny in

neighbor 122.102.10.1 prefix-list my-block out

neighbor 122.102.10.1 route-map AS130-loadshare in

!

ip prefix-list my-block permit 121.10.0.0/19

! See www.cymru.com/Documents/bogon-list.html

! ...for “RFC1918 and friends” list

...next slide

Page 143: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 143

Two Upstreams, One Local PeerFull Routes

ip route 121.10.0.0 255.255.224.0 null0!ip as-path access-list 10 permit ^(130_)+$ip as-path access-list 10 permit ^(130_)+_[0-9]+$!route-map AS130-loadshare permit 10 match ip as-path 10 set local-preference 120route-map AS130-loadshare permit 20 set local-preference 80!

Page 144: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 144

Allow all prefixes inapart from RFC1918and friends

Two Upstreams, One Local PeerFull Routes

Router D Configurationrouter bgp 110

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.5 remote-as 140

neighbor 122.102.10.5 prefix-list rfc1918-deny in

neighbor 122.102.10.5 prefix-list my-block out

!

ip prefix-list my-block permit 121.10.0.0/19

! See www.cymru.com/Documents/bogon-list.html

! ...for “RFC1918 and friends” list

Page 145: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 145

Two Upstreams, One Local PeerFull Routes

Router C configuration:Accept full routes from AS130Tag prefixes originated by AS130 and AS130’s neighbouringASes with local preference 120

Traffic to those ASes will go over AS130 linkRemaining prefixes tagged with local preference of 80

Traffic to other all other ASes will go over the link to AS140

Router D configuration same as Router C without theroute-map

Page 146: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 146

Two Upstreams, One Local PeerFull Routes

Full routes from upstreamsExpensive – needs lots of memory and CPUNeed to play preference gamesPrevious example is only an example – real life will needimproved fine-tuning!Previous example doesn’t consider inbound traffic – see earlierin presentation for examples

Page 147: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 147

Two Upstreams, One Local PeerPartial Routes: Strategy

Ask one upstream for a default routeEasy to originate default towards a BGP neighbour

Ask other upstream for a full routing tableThen filter this routing table based on neighbouring ASNE.g. want traffic to their neighbours to go over the link to thatASNMost of what upstream sends is thrown awayEasier than asking the upstream to set up custom BGP filtersfor you

Page 148: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 148

Allow all prefixesand default in; denyRFC1918 and friends

AS filter list filtersprefixes based onorigin ASN

Two Upstreams, One Local PeerPartial Routes

Router C Configurationrouter bgp 110

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.1 remote-as 130

neighbor 122.102.10.1 prefix-list rfc1918-nodef-deny in

neighbor 122.102.10.1 prefix-list my-block out

neighbor 122.102.10.1 filter-list 10 in

neighbor 122.102.10.1 route-map tag-default-low in

!

..next slide

Page 149: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 149

Two Upstreams, One Local PeerPartial Routes

ip prefix-list my-block permit 121.10.0.0/19ip prefix-list default permit 0.0.0.0/0!ip route 121.10.0.0 255.255.224.0 null0!ip as-path access-list 10 permit ^(130_)+$ip as-path access-list 10 permit ^(130_)+_[0-9]+$!route-map tag-default-low permit 10 match ip address prefix-list default set local-preference 80route-map tag-default-low permit 20!

Page 150: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 150

Two Upstreams, One Local PeerPartial Routes

Router D Configurationrouter bgp 110

network 121.10.0.0 mask 255.255.224.0

neighbor 122.102.10.5 remote-as 140

neighbor 122.102.10.5 prefix-list default in

neighbor 122.102.10.5 prefix-list my-block out

!

ip prefix-list my-block permit 121.10.0.0/19

ip prefix-list default permit 0.0.0.0/0

!

ip route 121.10.0.0 255.255.224.0 null0

Page 151: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 151

Two Upstreams, One Local PeerPartial Routes

Router C configuration:Accept full routes from AS130

(or get them to send less)Filter ASNs so only AS130 and its neighbouring ASes areacceptedTraffic to those ASes will go over AS130 linkTraffic to other all other ASes will go over the link to AS140What about backup?

Page 152: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 152

Two Upstreams, One Local PeerPartial Routes

Router C IGP Configurationrouter ospf 110

default-information originate metric 30

passive-interface Serial 0/0

!

ip route 0.0.0.0 0.0.0.0 serial 0/0 254

Router D IGP Configurationrouter ospf 110

default-information originate metric 10

passive-interface Serial 0/0

!

ip route 0.0.0.0 0.0.0.0 serial 0/0 254

Page 153: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 153

Two Upstreams, One Local PeerPartial Routes

Partial routes from upstreamsUse OSPF to determine outbound pathRouter D default has metric 10 – primary outbound pathRouter C default has metric 30 – backup outbound pathSerial interface goes down, static default is removed fromrouting table, OSPF default withdrawn

Page 154: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 154

Two Upstreams, One Local PeerPartial Routes

Partial routes from upstreamsNot expensive – only carry the routes necessary for loadsharingNeed to filter on AS pathsPrevious example is only an example – real life will needimproved fine-tuning!Previous example doesn’t consider inbound traffic – see earlierin presentation for examples

Page 155: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 155

Aside:Configuration Recommendation

When distributing internal default by iBGP or OSPFMake sure that routers connecting to private peers or to IXPs doNOT carry the default routeOtherwise they could point a default route to you andunintentionally transit your backboneSimple fix for Private Peer/IXP routers:

ip route 0.0.0.0 0.0.0.0 null0

Page 156: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 156

Service Provider Multihoming

Three upstreams, unequal bandwidths

Page 157: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 157

Three upstreams, unequal bandwidths

Autonomous System has three upstreams8Mbps to ISP A4Mbps to ISP B2Mbps to ISP C

What is the strategy here?One option is full table from each

3x 270k prefixes ⇒ 810k pathsOther option is partial table and defaults from each

How??

Page 158: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 158

AS 100

BB

ISP AAS110

ISP CAS130 AA

ISP BAS120

Diagram

Router A has 8Mbps circuit to ISP A

Router B has 4Mbps and 2Mbps circuits to ISPs B&C

Page 159: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 159

Outbound load-balancing strategy

Available BGP feeds from Transit providers:Full tableCustomer prefixes and defaultDefault Route

These are the common optionsVery rare for any provider to offer anything different

Page 160: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 160

Outbound load-balancing strategy

Accept only a default route from the provider with thelargest connectivity, ISP A

Because most of the traffic is going to use this link

If ISP A won’t provide a default:Still run BGP with them, but discard all prefixesPoint static default route to the upstream linkDistribute the default in the IGP

Request the full table from ISP B & CMost of this will be thrown away(“Default plus customers” is not enough)

Page 161: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 161

Outbound load-balancing strategy

How to decide what to keep and what to discard fromISPs B & C?

Most traffic will use ISP A link — so we need to find agood/useful subset

Discard prefixes transiting the global transit ISPsGlobal transit ISPs generally appear in most non-local orregional AS-PATHs

Discard prefixes with ISP A’s ASN in the pathMakes more sense for traffic to those destinations to go via thelink to ISP A

Page 162: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 162

Outbound load-balancing strategy

Global Transit ISPs include:209 Qwest 3549 Global Crossing701 VerizonBusiness 3356 Level 31239 Sprint 3561 Savvis1668 AOL TDN 7018 AT&T2914 NTT America

Page 163: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 163

ISP B peering Inbound AS-PATH filterip as-path access-list 1 deny _209_

ip as-path access-list 1 deny _701_

ip as-path access-list 1 deny _1239_

ip as-path access-list 1 deny _3356_

ip as-path access-list 1 deny _3549_

ip as-path access-list 1 deny _3561_

ip as-path access-list 1 deny _2914_

ip as-path access-list 1 deny _7018_

!

ip as-path access-list 1 deny _ISPA_

ip as-path access-list 1 deny _ISPC_

!

ip as-path access-list 1 permit _ISPB$

ip as-path access-list 1 permit _ISPB_[0-9]+$

ip as-path access-list 1 permit _ISPB_[0-9]+_[0-9]+$

ip as-path access-list 1 permit _ISPB_[0-9]+_[0-9]+_[0-9]+$

ip as-path access-list 1 deny .*

Page 164: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 164

Outbound load-balancing strategy:ISP B peering configuration

Part 1: Dropping Global Transit ISP prefixesThis can be fine-tuned if traffic volume is not sufficient(More prefixes in = more traffic out)

Part 2: Dropping prefixes transiting ISP A & C network

Part 3: Permitting prefixes from ISP B, their BGPneighbours, and their neighbours, and their neighbours

More AS_PATH permit clauses, the more prefixes allowed in,the more egress trafficToo many prefixes in will mean more outbound traffic than thelink to ISP B can handle

Page 165: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 165

Outbound load-balancing strategy

Similar AS-PATH filter can be built for the ISP C BGPpeering

If the same prefixes are heard from both ISP B and C,then establish proximity of their origin ASN to ISP B orC

e.g. ISP B might be in Japan, with the neighbouring ASN inEurope, yet ISP C might be in EuropeTransit to the ASN via ISP C makes more sense in this case

Page 166: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 166

Inbound load-balancing strategy

The largest outbound link should announce just the aggregate

The other links should announce:a) The aggregate with AS-PATH prependb) Subprefixes of the aggregate, chosen according to traffic volumes tothose subprefixes, and according to the services on those subprefixes

Example:Link to ISP B could be used just for Broadband/Dial customers — sonumber all such customers out of one contiguous subprefixLink to ISP C could be used just for commercial leased line customers— so number all such customers out of one contiguous subprefix

Page 167: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 167

Router A: eBGP Configuration Example

router bgp 100

network 100.10.0.0 mask 255.255.224.0

neighbor 122.102.10.1 remote 110

neighbor 122.102.10.1 prefix-list default in

neighbor 122.102.10.1 prefix-list aggregate out

!

ip prefix-list default permit 0.0.0.0/0

ip prefix-list aggregate permit 100.10.0.0/19

!

Page 168: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 168

Router B: eBGP Configuration Example

router bgp 100 network 100.10.0.0 mask 255.255.224.0 neighbor 120.103.1.1 remote 120 neighbor 120.103.1.1 filter-list 1 in neighbor 120.103.1.1 prefix-list ISP-B out neighbor 120.103.1.1 route-map to-ISP-B out neighbor 121.105.2.1 remote 130 neighbor 121.105.2.1 filter-list 2 in neighbor 121.105.2.1 prefix-list ISP-C out neighbor 121.105.2.1 route-map to-ISP-C out!ip prefix-list aggregate permit 100.10.0.0/19!..next slide

Page 169: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 169

/21 to ISP B“dial customers”

e.g. Single prependon ISP B link

/22 to ISP C“biz customers”

e.g. Dual prependon ISP C link

Router B: eBGP Configuration Exampleip prefix-list ISP-B permit 100.10.0.0/19ip prefix-list ISP-B permit 100.10.0.0/21!ip prefix-list ISP-C permit 100.10.0.0/19ip prefix-list ISP-C permit 100.10.28.0/22!route-map to-ISP-B permit 10 match ip address prefix-list aggregate set as-path prepend 100!route-map to-ISP-B permit 20!route-map to-ISP-C permit 10 match ip address prefix-list aggregate set as-path prepend 100 100!route-map to-ISP-C permit 20

Page 170: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 170

What about outbound backup?

We have:Default route from ISP A by eBGPMostly discarded full table from ISPs B&C

Strategy:Originate default route by OSPF on Router A (with metric 10) —link to ISP AOriginate default route by OSPF on Router B (with metric 30) —links to ISPs B & CPlus on Router B:

Static default route to ISP B with distance 240Static default route to ISP C with distance 245

When link goes down, static route is withdrawn

Page 171: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 171

Outbound backup: steady state

Steady state (all links up and active):Default route is to Router A — OSPF metric 10(Because default learned by eBGP ⇒ default is in RIB ⇒ OSPFwill originate default)Backup default is to Router B — OSPF metric 20eBGP prefixes learned from upstreams distributed by iBGPthroughout backbone(Default can be filtered in iBGP to avoid “RIB failure error”)

Page 172: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 172

Outbound backup: failure examples

Link to ISP A down, to ISPs B&C up:Default route is to Router B — OSPF metric 20(eBGP default gone from RIB, so OSPF on Router A withdrawsthe default)

Above is true if link to B or C is down as well

Link to ISPs B & C down, link to ISP A is up:Default route is to Router A — OSPF metric 10(static defaults on Router B removed from RIB, so OSPF onRouter B withdraws the default)

Page 173: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 173

Other considerations

Default route should not be propagated to devicesterminating non-transit peers and customers

No need to carry default in iBGPFilter out default in iBGP mesh peerings

Still carry other eBGP prefixes across iBGP meshOtherwise routers will follow default route rules resulting insuboptimal traffic flowNot a big issue because not carrying full table

Page 174: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 174

Router A: iBGP Configuration Example

router bgp 100 network 100.10.0.0 mask 255.255.224.0 neighbor ibgp-peers peer-group neighbor ibgp-peers remote-as 100 neighbor ibgp-peers prefix-list ibgp-filter out neighbor 100.10.0.2 peer-group ibgp-peers neighbor 100.10.0.2 prefix-list ibgp-filter out neighbor 100.10.0.3 peer-group ibgp-peers neighbor 100.10.0.3 prefix-list ibgp-filter out!ip prefix-list ibgp-filter deny 0.0.0.0/0ip prefix-list ibgp-filter permit 0.0.0.0/0 le 32!

Page 175: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 175

Three upstreams, unequal bandwidths:Summary

Example based on many deployed workingmultihoming/loadbalancing topologies

Many variations possible — this one is:Easy to tuneLight on border router resourcesLight on backbone router infrastructureSparse BGP table ⇒ faster convergence

Page 176: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 176

Summary

Page 177: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 177

Summary

Multihoming is not hard, really…Keep It Simple & Stupid!

Full routing table is rarely requiredA default is often just as goodIf customers want 270k prefixes, charge them money for it

Page 178: BGP Multihoming Techniques - Apricot · Use eBGP multihop eBGP to loopback addresses eBGP prefixes learned with loopback address as next hop Cisco IOS router bgp 65534 neighbor 1.1.1.1

© 2009 Cisco Systems, Inc. All rights reserved.APRICOT2009 178

BGP Multihoming Techniques

End of Tutorial


Recommended