Aller au contenu principal

3. Extensions du protocole

Aux fins de ce document, nous définissons un locuteur BGP qui ne prend pas en charge les nouvelles extensions de numéros AS à quatre octets comme un ANCIEN locuteur BGP (OLD BGP speaker), et un locuteur BGP qui prend en charge les nouvelles extensions de numéros AS à quatre octets comme un NOUVEAU locuteur BGP (NEW BGP speaker).

BGP transporte les numéros AS dans le champ « My Autonomous System » du message OPEN, dans l'attribut AS_PATH du message UPDATE, et dans l'attribut AGGREGATOR du message UPDATE. BGP transporte également les numéros AS dans l'attribut BGP Communities.

Un NOUVEAU locuteur BGP utilise les annonces de capacités BGP [RFC5492] pour annoncer à ses voisins (internes ou externes) qu'il prend en charge les extensions de numéros AS à quatre octets, comme spécifié dans ce document.

La capacité utilisée par un locuteur BGP pour transmettre à son pair BGP la capacité de numéro de système autonome à quatre octets transporte également le numéro AS (encodé comme une entité de quatre octets) du locuteur dans le champ Capability Value de la capacité. Le champ Capability Length de la capacité est défini à 4.

Les informations de chemin AS échangées entre NOUVEAUX locuteurs BGP sont transportées dans l'attribut AS_PATH existant, sauf que chaque numéro AS dans l'attribut est encodé comme une entité de quatre octets (au lieu d'une entité de deux octets). La même chose s'applique à l'attribut AGGREGATOR -- le même attribut est utilisé entre NOUVEAUX locuteurs BGP, sauf que le numéro AS transporté dans l'attribut est encodé comme une entité de quatre octets.

L'attribut AS_PATH et l'attribut AGGREGATOR transportés entre un NOUVEAU locuteur BGP et un ANCIEN locuteur BGP continueront à contenir des numéros AS à deux octets.

Pour préserver les informations de chemin AS avec des numéros AS à quatre octets à travers les ANCIENS locuteurs BGP, ce document définit un nouvel attribut de chemin BGP appelé AS4_PATH. C'est un attribut optionnel transitif qui contient le chemin AS encodé avec des numéros AS à quatre octets. L'attribut AS4_PATH a la même sémantique et le même encodage que l'attribut AS_PATH, sauf qu'il est « optionnel transitif » et transporte des numéros AS à quatre octets.

Pour empêcher la propagation possible des segments de chemin liés à la confédération en dehors d'une confédération, les types de segments de chemin AS_CONFED_SEQUENCE et AS_CONFED_SET [RFC5065] sont déclarés invalides pour l'attribut AS4_PATH et NE DOIVENT PAS (MUST NOT) être inclus dans l'attribut AS4_PATH d'un message UPDATE.

De même, ce document définit un nouvel attribut de chemin BGP appelé AS4_AGGREGATOR, qui est optionnel transitif. L'attribut AS4_AGGREGATOR a la même sémantique et le même encodage que l'attribut AGGREGATOR, sauf qu'il transporte un numéro AS à quatre octets.

Les numéros AS à deux octets actuellement attribués sont convertis en numéros AS à quatre octets en définissant les deux octets de poids fort du champ de quatre octets à zéro. Un tel numéro AS à quatre octets est dit mappable à un numéro AS à deux octets.

Ce document réserve un numéro AS à deux octets appelé « AS_TRANS ». AS_TRANS peut être utilisé pour représenter des numéros AS à quatre octets non mappables comme des numéros AS à deux octets dans les informations de chemin AS qui sont encodées avec des numéros AS à deux octets. (Dans ce contexte, les numéros AS à quatre octets qui ne sont pas mappés à partir de numéros AS à deux octets sont appelés « non mappables ».) Nous désignons ce numéro AS spécial comme AS_TRANS pour faciliter la description dans le reste de cette spécification. Ce numéro AS est également placé dans le champ « My Autonomous System » du message OPEN émis par un NOUVEAU locuteur BGP, si et seulement si le locuteur n'a pas de numéro AS à deux octets (globalement unique).