P11 - Routage avancé : BGP, EIGRP et MPLS
Objectif
Comprendre comment Internet est routé entre opérateurs (BGP), connaître l’alternative Cisco à OSPF (EIGRP) et savoir à quoi sert MPLS chez les opérateurs. Suite de P02 - Routage dynamique (RIP, OSPF).
Source
Fiche rédigée à partir du cours de lidstah : cours de lidstah.
1. Le vocabulaire d’Internet
| Terme | Signification |
|---|---|
| AS (Autonomous System) | Ensemble de réseaux publics gérés par une organisation (FAI, université, grande entreprise). Identifié par un ASN (ex. FAImaison à Nantes = AS 203432, Cogent = AS 174) |
| IGP (Interior Gateway Protocol) | Routage à l’intérieur d’un AS : OSPF, EIGRP, RIP, IS-IS |
| EGP (Exterior Gateway Protocol) | Routage entre AS : BGP |
| RIR / LIR | Organismes qui distribuent ASN et blocs d’IP. Europe = RIPE NCC ; les LIR redistribuent localement |
| Transit | Bande passante achetée à un opérateur pour joindre tout Internet (facturée au 95ᵉ centile) |
| Peering | Échange de trafic entre pairs, souvent gratuit si équilibré, dans un IXP (France-IX, Ouest-IX…) |
| Tier 1 / 2 / 3 | Tier 1 : n’achète jamais de transit ; Tier 2 : achète et revend ; Tier 3 : achète tout |
flowchart LR subgraph AS100["AS 100 (opérateur)"] R1["R1"] ---|"OSPF / iBGP"| R2["R2"] end subgraph AS200["AS 200 (entreprise)"] A["Routeur de bordure"] end subgraph AS300["AS 300 (autre FAI)"] B["Routeur de bordure"] end A ---|"eBGP (TCP 179)"| R1 B ---|"eBGP"| R2
Les 3 familles de protocoles
| Famille | Principe | Exemples |
|---|---|---|
| État de liens | Chaque routeur a la carte complète et calcule avec Dijkstra | OSPF, IS-IS |
| Vecteur de distance | On ne connaît que « ce réseau est à N sauts par ce voisin » (Bellman-Ford) | RIP |
| Hybride | Mélange des deux | EIGRP |
| Vecteur de chemin | On annonce la liste des AS traversés (AS Path) | BGP |
Choix de la meilleure route, dans l’ordre : préfixe le plus long (un /24 l’emporte sur un /16) → distance administrative (protocole le plus fiable) → métrique la plus basse.
2. BGP (Border Gateway Protocol)
Fiche complète
Ce qui suit est l’essentiel. Tout BGP en détail (attributs, choix du chemin, labo complet, filtres, multihoming, RPKI, FRRouting) : P24 - BGP de A à Z.
- Fonctionne sur TCP 179.
- Les voisins (peers) sont déclarés à la main des deux côtés : BGP ne découvre personne tout seul.
- Chaque route annoncée porte son AS Path. Si un routeur voit son propre ASN dedans, il refuse la route (anti-boucle).
- eBGP = entre deux AS différents. iBGP = entre routeurs du même AS.
États d’une session BGP
stateDiagram-v2 [*] --> Idle Idle --> Connect: ouverture TCP Connect --> Active: échec TCP Active --> Idle: nouvel échec Connect --> OpenSent: TCP OK, message Open OpenSent --> OpenConfirm: Open accepté, KeepAlive OpenConfirm --> Established: KeepAlive reçu Established --> Idle: Notification (erreur)
| Message | Rôle |
|---|---|
| Open | Version, ASN, ID du routeur |
| KeepAlive | « Je suis toujours là » (toutes les 60 s ; voisin déclaré mort après 180 s) |
| Update | Annonce ou retire des routes |
| Notification | Erreur → la session est coupée |
Configuration eBGP (Cisco)
! Routeur de l'AS 200, voisin 10.0.1.1 dans l'AS 100
router bgp 200
neighbor 10.0.1.1 remote-as 100
! annoncer notre réseau (masque normal ici, pas de wildcard)
network 172.16.1.0 mask 255.255.255.0Autre méthode : redistribuer les réseaux connectés filtrés par une ACL (là, c’est un wildcard) :
access-list 10 permit 172.16.1.0 0.0.0.255
route-map AS200BGPRedis
match ip address 10
router bgp 200
redistribute connected route-map AS200BGPRedisiBGP : le piège classique
Entre deux routeurs du même AS, on monte souvent la session sur les loopbacks (plus stables qu’une interface physique). Il faut alors dire d’où partir :
router bgp 100
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source Loopback0Sans update-source, la session reste bloquée : le voisin reçoit des paquets venant d’une IP qu’il n’attend pas.
Vérifier
! voisins et nombre de préfixes reçus
show ip bgp summary
! table BGP complète
show ip bgp
! routes BGP installées (B)
show ip route bgpUne erreur BGP peut casser Internet
En 2008, un FAI pakistanais chargé de bloquer YouTube a annoncé par erreur un préfixe plus précis que celui de YouTube : une grande partie du trafic mondial vers YouTube est partie vers le Pakistan. D’où les listes de préfixes, filtres et l’authentification MD5 entre voisins.
3. OSPF multi-zones (rappels avancés)
| Notion | Explication |
|---|---|
| Aire 0 (backbone) | Toutes les autres aires doivent la toucher (sinon : virtual link) |
| ABR | Routeur à cheval sur deux aires |
| ASBR | Routeur qui injecte des routes externes (BGP, statiques…) |
| DR / BDR | Sur un réseau partagé, un routeur « porte-parole » (et son remplaçant) évite que tout le monde parle à tout le monde |
| Stub area | Aire qui ne reçoit pas les routes externes : remplacées par une route par défaut (area 2 stub) |
| Totally stubby | Ne reçoit même pas les routes des autres aires (area 2 stub no-summary sur l’ABR) |
! forcer un routeur à devenir DR sur cette interface (0 = jamais DR)
interface g0/0
ip ospf priority 200
! authentification MD5 d'une aire
interface g0/0
ip ospf message-digest-key 1 md5 MOTDEPASSE
router ospf 1
area 1 authentication message-digest4. EIGRP (Cisco)
- Protocole hybride propriétaire Cisco (ouvert partiellement depuis 2013).
- Métrique calculée à partir du débit et du délai.
- Garde une route de secours précalculée (feasible successor) → bascule quasi instantanée.
- Sait faire du partage de charge sur des liens inégaux (
variance).
! 100 = numéro d'AS, identique sur tous les routeurs
router eigrp 100
no auto-summary
network 172.16.1.0 0.0.0.255
network 192.168.0.0 0.0.3.255
! utiliser aussi les routes jusqu'à 2x moins bonnes
variance 2
show ip eigrp neighbors
show ip eigrp topology5. MPLS (chez les opérateurs)
Au lieu de lire l’adresse IP à chaque routeur, on colle une étiquette (label) au paquet à l’entrée du réseau opérateur ; les routeurs du cœur ne lisent que l’étiquette. Intérêt principal : les VPN MPLS - l’opérateur relie les sites d’un client en gardant chaque client isolé grâce aux VRF (une table de routage par client).
| Terme | Rôle |
|---|---|
| LER (Label Edge Router) | Routeur d’entrée/sortie : ajoute ou retire l’étiquette |
| LSR | Routeur de cœur : commute selon l’étiquette |
| LDP | Protocole qui distribue les étiquettes |
| VRF | Table de routage séparée pour un client |
| RD (Route Distinguisher) | Rend uniques des préfixes identiques de deux clients (rd 100:1) |
| RT (Route Target) | Dit quelles routes importer/exporter dans quelle VRF |
interface g0/0
mpls ip
router ospf 1
mpls ldp autoconfig
ip vrf BLEU
rd 100:1
route-target both 100:1
interface g0/1
! efface l'IP : il faut la remettre
ip vrf forwarding BLEU
ip address 10.0.0.1 255.255.255.0Exercices
- Pourquoi n’utilise-t-on pas OSPF entre deux opérateurs ?
- Un routeur de l’AS 300 reçoit une route dont l’AS Path est
100 200 300 400. Que fait-il ? - Deux routes vers 10.1.0.0 : une /16 apprise par OSPF, une /24 apprise par RIP. Laquelle est utilisée pour joindre 10.1.0.5 ?
Correction
- OSPF envoie la carte complète du réseau et demande beaucoup de calcul : impossible à l’échelle d’Internet, et chaque opérateur veut garder sa topologie privée et choisir ses politiques. BGP n’échange que des préfixes et des chemins d’AS.
- Il voit son propre ASN (300) dans le chemin : il rejette la route (boucle).
- La /24 (préfixe le plus long), même si RIP a une distance administrative moins bonne : la longueur de préfixe passe avant.
Erreurs fréquentes / dépannage
| Symptôme | Cause probable |
|---|---|
| Session BGP bloquée en Active | Pas de connectivité TCP 179, mauvaise IP de voisin, update-source oublié en iBGP |
| Voisin BGP Established mais 0 préfixe | Aucune commande network ou le réseau n’existe pas exactement (même masque) dans la table de routage |
| Pas de voisin EIGRP | Numéro d’AS différent entre les routeurs |
| Aire OSPF isolée | Elle ne touche pas l’aire 0 → virtual link ou revoir le design |
Voir aussi
- P24 - BGP de A à Z · P02 - Routage dynamique (RIP, OSPF) · R09 - Cisco IOS - aide-mémoire · M07 - Graphes et plus court chemin · P12 - SD-WAN (OpenZiti)
- Cours complet : cours de lidstah · cours de lidstah · cours de lidstah · cours de lidstah
- Retour : P00 - Programme pas encore vu