Inhoud

Inleiding

Beschrijving van de BGP-routereflectie

Configuratievoorbeelden van routereflectie

Enkelvoudig cluster met standaardinstellingen

Enkelvoudig cluster met client-naar-client reflectie uitgeschakeld

Twee clusters, binnen-site en intersite routereflectie

Twee clusters, geen client-naar-client reflectie

Cluster List en Loop-preventie

weerspiegeling tussen client en niet-cliënt

Intra-clusterreflectie

Inter-clusterreflectie

MCID’s en Loop Prevention

Referenties

Gerelateerde Cisco Support Community-discussies

Inleiding

In dit artikel worden verschillende scenario's van Border Gateway Protocol (BGP) routereflectie en gebruik van meerdere cluster ID's beschreven. Voorgaande kennis van BGP-concepten, met name clusters en routereflectie wordt verondersteld.

Beschrijving van de BGP-routereflectie

Een BGP-luidspreker is een BGP-enabled-router. De standaardinstelling is dat BGP-sprekers iBGP-leerde prefixes niet adverteren voor iBGP-peers - dit wordt gedaan om luspreventie te handhaven. RFC4456 introduceert de routereflectie-functie die de noodzaak van een volledig netwerk tussen iBGP-sprekers verwijdert. Wanneer de routereflector een voorvoegsel reflecteert, creëert/wijzigt het een optioneel niet-transitief attribuut dat CLUSTER_LIST heet door zijn eigen cluster ID daaraan toe te voegen. Deze eigenschap wordt gebruikt voor luspreventie: wanneer router update ontvangt die CLUSTER_LIST de eigen cluster ID van de router bevat, wordt deze update verworpen.

Door standaard cluster ID wordt ingesteld op de BGP router ID-waarde, maar kan deze ingesteld worden op een willekeurige 32-bits waarde. MCID’s (Multiple cluster ID’s) maken het mogelijk elke buurcluster ID’s toe te wijzen. Er zijn dus 3 soorten routereflectiescenario's.

1. Tussen cliënt en niet-cliënt

2. Tussen klanten in hetzelfde cluster (intra-cluster)

3. Tussen klanten in verschillende clusters (intercluster)

Configuratievoorbeelden van routereflectie

Hierna volgen enkele scenario's voor routerreflectie en respectievelijke configuratievoorbeelden.

Enkelvoudig cluster met standaardinstellingen

Figuur 1

Na configuratie is uitgevoerd op router RR die als reflector van de route fungeert.

RR#show run | sec bgp

router bgp 1

bgp log-neighbor-changes

neighbor 10.0.10.2 remote-as 1

neighbor 10.0.10.2 route-reflector-client

neighbor 10.0.20.2 remote-as 1

neighbor 10.0.20.2 route-reflector-client

neighbor 10.0.40.2 remote-as 1

In dit geval zijn S1PE1 en S1PE2 klanten van RR terwijl S2PE1 niet-cliënt is. In conventionele ontwerpen zal niet-client router routereflector zijn voor routers op het volgende hiërarchie niveau maar in dit voorbeeld wordt alleen een andere PE gebruikt voor eenvoud.

RR#show ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): ENABLED

intra-cluster:                         ENABLED       ENABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

RR#sh ip bgp 172.16.1.1

BGP routing table entry for 172.16.1.1/32, version 2

Paths: (1 available, best #1, table default)

Advertised to update-groups:

1          2

Refresh Epoch 2

Local, (Received from a RR-client)

10.0.10.2 from 10.0.10.2 (172.16.1.1)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp update-group 1

BGP version 4 update-group 1, internal, Address Family: IPv4 Unicast

BGP Update version : 4/0, messages 0

Topology: global, highest version: 4, tail marker: 4

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 2, replicated 2, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 1 member:

10.0.40.2

RR#show ip bgp update-group 2

BGP version 4 update-group 2, internal, Address Family: IPv4 Unicast

BGP Update version : 4/0, messages 0

Route-Reflector Client

Topology: global, highest version: 4, tail marker: 4

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 3, replicated 6, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 2 members:

10.0.10.2        10.0.20.2

Deze uitgangen tonen aan dat RR het voorvoegsel 172.16.1.1/32 van S1PE1 ontvangt en het weergeeft aan de cliënt S1PE2 en S2PE1. In dit specifieke geval wordt update ook teruggestuurd naar S1PE1, maar het gebeurt omdat S1PE1 en S1PE2 hetzelfde routingbeleid hebben en daarom dezelfde update groep vormen.

Enkelvoudig cluster met client-naar-client reflectie uitgeschakeld

Figuur 2

Na configuratie is uitgevoerd op router RR die als reflector van de route fungeert.

RR#show run | sec bgp

router bgp 1

no bgp client-to-client reflection

bgp log-neighbor-changes

neighbor 10.0.10.2 remote-as 1

neighbor 10.0.10.2 route-reflector-client

neighbor 10.0.20.2 remote-as 1

neighbor 10.0.20.2 route-reflector-client

neighbor 10.0.40.2 remote-as 1

Laten we aannemen dat AS1 gedeeltelijk is mazen: S1PE1 en S1PE2 vormen iBGP nabijheid (zij bevinden zich bijvoorbeeld op dezelfde site en we willen de manier waarop netwerkprocessen updates verwerken optimaliseren). In dit geval heeft RR de cliënt-to-cliënt reflectie uitgeschakeld en zij weerspiegelt 172.16.1.1/32 die van S1PE1 alleen naar S2PE1 komt.

RR#show ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): DISABLED

intra-cluster:                         ENABLED       DISABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

RR#show ip bgp 172.16.1.1

BGP routing table entry for 172.16.1.1/32, version 5

Paths: (1 available, best #1, table default, RIB-failure(17))

Advertised to update-groups:

1

Refresh Epoch 2

Local, (Received from a RR-client)

10.0.10.2 from 10.0.10.2 (172.16.1.1)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp update-group 1

BGP version 4 update-group 1, internal, Address Family: IPv4 Unicast

BGP Update version : 7/0, messages 0

Topology: global, highest version: 7, tail marker: 7

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 4, replicated 4, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 1 member:

10.0.40.2

Twee clusters, binnen-site en intersite routereflectie

Figuur 3

Na configuratie is uitgevoerd op router RR die als reflector van de route fungeert.

RR#sh run | sec bgp

router bgp 1

no bgp client-to-client reflection intra-cluster cluster-id 192.168.1.1

bgp log-neighbor-changes

neighbor 10.0.10.2 remote-as 1

neighbor 10.0.10.2 cluster-id 192.168.1.1

neighbor 10.0.10.2 route-reflector-client

neighbor 10.0.20.2 remote-as 1

neighbor 10.0.20.2 cluster-id 192.168.1.1

neighbor 10.0.20.2 route-reflector-client

neighbor 10.0.40.2 remote-as 1

neighbor 10.0.40.2 cluster-id 192.168.2.2

neighbor 10.0.40.2 route-reflector-client

neighbor 10.0.50.2 remote-as 1

neighbor 10.0.50.2 cluster-id 192.168.2.2

neighbor 10.0.50.2 route-reflector-client

neighbor 10.0.70.2 remote-as 1

In dit geval vormen beide PE's op site 1 de groep 192.168.1.1, terwijl beide PE's op site 2 deel uitmaken van de groep 192.168.2.2. S3PE1 een niet-cliënt is. PE's op site 1 hebben directe iBGP-sessie, intra-clusterreflectie is uitgeschakeld voor de cluster 192.168.1.1, maar nog steeds ingeschakeld voor de cluster 192.168.2.2. Intercluster reflectie is ingeschakeld.

RR#show ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): ENABLED

intra-cluster:                         ENABLED       ENABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

192.168.1.1                2 DISABLED    DISABLED

192.168.2.2                2 ENABLED     ENABLED

RR#show ip bgp 172.16.1.1

BGP routing table entry for 172.16.1.1/32, version 5

Paths: (1 available, best #1, table default, RIB-failure(17))

Advertised to update-groups:

3          5

Refresh Epoch 9

Local, (Received from a RR-client)

10.0.10.2 from 10.0.10.2 (172.16.1.1)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp update-group 3

BGP version 4 update-group 3, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 20, replicated 20, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 1 member:

10.0.70.2

RR#show ip bgp update-group 5

BGP version 4 update-group 5, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Route-Reflector Client

Configured with cluster-id 192.168.2.2

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 22, replicated 34, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 3, min 0

Minimum time between advertisement runs is 0 seconds

Has 2 members:

10.0.40.2        10.0.50.2

Prefixe 172.16.1.1/32 die van S1PE1 is ontvangen, wordt weerspiegeld in de klanten in de cluster 192.168.2.2 en in de niet-klanten. Tegelijkertijd wordt het voorvoegsel 172.16.4.4/32 dat van S2PE1 is ontvangen, gereflecteerd voor alle cliënten en niet-cliënten.

RR#show ip bgp 172.16.4.4

BGP routing table entry for 172.16.4.4/32, version 9

Paths: (1 available, best #1, table default, RIB-failure(17))

Advertised to update-groups:

3          4          5

Refresh Epoch 6

Local, (Received from a RR-client)

10.0.40.2 from 10.0.40.2 (172.16.4.4)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp update-group 3

BGP version 4 update-group 3, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 20, replicated 20, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 1 member:

10.0.70.2

RR#show ip bgp update-group 4

BGP version 4 update-group 4, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Route-Reflector Client

Configured with cluster-id 192.168.1.1

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 26, replicated 47, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 3, min 0

Minimum time between advertisement runs is 0 seconds

Has 2 members:

10.0.10.2        10.0.20.2

RR#show ip bgp update-group 5

BGP version 4 update-group 5, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Route-Reflector Client

Configured with cluster-id 192.168.2.2

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 22, replicated 34, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 3, min 0

Minimum time between advertisement runs is 0 seconds

Has 2 members:

10.0.40.2        10.0.50.2

U kunt ook intra-site route-reflectie voor cluster 192.168.2.2 uitschakelen, maar in dit geval moeten klanten in dat cluster een volledig netwerk van iBGP sessies hebben:

RR(config-router)#no bgp client-to-client reflection intra-cluster cluster-id 192.168.2.2

RR#sh ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): ENABLED

intra-cluster:                         ENABLED       ENABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

192.168.1.1                2 DISABLED    DISABLED

192.168.2.2                2 DISABLED    DISABLED

Intra-site reflectie kan ook voor alle clusters uitgeschakeld worden:

RR(config-router)#no bgp client-to-client reflection intra-cluster cluster-id any

Twee clusters, geen client-naar-client reflectie

Figuur 4

Na configuratie is uitgevoerd op router RR die als reflector van de route fungeert.

RR#show run | sec bgp

router bgp 1

no bgp client-to-client reflection

bgp log-neighbor-changes

neighbor 10.0.10.2 remote-as 1

neighbor 10.0.10.2 cluster-id 192.168.1.1

neighbor 10.0.10.2 route-reflector-client

neighbor 10.0.20.2 remote-as 1

neighbor 10.0.20.2 cluster-id 192.168.1.1

neighbor 10.0.20.2 route-reflector-client

neighbor 10.0.40.2 remote-as 1

neighbor 10.0.40.2 cluster-id 192.168.2.2

neighbor 10.0.40.2 route-reflector-client

neighbor 10.0.50.2 remote-as 1

neighbor 10.0.50.2 cluster-id 192.168.2.2

neighbor 10.0.50.2 route-reflector-client

neighbor 10.0.70.2 remote-as 1

Het is mogelijk zowel intra-cluster als interclusterreflectie uit te schakelen. In dit geval zal alleen worden nagedacht tussen cliënten en niet-cliënten.

RR#show ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): DISABLED

intra-cluster:                         ENABLED       DISABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

192.168.1.1                2 ENABLED     DISABLED

192.168.2.2                2 ENABLED     DISABLED

RR#show ip bgp 172.16.1.1

BGP routing table entry for 172.16.1.1/32, version 5

Paths: (1 available, best #1, table default, RIB-failure(17))

Advertised to update-groups:

3

Refresh Epoch 9

Local, (Received from a RR-client)

10.0.10.2 from 10.0.10.2 (172.16.1.1)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp 172.16.4.4

BGP routing table entry for 172.16.4.4/32, version 9

Paths: (1 available, best #1, table default, RIB-failure(17))

Advertised to update-groups:

3

Refresh Epoch 6

Local, (Received from a RR-client)

10.0.40.2 from 10.0.40.2 (172.16.4.4)

Origin IGP, metric 0, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

RR#show ip bgp update-group 3

BGP version 4 update-group 3, internal, Address Family: IPv4 Unicast

BGP Update version : 11/0, messages 0

Topology: global, highest version: 11, tail marker: 11

Format state: Current working (OK, last not in list)

Refresh blocked (not in list, last not in list)

Update messages formatted 20, replicated 20, current 0, refresh 0, limit 1000

Number of NLRIs in the update sent: max 1, min 0

Minimum time between advertisement runs is 0 seconds

Has 1 member:

10.0.70.2

De prefixes 172.16.1.1/32 en 172.16.4.4/32 zijn afkomstig van clusters van respectievelijk 192.168.1.1 en 192.168.2.2. Beide prefixes worden uitsluitend tot S3PE1 van de niet-cliënt weerspiegeld. In dit geval moeten alle cliënten volledig zijn afgestemd. Over het algemeen zijn MCID's in dit specifieke scenario niet echt zinvol (hetzelfde gedrag kan met één cluster worden bereikt), maar ze kunnen ook nog worden gebruikt als je verschillende clusterlijsten wilt hebben voor routes vanuit verschillende buren.

Opmerking: Het is niet mogelijk intraclusterreflectie mogelijk te maken (voor specifieke cluster of voor alle clusters) terwijl interclusterreflectie uitgeschakeld is.

Cluster List en Loop-preventie

Wanneer RR een prefix reflecteert, voegt het cluster ID toe aan de optionele niet-transitieve eigenschap CLUSTER_LIST. Hiermee wordt ook de optionele niet-transitieve eigenschap ORIGINATOR_ID ingesteld op de router-ID van de peer, die het prefix heeft geadverteerd in de RR.

Wanneer MCID’s worden gebruikt en RR het voorvoegsel weergeeft, gebruikt zij cluster-ID die voor de peer is geconfigureerd en dat voorvoegsel in de RR heeft aangegeven. Als die peer geen specifieke cluster ID heeft, wordt globale cluster-ID gebruikt.

Laten we wat voorbeelden zien. RR heeft alle vormen van routereflectie ingeschakeld. Global cluster ID is 172.16.3.3, clusterID's 192.168.1.1 en 192.168.2.2 zijn ingesteld op PE's op site 1 respectievelijk op site 2 (zie hierboven voor topologie).

RR#show ip bgp cluster-ids

Global cluster-id: 172.16.3.3 (configured: 0.0.0.0)

BGP client-to-client reflection:         Configured    Used

all (inter-cluster and intra-cluster): ENABLED

intra-cluster:                         ENABLED       ENABLED

List of cluster-ids:

Cluster-id     #-neighbors C2C-rfl-CFG C2C-rfl-USE

192.168.1.1                2 ENABLED     ENABLED

192.168.2.2                2 ENABLED     ENABLED

weerspiegeling tussen client en niet-cliënt

S2PE3#show ip bgp 172.16.1.1

BGP routing table entry for 172.16.1.1/32, version 2

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.10.2 (metric 20) from 10.0.70.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 172.16.1.1, Cluster list: 192.168.1.1

rx pathid: 0, tx pathid: 0x0

S2PE3#show ip bgp 172.16.4.4

BGP routing table entry for 172.16.4.4/32, version 4

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.40.2 (metric 20) from 10.0.70.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 172.16.4.4, Cluster list: 192.168.2.2

rx pathid: 0, tx pathid: 0x0

Voorvoegsel 172.16.1.1/32 van niet-client S2PE3 dat afkomstig is van het cluster 192.168.1.1 - cluster ID 192.168.1.1 wordt toegevoegd aan de clusterlijst. Het ontvangt ook prefix 172.16.4.4/32 dat afkomstig is van het cluster 192.168.2.2 - cluster ID 192.168.2.2 wordt toegevoegd aan de clusterlijst.

S1PE1#show ip bgp 172.16.6.6

BGP routing table entry for 172.16.6.6/32, version 5

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.70.2 (metric 20) from 10.0.10.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 172.16.6.6, Cluster list: 172.16.3.3

rx pathid: 0, tx pathid: 0x0

client S1PE1 ontvangt prefix 172.16.6.6/32 dat afkomstig is van een niet-cliënt - het wereldwijde cluster ID 172.16.3.3 wordt toegevoegd aan de clusterlijst.

Intra-clusterreflectie

S1PE2#show ip bgp 172.16.1.1/32

BGP routing table entry for 172.16.1.1/32, version 8

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.10.2 (metric 20) from 10.0.20.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal

Originator: 172.16.1.1, Cluster list: 192.168.1.1

rx pathid: 0, tx pathid: 0

S1PE2 behoort tot het cluster 192.168.1.1 en ontvangt prefixnummer 172.16.1.1/32 dat afkomstig is van S1PE1 en ook behoort tot het cluster 192.168.1.1. Cluster ID 192.168.1.1 wordt aan de clusterlijst toegevoegd.

Inter-clusterreflectie

S2PE1#show ip bgp 172.16.1.1/32

BGP routing table entry for 172.16.1.1/32, version 4

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.10.2 (metric 20) from 10.0.40.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 172.16.1.1, Cluster list: 192.168.1.1

rx pathid: 0, tx pathid: 0x0

S1PE1#sh ip bgp 172.16.4.4/32

BGP routing table entry for 172.16.4.4/32, version 4

Paths: (1 available, best #1, table default, RIB-failure(17))

Not advertised to any peer

Refresh Epoch 1

Local

10.0.40.2 (metric 20) from 10.0.10.1 (172.16.3.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

Originator: 172.16.4.4, Cluster list: 192.168.2.2

rx pathid: 0, tx pathid: 0x0

S2PE1 behoort tot de cluster 192.168.2.2 en ontvangt prefixeernummer 172.16.1.1/32 dat afkomstig is van cluster 192.168.1.1 - cluster-ID is ingesteld op 192.168.1.1.

S1PE1 behoort tot de cluster 192.168.1.1 en ontvangt prefixeernummer 172.16.4.4/32 dat afkomstig is van cluster 192.168.2.2 - cluster-ID is ingesteld op 192.168.2.2.

MCID’s en Loop Prevention

Als router de update voor het prefix ontvangt dat de clusterlijst de eigen cluster-ID van de router bevat, wordt de update verworpen. Als MCID’s worden gebruikt, wordt update die een of meer geconfigureerde cluster-ID’s bevat (of mondiaal of per buur), niet meer gebruikt.

Referenties

RFC 4456

BGP-meerdere Cluster-ID’s