Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Hiérarchisation des routes BGP

Comprendre la hiérarchisation des routes BGP

Bien que le protocole BGP soit l’un des protocoles de routage les plus largement déployés aujourd’hui, transportant non seulement les informations d’accessibilité de la couche réseau (NLRI) mais aussi de nombreux types d’informations d’accessibilité VPN, il convient de noter que le protocole ne précise pas comment les informations sont ordonnées dans les messages de mise à jour BGP. Cette décision est laissée à la mise en œuvre.

Dans les systèmes à grande échelle, BGP peut prendre beaucoup de temps pour échanger ses informations de routage entre les systèmes. Cela est particulièrement vrai lors du démarrage de BGP, des opérations d’actualisation de route et lors d’un redémarrage en douceur. Afin de gérer la grande quantité d’informations à traiter, le traitement du routage BGP est effectué à l’aide de files d’attente. Les routes sortantes sont placées dans des files d’attente de sortie pour traitement. La hiérarchisation du routage BGP est introduite dans Junos OS version 16.1 afin de permettre à l’utilisateur de hiérarchiser de manière déterministe les messages de mise à jour BGP. La hiérarchisation des routes BGP est un processus qui fonctionne strictement sur les files d’attente de sortie, ce qui permet d’ordonner les informations envoyées aux routeurs pair BGP.

Dans la configuration par défaut, c’est-à-dire lorsqu’il n’existe aucune output-queue-priority configuration ou stratégie qui remplace la priorité, le processus de protocole de routage (rpd) met en file d’attente les routes BGP dans la file d’attente de sortie par base d’informations de routage (RIB). Une RIB, également connue sous le nom de table de routage, correspond à la fois à une famille d’adresses spécifique, telle que inet.0, et à des tables d’instance de routage telles que vrf.inet.0. Lors du traitement des files d’attente de sortie, le code de mise à jour BGP vide la file d’attente de sortie pour le RIB actuel avant de passer au RIB suivant qui a une file d’attente de sortie non vide.

Remarque :
  • Il n’y a aucune tentative de hiérarchiser automatiquement les itinéraires, même s’il existe une possibilité théorique de le faire. La hiérarchisation des itinéraires individuels est donc entièrement laissée à l’utilisateur.

  • Si les priorités de routage BGP sont modifiées pour un groupe de pairs, les sessions d’pair BGP sont réinitialisées.

Cas d’utilisation de la hiérarchisation de routage BGP

Le Tableau 1 indique les types de routes qui bénéficieraient de la hiérarchisation des routes et quelques notes sur les raisons pour lesquelles ils en bénéficieraient. Des exemples de ces types d’itinéraires sont également inclus. La hiérarchisation de ces routes dans un environnement donné à grande échelle peut aider les routeurs à réagir plus rapidement aux changements de route importants.

Tableau 1 : cas d’utilisation de la hiérarchisation des routes BGP

Type de route ou de mise à jour

Remarques

Exemple

Préfixes utilisés pour résoudre les sauts suivants BGP vers un saut suivant de transfert immédiat

Les modifications de ces préfixes doivent être apportées dès que possible.

  • Routes hôtes

  • Préfixes faisant partie des exigences de résolution récursive

Routes utilisées pour les points de terminaison de tunnel

Les points de terminaison de tunnel tels que GRE ou MPLS sont souvent utilisés comme prochains sauts BGP.

Routes unicast marquées BGP

Types de routes critiques pour le fonctionnement d’une fonctionnalité de protocole

Pour certains protocoles VPN, certains types de routes sont utilisés pour déclencher des modifications urgentes au sein du protocole. Des modifications doivent être apportées à ces itinéraires dès que possible.

  • Découverte automatique active de la source MVPN (type 5)

  • Sites VPLS multirésidents

Routes d’infrastructure de fournisseur de services

Ces routes sont essentielles à la capacité d’un fournisseur de services à mener ses activités. Sans itinéraires précis et à jour, le fournisseur de services peut ne pas être en mesure de fournir certaines de ses offres de services.

  • Réseaux de gestion internes

  • Préfixes d’opérations réseau

  • Ressources DNS

Modifications de la topologie du réseau

Celles-ci doivent être priorisées avant de simples actualisations de routes.

  • Nouveau routeur ajouté au réseau

  • Routeurs retirés du réseau

Propriétés de la hiérarchisation de routage BGP

La hiérarchisation des routes BGP dans Junos OS est mise en œuvre à l’aide d’un ensemble de 17 files d’attente de sortie hiérarchisées (numérotées) qui sont gérées par un mécanisme de jeton configurable par l’utilisateur. Cette section décrit les files d’attente de sortie hiérarchisées, le fonctionnement du système de jetons et l’affectation des routes aux files d’attente.

Files d’attente de sortie hiérarchisées

Le Tableau 2 présente les files d’attente de sortie disponibles et leur fonction dans le système de hiérarchisation. Le système de hiérarchisation fonctionne sur une échelle traditionnelle de priorité faible, moyenne et élevée, 1 étant la priorité la plus basse et 16 la priorité la plus élevée.

Tableau 2 : files d’attente de sortie classées par ordre de priorité

File d’attente

Fonction

Accéléré

Il s’agit de la file d’attente de sortie la plus prioritaire. Les routes de cette classe sont garanties qu’une partie du traitement de la file d’attente de sortie est garantie lors du vidage de la file d’attente de sortie. Cette file d’attente n’a pas de numéro et est désignée dans la configuration par son nom.

1 (priorité la plus basse)

Il s’agit de la file d’attente de sortie de priorité la plus basse. Il s’agit de la file d’attente prioritaire par défaut, ce qui signifie que les routes sans attribution explicite de file d’attente provenant de la détermination automatique du protocole ou de la stratégie utilisateur sont placées par défaut dans cette file d’attente. Les messages d’actualisation de route sont placés dans cette file d’attente par défaut.

2 - 16 (priorité faible-élevée)

La priorité de ces files d’attente de sortie varie de la priorité la plus basse (2) à la priorité la plus élevée (16). Des routes leur sont attribuées en fonction d’une stratégie utilisateur ou de la configuration d’un pair BGP. Les routes d’une file d’attente de sortie de priorité supérieure peuvent préempter les routes des files d’attente de priorité inférieure.

Affectation de routes aux files d’attente

L’attribution de routes aux différentes files d’attente peut être effectuée en définissant et en affectant des stratégies d’exportation BGP. Cela signifie que la priorité du routage peut varier dans chaque groupe pair BGP ainsi que dans des configurations voisines spécifiques au sein des groupes pair BGP. Vous pouvez également attribuer des itinéraires à des files d’attente à l’aide de la partie action d’une déclaration de stratégie. L’affectation de routes à des files d’attente par l’action d’une instruction de stratégie remplacera les affectations effectuées par la configuration BGP.

Quand des routes sont affectées à des files d’attente

Les routes prioritaires sont ajoutées à leurs files d’attente respectives uniquement pendant le traitement du routage. Cela se produit généralement dans les conditions suivantes :

  • Lorsque des routes proviennent de voisins BGP établis.

  • Lors d’un parcours sur une table de routage, par exemple lors d’une reconfiguration ou de l’établissement initial d’un pair.

La table de routage parcourt les itinéraires de manière séquentielle dans une table, en fonction de l’ordre interne de la table de routage du système. Par exemple, inet.0, , inet6.0et ainsi de suite. Cet ordre interne est prédéterminé et ne peut être modifié par l’opérateur.

Si des routes de priorité supérieure résident dans des tables de routage traitées plus tard dans la commande, ces routes peuvent être ajoutées aux files d’attente après les routes de priorité inférieure rencontrées plus tôt dans le processus.

Mécanisme du jeton de travail

Les jetons correspondent au travail de création d’un message de mise à jour BGP. Des jetons sont affectés à toutes les files d’attente qui sont stockés dans des compartiments. Le nombre de jetons dans un compartiment donné est configurable par l’utilisateur. De cette façon, les utilisateurs peuvent élaborer des politiques qui permettent à leurs itinéraires d’être desservis dans les proportions qu’ils préfèrent. La configuration du planificateur de priorité s’effectue globalement dans BGP au niveau de la [edit protocols bgp] hiérarchie. Par défaut, toutes les files d’attente prioritaires ont au moins 1 jeton dans leur compartiment pour s’assurer que les priorités mal configurées ne meurent pas de faim.

Comprendre la priorité et l’équité des files d’attente

Le schéma utilisé par la hiérarchisation des routes BGP se concentre sur deux éléments : l’équité et la priorité :

  • L’équité signifie que lorsqu’il y a du travail à faire dans une file d’attente donnée, les autres files d’attente sont garanties d’obtenir du travail à un moment donné. La quantité de travail que chaque file d’attente est autorisée à effectuer est déterminée par le nombre de jetons attribués à chaque priorité.

  • La priorité signifie que lorsqu’il y a un travail concurrent et que l’équité a été assurée, de toujours choisir le travail le plus important.

Par exemple, supposons trois classes de priorité : faible, moyenne et élevée. Ceux-ci peuvent être affectés aux files d’attente 1, 2 et 3, respectivement. Ils peuvent également être affectés aux files d’attente 3, 6 et 9. Par souci d’équité, si la décision est que la priorité élevée reçoit 50 % du travail disponible, la moyenne obtient 35 % et la faible obtient les 15 % restants, les jetons peuvent être attribués comme 50 à élevé, 35 à moyen et 15 à faible. Alternativement, les jetons peuvent être attribués comme 5 à élevé, 4 à moyen et 2 à faible. Vous pouvez attribuer à l’une des 17 files d’attente n’importe quelle valeur comprise entre 1 et 100. Le rapport entre le nombre de jetons dans une seule file d’attente et le nombre total de jetons dans toutes les files d’attente donne le pourcentage de travail qui sera effectué dans chaque file d’attente.

La priorité est la plus importante lorsque le travail apparaît dans une file d’attente alors que les jetons sont en train d’être dépensés dans une autre file d’attente par le planificateur de travail. Le tableau 3 montre le point de départ pour un exemple de cela.

Tableau 3 : files d’attente et jetons

File d’attente prioritaire (numéro de file d’attente)

Nombre de jetons affectés à la file d’attente

Nombre de jetons restants dans la file d’attente

Nombre d’entrées dans la file d’attente

Élevé (9)

50

50

0

Moyen (6)

35

15

5000

Basse (3)

15

15

10000

Si nous supposons que le planificateur de travail traite la file d’attente moyenne (file d’attente numéro 6) et a dépensé 20 jetons, il reste 15 jetons à dépenser pour les entrées restantes dans la file d’attente moyenne et 15 jetons à dépenser dans la file d’attente de priorité faible. Si 5 entrées arrivent dans la file d’attente accélérée avant la prochaine exécution du planificateur de travail, ces 5 entrées seront envoyées en premier car il reste encore 50 jetons dans la file d’attente accélérée.

Procédure de gestion des files d’attente

La procédure de gestion des files d’attente fonctionne par groupe de pair BGP, chaque groupe gérant ses propres compartiments de jetons.

  • Les compartiments de jetons pour chaque priorité commencent pleins au nombre configuré de jetons ou à la valeur par défaut de 1.

  • Chaque fois qu’une entrée de route est extraite d’une file d’attente pour démarrer une mise à jour BGP, un jeton est soustrait de cette file d’attente.

  • Bien que la file d’attente accélérée comporte des jetons, toutes les autres entrées de file d’attente sont extraites de la file d’attente accélérée, sous réserve des règles d’empaquetage de route.

  • Les entrées sont extraites de la file d’attente ayant la priorité la plus élevée. Cela signifie que si des entrées sont ajoutées à une file d’attente de priorité supérieure entre les exécutions du mécanisme de gestion de file d’attente et que des jetons sont disponibles dans cette file d’attente de priorité supérieure, les nouvelles entrées de la file d’attente de priorité supérieure sont envoyées en premier, préemptant ainsi les entrées dans les files d’attente de priorité inférieure. Si la file d’attente de priorité supérieure n’a pas de jetons de travail disponibles à l’arrivée des nouvelles entrées, les nouvelles entrées ne sont envoyées qu’après la prochaine actualisation du jeton.

  • Les jetons sont actualisés une fois que toutes les files d’attente prioritaires ont été gérées (il ne reste plus d’entrées dans aucune file d’attente) ou lorsque tous les jetons sont épuisés.

Exemple : configuration du planificateur de priorité de sortie BGP et de la priorité de la famille d’adresses globales

Cet exemple montre comment configurer et tester le planificateur de priorité de route BGP à l’échelle du système.

Exigences

Cet exemple utilise les composants matériels et logiciels suivants :

  • Un routeur MX Series (R1) exécutant Junos OS version 16.1 ou ultérieure

Avant de configurer le planificateur de hiérarchisation du routage BGP, assurez-vous que le protocole BGP est en cours d’exécution sur le routeur.

Vue d’ensemble

Le planificateur de priorité de route BGP est utilisé pour contrôler la quantité de travail effectuée dans les 17 files d’attente de sortie du système de hiérarchisation des routes. Le système utilise un ensemble de 17 files d’attente de sortie hiérarchisées, par instance de routage à laquelle des jetons de travail sont affectés. Les 17 files d’attente de sortie hiérarchisées (1-16 et accélérées) ont 1 jeton affecté par défaut. N’importe quel nombre de jetons compris entre 1 et 100 peut être attribué à chacune des 17 files d’attente. L’affectation de jetons aux files d’attente vous permet d’équilibrer la quantité de travail effectuée sur les routes dans les files d’attente. En outre, les paramètres par défaut pour les files d’attente de priorité élevée, moyenne et faible peuvent être configurés en affectant chaque mot-clé à une file d’attente de sortie numérotée spécifique. Dans cet exemple, nous allons configurer chacune des 17 files d’attente de priorité avec un nombre distinct de jetons de travail et nous allons également configurer les priorités globales de sortie pour les routes unicast inet et démontrer l’héritage en configurant des groupes de BGP pour remplacer les paramètres de priorité globaux.

La configuration

  • Attribuez update-tokens à chacune des 17 files d’attente de sortie.

  • Spécifiez les files d’attente numérotées à utiliser comme files d’attente par défaut high, mediumet low prioritaires.

  • Configurez les priorités globales de sortie pour inet unicast les itinéraires.

  • Configurez un groupe BGP nommé test1 qui affichera les capacités de remplacement de groupe.

  • Configurez un groupe BGP nommé test2 qui affichera l’héritage global.

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez-collez les commandes dans le CLI au niveau de la [edit] hiérarchie.

Configuration des files d’attente de priorité de sortie individuelles

Procédure étape par étape

L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de la CLI de Junos OS.

  1. Affectez des jetons de mise à jour à chacune des 17 files d’attente de sortie hiérarchisées

Configurer les files d’attente par défaut à utiliser pour les mises à jour de routes de priorité élevée, moyenne et faible

Procédure étape par étape

Résultats

Pour confirmer la configuration, exécutez la show bgp output-scheduler commande à partir du mode opérationnel :

Configurer les priorités globales de sortie d’une famille de routes

Procédure

Procédure étape par étape
  1. Configurez le global output-queue-priority pour inet unicast les routes :

Configuration d’un groupe BGP nommé test1

Procédure

Procédure étape par étape
  1. Configurez le groupe test1 pour remplacer les priorités de sortie globales et inclure un voisin qui remplace le groupe et un voisin qui ne le remplace pas.

Configuration d’un groupe BGP nommé test2

Procédure étape par étape
  1. Configurez le groupe test2 BGP pour accepter les valeurs globales par défaut.

Vérification

Vérification de la configuration du planificateur de sortie BGP

Objet

Pour vérifier la configuration du planificateur de sortie BGP, exécutez la show bgp output-scheduler commande à partir du mode opérationnel.

Mesures à prendre

Signification

La sortie indique que la configuration du planificateur de sortie a réussi à appliquer le nombre approprié de jetons à chaque file d’attente de sortie et que les mots-clés de priorité élevée, moyenne et faible ont été affectés aux files d’attente de sortie appropriées.

Vérifier la configuration de groupe, le remplacement de groupe et le remplacement de voisin

Objet

Pour vérifier que les groupes configurés démontrent le remplacement de groupe, le remplacement de voisin et l’héritage, exécutez la show bgp group group-name commande à partir du mode opérationnel.

Mesures à prendre
Signification

La sortie indique que la priorité de la file d’attente de sortie pour l’homologue 224.223.2.2 est de 7, que la priorité d’actualisation de la route est de 8 et que la priorité de retrait est accélérée. Alors que la priorité de la file d’attente de sortie pour le voisin 224.223.1.1 est 4, la priorité d’actualisation de la route est 6 et la priorité de retrait est le paramètre par défaut pour la famille inet unicast, ou 3.

Vérification de l’héritage à partir des paramètres de priorité globaux

Objet

Pour vérifier que les groupes qui ne sont pas configurés pour remplacer les paramètres globaux de hiérarchisation des routes BGP, exécutez la show bgp group group-name commande au niveau opérationnel.

Mesures à prendre
Signification

La sortie montre que les priorités de routage par défaut pour inet unicast les routes du test2 groupe correspondent à la configuration globale.

Exemple : Contrôle de la convergence des tables de routage à l’aide de la hiérarchisation de route BGP

L’exemple suivant configure la hiérarchisation des routes BGP afin de permettre inet labeled-unicast aux routes de converger avant inet unicast les routes.

Exigences

Cet exemple utilise les composants matériels et logiciels suivants :

  • Un routeur MX-Series (R1) exécutant Junos OS version 16.1 ou ultérieure tel sera le point central de l’exemple.

  • Un deuxième routeur (R2) configuré en tant que pair BGP interne avec R1.

  • Un réflecteur de route (RR) BGP qui sera utilisé pour remplir les tables de routage de R1. Dans cet exemple, nous ne configurerons pas le réflecteur de route.

Vue d’ensemble

La fonctionnalité de hiérarchisation du routage BGP est conçue pour permettre la hiérarchisation des messages de mise à jour BGP sortants dans un routeur. L’utilisation de la hiérarchisation de routage BGP permet à l’utilisateur de s’assurer que les mises à jour de routage BGP plus importantes, telles que les modifications de point de terminaison de tunnel GRE ou MPLS, sont envoyées avant les mises à jour moins importantes du routage BGP, telles que les mises à jour de rafraîchissement de route.

Dans cet exemple, nous allons configurer R1 pour traiter inet labeled-unicast les mises à jour de routage vers R2 comme une priorité plus élevée que inet unicast les mises à jour de route. Pour ce faire, nous allons configurer le routeur R2 pour accepter les routes inet unicast et inet labeled-unicast les routes de son routeur pair, R1. Ensuite, nous remplirons la inet.0 table de routage sur R1 à partir d’un réflecteur de route et importerons une partie de cette table dans la table, inet.3 en utilisant rib-group importlabeled-unicast. Comme les routes sont mises en file d’attente sur R1, nous pouvons valider l’opération en observant si les routes du inet.3 RIB sont vidées avant le reste des routes du inet.0 RIB.

Configurer la hiérarchisation des routes BGP

Configurez R2 en tant que pair BGP de R1.

Sur R1 :

  • Configurez le routeur R2 en tant qu’homologue du routeur R1.

  • Créez un groupe BGP nommé réflecteur qui sera utilisé pour obtenir des routes Internet à partir d’un réflecteur de route.

  • Créez un groupe BGP nommé interne qui sera utilisé pour affecter le trafic unicast étiqueté à une file d’attente de sortie de priorité supérieure.

  • Créez un groupe RIB dans lequel les routes reçues du réflecteur sont importées.

  • Créez la stratégie qui détermine la partie du inet.0 RIB à importer dans le groupe RIB.

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez-collez les commandes dans le CLI au niveau de la [edit] hiérarchie.

Routeur R2

Routeur R1

Procédure

Procédure étape par étape

L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de la CLI de Junos OS.

Pour configurer R2 :

  1. Configurez un groupe BGP nommé interne.

Procédure étape par étape

Pour configurer R1 :

  1. Configurez un groupe BGP nommé réflecteur qui reçoit des routes du RR.

  2. Configuration d’un groupe BGP nommé interne

  3. Configurer un groupe RIB nommé dans3

  4. Configurer une politique de routage nommée match-long

  5. Configurer une politique de routage nommée match-all

Vérification

Vérification de la bonne hiérarchisation des mises à jour des voisins

Objet

Pour confirmer que les mises à jour de routage sont placées dans les files d’attente appropriées et que les files d’attente sont mises à jour.

Mesures à prendre

Pour afficher les mises à jour de route mises en file d’attente pour le voisin BGP 192.0.2.2, exécutez la show bgp neighbor output-queue 192.0.2.2 commande à partir du mode opérationnel. Les résultats montrent que les routes inet-unicast sont annoncées avant les routes inet-labeled-unicast.

Signification

La sortie de indique que les mises à jour de show bgp neighbor output-queue 192.0.2.2 routage unicast étiquetées sont placées dans la file d’attente de sortie de priorité 2 et que la file d’attente de sortie de priorité 2 est vidée avant les mises à jour de route unicast qui se trouvent dans la file d’attente de sortie de priorité 1.