Décider par quelle sortie ISP mon AS doit passer. LOCAL_PREF est le critère #2 dans l'algorithme BGP Best Path, utilisé pour influencer le trafic sortant à l'échelle de tout l'AS.
Attribute NameLOCAL_PREF
Type Code5
CategoryWell-known Discretionary
Default Value100
ComparaisonHighest wins
PortéeIntra-AS (iBGP only)
✅ Règle fondamentale
Le chemin avec le LOCAL_PREF le plus élevé est préféré. Si ISP1 reçoit LP=200 et ISP2 LP=100, tous les routeurs de l'AS sortiront par ISP1 — automatiquement, sans config supplémentaire sur chaque routeur.
Plus haut = préféréPropagé dans tout l'ASJamais envoyé à eBGPWell-known Discretionary
AS 65000 connecté à deux ISP. route-map appliquée sur R1 (session eBGP ISP1) → LOCAL_PREF 200 propagé à tout l'AS.
ISP1 AS 100
ISP2 AS 200
eBGP
LP = 200 ★
eBGP
LP = 100
R1 10.0.0.1
R2 10.0.0.2
iBGP — LP propagé automatiquement
R3 / R4… AS 65000
★ Tout l'AS préfère la sortie par ISP1
Règles de propagation
LOCAL_PREF a des règles de propagation strictes. C'est ce qui le différencie fondamentalement du Weight (local) et du MED (vers l'AS voisin).
📥eBGP → iBGP→✅ LOCAL_PREF propagéR1 reçoit de ISP1, envoie LP aux peers iBGP
🔄iBGP → iBGP→✅ LOCAL_PREF propagéTous les routeurs de l'AS reçoivent le LP
🚫iBGP → eBGP→❌ LOCAL_PREF NON propagéStripped avant envoi à l'AS voisin
📌 Pourquoi LOCAL_PREF ne sort pas vers eBGP ?
LOCAL_PREF est un attribut Well-known Discretionary — son application est interne à l'AS. L'envoyer à l'AS voisin permettrait à d'autres AS d'influencer ta politique de routage interne. Cisco le supprime automatiquement avant tout envoi eBGP.
🔍 Scénario de propagation complet
! R1 reçoit 10.0.0.0/8 de ISP1 (eBGP)! route-map PREFER-ISP1 applique LOCAL_PREF 200! R1 propage à R2, R3, R4 via iBGP → LP=200 visible partout dans l'AS! R2 reçoit 10.0.0.0/8 de ISP2 (eBGP) → LP=100 (défaut)! Résultat : TOUS les routeurs AS 65000 préfèrent via R1/ISP1
R3# show ip bgp10.0.0.0
Local preference: 200← reçu via iBGP depuis R1
Next hop: 10.0.0.1 (R1 → ISP1)
Deux méthodes principales. La route-map est recommandée en production et la plus testée à l'exam.
1
route-map set local-preference RECOMMANDÉ
Appliquée en inbound sur la session eBGP. Le voisin 1.1.1.1 est bien un voisin eBGP (ISP1).
LP différent selon le préfixe, l'AS-PATH ou la community.
ip prefix-list CRITIQUES permit 10.0.0.0/8!route-map SET-LP permit 10match ip address prefix-list CRITIQUES
set local-preference 300route-map SET-LP permit 20set local-preference 150! autres routes → LP 150
2
bgp default local-preference
Change la valeur par défaut globalement pour tout l'AS. Moins précis mais rapide.
router bgp65000bgp default local-preference 150! toutes les routes reçues! LP=150 au lieu de 100
→ Utile pour hiérarchiser deux AS sans route-map.
📋 Comparaison des méthodes
Méthode
Granularité
Usage typique
Exam
bgp default local-preference
Toutes les routes
Politique globale AS
Rare
route-map set local-preference in
Par préfixe / AS-PATH / community
Production
✅ Très fréquent
neighbor … route-map in
Par voisin eBGP
Standard dual-homed
✅ Le plus courant
Table BGP — Avant / Après LOCAL_PREF
Visualise l'impact de LOCAL_PREF sur la sélection du chemin depuis R3 (routeur interne qui reçoit les deux routes via iBGP).
R3# show ip bgp — Aucune route-map configurée
Status
Network
Next Hop
Metric
LocPrf
Weight
Path
*>
10.0.0.0/8
10.0.0.1 (R1)
0
100
0
100 i
*
10.0.0.0/8
10.0.0.2 (R2)
0
100
0
200 i
⚠️ Les deux chemins ont LOCAL_PREF = 100 (valeur par défaut). AS-PATH length = tie (1/1), ORIGIN = tie, MED = tie, iBGP/iBGP = tie. BGP descend jusqu'au critère #13 : Lowest Neighbor IP → 10.0.0.1 < 10.0.0.2 → R1 gagne. Pas de politique intentionnelle.
R3# show ip bgp — route-map PREFER-ISP1 sur R1 (neighbor ISP1 in)
Status
Network
Next Hop
Metric
LocPrf
Weight
Path
*>
10.0.0.0/8
10.0.0.1 (R1)
0
200
0
100 i
*
10.0.0.0/8
10.0.0.2 (R2)
0
100
0
200 i
✅ LOCAL_PREF 200 > 100 → BGP sélectionne ISP1 (*>). R3 n'a aucune config spécifique — il a reçu LP=200 automatiquement via iBGP depuis R1.
R3# show ip bgp 10.0.0.0 — Détail du chemin sélectionné
BGP routing table entry for 10.0.0.0/8, version 4
Paths: (2 available, best #1, table default)
Path 1 — BEST10.0.0.1 (R1) from 10.0.0.1
Origin IGP, metric 0, localpref 200, valid, internal, best
Reason: Higher Local Preference
AS_PATH: 100
Path 2
10.0.0.2 (R2) from 10.0.0.2
Origin IGP, metric 0, localpref 100, valid, internal
AS_PATH: 200
LOCAL_PREF vs Weight
Les deux attributs les plus confondus en exam. Retiens : Weight = un routeur · LOCAL_PREF = tout l'AS.
Critère
WEIGHT
LOCAL_PREF
Type
Paramètre local Cisco
Well-known Discretionary
RFC / Standard
❌ Cisco propriétaire
✅ RFC 4271
Type Code IANA
❌ Aucun
✅ Type code 5
Propagation
❌ Jamais — routeur local
✅ Tout l'AS via iBGP
Envoyé à eBGP
❌ Non
❌ Non (stripped)
Portée
1 routeur uniquement
Tout l'AS
Valeur par défaut
32768 (local) / 0 (reçu)
100
Préférence
Plus haut = préféré
Plus haut = préféré
Position Best Path
Critère #1
Critère #2
Direction route-map
IN seulement
IN sur session eBGP
Multi-vendor
❌ Cisco only
✅ Tous les routeurs BGP
🎯 Règle de mémorisation
Weight → Un seul routeur préfère ISP1. Local, instantané, Cisco only.
LOCAL_PREF → Tout l'AS sort par ISP1. Propagé via iBGP, interopérable, policy AS-wide.
⚠️ PIÈGE #1 — Direction IN obligatoire sur session eBGP
LOCAL_PREF se configure avec route-map … in sur la session eBGP. Appliqué en out ou sur un voisin iBGP → aucun effet sur la sélection de chemin sortante.
⚠️ PIÈGE #2 — LOCAL_PREF n'est PAS envoyé à eBGP
Même avec LP=500, l'AS voisin ne le verra jamais. Pour influencer le trafic entrant dans ton AS, utilise AS-PATH prepending ou MED — pas LOCAL_PREF.
⚠️ PIÈGE #3 — Valeur par défaut 100, pas 0
Contrairement au Weight (0 pour les routes reçues), LOCAL_PREF est 100 par défaut. Pour déprécier une route, mets LP à 50 — pas besoin de monter l'autre à 1000.
⚠️ PIÈGE #4 — Well-known Discretionary ≠ toujours présent
"Well-known" = tous les routeurs BGP doivent reconnaître l'attribut. "Discretionary" = pas obligatoire dans chaque UPDATE. S'il est absent, la valeur par défaut (100) s'applique.
⚠️ PIÈGE #5 — Weight a priorité sur LOCAL_PREF
Si un routeur a un weight configuré, il est examiné avant LOCAL_PREF. Un Weight=1 sur ISP2 écrase LP=200 sur ISP1 pour ce routeur uniquement.
🔍 Commandes de vérification
show ip bgp! colonne LocPrf visibleshow ip bgp10.0.0.0! détail + local preference + reasonshow route-map PREFER-ISP1 ! vérifier la route-mapshow ip bgp neighbors1.1.1.1 policy ! policy appliquée au voisinclear ip bgp1.1.1.1 soft in ! réappliquer sans reset session
5
Type Code IANA
Well-known Discretionary · RFC 4271
100
Valeur par défaut
Toutes les routes BGP ont LP=100 si non configuré
#2
Position Best Path
Critère #2 — après Weight, avant AS-PATH
AS
Portée
Propagé à TOUS les routeurs iBGP de l'AS
IN
Direction route-map
Inbound sur session eBGP uniquement
HIGH
Règle de préférence
LOCAL_PREF le plus ÉLEVÉ est préféré
NO
Envoyé à eBGP
Stripped avant tout envoi vers un AS voisin
OUT
Influence le trafic
Trafic SORTANT de l'AS — choisir la meilleure sortie ISP