⚠️ Si bgp bestpath compare-routerid est configuré : le critère #10 est sauté, on passe directement au #11.
Favoriser la stabilité
La préférence pour l'ancien chemin évite les oscillations : si deux chemins eBGP sont parfaitement égaux sur les critères 1–9, changer de best path sans raison perturberait le trafic inutilement. Le chemin déjà sélectionné est conservé.
Flap = perte d'ancienneté
Si un chemin eBGP flap (disparaît puis revient), il est considéré comme nouveau. Son compteur d'âge repart à zéro. Si l'autre chemin est resté stable, il garde son avantage au critère #10.
Comportement asymétrique
Deux routeurs recevant les mêmes chemins au même moment peuvent sélectionner des best paths différents selon l'ordre d'arrivée des UPDATEs. Ce comportement non-déterministe est l'inconvénient principal du critère #10.
Rendu déterministe
La commande bgp bestpath compare-routerid saute le critère #10 et passe directement au critère #11 (Router-ID). La sélection devient alors déterministe et identique sur tous les routeurs ayant la même vue BGP.
bgp bestpath compare-routerid configuré ?→ Critère #11
Router-ID
→ Chemin le plus
ancien gagne
→ Critère #11
Router-ID
Topologie :
R1 ── eBGP ── ISP-A (65100) ─── 172.16.0.0/16
R1 ── eBGP ── ISP-B (65200) ─── 172.16.0.0/16
T=0h R1 reçoit chemin ISP-A → installé en best path
T=1h R1 reçoit chemin ISP-B (ISP-B vient d'annoncer)
Critères 1-9 identiques → critère #10 :
ISP-A âgé de 1h, ISP-B âgé de 0s → ISP-A gagne ✅
T=2h Lien vers ISP-A flap (down + up en 30s)
ISP-A revient avec âge = 0s
ISP-B a maintenant 1h d'ancienneté
Critère #10 → ISP-B gagne désormais ✅
T=3h Les deux chemins sont stables :
ISP-B âgé de 1h, ISP-A âgé de 1h
→ critère #10 : égalité → critère #11 (Router-ID)
bgp bestpath compare-routerid l'élimine.
| Situation | Critère #10 appliqué ? | Suite |
|---|---|---|
| Deux chemins eBGP, compare-routerid absent | ✅ Oui — oldest gagne | Si égalité → #11 |
| Deux chemins eBGP, compare-routerid configuré | ❌ Non — sauté | Directement #11 |
| Deux chemins iBGP | ❌ Non — sauté | Directement #11 |
| Un chemin eBGP + un chemin iBGP | ❌ Non (déjà séparé en #7) | N/A — résolu en #7 |
| Chemin eBGP vs chemin de confédération | ⚠️ Non — CONFED eBGP ≠ eBGP réel | Directement #11 |
bgp bestpath compare-routerid saute le critère #10 (Oldest eBGP) et passe directement au critère #11 (Router-ID du peer annonçant). Cela rend la sélection BGP déterministe : deux routeurs avec la même vue BGP sélectionneront toujours le même best path.
router bgp 65001 bgp bestpath compare-routerid ! Sauter #10, aller directement à #11 ! Vérification R1# show ip bgp summary | include compare ! Ou : R1# show running-config | section router bgp bgp bestpath compare-routerid ← confirme que #10 est sauté
Deux routeurs R1 et R2 (même AS, full mesh iBGP) reçoivent : - Route via ISP-A (Router-ID 10.1.1.1), arrivée à T=0 sur R1, T=5s sur R2 - Route via ISP-B (Router-ID 10.2.2.2), arrivée à T=3s sur R1, T=1s sur R2 ┌──────────────────────────────────────────────────────────┐ │ Sans compare-routerid (#10 actif) │ │ R1 : ISP-A arrivé le premier → ISP-A best path │ │ R2 : ISP-B arrivé le premier → ISP-B best path ⚠️ │ │ → R1 et R2 ont des best paths DIFFÉRENTS ! │ ├──────────────────────────────────────────────────────────┤ │ Avec compare-routerid (#10 sauté) │ │ R1 : critère #11 → Router-ID 10.1.1.1 < 10.2.2.2 │ │ → ISP-A best path │ │ R2 : critère #11 → Router-ID 10.1.1.1 < 10.2.2.2 │ │ → ISP-A best path ✅ │ │ → R1 et R2 ont le MÊME best path ! │ └──────────────────────────────────────────────────────────┘
bgp bestpath compare-routerid est fortement recommandé pour garantir une sélection cohérente et prévisible sur tous les routeurs du réseau.
R1# show ip bgp 172.16.0.0/16 BGP routing table entry for 172.16.0.0/16, version 15 Paths: (2 available, best #1, table Default-IP-Routing-Table) Advertised to update-groups: 1 65100 ← via ISP-A 203.0.113.1 from 203.0.113.1 (10.1.1.1) Origin IGP, metric 0, localpref 100, valid, external, best rx pathid: 0, tx pathid: 0x0 age: 02:14:33 ← plus ancien → critère #10 → best ✅ 65200 ← via ISP-B 203.0.113.2 from 203.0.113.2 (10.2.2.2) Origin IGP, metric 0, localpref 100, valid, external rx pathid: 0, tx pathid: 0 age: 00:47:12 ← plus récent → perd en critère #10 ❌
age (ou uptime) visible dans show ip bgp detail correspond au temps depuis lequel le chemin est présent dans la table BGP. C'est cette valeur qui est comparée au critère #10.
R1# show ip bgp 172.16.0.0/16 BGP routing table entry for 172.16.0.0/16, version 16 Paths: (2 available, best #1, table Default-IP-Routing-Table) ! Avec compare-routerid : critère #11 (Router-ID) départage 65100 203.0.113.1 from 203.0.113.1 (10.1.1.1) ← Router-ID 10.1.1.1 Origin IGP, metric 0, localpref 100, valid, external, best age: 00:47:12 ← âge ignoré, c'est le Router-ID qui compte 65200 203.0.113.2 from 203.0.113.2 (10.2.2.2) ← Router-ID 10.2.2.2 Origin IGP, metric 0, localpref 100, valid, external age: 02:14:33 ← plus ancien mais Router-ID plus grand → perd ! 10.1.1.1 < 10.2.2.2 → ISP-A gagne sur critère #11 (Router-ID lowest)
R1# show ip bgp summary BGP router identifier 1.1.1.1, local AS number 65001 BGP table version is 16, main routing table version 16 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 203.0.113.1 4 65100 145 142 16 0 0 02:14:33 1 203.0.113.2 4 65200 85 82 16 0 0 00:47:12 1 ! Up/Down = durée depuis établissement session ≈ âge des routes reçues ! Un reset de session = âge des routes remis à 0
(comportement par défaut)
(#10 sauté)
| Architecture | Recommandation | Raison |
|---|---|---|
| Single border router | Optionnel | Un seul routeur → pas d'incohérence possible |
| Dual border routers (même AS) | ✅ Recommandé | Garantit same best path sur les deux BRs |
| Route Reflector | ✅ Recommandé | RR et clients voient le même best path |
| Confederation | ✅ Recommandé | Cohérence entre sub-AS |
| Réseau de transit SP | ✅ Fortement recommandé | Prédictibilité critique en production |
| Lab / test | Selon besoin | Peut être utile pour reproduire comportement prod |
Sans compare-routerid — après flap
Lien ISP-A flap → ISP-A revient avec âge=0 → ISP-B (stable, plus ancien) devient best path → changement de best path sur tous les routeurs → reconvergence BGP globale → perturbation trafic.
Avec compare-routerid — après flap
Lien ISP-A flap → ISP-A revient → critère #11 (Router-ID) est stable → si Router-ID ISP-A < ISP-B, ISP-A redevient best path → même résultat qu'avant le flap → convergence prévisible.
⚡ Critère #10 silencieusement sauté pour iBGP
Beaucoup de candidats CCIE pensent que le critère #10 s'applique à tous les chemins. Il ne s'applique qu'aux chemins eBGP. Pour deux chemins iBGP, on passe directement au critère #11 (Router-ID), sans aucun message ou indication dans les logs.
⚡ Flap = perte d'ancienneté = changement de best path
Un flap de session eBGP (même de quelques secondes) remet l'âge du chemin à zéro. Si l'autre chemin est resté stable, il devient oldest et prend le best path. Ce changement peut créer une perturbation trafic imprévue. Utiliser compare-routerid pour l'éviter.
⚡ Incohérence entre routeurs du même AS
Sans compare-routerid, R1 et R2 dans le même AS peuvent sélectionner des best paths différents pour le même préfixe, uniquement en raison de l'ordre d'arrivée des UPDATEs. Cela peut créer un routage asymétrique et des problèmes difficiles à diagnostiquer.
⚡ CONFED eBGP n'est pas eBGP réel
Les sessions CONFED eBGP (entre sub-AS d'une confédération) ne sont pas considérées comme eBGP pour le critère #10. Elles sont traitées comme iBGP → critère #10 sauté, on va directement au critère #11. Même piège que pour le critère #7.
⚡ compare-routerid non symétrique
Si bgp bestpath compare-routerid est configuré sur certains routeurs mais pas tous, la sélection sera incohérente à l'échelle du réseau. Cette commande doit être appliquée de façon uniforme sur tous les routeurs BGP du même AS.
⚡ Confusion uptime session vs âge de la route
L'uptime affiché dans show ip bgp summary est l'âge de la session BGP, pas nécessairement de la route. Une route peut être réannoncée sans que la session tombe. L'âge réel de la route est visible dans show ip bgp X detail.
✅ Bonne pratique — compare-routerid en production
Configurer systématiquement bgp bestpath compare-routerid dans tout environnement multi-border-router. Le comportement déterministe basé sur le Router-ID est prévisible, stable, et cohérent sur l'ensemble du réseau, indépendamment des flaps ou de l'ordre de démarrage des routeurs.
Cliquez sur une carte pour révéler la réponse.
bgp bestpath compare-routerid dans le processus BGP. Cette commande rend la sélection déterministe en utilisant le Router-ID (critère #11) à la place de l'ancienneté (critère #10) pour départager des chemins eBGP identiques.
bgp bestpath compare-routerid élimine ce problème.
compare-routerid est préférable.
show running-config | section router bgp — chercher la ligne bgp bestpath compare-routerid. Aussi visible dans show ip bgp summary ou show bgp all summary qui indique les options bestpath actives.