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 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 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 à l’implémentation.

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 de modernisation des routes et de l’assistance au redémarrage progressif. Pour gérer la grande quantité d’informations à traiter, le traitement des routes BGP est effectué à l’aide de files d’attente. Les routes sortantes sont placées dans les files d’attente de sortie pour traitement. La hiérarchisation des routes BGP est introduite dans la version 16.1 de Junos OS 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 de commander les informations envoyées aux routeurs homologues BGP.

Dans la configuration par défaut, c’est-à-dire lorsqu’il n’y a pas output-queue-priority de configuration ou de stratégie qui remplace la priorité, le processus de protocole de routage (rpd) enque les routes BGP dans la file d’attente de sortie par base d’informations de routage (RIB). Un RIB, également connu sous le nom de table de routage, correspond à la fois à une famille d’adresses spécifique, comme inet.0, et à des tables d’instances 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 qui a une file d’attente de sortie non vide.

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

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

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

Tableau 1 montre les types de routes qui bénéficieraient de la hiérarchisation des routes et quelques notes sur les avantages qu’ils en tireraient. Des exemples de ces types de routes sont également inclus. La hiérarchisation de ces routes dans un environnement à grande échelle peut aider les routeurs à réagir plus rapidement aux changements de route importants.

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

Type de routage ou de mise à jour

Notes

Exemple

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

Ces préfixes doivent être modifiés dès que possible.

  • Routes hôtes

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

Routes utilisées pour les terminaux 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 temporelles au sein du protocole. Les modifications de ces routes doivent être effectuées le plus rapidement possible.

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

  • Sites VPLS multi-hébergements

Routes d’infrastructure des fournisseurs de services

Ces routes sont essentielles à la capacité d’un fournisseur de services à mener des activités. Sans 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 internes

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

  • Ressources DNS

Changements de topologie du réseau

Celles-ci doivent être priorisées avant de simples modernisations de route.

  • Nouveau routeur ajouté au réseau

  • Routeurs retiré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) qui sont servies 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’attribution 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 faible, moyenne et haute priorité, 1 étant la priorité la plus faible et 16 étant 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 tout en vidant la file d’attente de sortie. Cette file d’attente n’a pas de numéro et est mentionnée dans la configuration par son nom.

1 (priorité la plus faible)

Il s’agit de la file d’attente de sortie la plus faible priorité. Il s’agit de la file d’attente de priorité par défaut, c’est-à-dire 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 dans cette file d’attente par défaut. Les messages d’actualisation de route sont placés dans cette file d’attente par défaut.

2 - 16 (faible à haute priorité)

Ces files d’attente de sortie vont de la priorité la plus faible (2) à la priorité la plus élevée (16). Ils se voient attribuer des routes en fonction de la stratégie utilisateur ou de la configuration pair BGP. Les routes dans une file d’attente de sortie de priorité plus élevée peuvent les préempter dans les files d’attente de priorité inférieure.

Attribution de routes aux files d’attente

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

Mécanisme de jeton de travail

Les jetons correspondent à l’œuvre de création d’un message de mise à jour BGP. Toutes les files d’attente sont affectées à des jetons 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 [edit protocols bgp] niveau hiérarchique. Par défaut, toutes les files d’attente de priorité ont au moins 1 jeton dans leur compartiment pour s’assurer que les priorités mal configurées ne souffrent pas.

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

Le schéma utilisé pour hiérarchiser les routes BGP repose 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 de faire du travail à un moment donné. Le nombre de jetons assignés à chaque file d’attente est déterminé par le nombre de jetons assigné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, présumons trois classes de priorité : faible, moyen et élevé. Ces derniers peuvent être assignés aux files d’attente 1, 2 et 3, respectivement. Ils peuvent également être assigné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, le moyen obtient 35 %, et le bas obtient les 15 % restants, les jetons peuvent être assignés en tant que 50 à haut, 35 à moyen et 15 à bas. Alternativement, les jetons peuvent être assignés en tant que 5 à haut, 4 à moyen et 2 à faible. Vous pouvez affecter n’importe quelle valeur entre 1 et 100 dans les 17 files d’attente. Le rapport entre le nombre de jetons dans une file d’attente unique 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 cours 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.

Tableau 3 : Files d’attente et jetons

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

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

Nombre de jetons laissés en file d’attente

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

Élevé (9)

50

50

0

Moyen (6)

35

15

 5 000

Faible (3)

15

15

10000

Si nous partons du principe que le planificateur 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 faible priorité. 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 50 jetons dans la file d’attente accélérée.

Procédure de service de file d’attente

La procédure de service de file d’attente fonctionne par groupe d’homologues BGP, chaque groupe conservant ses propres compartiments de jetons.

  • Les compartiments de jetons pour chaque priorité commencent à plein, soit au nombre configuré de jetons, soit à 1 par défaut.

  • Chaque fois qu’une entrée de route est extraite d’une file d’attente pour lancer 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 sont tirées de la file d’attente accélérée, sous réserve des règles d’emballage de route.

  • Les entrées sont retirées de la file d’attente la plus prioritaire. Cela signifie que si des entrées sont ajoutées à une file d’attente de priorité plus élevée entre les exécutions du mécanisme de service de file d’attente, et que des jetons sont disponibles dans cette file d’attente de priorité plus élevée, les nouvelles entrées de la file d’attente de priorité supérieure sont envoyées en premier, ce qui préemptant les entrées dans les files d’attente de priorité inférieures. 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 du jeton.

  • Les jetons sont actualisés une fois que toutes les files d’attente de priorité ont été serviceées (il n’y a plus d’entrées 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é globale de la famille d’adresses

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 :

  • 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 s’exécute sur le routeur.

Présentation

Le planificateur de priorité de routage 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 assignés. Les 17 files d’attente de sortie hiérarchisées (1 à 16 et accélérées) ont 1 jeton assigné par défaut. Un nombre de jetons compris entre 1 et 100 peut être assigné à chacune des 17 files d’attente. L’attribution 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 des 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 configurerons également les priorités de sortie globales pour les routes inet unicast et démontrerons l’héritage en configurant certains groupes BGP pour remplacer les paramètres de priorité globaux.

Configuration

  • Assignez 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 highet mediumprioritaires low .

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

  • Configurez un groupe BGP nommé test1 qui affiche les capacités de remplacement des groupes.

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

Configuration rapide cli

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

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

Procédure étape par étape

Dans l’exemple suivant, vous devez parcourir différents niveaux de la hiérarchie de configuration. Pour plus d’informations sur la navigation dans l’interface cli, consultez Utilisation de l’éditeur CLI en mode de configuration dans le Guide de l’utilisateur de l’interface cli Junos OS.

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

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

Procédure étape par étape

Résultats

Pour confirmer la configuration, émettez la commande depuis le show bgp output-scheduler mode opérationnel :

Configurer les priorités globales de sortie pour une famille de routes

Procédure

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

Configurer un test nommé BGP Group1

Procédure

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

Configurer un test nommé BGP Group2

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, émettez la commande depuis le show bgp output-scheduler mode opérationnel.

Action

Sens

Le résultat 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 faible ont été assigné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 démontrent la substitution de groupe, le remplacement du voisin et l’héritage, émettez la show bgp group group-name commande à partir du mode opérationnel.

Action
Sens

Le résultat montre que la priorité de la file d’attente de sortie pour peer 224.223.2.2 est 7, la priorité d’actualisation du routage 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 du routage 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, émettez la show bgp group group-name commande au niveau opérationnel.

Action
Sens

Le résultat 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 l’objectif de l’exemple.

  • Un deuxième routeur (R2) configuré en tant qu’homologue 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 ne configurerons pas 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 gre ou MPLS des points de terminaison de tunnel, sont envoyées avant les mises à jour de route BGP moins importantes, telles que les mises à jour de modernisation de route.

Dans cet exemple, nous allons configurer le protocole 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 routage. Pour ce faire, nous allons configurer le routeur R2 pour qu’il accepte les deux inet unicast et inet labeled-unicast les routes de son routeur homologue, R1. Ensuite, nous remplirons la table de routage sur R1 inet.0 à partir d’un réflecteur de route et importerons une partie de cette table dans la table, inet.3 à l’aide rib-group de l’importationlabeled-unicast. Comme les routes sont en file d’attente sur le R1, nous pouvons valider l’opération en observant si les routes dans le inet.3 RIB sont rincées avant le reste des routes dans le 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 que pair de 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 prioritaire.

  • 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 importée dans le groupe RIB.

Configuration rapide cli

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

Routeur R2

Routeur R1

Procédure

Procédure étape par étape

Dans l’exemple suivant, vous devez parcourir différents niveaux de la hiérarchie de configuration. Pour plus d’informations sur la navigation dans l’interface cli, consultez Utilisation de l’éditeur CLI en mode de configuration dans le Guide de l’utilisateur de l’interface cli Junos OS.

Pour configurer le R2 :

  1. Configurez un groupe BGP nommé interne.

Procédure étape par étape

Pour configurer le R1 :

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

  2. Configurer un groupe BGP nommé interne

  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érifier que les mises à jour des voisins sont correctement hiérarchisées

But

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

Action

Pour voir les mises à jour de route qui sont en file d’attente pour le voisin BGP 192.0.2.2, émettez la commande depuis le show bgp neighbor output-queue 192.0.2.2 mode opérationnel

Sens

Le résultat montre show bgp neighbor output-queue 192.0.2.2 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 de sortie de priorité 2 est vidée avant que les mises à jour de route unicast qui se trouvent dans la file d’attente de sortie de priorité 1.