5.1.2. AS_PATH
5.1.2. AS_PATH
AS_PATH est un attribut obligatoire bien connu. Cet attribut identifie les systèmes autonomes par lesquels les informations de routage transportées dans ce message UPDATE sont passées. Les composants de cette liste peuvent être des AS_SET ou des AS_SEQUENCE.
Lorsqu'un locuteur BGP propage une route qu'il a apprise d'un message UPDATE d'un autre locuteur BGP, il modifie l'attribut AS_PATH de la route en fonction de l'emplacement du locuteur BGP auquel la route sera envoyée :
a) Lorsqu'un locuteur BGP donné annonce la route à un pair interne, le locuteur annonceur NE DOIT PAS (SHALL NOT) modifier l'attribut AS_PATH associé à la route.
b) Lorsqu'un locuteur BGP donné annonce la route à un pair externe, le locuteur annonceur met à jour l'attribut AS_PATH comme suit :
-
si le premier segment de chemin de l'AS_PATH est de type AS_SEQUENCE, le système local ajoute son propre numéro d'AS comme dernier élément de la séquence (le mettre dans la position la plus à gauche par rapport à la position des octets dans le message de protocole). Si l'acte d'ajouter au début provoque un débordement dans le segment AS_PATH (c'est-à-dire plus de 255 AS), il DEVRAIT ajouter un nouveau segment de type AS_SEQUENCE et ajouter son propre numéro d'AS à ce nouveau segment.
-
si le premier segment de chemin de l'AS_PATH est de type AS_SET, le système local ajoute un nouveau segment de chemin de type AS_SEQUENCE à l'AS_PATH, incluant son propre numéro d'AS dans ce segment.
-
si l'AS_PATH est vide, le système local crée un segment de chemin de type AS_SEQUENCE, place son propre AS dans ce segment et place ce segment dans l'AS_PATH.
Lorsqu'un locuteur BGP est à l'origine d'une route alors :
a) le locuteur d'origine inclut son propre numéro d'AS dans un segment de chemin, de type AS_SEQUENCE, dans l'attribut AS_PATH de tous les messages UPDATE envoyés à un pair externe. Dans ce cas, le numéro d'AS du système autonome du locuteur d'origine sera la seule entrée du segment de chemin, et ce segment de chemin sera le seul segment dans l'attribut AS_PATH.
b) le locuteur d'origine inclut un attribut AS_PATH vide dans tous les messages UPDATE envoyés aux pairs internes. (Un attribut AS_PATH vide est un attribut dont le champ de longueur contient la valeur zéro).
Chaque fois que la modification de l'attribut AS_PATH appelle à inclure ou à ajouter au début le numéro d'AS du système local, le système local PEUT inclure/ajouter plus d'une instance de son propre numéro d'AS dans l'attribut AS_PATH. Ceci est contrôlé via une configuration locale.