Problรจme full-mesh Concept RR Rรจgles de rรฉflexion ORIG_ID & CLUSTER_LIST Configuration Topologies Impact best-path Confederation Vรฉrification ๐Ÿง  QCM
iBGP Scalabilitรฉ RFC 4456 Critรจres #11 & #12 CCIE Enterprise v1.1

BGP Route Reflector

Mรฉcanisme de scalabilitรฉ iBGP qui supprime l'obligation de full-mesh. Un RR rรฉflรฉchit les routes entre ses clients sans que ceux-ci aient besoin de sessions directes entre eux.

RFC 4456
Rรฉfรฉrence
n(n-1)/2
Sessions full-mesh
#11 #12
Critรจres best-path impactรฉs
2
Attributs ajoutรฉs par RR
01Le problรจme iBGP full-mesh

La rรจgle iBGP fondamentale : un routeur ne rรฉannonce pas ร  un peer iBGP une route apprise via iBGP (iBGP split-horizon). Sans mรฉcanisme correctif, tous les routeurs iBGP d'un AS doivent avoir une session directe avec tous les autres.

Sessions requises = n ร— (n โˆ’ 1) / 2
Nombre de routeursSessions full-mesh requisesVerdict
510โœ“ Gรฉrable
1045โš  Complexe
501 225โœ— Ingรฉrable
1004 950โœ— Hors de question
AS 65000 โ€” Full-mesh (5 routeurs = 10 sessions) R1 โ”€โ”€โ”€โ”€ R2 โ”‚ โ•ฒ โ•ฑ โ”‚ โ”‚ โ•ณ โ”‚ Chaque trait = 1 session iBGP โ”‚ โ•ฑ โ•ฒ โ”‚ โ†’ configuration, charge CPU, mรฉmoire R3 โ”€โ”€โ”€โ”€ R4 โ”‚ R5
โš ๏ธ
La full-mesh n'est pas seulement un problรจme de configuration โ€” c'est un problรจme de scalabilitรฉ opรฉrationnelle. Ajouter un routeur demande de reconfigurer TOUS les autres. Les Route Reflectors et les Confederations sont les deux solutions standards.
02Concept Route Reflector
๐Ÿชž

Route Reflector (RR)

Routeur configurรฉ pour rรฉflรฉchir (relayer) les routes iBGP ร  ses clients. Il contourne l'iBGP split-horizon pour les routes venant de ses clients. Configurรฉ avec route-reflector-client sur les neighbors concernรฉs.

๐Ÿ’ป

Client RR

Routeur qui a une session iBGP avec le RR et est dรฉclarรฉ comme client (route-reflector-client du cรดtรฉ RR). N'a pas besoin de sessions avec les autres clients โ€” c'est le RR qui leur transmet les routes.

๐Ÿ”—

Non-client

Routeur iBGP du mรชme AS qui n'est pas client du RR. Les routes apprises d'un non-client ne sont pas rรฉflรฉchies vers les autres non-clients (split-horizon classique maintenu). Typiquement un autre RR.

๐Ÿ˜๏ธ

Cluster

Ensemble formรฉ par un RR et ses clients. Identifiรฉ par un Cluster-ID (par dรฉfaut = Router-ID du RR). Plusieurs clusters peuvent coexister dans le mรชme AS, avec ou sans hiรฉrarchie.

AS 65000 โ€” Architecture avec Route Reflector โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Cluster 1 (Cluster-ID: 1.1.1.1) โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ RR1 โ”‚ โ† Route Reflectorโ”‚ โ”‚ โ”‚ 1.1.1.1 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ iBGP โ”‚ โ”‚ iBGP โ”‚ โ”‚ (client) โ”‚ โ”‚ (client) โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ–ผ โ–ผ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ C1 โ”‚ โ”‚ C2 โ”‚ โ† clients โ”‚ โ”‚ โ”‚ 10.0.1.1 โ”‚ โ”‚ 10.0.1.2 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ C1 et C2 n'ont PAS de session entre eux โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ iBGP (non-client) โ–ผ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Cluster 2 (Cluster-ID: 2.2.2.2) โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ RR2 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ (client) โ”‚ โ”‚ โ–ผ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ C3 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
๐Ÿ’ก
Le RR lui-mรชme ne sait pas qu'il est un "RR" du point de vue du client โ€” la configuration route-reflector-client est unilatรฉrale, cรดtรฉ RR uniquement. Le client voit juste un peer iBGP normal.
03Rรจgles de rรฉflexion

Le comportement du RR dรฉpend de la source de la route reรงue :

Source de la route
Rรฉflรฉchi aux clients ?
Rรฉflรฉchi aux non-clients ?
Attributs modifiรฉs ?
Peer eBGP
โœ“ Oui
โœ“ Oui
ORIG_ID + CLUSTER_LIST ajoutรฉs
Client iBGP
โœ“ Oui (autres clients)
โœ“ Oui
ORIG_ID + CLUSTER_LIST ajoutรฉs
Non-client iBGP
โœ“ Oui
โœ— Non (split-horizon)
ORIG_ID + CLUSTER_LIST ajoutรฉs
โš ๏ธ
La rรจgle split-horizon reste active entre non-clients. Pour que deux clusters (deux RRs) รฉchangent des routes, ils doivent avoir une session iBGP directe entre eux (session non-client โ†” non-client). C'est pour รงa qu'en pratique, les RRs d'un mรชme AS forment une mini full-mesh entre eux.
Anti-boucleMรฉcanisme de loop prevention

Avant de rรฉflรฉchir une route, le RR effectue deux vรฉrifications :

CLUSTER_LIST loop check

Si le propre Cluster-ID du RR est dรฉjร  prรฉsent dans la CLUSTER_LIST de la route reรงue โ†’ route rejetรฉe silencieusement. Boucle de rรฉflexion dรฉtectรฉe.

ORIGINATOR_ID loop check

Si le Router-ID local du routeur correspond ร  l'ORIGINATOR_ID de la route reรงue โ†’ route rejetรฉe. Le routeur est lui-mรชme l'annonceur original.

04Attributs ORIGINATOR_ID & CLUSTER_LIST

Quand un RR rรฉflรฉchit une route pour la premiรจre fois, il ajoute deux attributs BGP :

AttributTypeFlagsContenuCritรจre best-path
ORIGINATOR_ID 9 Optional Non-Transitive Router-ID de l'annonceur original โ€” ajoutรฉ une seule fois par le 1er RR #11 (remplace Router-ID du peer)
CLUSTER_LIST 10 Optional Non-Transitive Liste des Cluster-IDs traversรฉs โ€” chaque RR prepend son Cluster-ID #12 (shortest wins)
โ„น๏ธ
Ces deux attributs sont Non-Transitifs โ†’ ils sont retirรฉs automatiquement avant d'envoyer la route ร  un peer eBGP. Ils ne quittent jamais l'AS. Sur un routeur eBGP voisin, show ip bgp ne les affichera pas โ€” c'est normal.
Croissanceร‰volution de la CLUSTER_LIST ร  chaque saut RR
! Annonceur C1 envoie 192.168.10.0/24 au RR1
! โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
!
! C1 โ†’ RR1 :
!   ORIGINATOR_ID : (absent)        CLUSTER_LIST : (absente)
!
! RR1 rรฉflรฉchit โ†’ C2, C3, RR2 :
!   ORIGINATOR_ID : 10.0.1.1          CLUSTER_LIST : [1.1.1.1]
!                   (Router-ID C1)              (Cluster-ID RR1)
!
! RR2 rรฉflรฉchit โ†’ C4, C5 :
!   ORIGINATOR_ID : 10.0.1.1          CLUSTER_LIST : [2.2.2.2, 1.1.1.1]
!                   (inchangรฉ !)                (RR2 prepend son ID)
!
! C4 reรงoit :
!   ORIGINATOR_ID : 10.0.1.1          CLUSTER_LIST : [2.2.2.2, 1.1.1.1]
!                                               longueur = 2 sauts RR
ORIGINATOR_ID
Crรฉรฉ une fois, jamais modifiรฉ
CLUSTER_LIST
Grandit ร  chaque RR traversรฉ
Cluster-ID par dรฉfaut
= Router-ID du RR
Stripped vers eBGP
Oui โ€” les deux attributs
05Configuration IOS XE
โ˜… RR de base โ€” un seul Route Reflector
! โ”€โ”€ RR1 : configuration Route Reflector โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
router bgp 65000
  bgp router-id 1.1.1.1
  ! Cluster-ID = Router-ID par dรฉfaut โ€” configurer explicitement recommandรฉ
  bgp cluster-id 1.1.1.1

  ! โ”€โ”€ Clients (sessions avec route-reflector-client) โ”€โ”€
  neighbor 10.0.1.1 remote-as 65000
  neighbor 10.0.1.1 update-source Loopback0
  neighbor 10.0.1.1 route-reflector-client

  neighbor 10.0.1.2 remote-as 65000
  neighbor 10.0.1.2 update-source Loopback0
  neighbor 10.0.1.2 route-reflector-client

  neighbor 10.0.1.3 remote-as 65000
  neighbor 10.0.1.3 update-source Loopback0
  neighbor 10.0.1.3 route-reflector-client

  ! โ”€โ”€ Clients n'ont PAS besoin de session entre eux โ”€โ”€
  ! C1, C2, C3 : aucune configuration iBGP inter-client nรฉcessaire
โ˜… RRs redondants โ€” mรชme cluster
! โ”€โ”€ Deux RRs pour la HA โ€” MรŠME Cluster-ID obligatoire โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
!
! Si RR1 et RR2 ont des Cluster-IDs diffรฉrents :
!   Route C1 โ†’ RR1 โ†’ RR2 โ†’ C3 : CLUSTER_LIST = [2.2.2.2, 1.1.1.1] (2 IDs)
!
! Avec le MรŠME Cluster-ID :
!   Route C1 โ†’ RR1 โ†’ RR2 โ†’ C3 : CLUSTER_LIST = [10.0.0.100] (1 seul ID)
!   โ†’ CLUSTER_LIST plus courte โ†’ meilleur au critรจre #12

! โ”€โ”€ RR1 โ”€โ”€
router bgp 65000
  bgp router-id 1.1.1.1
  bgp cluster-id 10.0.0.100          ! mรชme valeur sur RR1 et RR2
  neighbor 10.0.1.1 remote-as 65000
  neighbor 10.0.1.1 route-reflector-client
  neighbor 10.0.1.2 remote-as 65000
  neighbor 10.0.1.2 route-reflector-client
  neighbor 2.2.2.2 remote-as 65000    ! RR2 = non-client (peer iBGP normal)
  neighbor 2.2.2.2 update-source Loopback0

! โ”€โ”€ RR2 โ”€โ”€
router bgp 65000
  bgp router-id 2.2.2.2
  bgp cluster-id 10.0.0.100          ! mรชme que RR1 โ€” clรฉ de la config
  neighbor 10.0.1.1 remote-as 65000
  neighbor 10.0.1.1 route-reflector-client
  neighbor 10.0.1.2 remote-as 65000
  neighbor 10.0.1.2 route-reflector-client
  neighbor 1.1.1.1 remote-as 65000    ! RR1 = non-client
  neighbor 1.1.1.1 update-source Loopback0
โ˜… Hiรฉrarchie RR (2 niveaux)
! โ”€โ”€ RR de niveau 1 (RR-TOP) โ€” ses clients sont des RRs de niveau 2 โ”€โ”€โ”€โ”€โ”€โ”€
router bgp 65000
  bgp router-id 10.10.10.1
  bgp cluster-id 10.10.10.1

  ! Les RRs de niveau 2 sont clients du RR-TOP
  neighbor 1.1.1.1 remote-as 65000
  neighbor 1.1.1.1 route-reflector-client   ! RR niveau 2 โ€” rรฉgion Ouest
  neighbor 2.2.2.2 remote-as 65000
  neighbor 2.2.2.2 route-reflector-client   ! RR niveau 2 โ€” rรฉgion Est

! โ”€โ”€ RR de niveau 2 (RR-OUEST) โ€” ses clients sont les PE/PE routeurs โ”€โ”€โ”€โ”€โ”€
router bgp 65000
  bgp router-id 1.1.1.1
  bgp cluster-id 1.1.1.1

  ! Client = RR-TOP (non-client du point de vue de RR-OUEST)
  neighbor 10.10.10.1 remote-as 65000
  neighbor 10.10.10.1 update-source Loopback0  ! NON route-reflector-client

  ! Clients PE de la rรฉgion Ouest
  neighbor 10.0.1.1 remote-as 65000
  neighbor 10.0.1.1 route-reflector-client
  neighbor 10.0.1.2 remote-as 65000
  neighbor 10.0.1.2 route-reflector-client
โš ๏ธ
Dans une hiรฉrarchie ร  2 niveaux, chaque route traversera 2 RRs โ†’ CLUSTER_LIST de longueur 2. Si un chemin alternatif passe par un seul niveau, il sera prรฉfรฉrรฉ au critรจre #12. ร€ concevoir avec soin selon les besoins de prรฉfรฉrence de chemin.
06Topologies courantes

๐Ÿข Single RR โ€” Simple

1 RR, N clients. ร‰limine la full-mesh mais crรฉe un SPOF. Convient aux petits AS ou pour les labs CCIE.

โš ๏ธ
Single point of failure : si le RR tombe, les clients ne peuvent plus s'envoyer de routes. ร€ รฉviter en production.

๐Ÿ”„ RRs redondants โ€” Recommandรฉ

2 RRs (mรชme cluster-id) servent les mรชmes clients. Chaque client a 2 sessions iBGP. Haute disponibilitรฉ sans SPOF.

๐Ÿ’ก
Mรชme Cluster-ID sur les deux RRs = 1 seule entrรฉe dans CLUSTER_LIST au lieu de 2.

๐Ÿ—๏ธ Hiรฉrarchie RR multi-niveaux

Pour les trรจs grands AS (opรฉrateurs). RR de niveau 1 (core) โ†’ RR de niveau 2 (rรฉgional) โ†’ clients PE. Chaque niveau ajoute un Cluster-ID โ†’ pรฉnalise lรฉgรจrement le critรจre #12.

๐Ÿ”€ RR par pod / cluster logique

Plusieurs clusters indรฉpendants dans le mรชme AS. Chaque cluster a son propre RR. Les RRs forment une mini full-mesh entre eux (non-clients). Topologie typique des gros datacenters et providers.

Topologie recommandรฉe โ€” 2 RRs redondants par cluster AS 65000 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ RR1 โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ RR2 โ”‚ โ”‚ โ”‚ โ”‚ (Cluster-ID โ”‚iBGP โ”‚ (Cluster-ID โ”‚ โ”‚ โ”‚ โ”‚ 10.0.0.100) โ”‚non-cli โ”‚ 10.0.0.100) โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ iBGP clients โ”‚ iBGP clients โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ–ผ โ–ผ โ–ผ โ–ผ โ–ผ โ–ผ โ”‚ โ”‚ PE1 PE2 PE3 PE1 PE2 PE3 โ”‚ โ”‚ โ”‚ โ”‚ Chaque PE a 2 sessions iBGP (RR1 + RR2) โ”‚ โ”‚ Si RR1 tombe โ†’ RR2 assure la continuitรฉ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
07Impact sur la sรฉlection du meilleur chemin

Les Route Reflectors introduisent deux nouveaux critรจres dans l'algorithme BGP :

CritรจreAttributRรจgleCondition
#11 ORIGINATOR_ID Lowest ORIGINATOR_ID wins Remplace le critรจre Router-ID du peer quand ORIGINATOR_ID est prรฉsent
#12 CLUSTER_LIST Shortest CLUSTER_LIST wins Nombre de Cluster-IDs (sauts RR). Absent = longueur 0 โ†’ prรฉfรฉrรฉ
! โ”€โ”€โ”€ Exemple : PE reรงoit deux chemins vers 10.10.10.0/24 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
!
! Chemin A โ€” via RR1 (1 saut) :
!   Originator: 10.0.1.1    Cluster list: 1.1.1.1
!                                          longueur = 1
!
! Chemin B โ€” via RR2 โ†’ RR3 (2 sauts) :
!   Originator: 10.0.1.1    Cluster list: 3.3.3.3, 2.2.2.2
!                                          longueur = 2
!
! Critรจres #1 ร  #10 : identiques
! Critรจre #11 (ORIGINATOR_ID) : 10.0.1.1 = 10.0.1.1 โ†’ ร‰GALITร‰
! Critรจre #12 (CLUSTER_LIST) : longueur 1 < longueur 2 โ†’ Chemin A GAGNE
๐Ÿ’ก
En full-mesh iBGP (sans RR), aucune route ne porte de CLUSTER_LIST ni d'ORIGINATOR_ID. Les critรจres #11 et #12 ne s'appliquent jamais โ€” on passe directement de #10 (Oldest eBGP path) ร  #13 (Lowest Neighbor IP). Point d'examen CCIE courant.
08Confederation โ€” Alternative au RR

La Confederation (RFC 5065) est l'autre solution au problรจme full-mesh. Elle divise un AS en plusieurs sous-AS internes. ร€ l'intรฉrieur de chaque sous-AS, une full-mesh rรฉduite est maintenue. Entre sous-AS, un mรฉcanisme pseudo-eBGP est utilisรฉ.

CritรจreRoute ReflectorConfederation
Complexitรฉ configFaibleร‰levรฉe
Transparence AS-PATHAS-PATH inchangรฉCONFED_SEQ/SET visibles en interne
Policies diffรฉrentes par zoneDifficileNaturel (sous-AS distincts)
Visibilitรฉ opรฉrationnelleSimplePlus complexe ร  dรฉboguer
Usage en productionDominantRare (opรฉrateurs historiques)
! โ”€โ”€ Confederation โ€” configuration de base โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
! AS public = 65000 (visible depuis l'extรฉrieur)
! Sous-AS internes = 65001 et 65002

! โ”€โ”€ Routeur dans le sous-AS 65001 โ”€โ”€
router bgp 65001
  bgp confederation identifier 65000   ! AS public
  bgp confederation peers 65002         ! autres sous-AS
  ! Sessions vers sous-AS 65002 : eBGP-like (CONFED eBGP)
  neighbor 10.1.2.1 remote-as 65002
  ! Sessions intra sous-AS 65001 : iBGP normal (full-mesh rรฉduite)
  neighbor 10.1.1.2 remote-as 65001
โ„น๏ธ
Dans le CCIE Enterprise v1.1, les deux mรฉcanismes sont au programme sous "BGP scalability". Le RR est plus frรฉquent en production โ€” maรฎtrisez-le en prioritรฉ. La Confederation est surtout prรฉsente dans les questions thรฉoriques et de comparaison.
09Vรฉrification & Troubleshooting
! โ”€โ”€ Vรฉrifier qu'un neighbor est bien configurรฉ comme client RR โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
show ip bgp neighbors 10.0.1.1
!   โ†’ "Route-Reflector Client"  โ† confirme le rรดle
!   โ†’ "Member of cluster-id: 1.1.1.1"

! โ”€โ”€ Voir le Cluster-ID local โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
show ip bgp summary
show running-config | include cluster-id

! โ”€โ”€ Vรฉrifier ORIGINATOR_ID et CLUSTER_LIST sur une route โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
show ip bgp 192.168.10.0/24
!   Originator: 10.0.1.1, Cluster list: 2.2.2.2, 1.1.1.1
!               โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
!               ORIGINATOR_ID (critรจre #11)  CLUSTER_LIST (critรจre #12)
!                                            longueur = 2 โ†’ 2 sauts RR

! โ”€โ”€ Toutes les routes avec CLUSTER_LIST (= passรฉes par un RR) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
show ip bgp | include Cluster

! โ”€โ”€ Comparer deux chemins vers un prรฉfixe โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
show ip bgp 10.10.10.0/24
!  Paths: (2 available, best #1)
!
!  Path 1 (best) :
!    10.0.1.1 from 1.1.1.1 (1.1.1.1)
!    Originator: 10.0.1.1, Cluster list: 1.1.1.1       โ† longueur 1
!
!  Path 2 :
!    10.0.3.1 from 3.3.3.3 (3.3.3.3)
!    Originator: 10.0.1.1, Cluster list: 3.3.3.3, 2.2.2.2 โ† longueur 2

! โ”€โ”€ Vรฉrifier si le RR rรฉflรฉchit bien une route โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
show ip bgp 192.168.10.0/24
!   "Advertised to update-groups:"  โ† prรฉsent = le RR annonce bien la route
! Si absent โ†’ route non rรฉflรฉchie = vรฉrifier la config RR ou l'anti-boucle

! โ”€โ”€ Debug (production avec prรฉcaution) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
debug ip bgp 10.0.1.1 updates     ! updates envoyรฉs/reรงus vers ce peer
PiรจgesPoints d'attention CCIE
PiรจgeSymptรดmeFix
RRs redondants avec Cluster-IDs diffรฉrents CLUSTER_LIST grossit de 2 entrรฉes par passage (au lieu de 1) โ†’ critรจre #12 dรฉfavorisรฉ bgp cluster-id identique sur les deux RRs
Route non rรฉflรฉchie entre non-clients Deux RRs ne s'รฉchangent pas les routes de leurs clients respectifs Session iBGP directe (non-client โ†” non-client) entre les RRs
next-hop non rรฉsolu chez le client Route prรฉsente dans la table BGP mais pas installรฉe dans la RIB neighbor X.X.X.X next-hop-self sur le RR, ou IGP qui connaรฎt le next-hop eBGP
Critรจre #11/#12 ignorรฉ En full-mesh iBGP sans RR, ces critรจres ne s'appliquent jamais Normal โ€” ORIGINATOR_ID et CLUSTER_LIST inexistants sans RR
CLUSTER_LIST visible cรดtรฉ eBGP Attribut absent dans show ip bgp sur un peer eBGP Normal โ€” Non-Transitive, stripped avant envoi eBGP