⚠️ Ce que le Weight N'EST PAS
Le Weight n'est PAS un BGP Path Attribute. Il n'apparaît jamais dans un BGP UPDATE. Il n'a pas de type code IANA. Il n'est jamais propagé à d'autres routeurs.
❌ Pas un Path Attribute
❌ Pas de Type Code
❌ Non propagé
❌ Absent des BGP UPDATEs
✅ Ce que le Weight EST
Le Weight est un paramètre local Cisco propriétaire, stocké uniquement dans la BGP table du routeur local. Il sert exclusivement à choisir le meilleur chemin sur ce routeur.
🏠 Local uniquement
Cisco propriétaire
✅ Priorité #1 Best Path
16 bits → 0 à 65535
Valeurs par défaut
Règle fondamentale : une route originée localement naît avec un weight de 32768. Une route reçue d'un voisin a un weight de 0.
| Origine de la route | Commande IOS | Weight par défaut |
| Réseau annoncé | network | 32768 |
| Redistribution | redistribute connected/static/ospf… | 32768 |
| Agrégation locale | aggregate-address | 32768 |
| Route reçue d'un voisin | neighbor … (BGP UPDATE) | 0 |
Stockage16 bits non signés
Plage0 → 65535
DécisionHIGHER is preferred
PortéeRouteur local uniquement
Trois méthodes permettent de modifier le Weight. La route-map a priorité sur la commande neighbor en cas de conflit.
1
neighbor … weight
Toutes les routes reçues de ce voisin reçoivent le même Weight. Simple mais peu granulaire.
router bgp 65000
neighbor 10.1.1.1 weight 200 ! ISP1
neighbor 10.2.2.2 weight 100 ! ISP2
Internet
ISP1
10.1.1.1
ISP2
10.2.2.2
R1 — AS 65000
2
route-map set weight FLEXIBLE
Méthode la plus fine : applique un Weight différent selon des conditions précises.
ip prefix-list NET1 permit 192.168.0.0/16
!
route-map SET_WEIGHT permit 10
match ip address prefix-list NET1
set weight 300
route-map SET_WEIGHT permit 20
! autres → weight 0
!
router bgp 65000
neighbor 10.1.1.1 route-map SET_WEIGHT in
Conditions match possibles :
prefix-list
as-path
community
tag
metric
3
Redistribution / Routes locales
Les routes injectées localement héritent automatiquement du Weight 32768 — aucune config nécessaire.
router bgp 65000
redistribute connected
! → weight implicite : 32768
network 10.0.0.0 mask 255.0.0.0
! → weight implicite : 32768
Weight 32768 automatique
Ces routes sont toujours préférées aux routes reçues des voisins (weight 0) — comportement by design.
Algorithme BGP Best Path Selection — 13 critères
Le Weight est examiné en premier. L'AIGP intervient au critère #9, après la métrique IGP vers le next-hop.
-
1
WEIGHT — plus haut préféré
🏠 Local router
- 2LOCAL_PREF — plus haut préféré🏢 Local AS
- 3Locally originated (network / redistribute / aggregate)🏠 Local router
- 4AS_PATH — plus court préféré🌐 eBGP
- 5ORIGIN — IGP < EGP < Incomplete🌐 eBGP
- 6MED — plus bas préféré🌐 eBGP hint
- 7eBGP > iBGP🌐 eBGP
- 8IGP Metric vers next-hop — plus bas préféré🏢 iBGP
-
9
AIGP — plus bas préféré (RFC 7311, type code 26)
🌐 Multi-AS
- 10Oldest eBGP path (stabilité)🌐 eBGP
- 11Router-ID du voisin — plus bas préféré🌐 global
- 12Cluster-list length — plus court préféré🏢 iBGP RR
- 13Neighbor IP — plus bas préféré🌐 global
💡 Mnémotechnique (13 critères)
We Love Oranges As Our Meal — Every Interface Always Offers Routes Consistently Now
Weight · Local_Pref · Originated · AS_path · Origin · Med · Ebgp · Igp · Aigp · Oldest · Router-id · Cluster · Neighbor-ip
BGP → RIB → FIB
Comprendre où intervient le Weight dans le pipeline de forwarding Cisco.
BGP Table
Apprend les chemins
Applique le Weight
Sélectionne le best path
→
RIB
Routing Info Base
ip route show
Compare AD entre protocoles
→
FIB
Forwarding Info Base
CEF table
Forwarde les paquets
| Étape | Rôle | Impact du Weight |
| BGP Table | Stocke tous les chemins reçus + locaux | ✅ Weight appliqué ici — best path sélectionné |
| RIB | Reçoit le best path BGP (si AD meilleure) | Transparent — Weight non visible |
| FIB (CEF) | Forwarde selon la RIB | Transparent — Weight non visible |
📌 Règle à retenir
📥
BGP
Apprend les chemins
🧠
RIB
Décide la meilleure route
🚀
FIB
Forward les paquets
Weight vs LOCAL_PREF
Ces deux attributs sont souvent confondus en exam.
| Critère | WEIGHT | LOCAL_PREF |
| Type | Paramètre local Cisco | Well-known discretionary |
| Propagation | ❌ Non propagé | ✅ Propagé aux iBGP peers |
| Portée | Un seul routeur | Tout l'AS local |
| Valeur par défaut | 32768 (local) / 0 (reçu) | 100 |
| Préférence | Plus haut = préféré | Plus haut = préféré |
| Priorité Best Path | Critère #1 | Critère #2 |
| Cisco propriétaire | ⚠️ Oui | ✅ Non — RFC standard |
| Type Code IANA | ❌ Aucun | ✅ Type code 5 |
| BGP UPDATE | ❌ Jamais envoyé | ✅ Envoyé aux iBGP peers |
🎯 Quand utiliser lequel ?
Weight → Un seul routeur préfère ISP1. Local, rapide, simple.
LOCAL_PREF → Tous les routeurs de l'AS sortent par ISP1. Policy AS-wide, interopérable.
Weight vs AIGP
Souvent testé à l'ENARSI — deux mécanismes très différents.
| Critère | WEIGHT | AIGP |
| Type | Paramètre local Cisco | Optional non-transitive attribute |
| RFC | ❌ Cisco propriétaire | ✅ RFC 7311 |
| Type Code IANA | ❌ Aucun | ✅ Type code 26 |
| Propagation | ❌ Jamais propagé | ✅ Propagé entre peers configurés |
| Portée | Routeur local uniquement | Multi-AS (accumulation) |
| Valeur | Fixe (0–65535) | Accumulée (somme IGP) |
| Préférence | Plus HAUT = préféré | Plus BAS = préféré ⚠️ |
| Position Best Path | Critère #1 | Critère #9 |
| BGP UPDATE | ❌ Absent | ✅ Présent si activé |
Règle de mémorisation :
Weight → plus haut gagne · local · Cisco only · critère #1
AIGP → plus bas gagne · propagé · RFC 7311 · critère #9
AIGP — Accumulated IGP Metric
L'AIGP permet à BGP de transporter et accumuler les métriques IGP à travers plusieurs AS, comme si c'était un IGP end-to-end.
RFC 7311
Type Code 26
Optional Non-Transitive
Critère #9 Best Path
✅ Propagé
Plus bas = préféré
Type Code26
CategoryOptional Non-Transitive
PréférenceLOWER is preferred
PositionCritère #9 Best Path
🔍 Comment fonctionne AIGP ?
L'AIGP accumule la métrique IGP à chaque hop BGP. Quand un routeur reçoit une route avec un AIGP, il ajoute sa propre métrique IGP vers le next-hop à la valeur existante.
AIGP total = 35
10 + 20 + 5 = 35 | plus bas = préféré
⚙️ Configuration AIGP
! Activer AIGP sur un voisin eBGP
router bgp 65000
neighbor 10.1.1.1 aigp
! Vérifier AIGP dans la table BGP
show ip bgp 192.168.1.0
! → AIGP: x (métrique accumulée visible)
! Envoyer une valeur AIGP via route-map
route-map SET_AIGP permit 10
set aigp-metric igp-metric
router bgp 65000
neighbor 10.1.1.1 route-map SET_AIGP out
📌 Cas d'usage typique — BGP-free core
Dans un réseau SP avec un cœur BGP-free (LSR ne font pas tourner BGP), AIGP permet de comparer le coût total du chemin de bout en bout, même si certains AS intermédiaires n'ont pas de visibilité complète sur les routes.
Service Provider
BGP-free core
MPLS networks
Multi-AS path cost
🌐 PIÈGE #0 — AIGP vs Weight : confusion fréquente à l'exam
Weight : local · plus haut = préféré · Cisco propriétaire · non propagé · pas de type code
AIGP : propagé · plus bas = préféré · RFC 7311 · type code 26 · optional non-transitive
⚠️ PIÈGE #1 — Cisco propriétaire
Le Weight n'est compris que par les routeurs Cisco. Juniper, Nokia, Arista l'ignorent. Pour une politique interopérable, utilise LOCAL_PREF.
⚠️ PIÈGE #2 — Direction : IN seulement
Le Weight ne peut être appliqué qu'en inbound (route-map … in). Appliquer en out n'a aucun effet sur le Weight.
⚠️ PIÈGE #3 — clear ip bgp et réapplication
Après un clear ip bgp * soft in, le Weight est réappliqué immédiatement. Contrairement à LOCAL_PREF ou MED, la convergence est instantanée et purement locale.
⚠️ PIÈGE #4 — Conflit neighbor weight vs route-map
Si tu configures à la fois neighbor X weight 100 ET route-map set weight 300 in sur le même voisin, la route-map gagne.
⚠️ PIÈGE #5 — AIGP non activé par défaut
AIGP doit être explicitement activé avec neighbor X.X.X.X aigp. Sans cette commande, le routeur ignore silencieusement l'attribut AIGP reçu.
🔍 Commandes de vérification
show ip bgp ! colonne Weight visible
show ip bgp 192.168.1.0 ! détail + AIGP si présent
show ip bgp neighbors 10.1.1.1 received-routes
debug ip bgp 10.1.1.1 updates