IP : Routage IP

Algorithme de sélection de la meilleure route BGP

30 juillet 2013 - Traduction automatique
Autres versions: PDFpdf | Anglais (21 mai 2012) | Commentaires


Contenu


Introduction

Les routeurs de Border Gateway Protocol (BGP) reçoivent généralement plusieurs chemins vers la même destination. L'algorithme du meilleur chemin BGP décide quel est le meilleur chemin à installer dans la table de routage IP et à utiliser pour expédier du trafic.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Composants utilisés

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Pourquoi les routeurs ignorent des chemins

Supposez que tous les chemins qu'un routeur reçoit pour un préfixe particulier sont arrangés dans une liste. La liste est semblable à la sortie de la commande show ip bgp longer-prefixes. Dans ce cas, quelques chemins ne sont pas considérés comme candidats pour le meilleur chemin. De tels chemins n'ont généralement pas d'indicateur valide dans la sortie de la commande show ip bgp longer-prefixes. Les routeurs ignorent des chemins dans ces circonstances :

  • Les chemins qui sont marqués en tant que non synchronisés dans la sortie préfixes plus longs show ip bgp

    Si la synchronization BGP est activée, il doit y avoir une correspondance pour le préfixe dans la table de routage IP afin qu'un chemin interne BGP (iBGP) soit considéré comme un chemin d'accès valide. La synchronization BGP est activée par défaut dans le logiciel Cisco IOS®. Si la route correspondante est apprise d'un voisin Open Shortest Path First (OSPF), l'ID de son routeur OSPF doit correspondre à l'ID du routeur BGP du voisin iBGP. La plupart des utilisateurs préfèrent désactiver la synchronization avec l'utilisation de la commande secondaire no synchronization BGP.

    Remarque: La synchronization est désactivée par défaut dans les versions du logiciel Cisco IOS 12.2(8)T et postérieures.

  • Chemins pour lesquels le NEXT_HOP est inaccessible

    Soyez sûr qu'il y a une route Interior Gateway Protocol (IGP) vers NEXT_HOP qui est associée au chemin.

  • Chemins d'un voisin BGP externe (eBGP) si le système autonome local (AS) apparaît dans l'AS_PATH

    De tels chemins sont refusés à l'entrée dans le routeur et ne sont pas même installés dans la base d'informations de routage BGP (RIB). Le même applique à n'importe quel chemin qui est refusé par une stratégie de routage qui est mise en application par l'intermédiaire de l'accès, du préfixe, de l'AS_PATH, ou des listes de la communauté, à moins que vous ayez configuré le neighbor soft-reconfiguration d'arrivée pour le voisin.

  • Si vous activez bgp enforce-first-as et que UPDATE ne contient pas l'AS du voisin en tant que premier numéro AS dans l'AS_SEQUENCE

    Dans ce cas, le routeur envoie un avis et ferme la session.

  • Les chemins qui sont marqués en tant que (reçus-seulement) dans les préfixes plus longs de show ip bgp

    La politique a rejeté ces chemins. Cependant, le routeur a enregistré les chemins parce que vous avez configuré la soft-reconfiguration entrante pour le voisin qui envoie le chemin.

Comment le meilleur algorithme de chemin fonctionne

BGP assigne le premier chemin d'accès valide en tant que meilleur chemin actuel. BGP compare alors le meilleur chemin avec le prochain chemin dans la liste, jusqu'à ce que BGP atteigne la fin de la liste des chemins d'accès valides. Cette liste fournit les règles qui sont utilisées pour déterminer le meilleur chemin :

  1. Préférez le chemin avec le plus haut POIDS.

    Remarque:  POIDS est un paramètre spécifique à Cisco. Il est local vis-à-vis du routeur sur lequel il est configuré.

  2. Préférez le chemin avec le plus haut LOCAL_PREF.

    Remarque: Un chemin sans LOCAL_PREF est considéré comme ayant eu la valeur définie avec la commande bgp default local-preference , ou comme ayant une valeur de 100 par défaut.

  3. Préférez le chemin qui a été localement lancé par l'intermédiaire d'une commande secondaire BGP network ou aggregate ou de la redistribution d'un IGP.

    Les chemins locaux qui sont créés par les commandesnetwork ou redistribute sont préférés aux agrégats locaux qui sont créés par la commande aggregate-address.

  4. Préférez le chemin avec l'AS_PATH le plus court.

    Remarque: Soyez conscient des éléments suivants :

    • Cette étape est sautée si vous avez configuré la commande bgp bestpath as-path ignore.

    • Un AS_SET compte en tant que 1, indépendamment du nombre d'AS dans l'ensemble.

    • Les AS_CONFED_SEQUENCE et les AS_CONFED_SET ne sont pas inclus dans la longueur de l'AS_PATH.

  5. Préférez le chemin avec le type d'origine le plus bas.

    Remarque: L'IGP est inférieur à l'Exterior Gateway Protocol (EGP) et l'EGP est inférieur à INCOMPLETE.

  6. Préférez le chemin avec le discriminateur de sorties multiples (MED) le plus bas.

    Remarque: Soyez conscient des éléments suivants :

  7. Préférez l'eBGP aux chemins d'iBGP.

    Si le bestpath (meilleur chemin) est sélectionné, passez à l'étape 9 (multivoie).

    Remarque: Les chemins qui contiennent AS_CONFED_SEQUENCE et AS_CONFED_SET sont locaux vis-à-vis de la confédération. Par conséquent, ces chemins sont traités en tant que chemins internes. Il n'y a aucune distinction entre la confédération externe et la confédération interne.

  8. Préférez le chemin avec la métrique IGP la plus basse au prochain saut BGP.

    Continuez, même si le bestpath (meilleur chemin) est déjà sélectionné.

  9. Déterminez si plusieurs chemins impliquent l'installation dans la table de routage pour un trajet multiple BGP.

    Continuez, si le bestpath (meilleur chemin) n'est pas encore sélectionné.

  10. Quand les deux chemins sont externes, préférez le chemin qui a été reçu en premier (le plus ancien).

    Cette étape réduit au minimum la perturbation de la route car le chemin le plus récent ne déplace pas un chemin plus ancien, même si le chemin plus récent était la route préférée basée sur les critères de décision suivants (étapes 11, 12, et 13).

    Sautez cette étape si l'un de ces éléments est vrai :

    • Vous avez activé la commande bgp best path compare-routerid .

      Remarque: Les versions du logiciel Cisco IOS 12.0.11S, 12.0.11SC, 12.0.11S3, 12.1.3, 12.1.3AA, 12.1.3.T, et 12.1.3.E ont introduit cette commande.

    • L'ID du routeur est le même pour plusieurs chemins parce que les routes ont été reçues du même routeur.

    • Il n'y a pas de meilleur chemin actuel.

      Le meilleur chemin actuel peut être détruit quand, par exemple, un voisin qui offre le chemin se désactive.

  11. Préférez la route qui vient du routeur BGP avec l'ID du routeur le plus bas.

    L'ID du routeur est la plus haute adresse IP sur le routeur, la préférence étant donnée aux adresses de bouclage. En outre, vous pouvez utiliser la commande bgp router-id pour établir manuellement l'ID du routeur.

    Remarque: Si un chemin contient des attributs de réflecteur de route (RR), l'ID créateur est substitué par l'ID du routeur dans le processus de sélection du chemin.

  12. Si l'ID créateur ou du routeur est le même pour plusieurs chemins, préférez le chemin avec le minimum de longueur de liste de groupe.

    Ceci est seulement présent dans des environnements BGP RR. Il permet à des clients de s'associer avec des RR ou des clients dans d'autres groupes. Dans ce scénario, le client doit se rendre compte de l'attribut BGP RR spécifique.

  13. Préférez le chemin qui vient de la plus basse adresse du voisin.

    Cette address est l'adresse IP qui est utilisée dans la configuration du voisin du BGP. L'adresse correspond au partenaire distant qui est utilisé dans la connexion TCP avec le routeur local.

Exemple : La meilleure sélection de chemin BGP

Dans cet exemple, 9 chemins sont disponibles pour le réseau 10.30.116.0/23. La commande réseau de show ip bgp affiche les entrées dans la table de routage BGP pour le réseau donné.

Router R1#show ip bgp vpnv4 rd 1100:1001 10.30.116.0/23
BGP routing table entry for 1100:1001:10.30.116.0/23, version 26765275
Paths: (9 available, best #6, no table)
  Advertised to update-groups:
     1          2          3         
  (65001 64955 65003) 65089, (Received from a RR-client)
    172.16.254.226 (metric 20645) from 172.16.224.236 (172.16.224.236)
      Origin IGP, metric 0, localpref 100, valid, confed-internal
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (65008 64955 65003) 65089
    172.16.254.226 (metric 20645) from 10.131.123.71 (10.131.123.71)
      Origin IGP, metric 0, localpref 100, valid, confed-external
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (65001 64955 65003) 65089
    172.16.254.226 (metric 20645) from 172.16.216.253 (172.16.216.253)
      Origin IGP, metric 0, localpref 100, valid, confed-external
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (65001 64955 65003) 65089
    172.16.254.226 (metric 20645) from 172.16.216.252 (172.16.216.252)
      Origin IGP, metric 0, localpref 100, valid, confed-external
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (64955 65003) 65089
    172.16.254.226 (metric 20645) from 10.77.255.57 (10.77.255.57)
      Origin IGP, metric 0, localpref 100, valid, confed-external
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (64955 65003) 65089
    172.16.254.226 (metric 20645) from 10.57.255.11 (10.57.255.11)
      Origin IGP, metric 0, localpref 100, valid, confed-external, best
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362

!--- BGP selects this as the Best Path on comparing 
!--- with all the other routes and selected based on lower router ID.

  (64955 65003) 65089
    172.16.254.226 (metric 20645) from 172.16.224.253 (172.16.224.253)
      Origin IGP, metric 0, localpref 100, valid, confed-internal
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  (65003) 65089
    172.16.254.226 (metric 20645) from 172.16.254.234 (172.16.254.234)
      Origin IGP, metric 0, localpref 100, valid, confed-external
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/362
  65089, (Received from a RR-client)
    172.16.228.226 (metric 20645) from 172.16.228.226 (172.16.228.226)
      Origin IGP, metric 0, localpref 100, valid, confed-internal
      Extended Community: RT:1100:1001
      mpls labels in/out nolabel/278

Le BGP sélectionne le meilleur chemin hors de ces 9 chemins en considérant les divers attributs qui sont expliqués dans ce document. Dans le résultat présenté ici, le BGP compare les chemins disponibles et sélectionne Path# 6 comme meilleur chemin en fonction sur son router-id inférieur.

Comparing path 1 with path 2:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	The paths have different neighbor AS's so ignoring MED
	Both paths are internal
	  (no distinction is made between confed-internal and confed-external)
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 2 is better than path 1 because it has a lower Router-ID.

Comparing path 2 with path 3:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are confed-external
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 2 is better than path 3 because it has a lower Router-ID.

Comparing path 2 with path 4:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are confed-external
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 2 is better than path 4 because it has a lower Router-ID.

Comparing path 2 with path 5:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are confed-external
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 5 is better than path 2 because it has a lower Router-ID.

Comparing path 5 with path 6:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are confed-external
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 5 because it has a lower Router-ID.

Comparing path 6 with path 7:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are internal
	  (no distinction is made between confed-internal and confed-external)
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 7 because it has a lower Router-ID.

Comparing path 6 with path 8:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	Both paths have the same neighbor AS, 65089, so comparing MED.
	Both paths have a MED of 0
	Both paths are confed-external
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 8 because it has a lower Router-ID.

Comparing path 6 with path 9:
	Both paths have reachable next hops
	Both paths have a WEIGHT of 0
	Both paths have a LOCAL_PREF of 100
	Both paths are learned
	Both paths have AS_PATH length 1
	Both paths are of origin IGP
	The paths have different neighbor AS's so ignoring MED
	Both paths are internal
	  (no distinction is made between confed-internal and confed-external)
	Both paths have an IGP metric to the NEXT_HOP of 20645
Path 6 is better than path 9 because it has a lower Router-ID.

The best path is #6

Personnalisez le processus de sélection de la voie d'accès

L'attribut de la communauté étendue, qui s'appelle la Communauté de coût BGP, fournit une manière de personnaliser le meilleur processus de sélection du chemin. Une étape supplémentaire, dans laquelle les communautés de coût sont comparées, est ajoutée à l'algorithme que le comment les meilleurs travaux d'algorithme de chemin sectionnent décrit. Cette étape vient après l'étape requise (point de mise en place) dans l'algorithme. Le chemin avec la valeur la moins coûteuse est préféré.

Remarque: Soyez conscient des éléments suivants :

  • Cette étape est sautée si vous avez émis la commande bgp bestpath cost-community ignore .

  • La clause de l'ensemble de la communauté de coût est configurée avec un numéro ID de communauté de coût (0 à 255) et la valeur du numéro de coût (0 à 4.294.967.295). La valeur du numéro de coût détermine la préférence pour le chemin. Le chemin avec la valeur du numéro le moins coûteux est préféré. Une valeur de numéro de coût par défaut de 2.147.483.647 est assignée aux chemins qui ne sont pas spécifiquement configurés avec la valeur du numéro de coût. Cette valeur est le point médian entre 0 et 4.294.967.295. Ces chemins sont alors évalués en conséquence par le meilleur processus de sélection de la voie d'accès. Si deux chemins sont configurés avec la même valeur de numéro de coût, le processus de sélection de la voie d'accès préfère le chemin avec l'ID de communauté le plus bas. Si les chemins ont inégal le pré-bestpath a coûté les communautés, le chemin avec la communauté inférieure de coût de pré-bestpath est sélectionné comme meilleur chemin.

  • L'ABSOLUTE_VALUE est considéré la première étape en déterminant le degré de préférence d'un chemin. Par exemple, quand l'EIGRP est redistribué à BGP VPNv4, le type ABSOLUTE_VALUE est utilisé pour la communauté de coût. L'IGB_Cost est considéré après que la distance intérieure (d'IGP) au prochain saut ait été comparée. Ceci signifie que les communautés de coût avec le point IGP_COST de mise en place sont considérées après l'étape 8 de l'algorithme dans la façon dont le meilleur algorithme de chemin fonctionne.

BGP par trajets multiples

BGP par trajets multiples permet l'installation dans la table de routage IP des chemins aux BGP multiples vers la même destination. Ces chemins sont installés dans la table conjointement avec le meilleur chemin pour le partage de charge. BGP par trajets multiples n'affecte pas la sélection de bestpath (meilleur chemin). Par exemple, un routeur indique toujours un des chemins comme le meilleur chemin, selon l'algorithme, et annonce ce meilleur chemin à ses voisins.

Voici les fonctionnalités BGP par trajets multiples :

Afin d'être candidats aux trajets multiples, les chemins vers la même destination nécessitent d'avoir ces fonctionnalités égales aux fonctionnalités de meilleur-chemin :

  • Poids

  • Préférence locale

  • Longueur AS-PATH (CHEMIN-AS)

  • Origine

  • MED

  • Un de ces éléments :

Quelques fonctionnalités BGP par trajets multiples imposent des conditions supplémentaires pour les candidats par trajets multiples.

Voici les conditions supplémentaires pour l'eBGP par trajets multiples :

  • Le chemin devrait être appris d'un voisin externe ou d'une confédération-externe (eBGP).

  • La métrique IGP vers le prochain saut BGP devrait être égale à la métrique IGP vers le meilleur-chemin.

Voici les conditions supplémentaires pour les trajets multiples iBGP :

  • Le chemin devrait être appris d'un voisin interne (iBGP).

  • La métrique IGP vers le prochain saut BGP devrait être égale à la métrique IGP du meilleur-chemin , à moins que le routeur soit configuré pour des trajets multiples de coût inégal iBGP.

Le BGP insère jusqu'à n voies d'accès les plus récemment reçues des candidats par trajets multiples dans la table de routage IP. La valeur maximale de n est actuellement de 6. La valeur par défaut, si les trajets multiples sont désactivés, est de 1.

Pour l'équilibrage de charge de coût inégal, vous pouvez également utiliser la bande passante de la liaison BGP.

Remarque: Le prochain auto-saut équivalent est exécuté sur le meilleur chemin qui est sélectionné parmi des trajets multiples d'eBGP avant qu'il soit expédié aux partenaires internes.

Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Informations connexes


Document ID: 13753