Routage

5.1 Généralités

Le routage comporte deux aspects: la retransmission des datagrammes (forwarding ) et la gestion des tables de routage. Chaque routeur dispose d'une table de routage qui établit une correspondance entre l'adresse réseau de destination et la sortie locale. Les protocoles de routage échangent des messages d'état périodiques entre routeurs pour mettre à  jour des tables. Le routage mémorise les routes, affecte un ou plusieurs critères de coût à ces routes, prend en compte les pannes et les modifications. La gestion des tables comporte différents aspects: la diffusion de l'information, le calcul des chemins.
Les routes sont apprises de différentes façons:
  • route par défaut ou routes statiques,
  • routes apprises par un message de redirection ICMP,
  • routes apprises par le protocole de passerelle intérieure (RIP ou OSPF) ,
  • routes apprises par un protocole de passerelle extérieure (EGP, BGP).
  • routage par la source.
Les routes statiques sont définies manuellement sur les routeurs, certains chemins privilégiés sont définis de cette façon (intranet, routes privées), par exemple pour adresser directement le destinataire par un réseau longue distance ("shortcut routing"). Par contre, avec les protocoles de routage, les modifications de l'interconnexion sont prises en compte dynamiquement. La route par défaut est la route empruntée est empruntée en l'absence d'une autre route.

La table de transmission IP détermine vers quelle sortie émettre un datagramme en circulation pour le rapprocher de son destinataire. L'adresse destination pointe dans la table de transmission (forwarding table) pour déterminer la sortie vers laquelle envoyer le datagramme. S'il n'y a ni route explicite, ni route par défaut, le datagramme est rejeté et un message ICMP "destination inaccessible" est envoyé à l'émetteur initial. Le routage IP travaille au niveau de l'adresse réseau et non pas de l'adresse station, cela diminue notablement la taille des tables de routage. Avec l'agrégation d'adresses CIDR, la taille des tables diminue également. Des méthodes de rangement des adresses réseaux dans des arbres binaires sont employées pour retrouver un  réseau  IP dans une table. En général, la recherche est de type "longest match", le préfixe le plus long présent dans la table est retenu. Chaque interface d'un routeur a une adresse IP utilisée par le routage. Une des difficultés du routage IP vient de l'absence de notion géographique dans l'adresse IP. Les tables de routage devront donc être exhaustives. Pour les numérotations du type téléphonique ou X25 (norme X121) à numérotation géographique, les tables sont donc statiques.
Selon le protocole de routage, les messages de routage circulent sur le niveau 2, IP, UDP ou TCP.

Les problèmes de sécurité d'un protocole de routage sont importants, en effet un client mal intentionné connecté au réseau peut envoyer des trames de contrôle de routage depuis un micro-ordinateur pour détourner du trafic.

Un routeur est administré à l'aide de commandes. "Show" protocol affiche les caractéristiques du protocole concerné. Redistribute précise les routes à exporter entre protocoles de routages différents d'un même routeur.

5.1.1 Algorithmes de routage

Nous distinguons les algorithmes de routage à vecteur distance et  à état de lien. Avec l'algorithme distribué dit "vecteur distance" l'émetteur transmet le tableau des distances avec les routeurs qu'il connaît. Avec l'algorithme "link state", c'est l'état des liaisons d'un routeur qui est transmis. Les algorithmes "link state" sont plus coûteux en mémoire et en temps de traitement. Par contre, comme chaque routeur a une connaissance globale du réseau, les routes sont calculées localement et non par convergence distribuée comme pour l'algorithme "vecteur distance".

Les principaux mécanismes distribués employés par le routage sont: l'inondation, le plus court chemin, l'arbre de recouvrement minimal, l'élection du routeur désigné. Les principes de la numérotation en séquence et de marquage temporel sont également mis en œuvre. L'un des problèmes du routage est la cohérence des informations. Une analogie existe avec la communication humaine, une personne B apprend une information I de la personne A, puis A reçoit de nouvelles informations qui changent I, mais B propage toujours I à défaut de mise à jour de la part de A ou d'une autre source.

Les méthodes de diffusion de proche en proche employées par les protocoles de routage introduisent toutes des délais de diffusion de l'information à la totalité des routeurs. Le nombre croissant de réseaux augmente les mises à jour, les délais et les problèmes de cohérence.

Une table de routage mémorise pour chaque réseau connu des informations du type suivant: l'adresse IP réseau, la voie de sortie associée ou l'adresse du routeur suivant, le compteur de liaisons qui indique le nombre de liaisons existant entre le routeur et la destination (hop count), la temporisation exprime le temps écoulé depuis la dernière mise à jour de l'entrée. Selon le protocole de routage, le coût associé à chaque lien est fourni par l'administrateur, calculé par le routeur de façon statique ou dynamique ou bien est basé sur une combinaison des deux approches. Une adresse IP est souvent affectée à l'adresse de boucle locale (127.0.0.1) pour disposer d'une adresse stable indépendante de la coupure d'un lien.

5.1.2 Concepts de base

Une couche minimale de routage fonctionne sur chaque station de travail, elle détermine pour chaque fragment à émettre si le réseau destinataire est local ou distant. Une comparaison entre les adresses réseaux locale et destinataire l'indique. Pour un destinataire local la délivrance sera directe, alors que pour un destinataire distant, la pile IP envoie au routeur de sortie.

L’adresse IP du routeur par défaut est connue (par paramètre ou par DHCP), son adresse MAC est connue par ARP. Des routes statiques sont également définies sur une station à l’aide de la commande route.

Le choix d'une route se pose seulement s'il existe plusieurs sorties. Beaucoup de routeurs sont positionnés en impasse et ne disposent que d'une seule entrée-sortie, ils ne nécessitent donc pas l'échange de tables de routage, cette fonctionnalité sera donc invalidée pour éviter de surcharger inutilement le réseau et éviter des facturations inutiles  pour les lignes facturées à l’utilisation. Lorsque que la sortie à employer n'est pas connue, c'est la route par défaut qui est choisie.

Un routeur RNIS  contient une route par défaut ou une table de routage statique. Elle associe l'adresse IP du réseau distant au numéro RNIS du routeur connecté à ce réseau. Lorsque le routeur reçoit un paquet IP depuis le réseau local, il examine la table pour voir si l'adresse IP contenue dans le paquet est une adresse distante. Si c'est le cas, le routeur établit une connexion vers un routeur distant. Dès que le trafic est nul pendant un certain laps de temps, la connexion est coupée. Les routeurs RNIS sont utilisés pour les agences commerciales, les petites entreprises, les individuels. La communication entre deux routeurs se fait généralement en utilisant PPP sur un canal B RNIS. En général, les routeurs RNIS sont des routeurs d'extrémité, l'échange d'informations de routage est donc inutile. De plus, l'utilisation d’un protocole tel que RIP nécessiterait des connexions régulières pour l'échange des tables de routage.

5.1.3 Systèmes autonomes

Un système autonome est constitué par un ensemble de réseaux interconnectés par des routeurs. Les systèmes autonomes sont reliés entre eux par des routeurs externes. Un système autonome correspond à un groupe de routeurs dépendant d'une même responsabilité administrative du point de vue du routage et appliquant une politique de routage unique. On distingue donc les protocoles de routage interne au sein d'un système autonome des protocoles externes qui concernent le trafic entre systèmes autonomes. Les protocoles de routage externe privilégient les informations d'accessibilité par rapport aux informations de topologie de réseau. Un réseau IP appartient à un seul système autonome. Le principal protocole de routage externe est BGP.

L'internet est composé d'un ensemble de systèmes autonomes reliés entre eux par des routeurs externes. Un système autonome utilise un protocole de routage interne tel que RIP, OSPF, ISIS ou IGRP. Les numéros de systèmes autonomes sont attribués par le NIC (Network Information Center). Ce numéro sur 2 octets est appelé "Autonomous System Number". Les numéros d'AS de 65412 à 65535 sont privés.

5.2 Routage interne (IGP: Internal Gateway Protocol)

Les principaux protocoles de routage interne sont RIP, OSPF ou IGRP.
  • RIP: Routing Information Protocol. Ce premier protocole de routage associé aux réseaux TCP/IP favorisa l'inter-opérabilité des routeurs. RIP détermine le chemin le plus court à suivre par un paquet pour atteindre sa destination finale à travers des routeurs en comptant le nombre de sauts nécessaires.
  • IGRP: Interior Gateway Protocol : Ce protocole de routage est développé par Cisco pour ses routeurs multi-protocoles. Le désavantage d'IGRP est qu'il est propriétaire et que certaines de ses fonctionnalités sont protégées par des brevets.
  • OSPF: Open Shortest Path First : Ce protocole de routage sécurisé pour les réseaux IP est spécifié par l’IETF.
  • IS-IS (Intermediate System - Intermediate System) est le routage interne normalisé par l'OSI.
  • Les extensions MIGRP, MOSPF, MBGP intègrent le routage des adresses multipoints IGMP.

5.2.1 RIP: Routing Information Protocol

Ce protocole de routage interne est largement utilisé à cause de sa diffusion dans la version Berkeley d'Unix. Avec RIP des messages d'états sont émis régulièrement par chaque routeur sur chaque lien (environ toutes les 30 secondes). Les messages ne sont échangés qu'entre routeurs dits voisins qui partagent un réseau commun ou sont reliés par une liaison directe.

Chacun de ces messages contient le "vecteur distance" de l'émetteur ou bien une partie de celui-ci. Le seul critère de coût utilisé est la distance en terme de nombre de sauts. La valeur maximale de la distance est limitée à quinze. Une distance de seize signifie "distance infinie". Pour cette raison, RIP s'applique à de petits réseaux.

RIP fonctionne sur un port UDP spécifique, un datagramme RIP comporte les en-têtes suivants :
LD :IP : UDP : header RIP : Données RIP
Cette encapsulation est contraire aux règles de l'OSI, le protocole de routage RIP faisant à priori partie de la couche 3, utilise les services de la couche supérieure UDP appartenant à la couche transport. Le protocole de routage ISIS standardisé par l'OSI s'appuie sur le niveau 2.

Des messages parasites peuvent être émis par un micro-ordinateur clandestin, RIP2 (RFC1388) supporte l'authentification. Il supporte également les sous-réseaux, les adresses CIDR et IGMP. Les mises à jour ne sont plus envoyées sur une adresse de broadcast mais sur une adresse multicast. Une version allégée de RIP avec seulement des échanges en cas de modification d'un lien est prévue.

5.2.2 Paramètres de RIP

Différents paramètres sont utilisés par RIP : (l'ensemble des paramètres ci-dessous sera spécifié pour chaque port physique) :
  • TimeOut précise le temps au bout duquel une entrée pour laquelle de nouvelles informations n'auront pas été obtenues sera invalidée
  • Neighbour correspond à la liste des voisins d'un port
  • UpdateTime correspond  à l'intervalle de temps de mise à jour (5 à 5400 secondes) d'un port
  • Talk valide l'émission des messages de mise à jour sur le port donné
  • Listen valide l'exploitation des messages de mise à jour reçus sur un port donné

5.2.3 Algorithme RIP

Chaque routeur conserve une table de routage avec une entrée par réseau accessible. Les informations suivantes sont mémorisées dans chaque entrée :
  • l'adresse IP du destinataire
  • la distance du destinataire
  • la première route à emprunter pour joindre le destinataire
  • l'état de la route (accessible ou non)
  • l'heure de dernière mise à jour de l'entrée
Chaque routeur envoie périodiquement l'état de ses tables à son voisin. Chaque message RIP comporte les informations suivantes pour chaque entrée de la table de routage de l'émetteur :
  • l'adresse IP du réseau
  • la distance du réseau au routeur émetteur
RIP est de type "vecteur distance", il est basé sur l'algorithme de plus court chemin Ford-Bellman. Sur réception d'un vecteur distance, un routeur incrémente les distances annoncées pour tenir compte du dernier lien et compare les nouvelles distances aux distances mémorisées pour prendre une des décisions suivantes :
  • si l’entrée n’existe pas dans la table locale et si la distance n’est pas infinie, l’entrée est ajoutée,
  • si la nouvelle distance est inférieure à la distance mémorisée, le nouveau chemin est adopté,
  • si le routeur émetteur de la table est déjà le routeur à emprunter pour atteindre un destinataire donné, la nouvelle distance est mise dans la table même si elle est supérieure à la distance déjà enregistrée,
  • sinon l'entrée reçue est ignorée .
Lors d’une mise à jour les informations prochain routeur, distance et âge sont modifiés.
Différentes améliorations ont été apportées à cet algorithme: horizon partagé, mises à jour déclenchées.
Avec l'horizon partagé, RIP ne transmet pas au voisin émetteur le nouveau vecteur distance. Cette mesure évite les rétroactions intempestives appelées effet rebond qui surviennent en cas de coupure.

L'envoi d'un message RIP dès le changement d'état d'une liaison diminue la probabilité d'incohérence, notamment en cas de coupure. Ce type de mise à jour est dit mise à jour déclenchée. L'échange de table se fait toutes les 30 secondes. Une route est supprimée si aucune information ne la concernant n'arrive durant 3 échanges successifs.

La taille maximale du vecteur distance est de l'ordre du nombre de routeurs. Le nombre d'étape de l'algorithme dépend du nombre de nœuds du réseau, il est égal au diamètre du réseau, dans le pire des cas il est égal au nombre de routeurs moins un. La convergence est plus rapide avec peu de routeurs.

5.2.4 OSPF: Open Shortest Path First

OSPF est un protocole de routage de routeur interne (IGP) dit à état de liens. Ses caractéristiques principales sont les suivantes:
  • sa spécification est disponible, il est non propriétaire, d’où le terme Open (RFC 1583),
  • il met à jour les tables de routage d'après l'adresse IP et le critère de coût. La prise en compte du TOS (débit, délai, sécurité, coût) prévue dans le draft a été supprimée dans le RFC.
  • OSPF s'appuie directement sur IP et non sur UDP comme RIP.
  • lorsque l'état d'un lien change, un message update est inondé, cette diffusion se fait par un algorithme de "flooding" fiable,
  • un grand système autonome est découpé en zone ou "areas", un routeur interne n’a que la connaissance complète de la zone à laquelle il appartient. Cette division diminue les échanges d'informations de routage.
  • les zones d’un système autonome sont reliées entre elles par la zone 0 également appelée backbone, un routeur interzone a au moins une sortie dans la zone 0,
  • sur des réseaux à diffusion, les informations OSPF sont diffusées à des  adresses multicast prédéfinies (224.0.0.5 pour tous les routeurs OSPF, 224.0.0.6 pour les routeurs OSPF désignés, 224.0.0.6 pour les routeurs OSPF désignés de secours), le nombre de messages échangés est donc plus faible,
  • des messages hello sont échangés périodiquement entre routeurs voisins (toutes les 10 secondes),
  • les messages échangés entre routeurs sont authentifiés,
  • le routage par sous-réseaux CIDR est assuré,
  • le routage multicast est possible avec MOSPF.
La plupart des zones sont "stub" car elles sont reliées par un seul routeur au backbone, certaines zones disposent cependant de plusieurs accès au backbone. 

OSPF découpe le routage en 3 catégories: intra-area, inter-area, externe au système autonome. Il distingue les types de routeurs suivants:
les routeurs internes à une zone (simple, désigné, désigné de secours)
les routeurs inter-zones,
les routeurs externes.
Les différents cas de communications sont:
à l'intérieur d'un même réseau local,
au sein d'une zone
entre zones d'un même système autonome
au sein du même système autonome entre réseaux différents,
entre systèmes autonomes différents.
Les messages OSPF comportent tous un en-tête commun:

Mot 1: version (8 bits), type message(8), longueur du message (16)
Mot 2: routeur source (@ip)
Mot 3: identifiant de zone
Mot 4: contrôle (16), type d ’authentification (16)
Mot 5 et 6: mot de passe

OSPF utilise les messages suivants :
  • hello: établissement et maintien des relations d’adjacence,
  • database description : description de base de données,
  • link state request : demande d'état de lien,
  • link state update : mise à jour d'état de lien,
  • link state acknowledge : accusé de réception de mise à jour d'état de lien.
Les principales procédures OSPF sont: la mise en communication par hello et la mise à jour.

Hello établit les relations d’adjacence, vérifie que le lien reste disponible, et élit le routeur désigné (designated router) et le routeur désigné de secours. Les messages Hello sont émis à intervalle régulier sur chaque lien (toutes les 10 secondes). Un routeur désigné est élu sur chaque réseau (à diffusion ou non, BMA ou NBMA). Pour éviter n*(n-1) relations, les routeurs d’un réseau n’établissent une relation d’adjacence qu’avec le routeur désigné, qui distribue les LSA aux routeurs et construit un LSA global. Après l'établissement d'une connexion par HELLO, les deux routeurs synchronisent leurs bases de données respectives et les modifications ultérieures sont assurées par les messages de mise à jours. Des messages Hello trop fréquents peuvent provoquer des ajouts - retraits (route flap).

Chaque routeur émet l'état de ses liens vers ses voisins. Sa taille est de l'ordre du nombre de liens du routeur émetteur alors que pour RIP la taille maximum est égale au nombre de routeurs du système autonome. L’état de lien est inondé dans l'aire. Chaque routeur calcule donc sa table à partir des états de liens reçus des autres routeurs du système autonome. L’algorithme utilisé est celui du plus court chemin SPF, son domaine d'application est limité à l'aire. 

Les messages de mise à jour échangés entre routeurs sont appelés LSA: Link state advertisement. La mise à jour est incrémentale, l’état de liens d’un routeur n’est envoyé qu’en cas de modification contrairement à RIP où le vecteur distance est émis toutes les 30 secondes. Les mises à jour sont transmises dans le cadre d'une procédure d'inondation fiabilisée. Un acquittement est envoyé à l'émetteur direct du message d'inondation et non pas à l'émetteur initial. Chaque mise à jour comporte un numéro et son âge, si celle reçue est plus récente que celle mémorisée, elle la remplace et est transmise à tous les voisins sauf à l'émetteur. En dehors des modifications, l'état de liens est retransmis toutes les 30 minutes environ. Les entrées de la base de données dont la durée de vie atteint une heure sont supprimées.

L’inondation comporte les étapes suivantes :
- l’émetteur initial envoie le vecteur sur tous ses liens de sortie,
- sur réception d’un vecteur d’état, un routeur compare le numéro du vecteur avec celui du vecteur d’état déjà reçu de ce routeur,
- si le nouveau vecteur est plus récent, il est stocké et retransmis vers tous les liens sauf celui dont il provient et acquitté.
Il existe 5 types principaux d'annonces OSPF: les annonces d'états de liens émises par chaque routeur, les annonces récapitulatives de réseaux émises par le routeur désigné vers sa zone, les annonces entre les zones, les annonces de routeur externe, les annonces externes diffusées en interne. Pour différencier la portée des messages, on distingue les zones terminales, les zones terminales avec un routeur externe, les zones terminales avec plusieurs routeurs externes, la zone de backbone. Les annonces 1 et 2 sont diffusées dans l'aire, les annonces 3 par les routeurs inter-zones, les annonces 4 émises par les routeurs inter-zones annoncent les routeurs BGP et les annonces 5 annoncent les réseaux externes, selon les situations ces annonces sont diffusées dans le backbone, voire certaines zones. Pour une zone terminale, une route par défaut suffit pour guider le trafic à destination des autres zones et des autres AS vers le point de sortie, seules les mises à jour de type 1 et 2 y circulent donc.

Le nombre de mise à jour OSPF est moins important que pour RIP. Une mise à jour donne cependant lieu à de nombreux petits messages. OSPF converge plus rapidement que RIP, en effet l'algorithme SPF est exécuté sur chaque routeur, il n'est donc pas distribué, le calcul se fait sur chaque réception d’un message de mise à jour. Il travaille d'après la base de donnée locale pour construire la table de routage. Cependant, le traitement effectué sur chaque routeur est intensif. Pour cette raison, il est conseillé de découper les interconnexions de plus d’une cinquantaine de routeurs avec  des  mises à jour fréquentes en zones.

Un routeur interne à une zone connaît les autres réseaux de la zone et le routeur inter-zones. Un routeur interzones connaît les réseaux de tout l'AS. Les routes externes sont connues s'il y a plusieurs routeurs externes. Les routes mises dans la table de forwarding sont choisies dans l'ordre suivant : interne à une zone, autre zone du même système autonome, autre système autonome avec métrique OSPF, autre système autonome avec métrique non OSPF. Si plusieurs routes se présentent dans la catégorie choisie,  celle offrant la bande passante la plus élevée est retenue.

5.2.5 IS-IS

IS-IS a en fait été conçu avant OSPF qui s'en inspire d'ailleurs. Tout comme OSPF, IS-IS est à état de liens. Il travaille à 2 niveaux, au niveau 1 les routeurs de la zone se connaissent tous entre eux, ceux de niveau 2 relient des zones. Avec IS-IS,  le compteur de métrique est limité à 64. Les communications directement sur la couche liaison de données, cela fonctionne car il s'agit de communications entre voisins du type hello ou inondation de vecteur distance. Les différents types de paquets sont: hello, paquets d'état de liens (LSP), paquets de numéro de séquence.

5.2.6 IGRP-EIGRP

IGRP est un protocole de routage interne définit par Cisco. Le coût d'une route est calculé dynamiquement et prend en compte pour chaque route: le délai, le débit minimal du lien le plus faible, la charge de ce lien,  la fiabilité. Comme tout protocole de routage, il supporte l'équilibrage de charge entre chemins du même coût, mais aussi entre chemins de coûts différents. EIGRP supporte CIDR et envoie les message update sur mise à jour seulement.

5.3 Protocoles externes

  • EGP: External Gateway Protocol, ce protocole comptabilise les paramètres affectés à chaque ligne de communications. Il est adapté aux grands réseaux maillés. Il gère une hiérarchie de systèmes autonomes, il est progressivement remplacé par BGP.
  • BGP: Border Gateway Protocol, il s'agit d'un protocole de routage externe, la version actuelle est BGP4.
Les protocoles de routage extérieurs prennent en compte des informations de type qualité de service, coût, restriction d’accès (service commercial ou de recherche), ces informations interviennent pour autoriser ou non le passage d’un système autonome à un autre ou bien pour le choix d’un système autonome si plusieurs options sont possibles. Les systèmes autonomes sont reliés entre eux par des routeurs de passerelle extérieure.
Les premiers protocoles externes de type EGP interconnectent des systèmes autonomes, mais n’offrent pas le choix entre des liens alternatifs comme BGP.

Sur chaque système autonome, un ou plusieurs routeurs dit de passerelle extérieure propagent des informations de routage vers les routeurs extérieurs voisins. Les routeurs extérieurs sont soit voisins externes, soit voisins internes, soit non voisins. Le protocole utilisé par les routeurs extérieurs pour propager les informations de routage est dit protocole de passerelle extérieure (EGP: External Gateway Protocol).

Les tables de routage sont une base de donnée répartie à 3 niveaux :
le routeur d’un réseau connaît les station des réseaux qui lui sont connectés (par ARP),
les routeurs internes intermédiaires connaissent les réseaux appartenant à leur système autonome,
les routeurs extérieurs connaissent les routes vers les autres réseaux.
Chaque routeur extérieur a une capacité mémoire importante, car il mémorise les chemins vers tous les systèmes autonomes. En fait , le nombre de mots à mémoriser par un routeur extérieur est de l’ordre de :
NbRés + NbSA * Dist
NbRés : nombre de réseaux sur l’internet
NbSA : nombre de systèmes autonomes
Dist : distance moyenne entre systèmes autonomes

Le nombre de mots à mémoriser par routeur intérieur est de l’ordre du nombre de réseaux du système autonome. Lorsque les routeurs BGP injectent toutes les routes externes dans l'IGP, le mémoire nécessaire dans un routeur interne sera de l'ordre du nombre de réseaux.

Les routeurs extérieurs assurent le passage d'un opérateur internet à un autre. Le découpage en systèmes autonomes favorise la mise en oeuvre d'une politique de gestion de trafic couplée à une politique de facturation s’il y a lieu. Un système autonome donné n'acceptera par exemple pas certains transits. Certains opérateurs offrent des points d'échanges (GIX ou MAE) sur lesquels d'autres opérateurs se branchent pour échanger leur trafic.

EGP est le plus ancien protocole externe. EGP était hiérarchique et basé sur l’utilisation d’un backbone ou système central à travers lequel se faisait les échanges entre systèmes autonomes. Il n’est plus utilisé.

5.3.1 BGP

Le protocole de passerelle extérieure BGP remplace EGP. BGP fonctionne sur TCP, des sessions TCP sont établies entre les routeurs BGP d’un même système autonome ainsi qu'entre les routeurs BGP de systèmes autonomes voisins. BGP annonce des réseaux entre systèmes autonomes. A son aide, un opérateur annonce les réseaux pour lesquels il accepte du trafic BGP annonce les réseaux accessibles sans pour autant leur associer un coût. BGP apprend les routes en mode statique ou dynamique. BGP répartit la charge en distribuant les réseaux annoncés sur différents liens externes. BGP est de type hybride, en effet il analyse les routes en terme de nombre de systèmes autonomes à traverser, mais également à l'aide d'autres critères (type, efficacité, poids). Il existe différents messages BGP: OPEN, KEEP ALIVE, NOTIFICATION, UPDATE. Leur en-tête commun de 19 octets comporte les champs suivants:
Marqueur authentification source(16 octets), longueur (2), type (1), message.
Le message d'ouverture OPEN comporte les champs suivants:
version (8),
numéro de SA (16),
hold time (16), 
identificateur BGP (32),
longueur des paramètres optionnels (8), paramètres.
A  l'ouverture d'une connexion BGP (OPEN), les routeurs BGP échangent leurs tables selon les règles choisies. Les messages Update ultérieurs annoncent quant à eux les nouveaux réseaux ou les réseaux devenus inaccessibles. Un message Update reçu par eBGP et pris en compte est propagé vers les routeurs iBGP internes et les routeurs externes voisins. La retransmission se fera selon les règles appliquées par le routeur, il pourra agréger ou supprimer certains des réseaux. Le message UPDATE contient les routes inaccessibles, les attributs de chemin, les réseaux annoncés. Les routes inaccessibles proviennent de tous les SA traversés par le message, les attributs et les réseaux annoncés ne concernent quant à eux que le système autonome émetteur initial du message. Il a la structure suivante:
longueur, liste "unreachable routes"
longueur, liste "Path Attributes",
longueur, liste "Network Layer Reachability Information (NLRI)".
NLRI est la liste des réseaux annoncés sous la forme longueur, préfixe. Le préfixe n'occupe que le nombre d'octets rendus nécessaires par sa longueur. La liste des nouveaux réseaux annoncés par un message UPDATE concerne l'initiateur du message dont le numéro de SA est dans l'en-tête. 
Path attributes : ces attributs sont optionnels, obligatoire, transitifs ou locaux. Les attributs obligatoires sont la liste des AS traversés, l'origine de l’information (IGP, EGP), le routeur suivant. La liste des AS traversés donne la longueur d'une route. Si un AS y retrouve son numéro, le message boucle. Les attributs optionnels sont des attributs de poids et d'agrégation.
Unreachable routes : liste les réseaux devenus inaccessibles. Tout SA traversé par le message UPDATE y ajoute ses réseaux devenus inaccessibles.

Si les adresses des réseaux d'un système autonome correspondent à une plage d'adresse CIDR, son message d'annonce BGP correspond à un seul couplet longueur du préfixe réseau/adresse réseau, c'est le cas idéal. CIDR est supporté à partir de BGP4 et OSPF.

Pour fiabiliser les échanges, les communications entre routeurs BGP se font par session TCP. Il s'agit d'une part de communications entre routeurs BGP d’un même système autonome pour iBGP (internal), d'autre part de communications entre routeurs de  systèmes autonomes différents eBGP (external). Chaque routeur BGP est relié par une connexion TCP à tous les autres routeurs BGP du même système autonome et aux routeurs externes voisins. Un routeur eBGP est relié physiquement à un ou plusieurs routeurs qui appartiennent à d'autres systèmes autonomes. Le désavantage de ce mode de fonctionnement est le ralentissement en cas de congestion et la suppression des annonces en cas de coupure de la connexion TCP.

Des routeurs voisins s'envoient périodiquement des messages "keep alive" sur leurs connexions TCP.  BGP est un protocole de vecteur chemin, le chemin est exprimé sous forme de liste des systèmes autonomes à traverser. Le chemin qui comporte le moins d'AS à traverser est stocké dans la table de routage. Si le nombre de connexions BGP d'un AS est important de nombreuses routes alternatives existent. L'attribut "local pref" indique la sortie locale qu'il est préférable de choisir. L'attribut "multiple exit discriminator" est employé s'il existe plusieurs liens entre deux systèmes autonomes, envoyé de SA1 vers SA2, il indique à SA2 de préférer un chemin vers SA1 parmi plusieurs possibles. L'attribut "no-export" demande à un AS voisin de ne pas publier les réseaux annoncés.

5.3.1.1 Echanges internes - externes

Les routes apprises par BGP sont transmissibles à IGP. Pour éviter la surcharge des routeurs IGP, il est cependant déconseillé de transmettre l'ensemble des routes BGP en interne. En l'absence de routes externes, un routeur IGP utilise une route par défaut vers un routeur BGP frontière de ce système autonome.
Les routes internes sont transmises à BGP et exportées après vérification de leur validité et agrégation. La synchronisation entre IGP et BGP n'est pas immédiate, un routeur BGP qui apprend une nouvelle route s'assure que cette route est connue en interne avant de l'annoncer à d'autres systèmes autonomes pour qu'elle serve de route de transit, pour éviter des annonces de routes instables.
En cas d'absence de connexion iBGP entre deux routeurs BGP d'un même SA, ces routeurs n’échangent pas les routes eBGP apprises, elles ne sont donc pas propagées vers les SA qu’ils relient.

5.3.1.2 Transit

Tout comme pour les réseaux IP et les zones OSPF, on distingue les 3 catégories de systèmes autonomes: les stubs AS, les multihomed AS, les AS de transit. Un stub AS ne dispose que d'une connexion simple avec un autre AS, il émet des datagrammes vers l'extérieur et ne reçoit que du trafic qui lui est destiné. Un multihomed AS est connecté à plus d'un système autonome, mais ne véhicule  pas de trafic de transit.  Un AS de transit est relié à plus d'un système autonome et est autorisé sous certaines conditions à véhiculer du trafic de transit. L'internet correspond donc à des interconnections entre systèmes autonomes de ces 3 types.

Sur un réseau hiérarchique avec une seule sortie BGP (Stub AS), une route par défaut est suffisante pour aiguiller les messages à destination de réseaux externes au SA. Si un système autonome n'envoie pas de messages d'annonces à ses voisins, il ne fait pas de  transit. Des datagrammes transitent à travers un système autonome s'il a publié des adresses de réseaux situés dans d'autres systèmes autonomes.

Selon le système autonome, le trafic de transit (inter-systèmes autonomes) est géré de différentes façons par les routeurs internes:
les routes externes sont injectées en interne (totalement ou partiellement),
la route par défaut pointe sur un routeur BGP,
les datagrammes en transit sont encapsulés sur un tunnel du routeur BGP d'entrée au routeur BGP de sortie,
En cas de tunneling, le datagramme est encapsulé par BGP émetteur qui ajoute l’adresse du routeur BGP de sortie. Par contre, pour le trafic émit en interne à destination de l’externe, l’adresse du routeur par défaut est celle du routeur BGP de sortie par défaut (dans les tables de routage, la route par défaut est caractérisée par l’adresse 0.0.0.0). Pour les systèmes autonomes ayant une seule sortie BGP, la route par défaut est suffisante, inutile d'injecter les routes externes en interne.

Le transit est possible à une des conditions suivantes: les tables IGP ont été mises à jour avec les adresses externes, la route par défaut mène à un routeur BGP, le datagramme en transit est encapsulé et envoyé par tunnel vers le routeur de sortie.
La gestion des routes par BGP est politique. Pour faire du transit au profit d’un réseau donné, le SA de transit annonce les réseaux du SA au profit duquel il fait du transit. Les critères de choix employés sont : minimiser le nombre d’AS traversés, tenir compte de la qualité de l’AS. La qualité de l'AS est basée sur un ou plusieurs des critères suivants: stabilité,  diamètre, vitesse de traversée, capacité, tendance à la congestion. Ces paramètres sont mis à jour manuellement et mesurés à l'aide d'outils spécifiques. Certains opérateurs offrent  des points de présence CIX (Commercial Internet Exchange) ou GIX (Global Internet Exchange) pour favoriser l'interconnexion d'opérateurs différents en un même lieu. Un tel rattachement évite la multiplication des liaisons point à point entre systèmes autonomes. Les routeurs d'une zone, d'un SA forment un graphe plus ou moins régulier. L'interconnexion des SA correspond également à un graphe.

Certains opérateurs routent les datagrammes en transit par l’approche dite "patate chaude" qui consiste à les évacuer vers la sortie BGP la plus proche. Cette approche ne garantit certainement pas la meilleure gestion du trafic global ! Lorsque deux opérateurs sont reliés par une seule route BGP, leurs échanges passent par celle-ci. Par contre, lorsqu'ils sont reliés par plusieurs routes BGP, le trafic sortant est envoyé vers le routeur de sortie annoncé en interne.

La gestion du routage internet est hiérarchisée: au sein d'un réseau local, intra et inter zones d'un système autonome, entre systèmes autonomes. Les stations connaissent au moins la sortie par défaut, les routeurs intérieurs connaissent au moins les réseaux appartenant au même système autonome, les datagrammes émis dans un système autonome à destination d’un réseau situé sur un autre système autonome sont routés vers un routeur extérieur. Les datagrammes de transit sont quelquefois encapsulés par le routeur externe d’entrée et adressés au routeur extérieur de sortie. Pour le routage, les publication de route se font: entre IGP et IGP, entre IGP et iBGP, entre iBGP et eBGP, entre eBGP et eBGP.

Outre la table de routage, un routeur BGP contient une base de donnée dite RIB (Routing Information Base). Cette base contient les messages reçus RIB in et les messages émis RIB out. Des règles de filtrage précisent si des routes annoncées sont acceptées et publiées.

Pour être raccordée à plusieurs opérateurs (multihoming) une entreprise utilise BGP ou la translation d'adresses. Le multihoming émiette l'espace d'adresses CIDR par la diffusion d'annonces partielles. Un routeur à rattachements multiples qui n'annonce pas les adresses IP allouées par un opérateur chez un autre opérateur évite cet émiettement. Mais dans ce cas, le bénéfice de la redondance de routes semble perdu. On conserve ce bénéfice pour l'émission si les stations utilisent des adresses réseaux locales et que l'adresse réseau IP d'émission est affectée par le routeur de sortie. Dans ce cas, l'adresse IP des stations est indépendante de l'opérateur et le routeur de sortie choisit l'opérateur le plus approprié selon la disponibilité et d'autres critères définis. Le routeur d'entrée met l'adresse réseau locale dans les datagrammes entrants. Pour des communications initialisées en interne, l’opérateur est choisit par le routeur de sortie. Le même opérateur sera employé au retour, ce qui est intéressant s’il a été choisi pour des critères de qualité de service. Par contre, la communication est coupée si l’opérateur n’est plus reliée au client alors qu'une connexion TCP est ouverte. Un intrus qui utilise le même ESD avec son propre routing goop pourra perturber la communication. Pour que les communications entrantes vers les serveurs puissent venir par plusieurs liens, il est possible d'affecter aux serveurs des adresses IP appartenant à différents opérateurs. Il est possible de limiter cette affectation d'adresse multiple au DNS et que le serveur ne connaisse que son adresse locale. Une autre solution est de placer les serveurs chez un hébergeur. Dans cette approche, la station ne connaît pas l'adresse réseau, cette méthode est confortée par le découpage de l'adresse Ipv6 en zones opérateur, réseau, station.

Certains logiciels d'optimisation de route répartissent le trafic vers plusieurs opérateurs sans pour autant mettre en œuvre le routage externe.

5.3.1.3 Autres mécanismes

Des mécanismes tels que les réflecteurs, les communautés, les confédérations simplifient la gestion de BGP. Pour les systèmes autonomes importants, un réflecteur remplace avantageusement les connexions TCP internes de chaque routeur BGP. Une connexion est établie entre chaque routeur BGP et le réflecteur qui distribue les messages UPDATE. Cette approche ressemble à celle du routeur désigné d'OSPF, elle diminue les messages échangés en centralisant. Les communautés partagent des informations entre pairs locaux à l'AS ou entre AS. De plus, dans le cadre des communautés, les opérations de filtrage peuvent être sous-traitées au réflecteur, de façon à ne pas les effectuer sur chaque routeur. Une confédération transforme plusieurs systèmes autonomes en un seul.

CIDR diminue le nombre de messages update, un AS qui dispose d'une plage d'adresses CIDR fera une annnonce globale des réseaux qui lui sont attribués, indépendamment de la présence de chaque réseau IP particulier. Ainsi, la modification de l'état d'un réseau particulier ne génére pas de message update. Cependant, le développement du multihoming génère des annonces spécifiques et un émiettement de l'espace CIDR. Le multihoming transforme des réseaux utilisateurs en systèmes autonomes qui annoncent des préfixes de plus en plus long, il existe même des annonces de /32. Un remède serait de limiter la propagation de préfixes supérieurs à /24 ou d'appliquer une politique de « shortest match », au moins pour les plages CIDR
Le multihoming d'un réseau donne lieu à plusieurs approches: transformation du réseau en système autonome avec ou sans redistribution des adresses chez les autres opérateurs, affectation des adresses publiques aux stations, utilisation d'un NAT intelligent qui affecte les adresses publiques selon la destiantion.

Le « route flap » est une succession d'ajoûts et retraits de réseaux, le mécanisme de "route flap dampening" introduit une temporisation avant de propager un update pour éviter les oscillations dus à des successions d'ajoûts - retraits. Des pénalités sont prévues pour les réseaux qui changent trop souvent d'annonces.

Le RFC2622 définit RPSL (Routing Policy Specification Langage) qui est un langage commun à tous les routeurs.
Pour améliorer la fiabilité, les protocoles HSRP ou VRRP structurent en redondance un ensemble de routeur et de liens.

5.4 Multicast

IGMP gère l’appartenance à un groupe au niveau d’un domaine de collision, ces demandes sont propagées dans l'internet à l'aide du routage multicast. La mise à jour des tables de routage avec des adresses IGMP est assurée à l’aide de protocoles de routages multicast. Le graphe de diffusion vers les participants d'un groupe multicast correspondent à un arbre qui évolue dynamiquement au fur et à mesure des adhésions et démissions. Les demandes d'adhésion déterminent la construction de l'arbre à travers les routeurs multicast. Les démissions suppriment des liens de cet arbre. Les conférences sont annoncées sur une adresse IGMP dédiée à l’aide du protocole SAP. Un client SAP lire les annonces SAP.

Différents protocoles de routage de groupe existent, on distingue les protocoles denses et larges. DVMRP, PIM-DM, MOSPF font partie du premier groupe tandis que PIM-SM et CBT font partie du second groupe. DVMRP calcule les routes de plus court chemin vers la racine de l'arbre selon la métrique. PIM collabore avec le protocole de routage interne, MOSPF s'appuie sur OSPF. Ces protocoles concernent le routage interne, pour le routage externe MBGP intervient. MBGP est une extension multiprotocole de BGP également utilisée pour IPv6.

Une adaptation du multicast à la diffusion par satellites serait appropriée.

Le protocole IGMP gère l'adhésion (opérations join et leave) à un groupe dans un réseau à diffusion. Les liens entre routeurs multicast sont statiques ou dynamiques en cas d'emploi de protocoles de routage multicast. Lorsque les flux entre routeurs multicast transitent par des routeurs non multicast, un mécanisme de tunnel est employé. Dans ce cas, le datagramme IPv4 avec une adresse IGMP est encapsulé dans un datagramme IPv4 avec l'adresse d'un routeur ou d'un service multicast intermédiaire.

Mbone est un réseau overlay de diffusion multicast. Il comporte deux types d'éléments: les noeuds et les feuilles. Les noeuds sont soit des routeurs, soit des stations qui assurent le service multicast. Les algorithmes de routage associés dupliquent les flux le plus tard possible. Cette duplication est faite sur les routeurs multicast lorsque deux destinataires ne sont accessibles que par des chemins différents. Le multicast nécessite le déploiement des protocoles de routage spécifiques. Il complique le travail des routeurs qui gèrent dynamiquement les adresses multicast, par ailleurs les destinataires dépendent de l'émetteur et l'envoi à une adresse multicast peut requérir la duplication des données.

BGP gère l'adressage anyCast en annonçant une même adresse IP depuis des SA différents.

5.5 Mobilité

On distingue les mobilités de l'utilisateur, du terminal, du support. Dans la mobilité utilisateur, l'utilisateur change de zone avec le même équipement, ce changement se fait en maintenant la connexion en cours ou en créant une nouvelle connexion. Dans la mobilité terminal, l'utilisateur change de terminal et souhaite retrouver son environnement. Dans la mobilité support, on change de support en passant par exemple du GSM à ethernet sans fil pour un transfert de données.

Les différents niveaux de gestion de la mobilité sont: le niveau support(ethernet, GSM), IP, DNS, SIP. Pour la gestion de la mobilité sous IP, nous distinguons le réseau de base, le réseau de rattachement et le mobile. La mobilité sous IP est gérée de la façon suivante. Les pages destinées à un nœud mobile sont routées vers son réseau de base, identifié par l'adresse réseau. Si le mobile n'est pas connecté à son réseau de base un agent intercepte les paquets et les envoie vers le réseau de rattachement du mobile le plus récemment signalé. Sur le tunnel nous avons une encapsulation IP dans IP. Au point d'extrémité du tunnel les paquets internes sont décapsulés et délivrés au mobile. Dans le sens inverse, les paquets émis par le mobile sont envoyés directement vers leur destinataire et routés normalement à travers l'Internet. Les paquets envoyés sur un tunnel respectent le RFC2003 qui définit l'encapsulation IP sur IP. L'en-tête externe comporte l'adresse de début de tunnel comme adresse source et l'adresse de fin de tunnel comme adresse de destination. L'en-tête interne contient quant à lui l'adresse de l'émetteur initial et celle du destinataire final du message. Les différents champs de l'en-tête sont modifiés si nécessaire. Le RFC "IP in IP" définit surtout l'utilisation des messages ICMP dans le cas du tunneling. Dans quels cas faut-il en émettre? A qui sont-ils envoyés? Il définit également comment garnir les champs de l'en-tête de tunnel. Cela est en partie fait à l'aide des champs de l'en-tête initial. Tels sont les principaux problèmes résolus par ce RFC.

La gestion de la mobilité se fait donc à l'aide d'un mécanisme de type redirection. Cependant la l'ensemble des données émises passent par le réseau de base. Un nouveau circuit n'est pas établit entre la source et le récepteur, tout le flux effectue un détour. Chaque datagramme passe par le réseau de base. Ce détour semble a priori inutile. Cette façon de faire s'intègre cependant bien dans la philosophie non connectée de l'Internet et de gestion des problèmes aux extrémités. En effet, une redirection permanente demanderait une mémorisation d'état dans le réseau contraire à la philosophie de l'Internet. Cette redirection prend en compte plus rapidement les changements de réseaux. En effet, la notification de changement à l'agent est prise en compte pour le datagramme qui suit cette notification.

La mobilité dans le contexte d'IPv6 est gérée soit par l'utilisation de la partie réseau et de la partie MAC de l'adresse , soit à l'aide de l'extension d'en-tête. Dans le premier cas l'adresse réseau est modifié par un agent comme dans le cas de la mobilité pour IPv4. Ces méthodes gèrent la mobilité du point de vue de l'adresse IP, mais elle est également gérable au niveau service par DNS ou SIP.

5.6 Qualité de service

Les arguments contre un protocole spécifique à la gestion de la qualité de service sont que : la bande passante disponible augmente et devient infinie, la priorité simple est suffisante, les applications s'adaptent, par exemple les  TCP ou les codages avec RTP. Les différents mécanismes mis en œuvre : le contrôle d'admission vérifie les droit d'accès et le respect du contrat, la réservation des ressources, la classification et l'ordonnancement des paquets. L'usage d'une même infrastructure pour les communications temps réel et non temps réel optimise l'allocation de la bande passante. En effet, les deux types de trafics sont complémentaires, le trafic élastique comble les temps morts du trafic temps réel.

Actuellement, deux types de réseaux coexistent, l'internet public où les échanges se font en mode "best effort", les réseaux privés d'entreprise pour lesquels des ressources spécifiques sont allouées sur l'infrastructure d'un opérateur. Chez les opérateurs les ressources sont allouées à l'aide d'un des protocoles tels que FR, ATM, RSVP, MPLS. En général, la qualité de services de bout en bout est assurée si les deux extrémités sont connectées au même opérateur. En cas de besoin, un client multi-sites étend cette qualité de service à plusieurs opérateurs en aboutant leurs supports par des routeurs locaux.

5.6.1 RSVP (ReSerVation Protocol)

Ce protocole de contrôle alloue les ressources nécessaires pour la circulation d'un flux sur une route donnée. Il s'agit de l'un des protocoles à déployer dans le contexte IntServ (Integrated Services). Il a différentes caractéristiques:  il concerne les flux unicast et multicast, la réservation  est mono-directionnelle et faite par le récepteur, les récepteurs peuvent être hétérogènes, pour les sessions multipoint le QOS est adaptable au destinataire, le QOS est dynamique et fixé par le récepteur. La réservation est dynamique à double titre: si le récepteur demande un nouveau QOS, le chemin peut changer, les ressources réservées sur les routeurs sont libérées sur time-out. Les états mémorisés sur la route sont dits des états logiciels. Si le chemin réservé passer à travers des routeurs non RSVP, aucune réservation n’est faite sur ceux-ci.

La gestion de RSVP induit 5 types de fonctions sur les routeurs : la réservation proprement dite, l'ordonnancement des paquets, l' élimination de paquets, la classification, le contrôle d'admission.
Les procédures de reprise ou backtrack lors de l'échec de réservation sur un routeur intermédiaire sont en cours de définition. RSVP supporte l'adjonction ou le départ d'un récepteur par l'opération join et leave au niveau du groupe.

Un message de réservation est émis par le récepteur. Ce message provoque la réservation de ressources sur chacun des routeurs intermédiaires. Un état logiciel est donc associé sur chacun des routeurs traversé à chaque route réservée. Des messages de contrôle périodiques sont émis par les stations ayant réservé des ressources, l'absence de tels messages provoque, sur échéance d'un timer,  la libération  des ressources sur les routeurs intermédiaires.

Les ressources correspondent à des zones mémoires, du temps processeur et de la bande passante sur un lien de sortie. Les deux paramètres principaux transmis sont Tspcec et Rspec, l'un caractérise le délai tandis que l'autre caractérise le débit.
RSVP est associé à un protocole de routage Unicast ou multicast.

En cas de non confirmation par des messages RESV périodiques, les ressources réservées sur les routeurs sont libérées par timeout. Deux temps sont pris en compte, l'intervalle R de réémission des messages, l'intervalle I d'invalidation de la réservation. I est multiple de R et est calculé d'après R qui est transmis dans les messages PATH et RESV. (Un R de 30 secondes est conseillé).

L'utilisation des ressources réservées implique la détermination d'un chemin fixe qui est mémorisé dans la table d'état de chaque routeur intermédiaire.

Dans le cas de réservation pour des flux multipoints, la bande passante requise ne se cumule pas si un même tronçon est employé pour atteindre deux destinataires différents. C'est le routeur à partir duquel les chemins sont différents qui dupliquera les flux. La circulation des demandes de réservations part des feuilles d'un arbre et remonte vers la racine en passant par des noeuds intermédiaires ouù la fusion du trafic est assurée.

Un descripteur de flux correspond à un couplet flowspec et filterspec. Flowspec correspond au QOS alors que FilterSpec définit la fusion possible de flux. En effet, en cas de diffusion multipoints les flux ne sont dupliqués que progressivement en descendant dans l'arbre de diffusion. Les demandes de réservation qui remontent du récepteur vers l'émetteur sont donc fusionnées.

Les flux sont caractérisés par les adresses émetteur et récepteur ainsi que par les numéros de port source et destination. Cependant, cette caractérisation pose problème en cas de fragmentation ou de cryptage. Le champ flux d'IPv6 sera utilisé.
RSVP utilise deux types de messages: PATH et RESV. Ces messages sont véhiculés en mode Raw IP.
PATH détermine la route de l'émetteur vers le récepteur. Dans un tel message, l'adresse du destinataire est celle du destinataire final. Ce type de message contient également les caractéristiques du flux émis.

RESV réserve les ressources en circulant du récepteur vers l'émetteur. Les messages RESV sont transmis de saut en saut.  Certains sauts passent par des nuages ou tunnels non RSVP. La circulation subséquente des données se fera aussi de saut en saut, mais sur le chemin inverse de la réservation.  La réservation saut par saut préserve la fusion des communications multipoints. L'ensemble des routeurs empruntés n'est pas forcément RSVP. En fait, tout comme pour Mbone, RSVP correspond à un réseau virtuel. MBone et RBone seront peut-être confondus si RSVP est uniquement supporté par les routeurs MBone. Le passage par des nuages non RSVP n'offre bien sûr pas de garantie de trafic.

Ce sont les adresses de noeuds enregistrées dans le datagramme PATH qui serviront à la réservation. Contrairement au contexte ATM où le débit réservé pour un CV établi est statique, la réservation RESV est dynamique. En effet, les messages PATH et RESV sont émis régulièrement  Selon l'état du réseau et le nouveau débit requis, PATH détermine une nouvelle route pour laquelle les ressources seront réservées par le message RESV suivant. De même, un changement de route au niveau d'un routeur intermédiaire induit l'émission d'un message PATH sur la nouvelle route. Dans certains cas, ces modifications ne s'appliquent pas forcément à l'ensemble du chemin, mais à une partie.

Les requêtes de réservation sont examinées par les contrôles d'admission et de droits d'accès. Si les deux sont positifs, la requêtes est transmise au routeur suivant.

RSVP colle donc directement à la philosophie non connectée d'IP. RSVP est cependant trop lourd pour être déployé sur de grands réseaux. Par contre, jusqu'à présent dans le contexte internet, les états étaient mémorisés aux extrémités, c'est notamment le cas pour TCP, pour conserver la robustesse du système les états mémorisés par les routeurs sont dits "soft".

5.6.2 MPLS

MPLS (multiprotocol label switching)  construit des circuits virtuels. L'objectif de ces CV est d'aiguiller les datagrammes des entrées vers les sorties. A la différence des CV X25-ATM-FR, les CV MPLS ne sont pas forcément point à point, des chemins venant de différentes entrées peuvent être fusionnés sur des routeurs intermédiaires. Par ailleurs, MPLS ne découpe pas les données en cellules comme ATM. MPLS ajoute une étiquette à chaque datagramme, elle équivaut au VCI-VPI d’ATM, au DLCI (data link connection identifier) de Frame Relay, au numéro de flux IPv6 ou bien elle est insérée entre le niveau 2 ou le niveau 3.

L’étiquette MPLS identifie des flux de commutation. MPLS rend le concept de commutation générique. En effet, il fonctionne sur tout type de niveau 2. De plus, avec MPLS le contrôle et le trafic deviennent indépendants. MPLS est utilisé pour définir les chemins, pour faire de l’ingénierie de trafic, pour gérer la qualité de service ou pour construire des réseaux privés virtuels. MPLS construit des VPN dédiés à des clients spécifiques en leur garantissant un certain niveau de qualité de service.
Pour ce faire, une étiquette est insérée entre le niveau 2 et 3. Cette étiquette s'applique à différents types de réseaux supports: FR, Ethernet ou PPP. Elle détermine le circuit virtuel sur lequel le datagramme entrant est transmis. Le chemin suivi est déterminé par les routeurs d'entrée (edge router) d'un réseau MPLS. MPLS s'inspire des méthodes d'Ibm et de Cisco (tag switching). Les circuits virtuels d'un réseau MPLS sont configurés manuellement de façon statique ou semi-statique, dynamiquement à l'aide des protocoles de routage. Le routeur d'entrée aiguille les datagrammes sur un circuit virtuel donné selon différents critères (adresse destination, QOS, application, etc..).

MPLS assure une qualité de service en terme de petit délai et perte nulle. Par rapport à des routeurs de coeur de réseau performants, MPLS n'accélère pas forcément le traitement des datagrammes en évitant l'analyse de l'en-tête IP au sein du réseau, mais il assure la structuration d'un réseau d'opérateur.

Des chemins MPLS sont construits des entrées (ingress router) vers les sorties (egress router). Il existe des différences entre ATM et MPLS. Pour MPLS le découpage en cellules n'existe pas. Dans le cas d’ATM, les circuits virtuels sont dédiés point à point, alors que pour MPLS un arc de CV aval peut correspondre à la fusion de plusieurs arcs de CV amonts. Dans ce cas, le flot de circulation dans l'arbre de collecte MPLS est inverse du flot de circulation dans un arbre de diffusion multipoint.

La classification des datagrammes se fait à l’entrée du domaine MPLS par les LER (label edge router). Cette classification se fait dans des FEC (Forwarding Equivalence Class). Ces classes sont définissables à l’aide de différents critères : routage et adresses de destination, adresse source, TOS, numéro de flux IPv6 ou RSVP, type de trafic, applications.  Les circuits virtuels LSP (Label Switched Path) sont construits soit à partir des protocoles de routage interne, soit à l’aide d’un protocole spécifique (CR-LDP, Label Distribution Protocol), soit manuellement. Ils   définissent des chemins entre les entrées et sorties, ces chemins seront choisis selon des critères: adresses, types de trafic.

Un compromis est à trouver entre la structuration d’un réseau d’opérateur avec MPLS et le routage internet. Le déploiement de MPLS au niveau d’un réseau d’opérateur fiabilise ce réseau en l'organisant de façon statique. Pour certains réseaux d'opérateurs d'interconnexion, MPLS remplace le routage interne. Dans ce cas, MPLS gère le forwarding et BGP la distribution des labels. MPLS décharge IP de la gestion de la qualité de service.

5.6.3 Réseaux privés

Face au manque d'adresses publiques IPv4 et pour des raisons de sécurité, les réseaux ou systèmes autonomes privés se développent. Les adresses privées existent pour les réseaux et systèmes autonomes. On rencontre différents cas de figures sont possibles: réseau public dans AS public, réseau public dans AS privé, réseau privé dans AS public, réseau privé dans AS privé.

Une adresse publique est nécessaire pour les serveurs qui hébergent les principaux services internet d'une entreprise: web, messagerie, dns. Pour optimiser le trafic, ces services peuvent être localisés chez un opérateur ou un hébergeur.

Le routage interne d'un système autonome privé peut porter sur ses réseaux privés ou publics. Le routage interne est statique si les routes sont peu nombreuses et ne changent pas souvent ou dynamique si elles sont nombreuses et changent souvent. Si nécessaire, des sorties publiques existent sur un ou plusieurs routeurs, les stations qui accèdent à l'internet public utilisent un NAT ou un proxy.

Les communications directes entre stations d'un même espace privé sont possibles dans cet espace, elles sont possibles à travers l'internet public par tunneling. Les liens entre les routeurs du réseau privé sont loués à un ou plusieurs opérateurs et sont dimensionnés selon les besoins de communication entre les différents sites.

Les réseaux privés sont constructibles à partir de VPN, ils sont structurables par type de trafic, par entreprises, par applications. Les réseaux d'entreprises peuvent être construits en reliant les différents sites à un site central ou en créant des liens entre sites sur lesquels tous les trafics confondus vont circuler, cette structuration a une incidence sur les débits attribués aux circuits virtuels.

Les opérateurs internet de même niveau nouent des accords de peering entre eux. Pour l'accès à d'autres réseaux IP, ils utilisent les services d'un opérateur de transit qui facture les communications. Le peering implique la publication réciproque des routes internes de chacun des partenaires, alors que le transit implique la publication de routes du client chez  l'opérateur et des routes de l'internet ou d'une route par défaut chez le client. Certains opérateurs de transit ne publient que des adresses de leurs clients.

5.7 Conversions d'adresses

De nombreux protocoles utilisent un mécanisme de conversion d'adresses: ARP, NAT, DHCP, DNS, LDAP, routage IP. Pour assurer cette conversion, il existe différentes méthodes: diffusion ou inondation pour ARP, par requête à un serveur pour DHCP, par requête hiérarchique pour le DNS, par tables locales pour le routage et NAT. Selon le cas, l'information convertie est temporaire ou non et est mémorisée plus ou moins longtemps dans un cache local.