Le principe fondamental du protocole Border Gateway Protocol classique, défini dans la RFC 4271, impose à un routeur de n'annoncer à ses pairs qu'un seul chemin optimal pour chaque préfixe NLRI. Lorsqu'elle est associée aux réflecteurs de routes (Route Reflectors, RFC 4456) conçus pour faire évoluer les topologies iBGP, cette règle introduit une faille architecturale majeure connue sous le nom de masquage de routes (path hiding).

Lorsqu'un système autonome exploite plusieurs routeurs de frontière (ASBR) connectés à différents fournisseurs de transit, le réflecteur de route intermédiaire calcule son optimum local et ne transmet que ce chemin unique. Les routeurs de bordure (PE) et passerelles clientes restent totalement ignorants des liaisons de secours disponibles. En cas de rupture du lien primaire, le trafic subit des dizaines de secondes d'interruption pendant que les routeurs échangent des messages de retrait, recalculent les tables et mettent à jour le matériel de commutation.

La norme RFC 7911 introduit l'extension BGP ADD-PATH pour surmonter ce goulot d'étranglement. En intégrant un identifiant de chemin (Path Identifier) de 4 octets aux annonces de routage, les routeurs BGP peuvent distribuer simultanément plusieurs chemins parallèles pour un même préfixe au sein d'une seule session, ouvrant la voie à la convergence rapide BGP PIC et à des réseaux Anycast résilients.

La limitation à un chemin unique et le masquage de routes dans BGP

Dans les réseaux d'opérateurs et les infrastructures dorsales de distribution de contenu, une topologie iBGP maillée impose $N \times (N - 1) / 2$ sessions TCP. Pour éviter une explosion combinatoire, les ingénieurs réseau déploient des réflecteurs de routes (RR).

Sous la spécification historique RFC 4271, lorsqu'un RR reçoit des annonces pour le préfixe 198.51.100.0/24 de deux passerelles de bordure (ASBR-1 et ASBR-2), son algorithme de décision ne retient qu'un gagnant. Il annonce ensuite uniquement ce chemin sélectionné à ses clients, éliminant totalement la route alternative de la signalisation sortante.

       [ Transit Opérateur A ]          [ Transit Opérateur B ]
                 |                                |
             [ ASBR-1 ]                       [ ASBR-2 ]
                 \                                /
                  \                              /
                   +---> [ Route Reflector ] <--+
                         (Retient SEULEMENT Voie 1)
                                  |
                                  v (Annonce SEULEMENT Voie 1)
                         [ Routeur PE Client ]
                        (Ignore le Transit B !)

Ce masquage de route engendre trois risques opérationnels critiques :

  1. Délai de convergence prolongé : Si l'ASBR-1 subit une coupure physique, le routeur client ne peut basculer immédiatement. Il doit attendre le retrait émis par l'ASBR-1, le recalcul du RR et la nouvelle annonce, ce qui prend fréquemment de 5 à 45 secondes.
  2. Oscillations persistantes des routes : Lorsque l'attribut Multi-Exit Discriminator (MED) interagit avec les hiérarchies de réflexion de routes, le masquage déclenche des cycles d'instabilité décrits dans la RFC 3345.
  3. Acheminement sous-optimal : Les nœuds de bordure ne peuvent répartir le trafic entre plusieurs opérateurs de transit, la table de transfert (FIB) ne conservant qu'un pointeur de prochain saut unique.

Architecture de BGP ADD-PATH : mécanismes du protocole RFC 7911

La RFC 7911 élimine le masquage de routes sans imposer un retour au maillage complet iBGP grâce à une modification du codage des préfixes.

Encodage NLRI et identifiant de chemin Path Identifier de 4 octets

Dans les messages BGP UPDATE standards, chaque entrée NLRI se compose d'un champ de longueur de préfixe de 1 octet suivi des octets du préfixe. La RFC 7911 préfixe directement ce champ par un entier de 4 octets appelé Path Identifier :

+----------------------------------------------------+
|            Path Identifier (4 octets)              |
+----------------------------------------------------+
|            Longueur (1 octet, 0 à 32/128)          |
+----------------------------------------------------+
|            Préfixe IP (longueur variable)          |
+----------------------------------------------------+

L'identifiant de chemin a une portée locale à la session BGP. Il permet de distinguer les multiples chemins associés à un même préfixe annoncés par un pair. Lorsque l'ASBR-1 et l'ASBR-2 transmettent 203.0.113.0/24 au réflecteur, celui-ci attribue l'identifiant 1 à l'ASBR-1 et l'identifiant 2 à l'ASBR-2, puis relaie les deux chemins aux clients au sein de messages UPDATE standards.

Lorsqu'un routeur retire un chemin spécifique, le message inclut le préfixe ainsi que le Path Identifier correspondant. Cela garantit que la révocation d'une liaison de transit n'invalide pas par inadvertance les routes secondaires opérationnelles.

Négociation des capacités et modes d'annonce directionnels

Les routeurs négocient la prise en charge d'ADD-PATH lors de l'établissement initial de la session à l'aide des paramètres optionnels BGP Capabilities (RFC 5492). Le code de capacité 69 définit la prise en charge par famille d'adresses (AFI/SAFI).

La valeur de capacité comprend un indicateur directionnel Send/Receive de 1 octet :

  • 1 : Réception ADD-PATH (le routeur analyse les identifiants de chemin reçus).
  • 2 : Émission ADD-PATH (le routeur insère les identifiants dans les NLRI émis).
  • 3 : Émission et réception simultanées activées.

Cette négociation asymétrique permet aux équipements de bordure plus anciens de recevoir plusieurs chemins d'un réflecteur centralisé sans avoir à supporter la charge d'émission de routes multiples.

Convergence indépendante des préfixes BGP PIC et Fast Reroute

L'intérêt opérationnel de la RFC 7911 prend toute sa dimension lorsqu'il est couplé au mécanisme BGP Prefix Independent Convergence (BGP PIC). Le rétablissement classique de BGP présente une complexité algorithmique $O(N)$, où $N$ est le nombre de préfixes affectés par une panne. Dans une table Internet globale dépassant 950 000 préfixes, la mise à jour séquentielle de la mémoire TCAM nécessite plusieurs secondes.

BGP PIC restructure le plan de données sous forme de pointeurs hiérarchiques. Les entrées de préfixes dans la FIB matérielle ne pointent plus directement vers les interfaces physiques, mais vers des objets de résolution de prochain saut intermédiaires.

+-----------------------+      +--------------------------+      +-------------------+
| Préfixe 198.51.100.0  | ---> | Objet Next-Hop Partagé   | ---> | Interface Primaire|
+-----------------------+      | (ASBR-1 actif)           |      +-------------------+
| Préfixe 203.0.113.0   | ---> | Secours : ASBR-2 ADD-PATH| ---> | Interface Secours |
+-----------------------+      +--------------------------+      +-------------------+

Mécanismes de convergence BGP PIC Core et BGP PIC Edge

BGP PIC protège les flux de trafic à deux niveaux distincts :

  1. BGP PIC Core : Protège contre les pannes de liaisons internes entre les routeurs de cœur P et de périphérie PE. L'IGP détecte la rupture grâce à la détection BFD en moins d'une seconde et actualise le pointeur LSP dans le matériel en moins de 50 millisecondes.
  2. BGP PIC Edge : Protège contre les ruptures de liens externes reliant les routeurs ASBR au réseau mondial. Comme BGP ADD-PATH a déjà acheminé le chemin secondaire au routeur de bordure, le saut suivant de secours est pré-enregistré dans la FIB. Lors de la perte de l'ASBR primaire, le matériel bascule un pointeur racine unique. Tous les préfixes associés sont réorientés vers la sortie secondaire en un temps constant $O(1)$.

Résolution des oscillations MED et instabilités dans les clusters Route Reflector

L'attribut Multi-Exit Discriminator (MED) permet d'indiquer à un système autonome voisin le point d'entrée préférentiel. Toutefois, la règle standard n'effectue la comparaison MED qu'entre les routes provenant du même AS partenaire.

Dans les architectures comportant des réflecteurs de routes, cette comparaison conditionnelle produit des boucles logiques appelées oscillations MED (RFC 3345). Le réflecteur alterne continuellement son choix entre les routes A, B et C, saturant le réseau de messages d'annonce et de retrait contradictoires.

Avec BGP ADD-PATH, les réflecteurs ne suppriment plus les alternatives dont le MED est moins avantageux. L'ensemble des chemins candidats est transmis aux routeurs clients, permettant à chaque nœud d'appliquer ses critères de décision locaux basés sur sa métrique IGP interne, ce qui supprime durablement tout risque d'oscillation.

Équilibrage de charge ECMP et distribution du trafic entre routeurs ASBR

Grâce à l'activation de BGP ADD-PATH, les architectes réseau peuvent déployer un équilibrage de charge à chemins multiples d'égal coût (ECMP) sur l'ensemble des passerelles de sortie.

Les administrateurs peuvent configurer le réflecteur selon plusieurs politiques :

  • Add-Path All : Diffuse toutes les routes valides présentes dans l'Adj-RIB-In.
  • Add-Path Best N : Diffuse les $N$ routes prioritaires (généralement 2 ou 3) pour optimiser l'utilisation de la bande passante tout en maîtrisant la mémoire.
  • Add-Path Group-Best : Envoie un chemin préférentiel pour chaque système autonome adjacent.

Considérations relatives à la mémoire TCAM FIB et limites d'échelle

Le déploiement d'ADD-PATH implique des compromis d'ingénierie sur le plan matériel :

  • Mémoire du plan de contrôle (RIB) : Stocker deux chemins par préfixe double la consommation de mémoire RAM du processus BGP. Si les réflecteurs modernes équipés de 64 Go de mémoire ECC absorbent sans peine cette charge, les commutateurs de bordure aux capacités restreintes doivent filtrer les familles d'adresses superflues.
  • Mémoire TCAM du plan de données (FIB) : L'installation de chemins de secours dans les cartes réseau augmente l'occupation mémoire. L'usage de structures à pointeurs partagés évite la duplication des entrées de préfixes, garantissant une commutation à débit de ligne sur les matrices multi-térabits.

Dynamique de reprise sur incident : basculement sub-seconde et délai de reconvergence

L'avantage structurel de BGP ADD-PATH associé à BGP PIC ressort nettement des mesures opérationnelles de production :

Indicateur opérationnel BGP Standard (RFC 4271) BGP ADD-PATH avec BGP PIC
Visibilité des chemins en bordure Chemin unique optimal Chemins primaires et de secours
Mécanisme de basculement Recalcul logiciel complet Inversion de pointeur matériel
Temps de reprise 5 000 ms à 45 000 ms Moins de 50 ms (sans coupure)
Complexité algorithmique Linéaire $O(N)$ selon les préfixes Constante $O(1)$ immédiate
Risque d'oscillation MED Élevé en topologie RR Entièrement neutralisé
Utilisation des sorties Limitée à une liaison unique Répartition symétrique multi-châssis

Sécurité et durcissement opérationnel dans les architectures multi-homées

La diffusion de routes multiples au sein du réseau exige une rigueur préventive pour éviter les fuites de routes et les détournements :

  • Validation d'origine RPKI : Les routeurs de bordure doivent impérativement valider les autorisations ROA avant d'inscrire les routes candidates ADD-PATH dans leur table RIB. Les annonces invalides doivent être immédiatement rejetées.
  • Seuils de préfixes maximaux : Il convient d'imposer des plafonds stricts sur chaque session pour prévenir tout risque de saturation de mémoire.
  • Support de Graceful Restart : L'association d'ADD-PATH avec Long-Lived Graceful Restart préserve le transfert de données lors des redémarrages de maintenance des cartes de contrôle.
  • Surveillance télémétrique : Vérifiez périodiquement l'état des tables Adj-RIB-In pour vous assurer que les routeurs PE reçoivent de manière fiable leurs routes de secours.

Comment RiceGuard intègre BGP ADD-PATH pour protéger les nœuds Anycast

L'infrastructure Anycast mondiale de VPNRice dessert des milliers d'utilisateurs via plus de 40 points de présence distribués. Les utilisateurs peuvent à tout moment auditer leur point de sortie réseau effectif au moyen de l'outil de détection d'adresse IP VPNRice.

Dans une topologie Anycast, plusieurs centres de données annoncent le même bloc d'adresses IP aux opérateurs de transit Tier-1 mondiaux. En cas de dégradation soudaine d'une liaison de bordure, les délais de reconvergence du BGP classique provoqueraient la déconnexion de milliers de tunnels VPN chiffrés.

Afin de garantir une durabilité absolue des sessions, VPNRice s'appuie sur le protocole RiceGuard associé à BGP ADD-PATH et BGP PIC :

  1. Multi-chemins pré-signalés : Chaque groupe de serveurs RiceGuard reçoit en parallèle plusieurs routes de transit Tier-1 via des sessions iBGP configurées avec ADD-PATH.
  2. Basculement en moins de 50 millisecondes : En cas de coupure de câble sous-marin, les cartes de commutation matérielles activent instantanément les pointeurs de secours BGP PIC sans recalcul logiciel.
  3. Persistance des flux sécurisés : Les tables d'état WireGuard UDP restent valides sans qu'aucune renégociation de clés ne soit nécessaire, assurant une expérience sans gel d'écran ni baisse de débit.

Les applications clientes sont téléchargeables pour tous les systèmes d'exploitation sur la page de téléchargement VPNRice, offrant une connexion résiliente face aux aléas du routage mondial.

+-----------------------------------------------------------------------------+
|             ARCHITECTURE DE RÉSILIENCE MULTI-CHEMINS RICEGUARD ANYCAST      |
+-----------------------------------------------------------------------------+
[ Nœud de Bordure RiceGuard ]
      |
      +---> Chemin 1 (Transit Telia)  [ACTIF]      <--- BGP ADD-PATH
      |
      +---> Chemin 2 (Transit NTT)    [SECOURS]    <--- BGP PIC (<50ms bascule)
      |
      +---> Chemin 3 (Point IX)       [RÉSERVE]    <--- Préservation des sessions

Pour les architectures d'entreprise interconnectées, conjuguer ADD-PATH avec l'isolation BGP L3VPN VRF et le multi-hébergement BGP EVPN fournit une défense éprouvée contre les ruptures de connectivité.

Liste de contrôle pour le déploiement de BGP ADD-PATH en production

Lors de la mise en œuvre de BGP ADD-PATH dans une dorsale d'entreprise ou d'opérateur, suivez cette séquence de vérifications techniques :

  • Audit de compatibilité matérielle : Confirmez que tous les réflecteurs de routes et commutateurs de frontière prennent en charge la négociation RFC 7911 (code 69) pour IPv4 et IPv6.
  • Configuration de modes asymétriques : Configurez les réflecteurs en mode d'émission send et les nœuds clients PE en mode de réception receive pour préserver les ressources processeur.
  • Encadrement des annonces : Appliquez les règles add-path best 2 ou best 3 afin de garantir la redondance sans surcharger la mémoire RIB.
  • Activation globale de BGP PIC : Activez Prefix Independent Convergence dans la configuration de routage pour générer les pointeurs hiérarchiques dans la FIB.
  • Surveillance de la mémoire TCAM : Surveillez les alertes de seuil d'occupation mémoire des cartes réseau avant et après l'activation des flux multi-chemins.
  • Couplage avec le protocole BFD : Associez les sessions BGP à la détection matérielle BFD pour obtenir un signalement des pannes en quelques millisecondes.
  • Contrôle télémétrique des routes : Inspectez les tables Adj-RIB-In pour vérifier que les identifiants de chemin secondaires comportent des attributs next-hop valides et ne subissent aucune pénalité de flap.