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

TermeSignification
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 / LIROrganismes qui distribuent ASN et blocs d’IP. Europe = RIPE NCC ; les LIR redistribuent localement
TransitBande 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 / 3Tier 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

FamillePrincipeExemples
État de liensChaque routeur a la carte complète et calcule avec DijkstraOSPF, IS-IS
Vecteur de distanceOn ne connaît que « ce réseau est à N sauts par ce voisin » (Bellman-Ford)RIP
HybrideMélange des deuxEIGRP
Vecteur de cheminOn 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)
MessageRôle
OpenVersion, ASN, ID du routeur
KeepAlive« Je suis toujours là » (toutes les 60 s ; voisin déclaré mort après 180 s)
UpdateAnnonce ou retire des routes
NotificationErreur → 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.0

Autre 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 AS200BGPRedis

iBGP : 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 Loopback0

Sans 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 bgp

Une 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)

NotionExplication
Aire 0 (backbone)Toutes les autres aires doivent la toucher (sinon : virtual link)
ABRRouteur à cheval sur deux aires
ASBRRouteur qui injecte des routes externes (BGP, statiques…)
DR / BDRSur un réseau partagé, un routeur « porte-parole » (et son remplaçant) évite que tout le monde parle à tout le monde
Stub areaAire qui ne reçoit pas les routes externes : remplacées par une route par défaut (area 2 stub)
Totally stubbyNe 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-digest

4. 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 topology

5. 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).

TermeRôle
LER (Label Edge Router)Routeur d’entrée/sortie : ajoute ou retire l’étiquette
LSRRouteur de cœur : commute selon l’étiquette
LDPProtocole qui distribue les étiquettes
VRFTable 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.0

Exercices

  1. Pourquoi n’utilise-t-on pas OSPF entre deux opérateurs ?
  2. Un routeur de l’AS 300 reçoit une route dont l’AS Path est 100 200 300 400. Que fait-il ?
  3. 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 ?

Erreurs fréquentes / dépannage

SymptômeCause probable
Session BGP bloquée en ActivePas de connectivité TCP 179, mauvaise IP de voisin, update-source oublié en iBGP
Voisin BGP Established mais 0 préfixeAucune commande network ou le réseau n’existe pas exactement (même masque) dans la table de routage
Pas de voisin EIGRPNuméro d’AS différent entre les routeurs
Aire OSPF isoléeElle ne touche pas l’aire 0 → virtual link ou revoir le design

Voir aussi