Contenu

Introduction

Description de la réflexion de route BGP

Exemples de configuration de la réflexion de route

Cluster unique avec paramètres par défaut

Cluster unique avec réflexion client-client désactivée

Deux clusters, Réflexion des routes intra-site et inter-site

Deux clusters, aucune réflexion client-client

Liste de clusters et prévention des boucles

Réflexion entre le client et les non-clients

Réflexion intra-cluster

Réflexion inter-clusters

MCID et prévention des boucles

Références

Discussions connexes de la communauté d’assistance Cisco

Introduction

Cet article décrit différents scénarios de réflexion de route BGP (Border Gateway Protocol) et d'utilisation de plusieurs ID de cluster. Une connaissance préalable des concepts BGP, en particulier des clusters et de la réflexion de route, est supposée.

Description de la réflexion de route BGP

Un haut-parleur BGP est un routeur compatible BGP. Par défaut, les haut-parleurs BGP n'annoncent pas les préfixes apprises par iBGP aux homologues iBGP - ceci pour maintenir la prévention des boucles. Le RFC4456 introduit la fonction de réflexion de route qui supprime le besoin de maillage complet entre les haut-parleurs iBGP. Lorsque le réflecteur de route reflète un préfixe, il crée/modifie un attribut optionnel non transitif appelé CLUSTER_LIST en y ajoutant son propre ID de cluster. Cet attribut est utilisé pour la prévention des boucles : lorsque le routeur reçoit une mise à jour qui CLUSTER_LIST contient son propre ID de cluster, cette mise à jour est ignorée.

Par défaut, l'ID de cluster est défini sur la valeur d'ID de routeur BGP, mais peut être défini sur une valeur arbitraire de 32 bits. La fonction MCID (Multiple Cluster ID) permet d'attribuer des ID de cluster par voisin. Il existe donc trois types de scénarios de réflexion de route.

1. Entre client et non-client

2. Entre les clients d'un même cluster (intra-cluster)

3. Entre les clients de différents clusters (inter-clusters)

Exemples de configuration de la réflexion de route

Voici quelques scénarios de réflexion de routeur et des exemples de configuration respectifs.

Cluster unique avec paramètres par défaut

Figure 1

La configuration suivante a été effectuée sur le routeur RR agissant comme réflecteur de route.

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

Dans ce cas, S1PE1 et S1PE2 sont des clients de RR alors que S2PE1 n'est pas un client. Dans les conceptions conventionnelles, les routeurs non-clients seront des réflecteurs de route pour les routeurs au niveau de la hiérarchie suivante, mais dans cet exemple, un seul PE est utilisé pour la simplicité.

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

Ces résultats montrent que RR reçoit le préfixe 172.16.1.1/32 de S1PE1 et le reflète au client S1PE2 et au client S2PE1 non-client. Dans ce cas particulier, la mise à jour est également renvoyée à S1PE1, mais elle se produit parce que S1PE1 et S1PE2 ont la même politique de routage et, par conséquent, forment le même groupe de mises à jour.

Cluster unique avec réflexion client-client désactivée

Figure 2

La configuration suivante a été effectuée sur le routeur RR agissant comme réflecteur de route.

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

Supposons que l'AS1 est partiellement maillé : S1PE1 et S1PE2 forment un voisinage iBGP (par exemple, ils sont situés sur le même site et nous voulons optimiser la façon dont le réseau traite les mises à jour). Dans ce cas, RR a désactivé la réflexion client-client et reflète 172.16.1.1/32 provenant de S1PE1 uniquement vers S2PE1 non-client.

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

Deux clusters, Réflexion des routes intra-site et inter-site

Figure 3

La configuration suivante a été effectuée sur le routeur RR agissant comme réflecteur de route.

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

Dans ce cas, les deux PE du site 1 forment le cluster 192.168.1.1 tandis que les deux PE du site 2 forment le cluster 192.168.2.2. S3PE1 est un non-client. Les PE du site 1 ont une session iBGP directe, la réflexion intra-cluster est désactivée pour le cluster 192.168.1.1, mais toujours activée pour le cluster 192.168.2.2. La réflexion inter-cluster est activée.

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

Le préfixe 172.16.1.1/32 reçu de S1PE1 est répercuté sur les clients du cluster 192.168.2.2 et sur les non-clients. Parallèlement, le préfixe 172.16.4.4/32 reçu de S2PE1 est répercuté sur tous les clients et non-clients.

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

Vous pouvez également désactiver la réflexion de route intra-site pour le cluster 192.168.2.2, mais dans ce cas, les clients de ce cluster doivent avoir un maillage complet des sessions iBGP :

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

La réflexion intra-site peut également être désactivée pour tous les clusters :

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

Deux clusters, aucune réflexion client-client

Figure 4

La configuration suivante a été effectuée sur le routeur RR agissant comme réflecteur de route.

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

Il est possible de désactiver la réflexion intra-cluster et inter-cluster. Dans ce cas, seule la réflexion entre les clients et les non-clients sera effectuée.

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

Les préfixes 172.16.1.1/32 et 172.16.4.4/32 proviennent respectivement des clusters 192.168.1.1 et 192.168.2.2. Ces deux préfixes sont uniquement répercutés sur le S3PE1 non client. Dans ce cas, tous les clients doivent être entièrement maillés. Généralement, dans ce scénario particulier, les MCID n'ont pas vraiment de sens (le même comportement peut être obtenu avec un seul cluster), mais ils peuvent toujours être utilisés si vous voulez avoir différentes listes de clusters pour les routes de différents voisins.

Note: Il n'est pas possible d'activer la réflexion intra-cluster (soit pour un cluster spécifique, soit pour tous les clusters) lorsque la réflexion inter-cluster est désactivée.

Liste de clusters et prévention des boucles

Lorsque RR reflète un préfixe, il ajoute l'ID de cluster à l'attribut facultatif non transitif CLUSTER_LIST. Il définit également l'attribut facultatif non transitif ORIGINATOR_ID sur l'ID de routeur de l'homologue, qui a annoncé le préfixe au RR.

Lorsque les MCID sont utilisés et que RR reflète le préfixe, il utilise l'ID de cluster configuré pour l'homologue qui a annoncé ce préfixe au RR. Si cet homologue n'a pas d'ID de cluster spécifique configuré, l'ID de cluster global est utilisé.

Voyons quelques exemples. RR a toutes les formes de réflexion de route activées. L'ID de cluster global est 172.16.3.3, les ID de cluster 192.168.1.1 et 192.168.2.2 sont définis sur PE sur le site 1 et le site 2 respectivement (voir le schéma de topologie ci-dessus).

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

Réflexion entre le client et les non-clients

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

Le préfixe 172.16.1.1/32 du préfixe non-client S2PE3 provient du cluster 192.168.1.1 - l'ID de cluster 192.168.1.1 est ajouté à la liste des clusters. Il reçoit également le préfixe 172.16.4.4/32 originaire du cluster 192.168.2.2 - l'ID de cluster 192.168.2.2 est ajouté à la liste de clusters.

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

Le client S1PE1 reçoit le préfixe 172.16.6.6/32 émis par un non-client : l'ID de cluster global 172.16.3.3 est ajouté à la liste de clusters.

Réflexion intra-cluster

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 appartient au cluster 192.168.1.1 et reçoit le préfixe 172.16.1.1/32 originaire de S1PE1 qui appartient également au cluster 192.168.1.1. L'ID de cluster 192.168.1.1 est ajouté à la liste de clusters.

Réflexion inter-clusters

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 appartient au cluster 192.168.2.2 et reçoit le préfixe 172.16.1.1/32 originaire du cluster 192.168.1.1 - l'ID de cluster est défini sur 192.168.1.1.

S1PE1 appartient au cluster 192.168.1.1 et reçoit le préfixe 172.16.4.4/32 originaire du cluster 192.168.2.2 - l'ID de cluster est défini sur 192.168.2.2.

MCID et prévention des boucles

Si le routeur reçoit la mise à jour pour le préfixe de la liste de clusters contenant son propre ID de cluster, la mise à jour est ignorée. Si des MCID sont utilisés, la mise à jour qui contient l'un des ID de cluster configurés (global ou par voisin) sera ignorée.

Références

RFC 4456

ID de cluster BGP multiples