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 BGP soit l’un des protocoles de routage les plus largement utilisés aujourd’hui, transportant non seulement des informations d’accessibilité de la couche réseau (NLRI), mais également de nombreux types d’informations d’accessibilité VPN, il est à noter que le protocole ne spécifie 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 du routage et lors d’un redémarrage normal. Afin de gérer la grande quantité d’informations à traiter, le traitement du routage BGP s’effectue à l’aide de files d’attente. Les routes sortantes sont placées dans des files d’attente de sortie pour traitement. La hiérarchisation des routes BGP est introduite dans Junos OS version 16.1 pour 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 homologues pair BGP.

Dans la configuration par défaut, c’est-à-dire lorsqu’il n’existe aucune configuration ou stratégie prévalant sur 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 output-queue-priority de routage (RIB). Un RIB, également appelé 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 du RIB actuel avant de passer au RIB suivant dont la file d’attente de sortie n’est pas 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 homologue, les sessions pair BGP sont réinitialisées.

Cas d’utilisation de la hiérarchisation des routes BGP

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

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

Type d’itinéraire ou de mise à jour

Notes

Exemple

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

Les modifications apportées à 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 sauts suivants BGP.

Routes unicast étiqueté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 sensibles au temps au sein du protocole. Des modifications doivent être apportées à ces itinéraires dans les plus brefs délais.

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

  • Sites VPLS multirésidents

Routes d’infrastructure pour fournisseurs de services

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

  • Réseaux de gestion interne

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

  • Ressources DNS

Modifications de la topologie du réseau

Ceux-ci doivent être priorisés avant les simples actualisations d’itinéraires.

  • Ajout d’un nouveau routeur au réseau

  • Routeurs supprimés du réseau

Propriétés de la hiérarchisation des routes BGP

La hiérarchisation des routes BGP dans Junos OS est implémentée à l’aide d’un ensemble de 17 files d’attente de sortie hiérarchisées (numérotées) 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

Tableau 2 Affiche 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é basse, 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 hiérarchisées

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 d’une partie du traitement de la file d’attente de sortie lors du vidage de la file d’attente de sortie. Cette file d’attente n’a pas de numéro et est référencé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 affectation explicite de file d’attente provenant de la détermination automatique du protocole ou de la stratégie utilisateur sont placées dans cette file d’attente par défaut. Les messages d’actualisation de l’itinéraire sont placés dans cette file d’attente par défaut.

2 - 16 (priorité basse - haute)

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 de la stratégie utilisateur ou de la configuration pair BGP. Les routes d’une file d’attente de sortie de priorité plus élevée peuvent préempter les routes des files d’attente de priorité inférieure.

Affectation d’itinéraires aux files d’attente

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

Mécanisme de jeton de travail

Les jetons correspondent au travail de création d’un message de mise à jour BGP. Toutes les files d’attente se voient attribuer des jetons 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 au sein de 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 : Équité et priorité :

  • L’équité signifie que lorsqu’il y a du travail à faire dans une file d’attente donnée, d’autres files d’attente sont garanties d’avoir du travail à faire à 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, moyen et élevé. Ceux-ci peuvent être attribués aux files d’attente 1, 2 et 3, respectivement. Alternativement, ils peuvent ê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 obtient 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. Tableau 3 montre le point de départ d’un exemple de ceci.

Tableau 3 : Files d’attente et jetons

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

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

Nombre de jetons restants dans la file d’attente

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

Haute (9)

50

50

0

Moyen (6)

35

15

 5 000

Faible (3)

15

15

10000

Si nous supposons que l’ordonnanceur de travail traite la file d’attente moyenne (file d’attente numéro 6) et qu’il a dépensé 20 jetons, il reste 15 jetons à dépenser sur les entrées restantes dans la file d’attente moyenne et 15 jetons à dépenser dans la file d’attente de priorité inférieure. 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 homologues pair BGP, chaque groupe conservant ses propres compartiments de jetons.

  • Les compartiments de jetons pour chaque priorité démarrent pleins soit au nombre de jetons configuré, soit à 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 ait 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’empilage d’itinéraire.

  • 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 lorsque les nouvelles entrées arrivent, les nouvelles entrées ne sont envoyées qu’après la prochaine actualisation des jetons.

  • Les jetons sont actualisés une fois que toutes les files d’attente prioritaires ont été traitées (il ne reste plus aucune entrée dans une 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 routage BGP à l’échelle du système.

Conditions préalables

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 des routes BGP, assurez-vous que le protocole BGP est en cours d’exécution sur le routeur.

Présentation

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 attribué par défaut. N’importe quel nombre de jetons 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 itinéraires à l’intérieur des files d’attente. En outre, les paramètres par défaut pour la mise en file d’attente de priorité élevée, moyenne et basse peuvent être configurés en attribuant 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 de sortie globales pour les routes unicast inet et démontrer l’héritage en configurant certains groupes BGP pour remplacer les paramètres de priorité globaux.

Configuration

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

  • Spécifiez les files d’attente numérotées qui seront utilisées comme files d’attente par défaut high, medium, et low prioritaires.

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

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

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

Configuration rapide de l’interface de ligne de commande

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 et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie.

Configuration des files d’attente prioritaires 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 l’interface de ligne de commande, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration du Guide de l’utilisateur de l’interface de ligne de commande Junos OS.

  1. Attribuez des jetons de mise à jour à chacune des 17 files d’attente de sortie classées par ordre de priorité

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

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 de sortie globales pour une famille d’itinéraires

Procédure

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

Configurer un test nommé par un groupe BGP1

Procédure

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

Configurer un test nommé par un groupe BGP2

Procédure étape par étape
  1. Configurez le groupe test2 BGP pour qu’il accepte les valeurs globales par défaut.

Vérification

Vérification de la configuration du planificateur de sortie BGP

But

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

Action

Sens

La sortie montre 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 basse ont été attribués aux files d’attente de sortie appropriées.

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

But

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

Action
Sens

La sortie indique que la priorité de la file d’attente de sortie pour l’homologue 224.223.2.2 est 7, la priorité d’actualisation de la route est 8 et 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 l’itinéraire est 6 et la priorité de retrait est le paramètre par défaut pour la famille inet unicast, ou 3.

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

But

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.

Action
Sens

La sortie montre que les priorités de route 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 des routes 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.

Conditions préalables

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 qui sera au centre de l’exemple.

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

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

Présentation

La fonctionnalité de hiérarchisation des routes 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 des routes BGP permet à l’utilisateur de s’assurer que les mises à jour de route BGP plus importantes, telles que les modifications des points de terminaison de tunnel GRE ou MPLS, sont envoyées avant les mises à jour de route BGP moins importantes, telles que les mises à jour d’actualisation de route.

Dans cet exemple, nous allons configurer R1 pour traiter inet labeled-unicast les mises à jour d’itinéraire vers R2 comme une priorité plus élevée que les mises à jour d’itinéraire inet unicast . Pour ce faire, nous allons configurer le routeur R2 pour qu’il accepte à la fois inet unicast les routes et inet labeled-unicast de son routeur homologue, R1. Ensuite, nous allons remplir inet.0 la table de routage sur R1 à partir d’un réflecteur de route et importer une partie de cette table dans la labeled-unicast table, inet.3 à l’aide de l’importationrib-group. 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 qu’homologue pair BGP de R1.

Sur R1 :

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

  • Créez un groupe BGP nommé reflector 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é plus élevée.

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

  • Créez la stratégie qui détermine quelle partie du inet.0 RIB est importée dans le groupe RIB.

Configuration rapide de l’interface de ligne de commande

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 et collez les commandes dans l’interface de ligne de commande 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 l’interface de ligne de commande, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration du Guide de l’utilisateur de l’interface de ligne de commande Junos OS.

Pour configurer R2 :

  1. Configurez un groupe BGP nommé internal.

Procédure étape par étape

Pour configurer R1 :

  1. Configurez un groupe BGP nommé reflector qui reçoit les routes du RR.

  2. Configurer un groupe BGP nommé internal

  3. Configurer un groupe RIB nommé into3

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

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

Vérification

Vérification que les mises à jour de voisinage sont correctement hiérarchisées

But

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

Action

Pour afficher les mises à jour de route mises en file d’attente pour le BGP voisin 192.0.2.2, exécutez la show bgp neighbor output-queue 192.0.2.2 commande à partir du mode opérationnel

Sens

La sortie de indique que les mises à jour de route 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 show bgp neighbor output-queue 192.0.2.2 route unicast qui se trouvent dans la file d’attente de sortie de priorité 1.