Académique Documents
Professionnel Documents
Culture Documents
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Réseaux IP 2 900 − 1
PROTOCOLE DE ROUTAGE BGP-IV _________________________________________________________________________________________________________
Sigle Désignation
AFI (Address Family Identifier) Indication véhiculée dans certains attributs du protocole BGP-IV, pour indiquer l’identité du protocole de
communication auquel se référe l’annonce caractéristique du message de type UPDATE correspondant.
AS (Autonomous System) Un système autonome est une communauté de routeurs placée sous la responsabilité d’exploitation d’une
entité administrative dûment identifiée.
ATM (Asynchronous Transfer Mode de transmission d’informations qui s’appuie en particulier sur la commutation d’unités de longueur
Mode) fixe, appelées « cellules ».
BGP-IV (Border Gateway Protocol) Protocole de routage dynamique interdomaine (un domaine étant un ensemble de routeurs formant une
version 4 communauté gérée par une entité administrative unique. Le domaine correspond à la notion de « système
autonome »).
CIDR (Classless Inter-Domain Technique d’agrégation d’adresses qui permet d’optimiser la volumétrie du trafic de service lié à
Routing) l’échange d’informations de routage entre routeurs appartenant à des systèmes autonomes distincts, et
qui rend caduque la notion de classes d’adresses, telle que définie dans la spécification du protocole IPv4
[RFC-791].
EGP (Exterior Gateway Protocol) Sigle générique qui s’applique à tout protocole de routage dynamique susceptible d’être activé entre deux
systèmes autonomes (AS).
FIB (Forwarding Information Base) Table d’acheminement d’un routeur utilisée pour identifier le next hop et, partant, l’interface de sortie vers
laquelle un datagramme IP doit être commuté afin qu’il puisse être transmis selon l’information consignée
dans le champ «adresse destination» de son en-tête. La FIB est alimentée par des informations mainte-
nues dans la ou les table(s) de routage du routeur. Certaine littérature parle abusivement de « table de
routage » pour désigner ce qui est en réalité une table d’acheminement.
FSM (Finite State Machine) Machine d’états finis qui décrit un processus de fonctionnement applicable en particulier à un protocole.
HDLC (High level Data Link L’un des modes de tramage utilisé par la couche liaison du modèle OSI.
Control)
IDR (Inter-Domain Routing) Nom de l’un des groupes de travail de l’IETF, mandaté pour la production de spécifications relatives au
routage inter-domaines. C’est au sein de ce groupe de travail que les spécifications relatives au protocole
BGP évoluent.
IDRP (Inter-Domain Routing Protocole de type EGP spécifié par l’organisme de normalisation ISO.
Protocol)
IETF (Internet Engineering Task Organisme international impliqué dans la standardisation des protocoles, fonctions et services suscep-
Force) tibles d’être mis en œuvre par un réseau, un service ou une application qui s’appuie sur la suite de proto-
coles TCP/IP.
IGP (Interior Gateway Protocol) Sigle générique qui s’applique à tout protocole de routage dynamique susceptible d’être activé à l’inté-
rieur d’un domaine, ou système autonome (AS).
IP (Internet Protocol)
IRR (Internet Routing Registry) Serveur de routes consulté par certains des routeurs BGP mis en place au sein du réseau Internet, afin
qu’ils puissent alimenter leurs tables de routage. Les informations consignées dans un IRR sont (parfois)
formalisées selon la syntaxe du langage RPSL.
ISO (International Standards Organisme de standardisation international, impliqué notamment dans la production de normes de télé-
Organization) communications.
LAN (Local Area Network) Sigle générique utilisé pour désigner un réseau local, quelle que puisse être la méthode utilisée pour
accéder au support de ce réseau local. A titre d’exemple, la technologie Ethernet est l’une des technologies
de LAN les plus repandues.
MD5 (Message Digest, version 5) Algorithme qui permet de mettre en œuvre un processus de signature numérique utilisé dans le contexte
de la sécurisation d’une communication.
MIB (Management Information Base de données d’informations relatives à la gestion d’un équipement, d’un réseau, d’un service.
Base)
NAP (Network Access Point) Lieu d’échange d’informations de routage, moyennant l’hébergement de routeurs appartenant à différents
fournisseurs de services (d’accès au réseau Internet) qui ont conclu des accords (d’échange de routes)
bilatéraux (sinon multilatéraux), et, généralement, l’utilisation d’une technique de communication (de
niveau liaison, par référence au modèle OSI), choisie pour ses hautes performances (en termes de paquets
commutés par seconde, par exemple).
NLRI (Network Layer Reachability Information (éventuellement) consignée dans les messages de type UPDATE tels que véhiculés par le pro-
Information) tocole BGP-IV, et renseignant l’identité d’une destination, exprimée sous la forme d’une adresse (IP).
OSI (Open Systems Modèle en 7 couches défini par l’organisme de standardisation international ISO.
Interconnection)
OSPF (Open Shortest Path First) Protocole de routage dynamique de type IGP et de la famille «link state».
PDU (Protocol Data Unit) Unité de données de transmission définie dans la spécification du protocole IP [RFC-791].
RFC (Request For Comments) Document de spécification produit par la communauté IETF. Un RFC peut constituer un standard.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
IP 2 900 − 2 © Techniques de l’Ingénieur, traité Réseaux
_________________________________________________________________________________________________________ PROTOCOLE DE ROUTAGE BGP-IV
RIB (Routing Information Base) Table de routage maintenue par un routeur, et alimentée par des informations recueillies grâce à l’activa-
tion d’un protocole de routage dynamique.
RIP (Routing Information Protocol) Protocole de routage dynamique de type IGP, qui s’appuie sur le calcul probabiliste de Bellman-Ford,
moyennant l’utilisation d’une métrique particulière : le nombre de sauts (hop count).
RPSL (Routing Policy Specification Langage utilisé pour décrire les caractéristiques d’une politique de routage et, partant, consigner les infor-
Language) mations de routage maintenues par un équipement de type IRR.
SHA (Secure Hashing Algorithm) Algorithme qui permet de mettre en œuvre un processus de signature numérique utilisé dans le contexte
de la sécurisation d’une communication.
SNPA (Sub-Network Point Information utilisée par un routeur BGP-IV (et véhiculée dans l’attribut MP_REACH_NLRI) pour rendre
of Attachment) compte de l’identité du point d’attachement du routeur à une connexion donnée.
TCP (Transmission Control Protocole permettant de rendre un service orienté connexion.
Protocol)
TLV (Type, Longueur, Valeur) Processus de codage d’une information.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Réseaux IP 2 900 − 3
PROTOCOLE DE ROUTAGE BGP-IV _________________________________________________________________________________________________________
1.3 De l’inadéquation des IGP aux besoins La principale motivation qui a conduit à la spécification, à la stan-
dardisation et au développement de protocoles de type EGP est la
de communication entre systèmes suivante : puisque les métriques (et leur valorisation) des protocoles
autonomes de routage dynamique de type IGP peuvent être comprises diffé-
remment par des routeurs appartenant à des systèmes autonomes
distincts, les informations d’accessibilité de réseaux échangées
La découpe du réseau Internet en systèmes autonomes ne justifie entre systèmes autonomes devraient s’affranchir de l’utilisation de
pas, a priori, la classification IGP/EGP telle qu’elle a été présentée métriques.
dans le paragraphe 1.2, puisque l’échange des informations d’acces- Ainsi, un routeur d’un système autonome A se contenterait
sibilité à des réseaux IP entre systèmes autonomes repose sur l’acti- d’annoncer à un ou plusieurs routeurs appartenant aux systèmes
vation d’un protocole de routage dynamique (un processus de autonomes B, C, etc., l’ensemble des réseaux qu’il sait atteindre,
routage statique est généralement exclu pour les raisons dévelop- ainsi que les systèmes autonomes qu’il est nécessaire de traverser
pées dans le paragraphe 1.1), ce qui constitue une condition suffi- pour atteindre ces réseaux. Ce concept quasi élémentaire est celui
sante. qui est mis en pratique par les protocoles de routage dynamique de
Des lors, pourquoi ne pas mettre en œuvre un protocole de type type EGP, et il est appelé routage de type « chemin vectoriel » (path
IGP, que celui-ci utilise les ressources d’un algorithme de calcul de vector routing) [RFC-1771] [STALLINGS98].
distance vectorielle, ou celles d’un algorithme de calcul de coût de Un protocole de type EGP présente donc les caractéristiques
liens (à des réseaux adjacents) ? La réponse à cette question est suivantes :
développée dans les lignes suivantes.
— les informations échangées entre routeurs de systèmes auto-
■ Un routeur qui met en œuvre un protocole de routage dynamique nomes différents ne contiennent aucun renseignement relatif à l’uti-
de type « distance vector » annonce à ses voisins l’ensemble des lisation d’une métrique ou à la valorisation d’un coût particulier ;
réseaux qu’il peut atteindre sous la forme d’une liste vectorielle, — les informations échangées entre routeurs de systèmes auto-
laquelle consigne en particulier la valeur du chemin associé à cha- nomes différents sont des informations qui décrivent un ensemble
que réseau dont le routeur a la connaissance. Chaque routeur du de routes qui permettent d’atteindre un ensemble de réseaux, en
réseau construit sa table de routage sur la foi des informations termes de systèmes autonomes traversés par chaque route pour
consignées dans les listes vectorielles échangées, mais ces informa- atteindre une destination donnée.
tions ne donnent aucune indication quant à l’identité des routeurs et Cette seconde caractéristique permet à un routeur de mettre en
des réseaux qui jalonnent un chemin qui permet d’atteindre un œuvre une politique de routage définie par l’administrateur d’un
réseau donné, ce qui peut poser quelques difficultés lorsqu’il s’agit système autonome (et des routeurs qui le composent), de telle sorte
d’échanger des informations d’accessibilité entre systèmes auto- que ce routeur puisse par exemple décider d’éviter d’emprunter
nomes : telle route parce qu’elle traverse des systèmes autonomes dont le
— le protocole de routage dynamique de type « distance vector » degré de fiabilité – la fiabilité d’un système autonome est une notion
suppose que tous les routeurs qui l’activent ont une compréhension évidemment arbitraire (et donc largement discutable), mais elle
commune de la métrique qui leur permet de sélectionner tel routeur peut toutefois être caractérisée de différentes façons, telles que le
plutôt que tel autre, ce qui n’est pas forcément le cas d’un système taux de perte de datagrammes observé sur les liens qui permettent
autonome à l’autre ; d’accéder au système autonome incriminé, ou encore les temps de
— la politique d’acheminement du trafic au sein d’un système transit comparés pour atteindre une destination donnée – (tel qu’il
autonome peut être définie de telle sorte que la communication pourrait être perçu par un administrateur), est incompatible avec le
avec certains systèmes autonomes soit interdite pour échanger des caractère sensible du trafic susceptible d’emprunter cette route.
informations d’accessibilité de certains réseaux, alors que les infor- L’acheminement du trafic IP sur le réseau Internet suppose donc la
mations véhiculées par les annonces échangées entre les routeurs traversée de plusieurs systèmes autonomes et partant, l’activation
qui activent un protocole de routage dynamique de type « distance d’un protocole de routage dynamique de type EGP entre les rou-
vector » ne permettent pas de renseigner et, a fortiori, d’appliquer teurs qui composent ces différents systèmes autonomes. Le proto-
ce genre de politique. cole BGP-IV [RFC-1771] est aujourd’hui le protocole de routage inter-
AS déployé au sein du réseau Internet. Le protocole BGP est né de
■ Un routeur qui met en œuvre un protocole de routage dynamique
l’expérience acquise au cours des premières phases de développe-
de type « link state » annonce quant à lui des informations compo-
ment du réseau Internet au travers du déploiement du réseau
sées de coûts affectés aux liens qui le raccordent à autant de
NSFNET (National Science Foundation NETwork), grâce à la spécifi-
réseaux adjacents à tous les autres routeurs avec lesquels il est sus-
cation et à l’implantation du protocole EGP [RFC-904] [RFC-1092]
ceptible de communiquer, de sorte que chacun de ces routeurs bâtit
[RFC-1093].
une image de la topologie complète du réseau dont il acquiert ainsi
la connaissance (en termes de configuration, notamment), pour La version 4 du protocole BGP est aujourd’hui la version déployée
ensuite procéder à la détermination des routes qui permettent au sein du réseau Internet. Les paragraphes suivants proposent de
d’accéder à un ensemble de réseaux. Ce mode de diffusion des décrire le principe de fonctionnement de ce protocole, son forma-
informations d’accessibilité de réseaux pose là encore des difficul- lisme, son processus de décision, ainsi que les quelques règles
tés lorsqu’il s’agit de faire communiquer des routeurs de différents d’ingénierie élémentaires qui régissent l’interconnexion de systè-
systèmes autonomes entre eux : mes autonomes.
— les systèmes autonomes n’ont pas nécessairement une com-
préhension identique des métriques utilisées, ce qui peut avoir des
conséquences sur la cohérence des informations consignées dans
les tables de routage de routeurs appartenant à des systèmes auto- 2. Protocole BGP-IV
nomes différents ;
— le mode de diffusion d’un protocole de type « link state » peut
rapidement se révéler incompatible avec des réseaux de grande
taille, compte tenu de la volumétrie du trafic associé à la diffusion de 2.1 Généralités
ces informations d’accessibilité, volumétrie qui serait de nature à
pénaliser l’acheminement du trafic utile au sein des réseaux
déployés sur les différents systèmes autonomes susceptibles de La fonction principale d’un routeur qui active le protocole BGP
communiquer entre eux. consiste à échanger des informations d’accessibilité de réseaux IP
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
IP 2 900 − 4 © Techniques de l’Ingénieur, traité Réseaux
_________________________________________________________________________________________________________ PROTOCOLE DE ROUTAGE BGP-IV
avec d’autres routeurs qui activent le protocole BGP. Ces informa- — la table de routage Adj-RIB-Out, qui consigne l’intégralité des
tions incluent la liste des AS qu’elles ont traversés et suffisent donc routes qui seront annoncées par le routeur BGP. Ce sont les routes
à construire un graphe représentatif de la connectivité des systèmes qui ont été sélectionnées par le processus de décision évoqué
autonomes, graphe à partir duquel il sera possible d’éviter des phé- précédemment ;
nomènes de boucles (qui conduisent à la formation de « trous — la table de routage Loc-RIB, qui consigne l’intégralité des rou-
noirs » capables de rendre un réseau IP totalement inopérant) et tes qui seront utilisées par le routeur BGP et, parmi ces routes, figu-
grâce auquel il sera possible de mettre en œuvre des politiques de rent celles qui seront ensuite stockées dans la table de routage Adj-
routage définies par l’administrateur d’un système autonome. RIB-Out.
Nota : dans toute la suite de ce document, les sigles BGP et BGP-IV seront indifférem-
ment employés pour désigner le protocole BGP-IV. La distinction qui est faite entre ces trois tables de routage se jus-
Le protocole BGP s’appuie sur la couche TCP (Transmission Con- tifie surtout d’un point de vue conceptuel, puisque la pratique des
trol Protocol) [RFC-793], port 179), ce qui permet de s’affranchir de la implantations du protocole BGP-IV montre que la plupart des solu-
nécessité de supporter explicitement (i.e. par le protocole BGP lui- tions constructeurs ont choisi de n’implanter qu’une seule table de
même) les fonctions de fragmentation, de retransmission, d’acquit- routage, mais pourvue d’autant de pointeurs que nécessaire,
tement et de séquencement qui sont des fonctions naturellement conformément à la spécification du protocole.
supportées par le protocole TCP.
Le mode de fonctionnement du protocole BGP entre deux routeurs
qui l’activent peut être succinctement décrit selon la chronologie 2.2 Formalisme du protocole BGP-IV
suivante :
— les routeurs BGP établissent une connexion TCP entre eux, en
échangeant des messages destinés à ouvrir cette connexion puis à 2.2.1 Définition d’une connexion BGP-IV
confirmer les paramètres caractéristiques de la connexion ;
— une fois la connexion établie, le premier échange d’informa-
tions est constitué de l’intégralité du contenu de la table BGP ; Si deux routeurs tentent d’établir d’une manière exactement
— des informations sont ensuite échangées d’une manière dyna- simultanée une connexion TCP vers l’autre, il y a un phénomène de
mique sous forme d’annonces spécifiques à mesure que le contenu « collision de connexions ». En vertu du principe d’unicité d’une
de l’une ou l’autre des tables BGP de l’un ou l’autre des routeurs a connexion BGP entre deux routeurs, une convention est définie
changé. Dans la mesure où le protocole n’impose pas un rafraîchis- pour déterminer quelle est la connexion qui doit être préservée.
sement périodique de l’intégralité du contenu de la table de routage Cette convention s’appuie sur la notion « d’identifiant BGP » (cf.
BGP, chaque routeur doit conserver la version courante de l’intégra- § 2.2.2.2), et le principe d’unicité est respecté en comparant les iden-
lité du contenu de l’ensemble des tables de routage maintenues par tifiants BGP respectifs des deux routeurs : c’est la connexion initiali-
les routeurs BGP avec lesquels il a établi une connexion. sée par le routeur dont l’identifiant BGP est le plus élevé qui sera
maintenue. Dans la pratique, l’identifiant BGP correspond à la
Des messages spécifiques sont envoyés d’une manière périodi- valeur numériquement « la plus élevée » (l’adresse 10.0.0.1/24 est
que de façon à maintenir la connexion active, tandis que des notifi- par exemple « plus élevée » que l’adresse 1.0.0.1/8) des adresses IP
cations sont envoyées en réponse à des erreurs de transmission ou, affectées au routeur.
d’une manière générale, sous certaines conditions. La réception
d’une notification entraîne la rupture de la connexion entre les deux
routeurs BGP incriminés, mais la brutalité de cette rupture est en
principe modulée par la souplesse fonctionnelle du protocole TCP 2.2.2 Différents types de messages BGP-IV
qui se charge normalement d’assurer la transmission effective des
données en cours d’échange avant de procéder effectivement à la 2.2.2.1 En-tête du message BGP-IV
rupture de la connexion.
Chaque message BGP-IV échangé entre deux routeurs est pourvu
Si le protocole BGP-IV est un protocole de type EGP, il n’en reste
d’un en-tête représenté sur la figure 2 :
pas moins vrai que des routeurs appartenant au même système auto-
nome ont la capacité d’établir des connexions BGP entre eux, ce qui — la taille minimale d’un message BGP-IV est de 19 octets (soit la
conduit à la typologie suivante : longueur de l’en-tête seul), et sa taille maximale est de 4096 octets ;
— les connexions établies entre des routeurs BGP appartenant à — le champ « marqueur » peut être utilisé pour détecter une
des AS distincts sont qualifiées « d’externes » (external links). De perte de synchronisation entre deux routeurs BGP, mais aussi pour
telles connexions sont de type « eBGP » (external BGP) ; authentifier les messages BGP reçus par un routeur ;
— les connexions établies entre des routeurs BGP appartenant au — le champ « longueur » indique la longueur totale du message
même AS sont qualifiées « d’internes » (internal links). De telles (exprimée en octets), et cette valeur inclut l’en-tête du message ;
connexions sont de type « iBGP » (internal BGP). — le champ « type » indique le type de message BGP-IV.
Les connexions de type iBGP sont justifiées par la volonté de main-
tenir une vue cohérente de l’ensemble des routes externes au sys-
tème autonome par l’ensemble des routeurs qui composent le
système autonome. De la même façon, un protocole de routage 0 1 2 3
dynamique de type IGP permet de maintenir une vue cohérente de 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
l’ensemble des routes internes au système autonome.
Une route, c’est-à-dire l’information globalement véhiculée dans
le contexte d’une connexion BGP, est constituée de l’association
d’une destination (adresse IP) et des caractéristiques (ou attributs)
du chemin qui mène à cette destination. À la réception de cette infor- Marqueur
mation, le routeur va stocker celle-ci dans la table de routage BGP
qui est en fait constituée de trois tables de routage distinctes :
— la table de routage Adj-RIB-In, qui consigne l’intégralité des
routes annoncées au routeur BGP par les routeurs avec lesquels une Longueur Type
connexion BGP a été établie. Cette table contient donc l’information
qui sera manipulée par le processus de décision BGP ; Figure 2 – Format de l’en-tête d’un message BGP-IV
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Réseaux IP 2 900 − 5
PROTOCOLE DE ROUTAGE BGP-IV _________________________________________________________________________________________________________
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Withdrawn Routes Length (2 octets)
Figure 3 – Message de type OPEN version 4 du protocole BGP intègre la capacité d’agrégation d’adres-
ses IP, qui, au sens CIDR (Classless Inter-Domain Routing) [RFC-
1519], rend caduque la notion de classes d’adresses. Ainsi, on peut
par exemple imaginer un agrégat d’adresses de la forme 192.0.0.0/8
Il existe quatre types de messages BGP-IV : OPEN (type 1), qui pouvaient être accessibles par les routes retirées du service ;
UPDATE (type 2), NOTIFICATION (type 3) et KEEPALIVE (type 4).
— le champ « Total Path Attribute Length » indique la longueur
totale du champ « Path Attributes » en octets. Lorsque le champ
2.2.2.2 Message de type OPEN « Total Path Attribute Length » est valorisé à « 0 », cela signifie qu’il
Lorsque la connexion TCP est établie entre deux routeurs, le pre- n’y a pas de champ NLRI (Network Layer Reachability Information,
mier message échangé est un message de type OPEN. Si le mes- cf. § 2.2.2.3.1) contenu dans le message de type UPDATE ;
sage est acceptable par le routeur BGP qui le reçoit, celui-ci envoie — le champ « Path Attributes » contient une suite (ou une
un message de type KEEPALIVE en retour. Lorsque le message de séquence, i.e. l’ordre dans lequel les attributs et leurs valeurs asso-
type OPEN est confirmé, alors des messages de type KEEPALIVE, ciées a un sens) d’attributs qui sont autant de caractéristiques de la
UPDATE et NOTIFICATION peuvent être échangés entre les deux route consignée dans le champ NLRI. Chaque attribut est codé selon
routeurs BGP. le principe TLV (Type, Longueur, Valeur) (cf. § 2.2.2.3.2) ;
— le champ NLRI contient la liste des préfixes réseau qui sont
Le message de type OPEN contient les champs suivants
accessibles par la route décrite dans le champ « Path Attributes » ;
(figure 3) :
— la longueur minimale d’un message de type UPDATE est de
— le champ « mon système autonome » indique le numéro d’AS 23 octets (les 19 octets de l’en-tête d’un message BGP, associés aux
du routeur qui a émis le message de type OPEN ; 2 octets du champ « Unfeasible Routes Length » et aux 2 octets du
— le champ « Hold Time » indique la proposition (exprimée en champ « Total Path Attribute Length » ;
secondes) de l’émetteur du message de type OPEN pour la valeur
— un message de type UPDATE peut annoncer au maximum une
maximale de la période de temps qui s’écoule entre la réception de
route, qui peut être décrite par plusieurs attributs. Ces caractéristi-
deux messages de type KEEPALIVE (et/ou de type UPDATE) consécu-
ques sont applicables à l’ensemble des préfixes réseau consignés
tifs. Sur réception du message de type OPEN, un routeur BGP doit
dans le champ NLRI. De même, un message de type UPDATE peut
calculer cette valeur, par comparaison de celle consignée dans le
dresser la liste de plusieurs routes retirées du service, chacune de
champ « Hold Time » du message reçu, et celle qui a été configurée
ces routes étant identifiée par le préfixe réseau qu’elle permettait
par le gestionnaire du routeur. La valeur du champ « Hold Time » est
d’atteindre (sa destination). Un message de type UPDATE peut ne
soit « 0 », soit une valeur au moins égale à 3 secondes ;
pas contenir d’annonce de route (le champ « Total Path Attribute
— le champ « Identifiant BGP » correspond à l’adresse IP affectée
Length » est alors valorisé à « 0 »), mais simplement une liste des
au routeur pour son identification (au sens de la connexion BGP-IV) ;
routes retirées du service.
— le champ « paramètres optionnels » contient la liste des para-
mètres optionnels susceptibles d’être véhiculés dans le message de 2.2.2.3.1 Description du champ NLRI
type OPEN. Ces paramètres sont codés selon le principe TLV (Type
Longueur Valeur). La spécification actuelle [RFC-1771] n’a défini Le champ NLRI contient une liste de préfixes IP et codé selon une
qu’un seul paramètre (type 1) – le paramètre « Authentication ou plusieurs association(s) de type [longueur (sur un octet) ; préfixe
Information », destiné à être utilisé pour procéder à l’authentifica- (longueur variable)]. Le champ « longueur » indique la longueur (en
tion d’un routeur BGP-IV (le document [RFC-2385] définit un proces- bits) du préfixe IP auquel elle se réfère. Le champ « Préfixe » con-
sus d’authentification de routeurs BGP-IV qui s’appuie sur tient les préfixes IP accessibles par la route qui fait l’objet de
l’utilisation d’une signature MD5/SHA-1). l’annonceur et dont les caractéristiques sont applicables à l’ensem-
ble des préfixes destination consignés dans le champ NLRI.
2.2.2.3 Message de type UPDATE 2.2.2.3.2 Attributs BGP-IV
Les messages de type UPDATE constituent la pierre angulaire du Les attributs BGP-IV, tels qu’ils sont véhiculés dans le champ
routage BGP puisque c’est ce formalisme qui permet de véhiculer « Path Attributes », sont classés en quatre catégories [RFC-1771] :
les informations d’accessibilité de réseaux. Les annonces consi- — les attributs de type « well-known mandatory ». Ces attributs
gnées dans les messages de type UPDATE peuvent être utilisées par doivent être supportés par toute implantation du protocole BGP-IV
les routeurs BGP pour construire le graphe qui permettra de décrire qui revendique une conformité au standard [RFC-1771], et doivent
les relations entre les systèmes autonomes. être inclus dans tout message de type UPDATE qui contient un
Un message UPDATE contient une annonce relative à l’accessibi- champ NLRI ;
lité d’un réseau et/ou des indications relatives au retrait des routes — les attributs de type « well-known discretionary ». Ces attributs
qui ne sont plus utilisables, conformément au formalisme décrit doivent être supportés par toute implantation du protocole BGP-IV
dans la figure 4 suivante : qui revendique une conformité au standard [RFC-1771] mais peu-
— le champ « Withdrawn Routes » (« routes retirées »), de lon- vent ne pas être inclus dans un message de type UPDATE ;
gueur variable, contient la liste des préfixes réseau IP – La notion de — les attributs de type « optional transitive » ;
« préfixe réseau » est importante, puisqu’elle signifie que la — les attributs de type « optional non-transitive ».
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
IP 2 900 − 6 © Techniques de l’Ingénieur, traité Réseaux
_________________________________________________________________________________________________________ PROTOCOLE DE ROUTAGE BGP-IV
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Réseaux IP 2 900 − 7
PROTOCOLE DE ROUTAGE BGP-IV _________________________________________________________________________________________________________
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
IP 2 900 − 8 © Techniques de l’Ingénieur, traité Réseaux
_________________________________________________________________________________________________________ PROTOCOLE DE ROUTAGE BGP-IV
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Réseaux IP 2 900 − 9
PROTOCOLE DE ROUTAGE BGP-IV _________________________________________________________________________________________________________
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
IP 2 900 − 10 © Techniques de l’Ingénieur, traité Réseaux
_________________________________________________________________________________________________________ PROTOCOLE DE ROUTAGE BGP-IV
— la volumétrie de l’information véhiculée dans les annonces peut L’amortissement fournit un moyen de limiter la propagation de
elle-même être réduite, par exemple, par la possible agrégation de changements de routes trop fréquents lorsque la communication est
routes (cf. § 2.2.2.3.8) associée à l’utilisation de l’attribut AS_PATH intermittente. En appliquant ce type d’algorithme à leur propre infor-
dont la valeur est exprimée sous forme de suite non ordonnée (Cf. mation de routage, les fournisseurs de services IP réduisent d’autant
§ 2.2.2.3.4) de numéros de systèmes autonomes qui ne sont men- leur nécessité de faire appel aux autres fournisseurs de service avec
tionnés qu’une seule fois, indépendamment du nombre de fois où lesquels ils échangent des informations de routage, afin que ces
ces numéros sont apparus dans les attributs AS_PATH correspon- derniers appliquent eux-mêmes une politique d’amortissement
dant aux différentes annonces de routes qui ont précisément fait d’oscillation.
l’objet de l’agrégation.
Par ailleurs, le document [RFC-2439] propose un mécanisme
capable de réduire la charge des processeurs impliqués dans le trai-
tement des messages BGP, lorsqu’un phénomène d’instabilité de
3.3 Politiques de routage BGP
routes persiste – ce phénomène conduisant systématiquement à la
réactivation du processus de décision BGP et à la mise à jour du con-
Le protocole BGP-IV permet d’appliquer une politique de routage
tenu des tables affectées par cette instabilité.
définie par l’entité responsable de la gestion du système autonome et
Ce mécanisme qui permet à la fois de s’affranchir d’un possible de ses composantes, et prise en compte en particulier dans l’activa-
phénomène d’oscillation (effet secondaire important d’un phéno- tion du processus de sélection des routes qui seront installées dans
mène d’instabilité) et de maintenir un temps de convergence (le les tables Adj-RIB-Out et FIB des routeurs BGP, et qui seront annon-
temps de convergence est le temps au bout duquel un routeur a cées, le cas échéant, aux composantes d’autres systèmes autono-
déterminé une route pour atteindre une destination donnée) compa- mes.
rable à celui pris pour déterminer une route permettant d’accéder à
une destination donnée, s’appuie sur des techniques communé- À titre d’exemple, le protocole BGP-IV permet :
ment appelées « route flap damping » (littéralement, amortissement — à un AS de type multihomed de refuser d’acheminer le trafic
d’oscillation (battement, sic.) de routes). de transit, en limitant les annonces à celles dont le champ NLRI est
constitué de préfixes internes au système autonome ;
Les algorithmes d’amortissement ont pour principal objectif de limi-
ter la charge volumétrique induite par le trafic des messages de type — à un AS de type multihomed de restreindre l’acheminement
UPDATE sans pour autant pénaliser le temps de convergence associé d’un trafic de transit à destination d’un ensemble de systèmes auto-
à la détermination de routes prétendument stables, ce qui impose un nomes adjacents (c’est-à-dire accessibles au travers de l’établisse-
effort de définition de la stabilité d’une route, de sorte qu’une partie ment de connexions BGP entre des routeurs qui partagent un
de l’algorithme puisse être capable de faire la distinction entre les rou- réseau IP commun), en limitant les annonces (à ces systèmes auto-
tes stables et les routes instables. nomes adjacents) à celles dont les champs NLRI comportent non
seulement des préfixes internes au système autonome concerné,
La proposition décrite dans le document [RFC-2439] s’appuie en mais aussi des préfixes caractéristiques des systèmes autonomes
particulier sur la valorisation des paramètres de configuration pour lesquels l’AS de type « multihomed » accepte de véhiculer le
suivants : trafic de transit ;
— cutoff threshold, exprimé en nombre de retraits de routes (de la — à un AS de privilégier certains systèmes autonomes pour
table d’acheminement du routeur, NDLA). Ce paramètre identifie la l’acheminement de son trafic de transit (par exemple l’opérateur
valeur au-delà de laquelle une annonce sera supprimée ; France Télécom peut privilégier l’utilisation du réseau Sprint plutôt
— reuse threshold, exprimé lui aussi en nombre de retraits de rou- que celle du réseau MCI pour le trafic IP à destination et en prove-
tes. Ce paramètre identifie la valeur en dessous de laquelle une route nance des États-Unis) ;
supprimée pourra de nouveau être utilisée ; — à un AS de minimiser le nombre de systèmes autonomes de
— maximum hold down time. Ce paramètre caractérise le temps transit, en fonction des informations consignées dans l’attribut
maximum pendant lequel une route peut être supprimée, indépen- AS_PATH d’une annonce : « plus le nombre de systèmes autonomes
damment de son degré d’instabilité ; traversés est faible pour atteindre une destination donnée, meilleure
— decay half time while reachable : ce paramètre caractérise la sera la route » est un exemple de règle destinée à orienter le choix du
durée (exprimée en minutes ou en secondes) pendant laquelle la processus de sélection de routes ;
valeur accumulée de la stabilité d’une route (extraite de ce que le — à un AS d’apprécier la qualité d’une route en fonction des indi-
document [RFC-2439] appelle la « figure de mérite », c’est-à-dire un cations consignées dans l’attribut AS_PATH et de la connaissance de
moyen pour le routeur de se représenter le degré de stabilité/insta- l’entité gestionnaire de ce système autonome des caractéristiques
bilité d’une route) sera réduite de moitié, si la route est considérée des AS consignés dans l’attribut AS_PATH d’une annonce, caracté-
comme « accessible », i.e. utilisable pour atteindre la destination ristiques telles que la capacité des liens d’interconnexion des routeurs
que cette route caractérise (que cette route ait été supprimée ou non composant les différents systèmes autonomes identifiés dans
de la table) ; l’annonce, ou encore la probabilité de congestion telle qu’elle peut
— decay half life while unreachable : ce paramètre caractérise la être perçue (par tous moyens appropriés, non nécessairement liés au
durée (exprimée en minutes ou en secondes) pendant laquelle la fait d’activer le protocole BGP-IV. Parmi ces moyens, il est possible
valeur accumulée de la stabilité d’une route sera réduite de moitié, si de citer les techniques d’analyse statistique de trafic, telles que
la route est considérée comme inaccessible ; RMON (Remote network MONitoring MIB) [RFC-2021] au sein des
— delay memory limit : ce paramètre caractérise le temps maximal NAP (Network Access Point), lieux d’échange d’informations de rou-
retenu par la mémoire (du routeur) d’une instabilité précédente, tage au travers de connexions eBGP entre les routeurs hébergés
pourvu que l’état de la route concernée soit demeuré inchangé, que dans ces NAP).
cette route soit accessible ou non.
Le document [RFC-2439] rend compte des développements effec-
tués par un universitaire et un constructeur en 1995, et ces techni- 3.4 Contraintes d’échelle
ques d’amortissement d’oscillation sont mises en œuvre d’une
manière opérationnelle depuis 1996 dans certains régions du réseau
Internet. L’expérience montre que l’algorithme ne devrait pas être L’activation du protocole BGP au sein d’un système autonome
appliqué aux routes apprises au travers de communications iBGP, à impose un maillage complet de tous les routeurs BGP du domaine, de
cause des incohérences provoquées par la suppression de ces rou- façon à ce que chacune de ces machines ait une vision commune
tes (suite à une décision de l’algorithme d’amortissement d’oscilla- des routes qui permettent d’accéder à l’ensemble des destinations
tion). externes au système autonome, ce qui suppose l’établissement
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Réseaux IP 2 900 − 11
PROTOCOLE DE ROUTAGE BGP-IV _________________________________________________________________________________________________________
3.4.1 Clusters
Cluster
Le document [RFC-1966] introduit le concept de réflexion de rou- A B E
tes (Route Reflection), qui s’appuie sur la notion de « cluster », un
cluster étant composé de routeurs BGP qui sont clients (Client Peer)
d’un routeur particulier du cluster, appelé le « Route Reflector ». Le C D
principe mis en œuvre par le déploiement de clusters au sein d’un
système autonome est illustré par la figure 8 : AS
— dans un contexte de configuration BGP classique selon lequel
les trois routeurs de la figure bénéficient d’un maillage complet pour
AS système autonome
l’établissement des connexions iBGP, la réception de l’annonce d’une
route par le routeur A conduira celui-ci à retransmettre cette annonce Figure 9 – Exemple de cluster
aux routeurs B et C, pourvu que cette route ait été sélectionnée (par
le routeur A) comme le meilleur chemin pour atteindre les destinations
consignées dans l’annonce. Dès lors, les routeurs B et C, en tant que
routeurs internes au système autonome (vis-à-vis de cette route annoncées par les autres RR d’un cluster puissent être facilement dis-
externe), ne retransmettront pas cette annonce aux autres routeurs tinguées des routes annoncées par les clients de ce même cluster.
iBGP du domaine. Cette règle comportementale peut être modifiée si,
Le CLUSTER_ID est en fait renseigné dans l’attribut
par exemple, le routeur C est autorisé à rendre compte (refléter)
CLUSTER_LIST, de type « optional non transitive » (type code 10),
auprès du routeur B les routes apprises du routeur A par l’entremise
qui est une succession de valeurs de CLUSTER_ID qui représente le
de la connexion iBGP établie entre le routeur C et le routeur A, ce qui,
nombre de RR au travers desquels une annonce donnée a transité.
ipso facto, n’impose plus l’établissement d’une communication iBGP
Lorsqu’un RR reflète une route annoncée par l’un de ses clients
entre le routeur A et le routeur B ;
auprès d’un routeur non client, l’annonce correspondante doit au
— le routeur C devient alors le routeur RR (Route Reflector), dont
moins intégrer la valeur du CLUSTER_ID caractéristique du RR annon-
les clients sont les routeurs A et B de la figure 8 précédente, et dont
ceur, de sorte que des phénomènes de bouclage peuvent ainsi être
les « non clients » sont les routeurs D et E de la figure 9. Les rou-
évités (si l’identifiant du RR est consigné dans l’attribut
teurs clients d’un RR ne devraient pas établir de connexions iBGP
CLUSTER_LIST véhiculé par une annonce transmise à des clients du
avec d’autres routeurs (externes au cluster composé du RR et de ses
RR annonceur, celle-ci sera purement et simplement ignorée).
clients), tandis que les routeurs non clients doivent établir une con-
nexion iBGP entre eux ; Le document [RFC-1966] définit un autre attribut de type
— lorsque le RR reçoit une annonce (de l’un des routeurs non « optional non transitive » (type code 9), l’attribut ORIGINATOR_ID :
clients du cluster auxquels il est connecté), celui-ci active le proces- cet attribut, codé sur 4 octets, sera créé par un RR et véhiculera le
sus de sélection classique du protocole BGP pour déterminer le ROUTER_ID caractéristique du routeur BGP à l’origine d’une
meilleur chemin pour atteindre les destinations indiquées dans annonce au sein du système autonome (dans lequel au moins un
l’annonce. Lorsque le meilleur chemin est sélectionné, l’annonce cor- cluster a été mis en place). Il va de soi qu’un RR ne reflétera jamais
respondante sera faite à l’ensemble des routeurs clients du cluster une route auprès du routeur (du système autonome) qui est à l’ori-
dont le RR fait partie ; gine de l’annonce.
— si l’annonce reçue par le RR est envoyée par un client, cette
route sera reflétée (après activation du processus de sélection de rou-
tes) à l’ensemble des routeurs non clients, ainsi qu’aux routeurs 3.4.1.1 Du danger de déployer des clusters
clients du cluster dont le RR fait partie, à l’exception du routeur client
à l’origine de l’annonce ; Par définition du principe de réflexion des routes, chaque routeur
— si l’annonce reçue par le RR est envoyée par un routeur externe BGP d’un système autonome n’a pas nécessairement une vision
au système autonome auquel appartient le RR, celui-ci reflétera complète de l’ensemble des routes qui permettent d’atteindre une
l’annonce à l’ensemble des routeurs clients et non clients du destination donnée, puisque le RR d’un cluster est conduit à faire
domaine, après activation du processus de sélection de route. une sélection qui fera l’objet de l’annonce correspondante auprès
des routeurs appropriés (clients et/ou non clients du cluster) : la
Un système autonome peut comporter plusieurs clusters (donc plu- route ainsi reflétée est celle qui a été considérée comme la meilleure
sieurs RR), chaque RR étant considéré comme un routeur avec lequel possible par le RR, parmi les multiples chemins qu’il était possible
une connexion iBGP a été établie avec le reste des RR du domaine. Il d’emprunter pour atteindre les destinations consignées dans le
est aussi possible de définir plusieurs RR au sein d’un cluster, à des champ NLRI.
fins de redondance. Dans ce cas, l’identification des RR au sein du
cluster ne s’appuiera plus sur le classique ROUTER_ID, mais sur un Dans le contexte décrit sur la figure 10, le déploiement d’un clus-
identifiant codé sur 4 octets, le CLUSTER_ID, de sorte que les routes ter peut conduire à une prise de décision de routage erronée :
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
IP 2 900 − 12 © Techniques de l’Ingénieur, traité Réseaux
_________________________________________________________________________________________________________ PROTOCOLE DE ROUTAGE BGP-IV
3.4.2 Confédérations
AS1 Cluster # 2 - RR = D
Si la taille d’un système autonome peut être qualifiée en termes de
A nombre de routeurs qui le composent, il existe de par le monde Inter-
D
net des AS de très grande taille (au moins une centaine de routeurs,
typiquement), qu’il peut paraître utile d’organiser en sous-systèmes
autonomes, de façon à s’affranchir (autant que faire se peut) de la
B C E contrainte du maillage complet des routeurs entre lesquels une
communication iBGP a été établie, notamment. De plus, cette subdi-
vision permet de mieux contrôler la politique de routage mise en
place au sein du système autonome, en fonction de l’information
consignée dans l’attribut AS_PATH contenu dans les messages de
Cluster # 1 - RR = A type UPDATE échangés entre les routeurs (par exemple en considé-
G AS3 rant tous les routeurs confinés dans une région géographique don-
née comme une seule entité).
En contrepartie, cette subdivision provoque un accroissement de la
F AS2 H complexité liée à l’application d’une politique de routage BGP-IV qui
s’appuierait essentiellement sur les informations véhiculées dans
l’attribut AS_PATH (augmentation de la longueur de l’attribut, puis-
Figure 10 – Risques liés au déploiement de clusters au sein que la traversée d’un message de type UPDATE au travers des diffé-
d’un système autonome rents sous-domaines d’un système autonome donné augmente
d’autant le contenu de l’attribut). De plus, la complexité de la main-
tenance des tables BGP est accrue par le fait de la nécessaire cohé-
— les routeurs B et C sont les clients du routeur RR A, tandis que sion entre les informations échangées au travers des commu-
le routeur E est client du routeur RR D au sein du même système auto- nications eBGP (c’est-à-dire celles établies entre le système auto-
nome AS1, qui comporte ainsi deux clusters distincts. Les routeurs B nome qui fait l’objet d’une subdivision et le reste du monde) et la
et E ont établi une communication eBGP avec les routeurs F et H d’un topologie du système autonome.
système autonome AS2, tandis que le routeur C a établi une commu- Le protocole IDRP (Inter-Domain Routing Protocol) [IDRP] défini
nication eBGP avec le routeur G appartenant au système autonome par ISO (International Standards Organization), a été le premier à
AS3 ; introduire le concept de « confédération », c’est-à-dire au sens du
— les routeurs F, G, et H annoncent une route identique (c’est-à- protocole BGP-IV, une collection de systèmes autonomes [RFC-
dire une route permettant d’atteindre la même destination, telle que 1965]. Cette collection fait l’objet d’annonces (aux routeurs qui ne
consignée dans le champ NLRI du message de type UPDATE corres- sont pas membres de la confédération) qui n’indiquent en fait que le
pondant), selon les indications suivantes (tous les autres attributs numéro du système autonome pour lequel la confédération a été
ayant des valeurs égales par ailleurs) : mise en place, de sorte que les routeurs qui n’appartiennent pas à ce
système autonome n’ont pas la connaissance de la topologie de
l’AS en question.
Routeur AS ROUTIER_ID MED
Si le protocole IDRP permet de constituer des confédérations imbri-
F AS2 192.134.76.34 10 quées les unes dans les autres, le protocole BGP permet de définir des
G AS3 191.134.76.34 confédérations qui s’appuient notamment sur une extension du
type de l’attribut AS_PATH (cf. § 3.2.2.3.4), extension qui impose la
H AS2 190.134.76.34 20 nature hiérarchique des confédérations BGP. Ces extensions sont
définies par les types supplémentaires suivants :
— on suppose également que le coût (tel que défini par l’activa- — AS_CONFED_SET (type 3), qui définit une suite non ordonnée
tion d’un protocole de type IGP au sein du système autonome AS1) de systèmes autonomes définis au sein de la confédération et que le
associé pour atteindre le routeur B depuis le routeur A (et, a fortiori, message de type UPDATE a traversés ;
le routeur F) est identique à celui pour atteindre le routeur C depuis — AS_CONFED_SEQUENCE (type 4), qui définit une suite ordon-
le routeur A (et, a fortiori, le routeur G). De même, le coût associé née de systèmes autonomes définis au sein de la confédération et
pour atteindre le routeur H depuis le routeur D est identique à celui que le message de type UPDATE a traversés.
pour atteindre les routeurs B et C depuis le routeur D ; Un routeur R membre d’une confédération utilisera à des fins
— compte tenu du tableau précédent, le routeur A choisit la route d’identification l’identifiant de la confédération pour toutes les tran-
qui passe par le routeur G (à cause de la comparaison des sactions effectuées avec des routeurs non membres de la confédé-
ROUTER_ID et de la différence de valeur de l’attribut MED pour les ration, tandis que ce même routeur R utilisera l’identifiant du sous-
routeurs F et H). Le routeur D choisit quant à lui la route qui passe par système autonome auquel il appartient au sein de la confédération
le routeur H (compte tenu de la comparaison entre les ROUTER_ID) ; pour toutes les transactions effectuées avec les routeurs membres de
— si le maillage était complet, le routeur D sélectionnerait la la confédération, que ceux-ci appartiennent ou non au même système
même route que celle choisie par le routeur A (en effet, dans ce cas, autonome que celui auquel appartient le routeur R.
le choix de la route par le routeur F est meilleur que celui par le rou- Lorsqu’un routeur décide de propager une annonce de route, il
teur H (à cause des valeurs respectives de l’attribut MED), mais le devra modifier le contenu de l’attribut AS_PATH véhiculé dans
choix de la route par le routeur G est meilleur que celui de la route l’annonce en fonction de la localisation du récepteur de l’annonce :
par le routeur F (à cause des ROUTER_ID).
— si le récepteur est localisé dans le système autonome auquel
Le problème soulevé par ce cas de figure est lié au caractère appartient l’annonceur, le contenu de l’attribut AS_PATH ne sera
sélectif (quasi déterministe) des RR et à la prise en compte de l’attri- pas modifié ;
but MED dans le processus de sélection. Une solution à ce cas de — si le récepteur est localisé dans un système autonome voisin
figure consisterait à imposer aux RR de ne jamais prendre leur déci- (de celui auquel appartient l’annonceur) faisant partie de la confédé-
sion sur la base d’une analyse de l’attribut MED (ce qui est possible ration, le contenu de l’attribut AS_PATH sera mis à jour, de telle
pour la plupart des solutions proposées par les constructeurs). sorte que :
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Réseaux IP 2 900 − 13
PROTOCOLE DE ROUTAGE BGP-IV _________________________________________________________________________________________________________
• si le type du premier segment de l’attribut AS_PATH est Cette référence astronomique aux « trous noirs » doit ici être com-
AS_CONFED_SEQUENCE, l’annonceur devra rajouter son propre prise comme une illustration pratique du phénomène de « calcul
numéro d’AS comme le dernier élément de la séquence ; infini » (count to infinity) qui illustre l’incapacité d’un routeur à
• si le type du premier segment de l’attribut AS_PATH n’est pas déterminer une route qui permettrait d’atteindre une destination
AS_CONFED_SEQUENCE, l’annonceur devra rajouter un nouveau donnée, et ainsi à absorber l’intégralité du trafic correspondant, en
segment de type AS_CONFED_SEQUENCE, en incluant son pro-
pre identifiant de confédération dans ce segment ; détruisant purement et simplement les datagrammes qui compo-
— si le récepteur est localisé dans un système autonome voisin sent ce trafic...
qui ne fait pas partie de la confédération, l’annonceur devra modifier
le contenu de l’attribut AS_PATH, de telle sorte que : Enfin, l’implantation de la fonction d’injection (ou de redistribution)
est dépendante de la solution constructeur qui supporte cette fonc-
• si le type du premier segment de l’attribut AS_PATH est
tion, au moins en termes de configuration.
AS_CONFED_SEQUENCE, ce segment (et ceux de type
AS_CONFED_SET qui lui sont immédiatement consécutifs)
devront être RETIRES, de sorte que l’attribut AS_PATH ne consi-
gne que l’identifiant du système autonome pour lequel la confé- 3.5.1 Routes statiques
dération a été mise en place (le récepteur de l’annonce n’a donc
pas la connaissance de la topologie confédératrice du système
autonome auquel appartient l’annonceur) ; Les routes statiques sont pas définition des routes qui sont instal-
• si le type du premier segment de l’attribut AS_PATH est lées manuellement dans la table d’acheminement d’un routeur et, par
AS_SEQUENCE (il n’y a donc plus de types conséquent, elles ne seront jamais retirées, à moins d’une volonté
AS_CONFED_SEQUENCE ou AS_CONFED_SET dans l’un quel-
délibérée de l’administrateur du routeur.
conque des segments de l’attribut AS_PATH), l’annonceur devra
rajouter son propre identifiant de confédération (i.e. le numéro du
Lorsqu’elles sont redistribuées dans BGP, les routes statiques sont
système autonome auquel appartient l’annonceur, dans ce cas)
comme le dernier élément de cette séquence ; maintenues d’une manière permanente dans les tables de routage
• s’il n’y a plus de segments après le retrait de segments de BGP, indépendamment du fait que ces routes peuvent être inutilisa-
type AS_CONFED_SEQUENCE/AS_CONFED_SET dans l’attribut bles (à cause d’une rupture de lien, par exemple). Si la redistribution
AS_PATH, l’annonceur devra rajouter un segment de type de routes statiques dans BGP offre d’assez bonnes garanties de sta-
AS_SEQUENCE qui inclura son identifiant de confédération. bilité (compte tenu du caractère permanent de la maintenance de ces
Lorsqu’un routeur R est à l’origine de l’annonce d’une route, R routes), il n’en reste pas moins que ce type d’injection peut présenter
devra inclure un attribut AS_PATH vide dans le message de type des inconvénients si la route en question est annoncée depuis plu-
UPDATE qui sera envoyé à l’ensemble des routeurs BGP qui appar- sieurs endroits du réseau... et qu’elle est inutilisable.
tiennent au même système autonome que celui de l’annonceur.
L’attribut AS_PATH inclura un segment de type Ainsi, si le routeur qui annonce cette route est en fait incapable
AS_CONFED_SEQUENCE, lorsque l’annonce est destinée aux rou- d’atteindre la destination consignée dans le champ NLRI correspon-
teurs d’un système autonome voisin faisant partie de la confédéra- dant, les datagrammes qui composent le trafic destiné à ce préfixe
tion. L’attribut AS_PATH inclura un segment de type seront en revanche détruits, quand bien même il existerait un chemin
AS_SEQUENCE, lorsque l’annonce est destinée aux routeurs d’un
possible pour atteindre cette destination.
système autonome voisin ne faisant pas partie de la confédération.
Par ailleurs, les attributs NEXT_HOP et MED ne devraient pas être
modifiés lorsqu’ils font partie d’un message de type UPDATE trans-
mis par un routeur membre d’une confédération et destiné à des 3.5.2 IGP
routeurs membres de cette même confédération.
En fonction du mécanisme utilisé pour propager l’information véhi-
culée par le protocole BGP-IV au sein d’un système autonome, une
3.5 Politiques de redistribution attention particulière devra être portée pour la cohésion des informa-
tions de routage véhiculées par le ou les protocole(s) de type IGP acti-
vés au sein du système autonome et celles véhiculées par le protocole
La stabilité des routes au sein du réseau Internet est probablement BGP, d’autant plus que les informations relatives à des changements
l’un des soucis majeurs rencontrés par les entités administratives
d’état tels que perçus par ces différents protocoles peuvent être pro-
chargées de gérer les différentes régions du réseau. L’injection
d’informations de routage dans le protocole BGP (plus précisément, pagés à des vitesses différentes au sein du système autonome.
l’alimentation des informations manipulées par le protocole BGP lors
de l’échange de messages de type UPDATE entre deux routeurs, De façon à minimiser autant que faire se peut les risques de trous
peut trouver son origine dans l’activation d’un protocole de routage noirs liés à l’apparition de fenêtres temporelles (telles que celle provo-
dynamique de type IGP au sein du système autonome, ou dans l’uti- quée par la transmission d’une annonce entre deux routeurs BGP à un
lisation de routes statiques) conditionne largement la stabilité des instant t0, et l’instant t1 où le protocole IGP permet effectivement
routes annoncées par le protocole BGP-IV. d’acheminer le trafic vers l’annonceur), les règles élémentaires sui-
L’injection d’informations de routage apprises par le protocole vantes devraient être prises en compte [RFC-1772] : un routeur BGP
BGP dans un protocole de type IGP n’est pas recommandée parce devrait s’abstenir de propager, auprès des routeurs avec lesquels
qu’elle augmente le risque de « trous noirs » (le risque est particuliè- une connexion eBGP a été établie, des annonces de routes qui iden-
rement important lorsque le protocole OSPF [RFC-2328] est activé tifient un « next hop » (au sein du système autonome auquel appar-
au sein du système autonome, parce que ce protocole fait une dis-
tient l’annonceur) tant que l’accessibilité à ce « next hop » n’a pas
tinction entre les routes internes (à une aire OSPF ou au système
autonome, c’est-à-dire les routes qui permettent d’atteindre une été déterminée par le protocole de type IGP activé au sein du sys-
destination interne à l’aire ou au système autonome) et les routes tème autonome, ce qui introduit une fonction de synchronisation
externes, à moins d’activer des fonctions de filtrage extrêmement (dès que l’accessibilité est connue, le routeur BGP envoie
rigoureuses. l’annonce).
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
IP 2 900 − 14 © Techniques de l’Ingénieur, traité Réseaux
_________________________________________________________________________________________________________ PROTOCOLE DE ROUTAGE BGP-IV
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Réseaux IP 2 900 − 15
PROTOCOLE DE ROUTAGE BGP-IV _________________________________________________________________________________________________________
Subsequent Address Family Identifier (1 octet) Subsequent Address Family Identifier (1 octet)
Length of first SNPAs (1 octet) auquel appartient l’annonceur, faute de quoi le récepteur devra
First SNPA (variable) envoyer un message de type NOTIFICATION qui indiquera que
l’attribut AS_PATH a été mal formé.
Length of second SNPA (1 octet)
Network Layer Reachability Information (variable) Le formalisme IPv6 [KASSI98] définit trois types d’adresses uni-
cast [RFC-2373], les adresses globales, les adresses de type SLA
Figure 11 – Attribut MP_REACH_NLRI (Site Local Addresses) et les adresses de type « link-local ». Les
adresses de type SLA ne sauraient être exportées au-delà d’un site,
tandis que seules les adresses de type « link-local » sont utilisées
par certains protocoles de routage dynamique, tels que le protocole
4.2.1 Attribut MP_REACH_NLRI RIP adapté au formalisme IPv6 [RFC-2080].
L’attribut MP_REACH_NLRI est formé d’un ou plusieurs triplets Les adresses de type « link local » ne sont pas adaptées pour être
<Address Family Information, Next Hop Information, NLRI> dont le utilisées par l’attribut NEXT_HOP, compte tenu de sa codification,
formalisme est décrit sur la figure 11 : telle que définie par le document [RFC-1771]. Dans ces conditions,
lorsque le protocole BGP est utilisé pour véhiculer une information
— le champ AFI (Address Family Identifier) identifie le protocole
d’accessibilité de réseaux IPv6, il peut être nécessaire de renseigner
de communication utilisé auquel est associée l’adresse qui suit
le champ « Network Address of Next Hop » de l’attribut
(champ « Network Address of Next Hop »). Le protocole de commu-
MP_REACH_NLRI par une adresse globale et une adresse de type
nication est identifié conformément aux valeurs définies dans le
« link local », dans la mesure où cette dernière est utilisée par le rou-
document [RFC-1700] ;
teur IPv6 pour générer des messages de type ICMP (Internet Control
— le champ sub-AFI (Subsequent Address Family Identifier) four-
Message Protocol) de type ICMP-Redirect [RFC-2461].
nit une information complémentaire à celle consignée dans le
champ NLRI de l’attribut. Trois valeurs ont été définies dans le docu- La longueur du champ « Network Address of Next Hop » de l’attri-
ment [RFC-2283] : but MP_REACH_NLRI sera donc de 16 (lorsque le champ est valorisé
• Type 1 : l’information consignée dans le champ NLRI est asso- par une adresse globale uniquement) ou de 32 octets lorsque le
ciée à un mode de transmission unicast ; champ est valorisé par une adresse globale et une adresse de type
• Type 2 : l’information consignée dans le champ NLRI est alors « link local ».
associée à un mode de transmission multicast ; Les adresses de type « link local » ne seront insérées dans le
• Type 3 : l’information consignée dans le champ NLRI est asso- champ « Network Address of Next Hop » que si et seulement si le
ciée aux modes de transmission unicast et multicast. récepteur partage un subnet commun avec l’annonceur. Dans tous
— le champ « Nth SNPA of Next Hop » est un champ de longueur les autres cas, seule l’adresse globale devra figurer dans le champ
variable qui contient un SNPA (SubNetwork Point of Attachment) du « Network Address of Next Hop ».
routeur dont l’adresse réseau est renseignée dans le champ
« Network Address of Next Hop » de l’attribut ;
— l’information relative au « next hop » par lequel l’ensemble
des destinations consignées dans le champ NLRI est accessible, 4.3 Services de sécurité
définit l’adresse réseau du routeur qui devrait être utilisé pour
atteindre cet ensemble de destinations [se reporter au
paragraphe 2.2.2.3.5 pour la typologie des partis (« first » et C’est un truisme que d’affirmer que les réseaux IP actuellement
« third ») en fonction de la nature de l’annonceur]. déployés présentent des failles en matière de sécurité, de sorte que la
Un message de type UPDATE qui contient l’attribut confidentialité des informations véhiculées par ces réseaux oblige à
MP_REACH_NLRI doit aussi contenir les attributs ORIGIN et déployer des trésors de précaution qui s’appuient sur différentes
AS_PATH, que la communication soit de type eBGP ou de type iBGP. solutions destinées à supporter des fonctions élémentaires telles
Par ailleurs, dans le contexte d’une communication de type eBGP, le que les fonctions suivantes :
récepteur de l’annonce qui contient l’attribut MP_REACH_NLRI aura — la fourniture de certaines garanties quant à l’identité des utili-
pris soin de vérifier que le premier identifiant d’AS consigné dans sateurs d’un réseau IP, ce qui conduit à la mise en place de fonctions
l’attribut AS_PATH correspond effectivement au système autonome d’identification et d’authentification ;
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
IP 2 900 − 16 © Techniques de l’Ingénieur, traité Réseaux
_________________________________________________________________________________________________________ PROTOCOLE DE ROUTAGE BGP-IV
— la fourniture de certaines garanties quant à la protection des Ce mécanisme permet donc de fournir certaines garanties quant à
sites (et des ressources) raccordés au travers d’un réseau IP, ce qui l’identité d’un routeur BGP avec lequel un autre routeur BGP est
conduit généralement à la mise en place de solutions de type pare- censé communiquer. Il n’en reste pas moins vrai que cette solution
feu ; ne constitue que l’une des briques élémentaires à l’édifice des fonc-
— la fourniture de certaines garanties quant à la préservation de tions de sécurité lorsque l’on active le protocole BGP : à titre
la confidentialité des informations véhiculées sur un réseau IP ; d’exemple, l’utilisation de signatures ne garantit en aucune façon la
— la fourniture de certaines garanties quant à l’identité et aux validité des annonces, ce qui a conduit au développement des IRR
droits associés à une ressource de commutation IP donnée, suscep- (Internet Route Registry) [MERIT-RA], qui assurent une sorte de fonc-
tible de fournir des informations d’accessibilité de réseaux. tion d’annuaires de routes.
Pour ce qui concerne les routeurs BGP, l’une des préoccupations Ces annuaires sont consultés par certains (au moins ceux qui
en matière de sécurité porte sur la protection de la connexion TCP dépendent de la même entité administrative qui est chargée d’assu-
contre des attaques telles que des segments TCP simulés (spoofed rer la maintenance de ces serveurs) des routeurs BGP du réseau
TCP segments) [RFC-2385]. Le document [RFC-2385] propose d’utili- Internet pour alimenter les tables Adj-RIB-In, Loc-RIB et Adj-RIB-Out,
ser la signature MD5 (Message-Digest version 5) [RFC-1321], en moyennant l’utilisation d’un langage spécifique RPSL (Routing
appliquant l’algorithme (MD5) sur les entités suivantes (et selon Policy Specification Language) [RFC-2622] qui permet à l’entité ges-
l’ordre chronologique associé) : tionnaire de ces routeurs de mettre en œuvre une politique de rou-
— le pseudo-en-tête TCP (soit, dans l’ordre, l’adresse IP source, tage par l’application des instructions définies dans la syntaxe de ce
l’adresse IP destination, le champ « protocol number » valorisé à langage pour ce qui concerne les informations d’accessibilité de
« 0 », et la longueur du segment TCP) ; réseaux IP telles qu’elles sont consignées dans le serveur de routes
— l’en-tête TCP (options exclues), le checksum (le checksum – RPSL est utilisé pour mettre en forme l’information consignée et
s’appuie généralement sur l’activation d’un code de redondance maintenue par le serveur de routes. La communication entre un rou-
cyclique destiné à qualifier le taux d’erreur associé à la transmission teur BGP et le serveur de routes s’appuie encore (en dépit du fait
d’un datagramme) étant à « 0 » ; que le langage RPSL est conçu de telle sorte qu’il puisse modifier les
— les données contenues dans le segment TCP (s’il y en a) ; configurations des routeurs, moyennant une adaptation (traduction)
— une clé ou un mot de passe, connue des deux routeurs BGP, et entre ce langage et la syntaxe de configuration utilisée par tel ou tel
caractéristique de la connexion BGP. constructeur. Des expérimentations ont été menées avec certains
d’entre eux dans ce sens) sur une communication BGP
Sur réception d’un segment TCP signé, le récepteur devra le vali-
« classique ».
der en calculant son propre condensé (digest) à partir des mêmes
données, et en utilisant sa propre clé. Le résultat sera comparé avec
le condensé communiqué par son interlocuteur BGP, et si le résultat
de cette comparaison aboutit à deux condensés différents, le récep-
teur ne fournira aucune réponse à l’annonceur, la communication 5. Conclusion
TCP sera coupée et, par conséquent, la connexion BGP ne sera
jamais établie.
De cette façon, toute tentative d’attaque malicieuse devra non La richesse fonctionnelle du protocole BGP-IV justifie largement
seulement deviner les numéros de séquence TCP, mais aussi les son déploiement massif au sein du réseau Internet. Les efforts de
mots de passe/clés véhiculés dans les condensés MD5 et qui, par spécification les plus récents devraient conforter cette popularité,
nature, sont chiffrés. L’activation de ce type de mécanisme peut d’autant plus que le protocole BGP-IV permet désormais de véhicu-
avoir un impact sur le temps d’établissement de la connexion TCP, ler d’autres informations de routage que celles caractéristiques du
mais le document [RFC-2385] indique que la génération d’une signa- protocole IPv4 en mode de transmission unicast.
ture pour un segment TCP de type ACK par une machine pourvue En particulier, compte tenu des nombreuses réflexions menées
d’un processeur cadencé à 100 MHz prenait un temps moyen de actuellement au sein de la communauté Internet pour déployer des
0,0268 ms, tandis que la génération d’une signature pour un seg- réseaux IP à qualités de service différenciées, le protocole BGP-IV
ment TCP constitué d’un volume de données de 4096 octets prenait apparaît comme l’une des pierres angulaires de ce qu’il est convenu
un temps moyen de 0,8776 ms, ce qui reste acceptable dans le con- d’appeler le routage à qualité de service [RFC-2386] [RFC-2676],
texte actuel du réseau Internet. Toutefois, l’utilisation d’une signa- dans la mesure où il permet d’ores et déjà de privilégier l’emprunt
ture MD5 entraîne un overhead (l’overhead est le surplus de certains chemins pour atteindre des destinations spécifiques,
d’information induit par l’activation d’une fonction particulière, telle conformément à une politique de routage mise en place par l’entité
qu’une signature ou une encapsulation) d’au moins 18 octets plus gestionnaire d’un système autonome : dans ce cas, les concepts les
important que la longueur de l’en-tête TCP. plus élémentaires d’ingénierie de trafic et de routage par contraintes
Le document [RFC-2385] spécifie l’utilisation de signatures MD5 (par exemple, sélection d’une route spécifique en fonction de la des-
pour la protection des connexions BGP, mais une signature SHA-1 tination qu’elle permet d’atteindre, acheminement du trafic de tran-
(Secure Hashing Algorithm, version 1) pourrait aussi être utilisée, le sit au travers de systèmes autonomes particuliers, etc.) peuvent
cas échéant. déjà caractériser l’usage du protocole BGP-IV.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Réseaux IP 2 900 − 17