5.1.3. NEXT_HOP
5.1.3. NEXT_HOP
NEXT_HOP est un attribut obligatoire bien connu qui définit l'adresse IP du routeur qui DEVRAIT être utilisé comme prochain saut vers les destinations listées dans le message UPDATE. L'attribut NEXT_HOP est calculé comme suit :
-
Lors de l'envoi d'un message à un pair interne, si la route n'est pas d'origine locale, le locuteur BGP NE DEVRAIT PAS modifier l'attribut NEXT_HOP à moins qu'il n'ait été explicitement configuré pour annoncer sa propre adresse IP comme NEXT_HOP. Lors de l'annonce d'une route d'origine locale à un pair interne, le locuteur BGP DEVRAIT utiliser l'adresse d'interface du routeur par lequel le réseau annoncé est accessible pour le locuteur comme NEXT_HOP. Si la route est directement connectée au locuteur, ou si l'adresse d'interface du routeur par lequel le réseau annoncé est accessible pour le locuteur est l'adresse du pair interne, alors le locuteur BGP DEVRAIT utiliser sa propre adresse IP pour l'attribut NEXT_HOP (l'adresse de l'interface qui est utilisée pour atteindre le pair).
-
Lors de l'envoi d'un message à un pair externe, X, et que le pair est à un saut IP du locuteur :
-
Si la route annoncée a été apprise d'un pair interne ou est d'origine locale, le locuteur BGP peut utiliser une adresse d'interface du routeur pair interne (ou le routeur interne) par lequel le réseau annoncé est accessible pour le locuteur pour l'attribut NEXT_HOP, à condition que le pair X partage un sous-réseau commun avec cette adresse. C'est une forme d'attribut NEXT_HOP "tiers".
-
Sinon, si la route annoncée a été apprise d'un pair externe, le locuteur peut utiliser une adresse IP de n'importe quel routeur adjacent (connu de l'attribut NEXT_HOP reçu) que le locuteur lui-même utilise pour le calcul de route locale dans l'attribut NEXT_HOP, à condition que le pair X partage un sous-réseau commun avec cette adresse. C'est une seconde forme d'attribut NEXT_HOP "tiers".
-
Sinon, si le pair externe auquel la route est annoncée partage un sous-réseau commun avec l'une des interfaces du locuteur BGP annonceur, le locuteur PEUT utiliser l'adresse IP associée à une telle interface dans l'attribut NEXT_HOP. Ceci est connu comme un attribut NEXT_HOP "première partie".
-
Par défaut (si aucune des conditions ci-dessus ne s'applique), le locuteur BGP DEVRAIT utiliser l'adresse IP de l'interface que le locuteur utilise pour établir la connexion BGP avec le pair X dans l'attribut NEXT_HOP.
-
-
Lors de l'envoi d'un message à un pair externe X, et que le pair est à plusieurs sauts IP du locuteur (alias "EBGP multi-sauts") :
-
Le locuteur PEUT être configuré pour propager l'attribut NEXT_HOP. Dans ce cas, lors de l'annonce d'une route que le locuteur a apprise de l'un de ses pairs, l'attribut NEXT_HOP de la route annoncée est exactement le même que l'attribut NEXT_HOP de la route apprise (le locuteur ne modifie pas l'attribut NEXT_HOP).
-
Par défaut, le locuteur BGP DEVRAIT utiliser l'adresse IP de l'interface que le locuteur utilise dans l'attribut NEXT_HOP pour établir la connexion BGP avec le pair X.
-
Normalement, l'attribut NEXT_HOP est choisi de telle sorte que le chemin disponible le plus court sera pris. Un locuteur BGP DOIT être capable de supporter la désactivation de l'annonce d'attributs NEXT_HOP tiers afin de gérer des supports imparfaitement pontés.
Une route initiée par un locuteur BGP NE DOIT PAS être annoncée à un pair utilisant une adresse de ce pair comme NEXT_HOP. Un locuteur BGP NE DOIT PAS installer une route avec lui-même comme prochain saut.
L'attribut NEXT_HOP est utilisé par le locuteur BGP pour déterminer l'interface de sortie réelle et l'adresse de prochain saut immédiat qui DEVRAIT être utilisée pour acheminer les paquets de transit vers les destinations associées.
L'adresse de prochain saut immédiat est déterminée en effectuant une opération de recherche de route récursive pour l'adresse IP dans l'attribut NEXT_HOP, en utilisant le contenu de la Table de Routage, en sélectionnant une entrée si plusieurs entrées de coût égal existent. L'entrée de la Table de Routage qui résout l'adresse IP dans l'attribut NEXT_HOP spécifiera toujours l'interface de sortie. Si l'entrée spécifie un sous-réseau attaché, mais ne spécifie pas d'adresse de prochain saut, alors l'adresse dans l'attribut NEXT_HOP DEVRAIT être utilisée comme adresse de prochain saut immédiat. Si l'entrée spécifie également l'adresse de prochain saut, cette adresse DEVRAIT être utilisée comme adresse de prochain saut immédiat pour l'acheminement des paquets.