Les Techniques de Routage : TCP/IP - Routage Dynamique -Autonomous Systems - Algorithmes - EGP - RIP - OSPF - LinkState - Vector-Distance
TCP/IP - Le routage dynamique
- INTRODUCTION
- Les techniques de routage
- L’évolution du routage
- Autonomous Systems
- Les algorithmes de routage
- Vector-Distance
- Link-state
- EGP
- RIP
- OSPF
Introduction
- La technologie TCP-IP est de type «bout en bout» en opposition aux technologies «point à point» (Cf X25),
- L’acheminement des paquets est réalisé par routage plutôt que par commutation :
o IP est dit «sans états»
o X25/X75 maitiennent des états associés au circuit virtuel (adresse du prochain relais, nombre de paquets restant à transmettre, contrôle de flux, etc.); si un de ces états est perdu, la communication est rompue.
- Les éléments de l’interconnexion ne doivent fournir qu’un service minimum: router du mieux qu’ils peuvent (best efford);
- IP over everything
- les services nécessaires à la communication (Contrôle de flux, gestion des d’erreurs, congestion, etc.) sont réalisés de bout en bout à un autre niveau (Cf TCP).
- Paradoxalement le mode «bout en bout» est le plus robuste que le mode point à point connecté; si un relais tombe en panne :
o les voisins du relais IP recalculent les tables de routage, et acheminent les paquets suivants par une nouvelle route.
o dans la technologie «point à point», le circuit est rompu et la connexion avortée.
- Conséquence : le routage IP doit être dynamiquement adaptatif
=> cohérence des tables de routage en permanence.
- Afin de limiter la taille des tables de routage et le traitement associé:
o Le routage IP est effectué de saut en saut («next hop») depuis la source jusqu’à la destination,
o A chaque saut, il y a prise de décision autonome afin de sélectionner la route qui acheminera le datagramme (VS technologies point à point),
o A chaque étape, un relais n’a qu’une connaissance partielle du routage
o Le concept de route par défaut est au cœur du routage IP.
Les techniques de routage
- Routage statique
o convient uniquement pour des sites de taille modeste
o généralement le routage est modifié après découverte du problème
o ne peut gérer les changements de topologie non triviaux.
- Routage dynamique
o indispensable dès que la topologie devient complexe,
o ==> protocoles de routage dont :
- le but est de maintenir des informations associées aux routes de manière cohérente
- le rôle n’est pas de router.
o les protocoles de routage sont de natures différentes selon qu’ils :
- traitent des informations de routage à l’intérieur d’un domaine de routage.
- relient plusieurs domaines de routage.
L’évolution du routage : ARPANET
Arpanet : interconnexion de réseaux locaux -> Routage circulaire pour mettre en œuvre le routage par défaut.
R.L 2 vers R.L 1 ==> P2->P3->P1
Inefficacité du routage par défaut
L’évolution du routage : CORE SYSTEM
Le Core System : système centralisé évitant le routage par défaut
- les passerelles internes au Core system connaissent la route pour atteindre n’importe quelle station (pas de route par défaut)
- Les passerelles externes routent par défaut vers le Core.
- Devient impossible à gérer quand le système est de taille importante
- La conception de «core» ne convient pas à l’interconnexion de backbones:
o il y plusieurs choix de routes possibles entre 2 stations
Exemples : M1->P1-M4 ou bien M1->P1->P2->P3->M4
o il faut maintenir la cohérence entre toutes les machines des 2 backbones
o les routes par défaut peuvent introduire des boucles
Autonomous System
- Les limites imposées par le «Core»
o impossibilité de connecter un nombre arbitraire de réseaux,
o le core ne connaît qu’un seul réseau (local) par passerelle connectée
o les tables de routage et le trafic associé deviennent gigantesques
o quasi impossibilité de modifier les algorithmes de routage (base installée)
- amenèrent le concept de «Système Autonome» (AS) :
o Domaine de routage (réseaux + routeurs) sous la responsabilité d’une autorité unique.
o Architecture de routage indépendante des autres systèmes autonomes
o Exemple : réseau R3T2; un réseau de société multinationale, un provider
o correspond à un découpage de l’Internet.
o Un AS est identifié par un numéro unique (16 Bits) attribué par le NIC.
- A l’origine, les AS étaient connectés sur le noyau ARPANET qui constituait également un AS, aujourd’hui, il existe seulement des AS interconnectés.
- La connexité d’un AS impliqué que tous les routeurs de celui-ci soient interconnectés: 2 réseaux locaux d’une même société nécessitant un autre AS pour communiquer ne peuvent constituer un AS unique.
- La connexité implique que les routeurs d’un AS échangent les informations de routage:
o un routeur dans un AS est dit «internal gateway»
o le protocole de routage entre «internal gateways» est appelé «Exterior Gateway Protocol» Exemple : EGP.
o Le protocole de routage à l’intérieur d’une «interior gateway» est appelé «Interior gateway Protocol»; Exemple de IGP’s: RIP, OSPF, IGRP.
- Les IGP’s n’échangent que les tables de routage internes à l’AS, mais certains routeurs doivent d’autre part, dialoguer avec les «exterior gateways» pour découvrir les réseaux externes à l’AS.
- EGP (External Gateway Protocol) a pour fonction l’échange d’information sur la connectivité entre AS’s. Cette information exprime un ensemble de réseaux connectés.
Les algorithmes de routage
Deux classes d’algorithmes existent : les algorithmes Vector-Distance et les algorithmes Link-State.
- Algorithmes Vector-Distance
o Algorithme de Belman-Ford, calcul de routes distribué.
o Un routeur diffuse régulièrement à ses voisins les routes qu’il connaît.
o Une route est composée d’une adresse destination, d’une adresse de passerelle et d’une métrique indiquant le nombre de sauts nécessaires pour atteindre la destination.
o Une passerelle qui reçoit ces informations compare les routes reçues avec ses propres routes connues et met à jour sa propre table de routage :
- si une route reçue comprend un plus court chemin (nombre de prochains sauts +1 inférieur),
- si une route reçue est inconnue.
Algorithme Vector-distance
Vector-Distance : construction des tables
Vector-Distance : la convergence
Vector-Distance : la rupture
Vector-Distance : L’effet rebond
Algorithme V-D : Inconvénients
- La taille des informations de routage est proportionnelle au nombre de routeurs du domaine,
- Métrique difficilement utilisable : lenteur de convergence,
- Bouclage, éventuellement à l’infini,
- Pas de chemins multiples
- Coût des routes externes arbitraire.
Algorithme Link State
- Basés sur la technique Shortest Path First (SPF) :
o les passerelles maintiennent une carte complète du réseau et calculent les meilleurs chemins localement en utilisant cette topologie.
o les passerelles ne communiquent pas la liste de toutes les destinations connues (cf Vector-Distance),
o une passerelle basée sur l’algorithme SPF, teste périodiquement l’état des liens qui la relient à ses routeurs voisins, puis diffuse périodiquement ces états (Link-State) à toutes les autres passerelles du domaine.
o Les messages diffusés ne spécifient pas des routes mais simplement l’état (up, down) entre deux passerelles.
o Lorsqu’un message parvient à une passerelle, celle-ci met à jour la carte de liens et recalcule localement pour chaque lien modifié, la nouvelle route selon l’algorithme de Dijkstra shortest path algorithm qui détermine le plus court chemin pour toutes les destinations à partir d’une même source.
Algorithme Link State: principes
Algorithme Link State: la rupture
Algorithme Link State: incohérences
Algorithme link state
- Cohérence des bases
o les copies de chaque nœud doivent être identiques aux périodes de transition près.
o on améliore le processus en protégeant les bases contre les erreurs :
- procédure d’inondation avec acquittement,
- transmission des paquets sécurisés,
- enregistrements de la base protégés par cheksum,
- enregistrements de la base soumis à temporisation et supprimés si non rafraîchis à temps.
- messages pouvant être authentifiés.
- Métriques multiples
o plus haut débit,
o plus bas délai,
o plus bas coût,
o meilleure fiabilité.
- Avantage des algorithmes Link State :
o convergence rapide sans boucle,
o possibilités de chemins multiples,
o métriques précises et couvrant plusieurs besoins,
o traitement séparé des routes externes.
o chaque passerelle calcule ses routes indépendamment des autres.
o Les messages diffusés sont inchangés d’une passerelle à l’autre et permettent un contrôle (debug) aisé en cas de dysfonctionnement.
o les messages ne concernent que les liens directs entre passerelles et ne sont donc pas proportionnels au nombre de réseaux dans le domaine (VS V-D).
- En conclusion, les algorithmes SPF sont mieux adaptés au facteur d’échelle que les algorithmes Vector-Distance.
EGP : Protocole de routage extérieur
- EGP (Exterior Gateway Protocol): utilisé pour échanger les informations de routage relatives aux systèmes autonomes.
- EGP: essentiel dans la connectivité Internet (Core, inter-provider , ...)
- EGP : RFC827
- EGP a trois fonctions principales :
o support d’un mécanisme d’acquisition permettant à une passerelle de requérir, auprès d’une autre passerelle, qu’elles échangent leurs informations de routage,
o test continu de l’accessibilité des passerelles EGP voisines,
o échange de messages d’information de routage avec les passerelles EGP voisines.
EGP : les messages
- Acquisition Request : Requête d’acquisition auprès d’une passerelle,
- Acquisition Confirm : Réponse positive à la requête d’acquisition,
- Acquisition Refuse : Réponse négative à la requête d’acquisition,
- Cease Request : Requête de terminaison auprès de la passerelle,
- Cease Confirm : Réponse positive à la requête de terminaison,
- Hello : Requête de réponse “alive”
- I heard you : Réponse à la requête Hello,
- Poll Request : Requête de mise à jour de routage
- Routing Update : Information d’accessibilité,
- Error : réponse à un message incorrect.
EGP : format des messages
- VERSION : version du protocole EGP pour contrôle de cohérence,
- TYPE : identifie le type de message
- CODE : sous-type des différents messages
- STATUS : erreurs propres aux messages
- CHECKSUM : résultat du calcul de contrôle effectué comme IP
- Numéro d’AS : numéro de système autonome de passerelle émettrice,
- SEQUENCE NUMBER : numéro que l’émetteur utilise afin de synchroniser les messages et les réponses.
EGP : Messages d’acquisition
- Avant d’échanger des informations de routage, les routeurs adjacents, doivent devenir «voisins».
- Devenir «voisins» ==> procédure d’acquisition (synchronis. bilatérale)
- La passerelle adressée est spécifiée (configurée) par les organisations responsables des systèmes autonomes correspondant.
- En plus de l’en-tête commune, les messages d’acquisitions comprennent deux champs de 16 bits chacun :
o HELLO INTERVAL : intervalle de temps à utiliser pour tester l’accessibilité de la passerelle,
o POLL INTERVAL : fréquence maximale (N/s) de mise à jour du routage;
- Valeur du champ CODE :
o 0 : Acquisition Request,
o 1 : Acquisition Confirm,
o 2 : Acquisition Refuse (exemple: manque de mémoire, interdiction adm.),
o 3 : Cease Request (exemple : arrêt en cours)
o 4 : Cease Confirm.
EGP : messages d’accessibilité
- EGP met en œuvre des mécanismes d’accessibilité des réseaux ==> échanger les listes de réseaux accessibles via chacun des voisins.
- La procédure consiste en des interrogations à intervalle régulier de liste auprès de son voisin.
- Les messages échangés dans ce processus :
o HELLO et I-HEARD-YOU (I-H-U) pour le contrôle d’accessibilité des passerelles voisines,
o POLL Request sollicitant des réponses (Routing Update) sur les informations de routage.
o Les messages HELLO et I-H-U sont composées uniquement de l’en-tête commune, CODE = 0 pour le message HELLO et 1 pour le message I-H-U.
o POLL Request et Routing Update comprennent, en plus de l’en-tête commun, le champ IP SOURCE NETWORK (32 bits) qui spécifie un réseau commun aux deux systèmes autonomes sur lesquelles sont reliées les deux passerelles. (Prefixe IP de classe A, B, C).
EGP : message d’accessibilité
- Les réponses (Routing Update ) contiennent des routes dont les distances sont mesurées par rapport aux passerelles reliées au réseau IP SOURCE NETWORK; les raisons pour lesquelles l’émetteur de l’interrogation, indique l’adresse IP source sont les suivantes :
o un routeur EGP peut être connecté à plusieurs interfaces et si l’adresse IP était absente, il ne saurait pas à quel réseau s’adresse la requête
o La passerelle souvent rassemble l'ensemble des informations de routage de tout le système autonome : une suite de paires (adresse réseau, passerelle); la passerelle spécifiée pour atteindre le réseau dépend de l'entrée dans le système autonome c'est à dire du champ IP SOURCE NETWORK.
EGP : messages d’accessibilité
EGP : messages «Routing Update»
- Une passerelle extérieure émet des requêtes de mise à jour d'information de routage (routing update), afin d'informer les passerelles voisines appartenant à d'autres systèmes autonomes.
- Les messages de mises à jour sont composés de deux types de listes:
o une liste interne contenant tout ou une partie des passerelles du système autonome et les réseaux accessibles à travers elles,
o une liste externe structurée de la même manière mais identifiant des destinations extérieures au système autonome. Seules les passerelles appartenant à l’interconnexion (Core, Provider, BB) peuvent propager ces informations.
EGP : Messages «Routing update»
EGP : annonces des routes
- EGP peut ne pas annoncer les routes auxquelles il est relié.
EGP : les métriques
- EGP annonce des métriques comprises entre 0 et 255 (inaccessible)
- Le mécanisme permet de couvrir les besoins inhérents aux IGPs et les liaisons multiples entre AS
Métrique annoncée par le provider généralement assez grande (128) pour laisser fonctionner le backdoor
EGP : les contraintes
- Conçu pour un réseau hiérarchique de type BackBone (exemple Arpanet/Nsfnet -> Réseaux régionaux ->campus).
o Aujourd’hui le réseau est maillé et des boucles apparaissent
o Les routes multiples ne sont pas prises en compte
- La distance est utilisée uniquement comme évaluation d’accessibilité (car la métrique est propre à un AS vs mesure universelle)
- Taille des messages importante ==> fragmentation de datagrammes
- Successeur d’EGP : BGP développé fin des années 80 qui permet :
o des mises à jour incrémentales (vs tailles des messages),
o la conversion avec IGP’s des informations de routage (==>cohérence entre métriques de routeurs intérieurs et extérieurs)
o évite les boucles dans une topologie maillée
RIP : Routing Information Protocol
- Protocole intérieur (Cf AS), RFC 1058.
- Berkeley made (BSD/routed)
- Conçu à l’origine pour les réseaux locaux, étendu aux réseaux distants
- Peu performant, mais le plus employé au monde
- De type Vector/Distance
- Deux Version 1.0 et 2.0
- Fonctionne au-dessus d’UDP/IP ; port 520 (Cf <1024)
- Si une route n’est pas rafraichie dans les 3 Mns la distance=infini
- Mode Actif : Routeurs, Mode passif : machines (Historique : Espionnage d’hôtes passifs dans les réseaux locaux).
- Les informations de routage sont émises toutes les 30 secondes et indiquent pour un routeur donné, la liste des réseaux accessibles avec leur distance (next hop).
- Les routes diffusées sont les routes propres + les routes acquises
RIP Format des messages
RIP : traitement des messages
RIP : les contraintes
- RIP 1 : Pas de routage par sous réseaux (masque non transmis).
Solution: liaison point à point dédiée au routage des 2 sous-réseaux
RIP : les contraintes
- inconvénients des techniques Vector-Distance :
o taille des informations de routage (proportionnelle au nombre de routeurs)
o Métrique difficilement utilisable, limitée à 16, pas de cohérence entre domaine de routage (pas d’universalité entre AS),
o Bouclage, éventuellement à l’infini,
o Pas de chemins multiples
- Amélioration apportée par RIP Version 2
o Gestion de sous-réseaux et super-réseaux (Cf CIDR)
o utilisation de Multicast IP (224.0.0.9) au lieu de Broadcast IP
o Suppression de pics de transmission de messages : supprimer les synchronisations involontaires des émissions de messages : introduction de gestion aléatoire du déclenchement des émissions (14 à 45 secondes).
- Problèmes résiduels importants
o Boucles,
o Métriques non appropriées aux réseaux modernes (Cf commerciaux)
o Pas de chemins multiples
OSPF : Open Shortest Path First
- Protocole link state (RFC 1247) destiné à remplacer les protocoles intérieurs propriétaires et RIP.
- OSPF utilise la fonctionnalité “type de service” offerte par IP
o permet d’installer plusieurs routes pour une même destination,
o selon des critères différents (ex : délai court, débit important).
o si plusieurs routes vers une même destination sont de coût équivalent, OSPF répartit la charge équitablement parmi ces routes.
- OSPF supporte l’adressage en sous-réseaux (subnets);
- Découpe d’un système autonome en aréas
o isolement des informations de routage à l’intérieur de ces aréas
o ==> limitation des informations de routage dans le système autonome.
- Des liens virtuels peuvent être établis dans la topologie de l’AS afin de cacher les connexions physiques d’une partie du réseau.
- Les liens extérieurs avec d’autres systèmes autonomes (via EGP par exemple) sont pris en compte.
Echanges entre routeurs authentifiés ==> l’intégrité des messages.
OSPF : les concepts, areas
- Le problème : dans les systèmes de routage, si le réseau est trop grand
o overhead du trafic dans le réseau,
o calculs trop longs,
o dimensionnement mémoire trop grand
- La solution : routage hiérarchique
o découpage du réseau en parties indépendantes (Areas)
o reliées par un BackBone (Area BackBone)
- La fonctionnalité
o chaque area constitue un réseau indépendant
- la table des liaisons ne contient des liaisons de l’Area,
- le protocole d’inondation s’arrête aux frontières de l’Area,
- les routeurs ne calculent que des routes internes à l’Area
o certains routeurs (area border routers) appartiennent à plusieurs Areas (en général une Area inférieure et une Area BB) et transmettent les informations récapitulatives des Areas qu’ils relient.
OSPF: Concepts: Areas
OSPF, concepts : le routeur désigné
- Le problème: Sur un réseau où il y N routeurs il y a N*(N-1)/2 adjacences.
o Chaque routeur doit annoncer N-1 liaisons vers les autres routeurs
o Chaque routeur doit annoncer ses routes vers un «réseau terminal» (Cf sous-réseaux).
o soit N² annonces (problème du carré de N)
- La solution: Un routeur est désigné plus «égal que les autres»
o Les autres routeurs établissent une adjacence avec ce routeur uniquement
o Le routeur désigné annonce vers le réseau terminal
o soit N annonces
OSPF, Fonctionnement
- Chaque routeur du système autonome où d’une area construit sa propre base d’information décrivant la topologie de l’AS complet ou bien de l’area.
- Au départ les routeurs utilisent des messages "Hello" pour découvrir leurs voisins; une "adjacence" est formée lorsque deux routeurs communiquent pour échanger des informations de routage.
- L’information élémentaire échangée entre routeurs décrit l’état (link state) des adjacences; cette information est fournie par un routeur donné puis propagée dans l'area ou l’AS.
- A partir de sa base d’information (collection d’états des routeurs), chaque routeur construit un arbre du plus court chemin (SPF tree) dont il est la racine.
- Cet arbre indique toutes les routes pour toutes les destinations du système autonome, plus les destinations extérieures.
OSPF, la Base topologique
- La base d’information topologique d’un système autonome décrit un graphe orienté. Les nœuds du graphe sont des routeurs ou bien des réseaux tandis que les liens représentent les connexions physiques.
- Les réseaux sont dits de transit si plusieurs routeurs y sont connectés ou terminaux dans le cas contraire.
- A chaque réseau est associée une adresse IP et un masque réseau.
- Une machine seule (host) est considérée comme un réseau terminal avec un masque égal à 0xFFFFFFFF.
OSPF : exemple
OSPF: Le graphe orienté
OSPF : Le plus court chemin
La table de routage de R6
OSPF : Configuration en areas
OSPF : Annonces de l’area 1 vers le BackBone
OSPF : les annonces du Backbone vers l’area 1
Attention : le cout pour atteindre le réseau N9/N10/N11 est la main de tous et donc est 1. ==> Cout de 26.
OSPF : les annonces du Backbone vers l’area 1
OSPF : La base de données
- Les états des liaisons sont enregistrés selon 5 types :
o routeur,
o réseau,
o récapitulation de réseau IP,
o récapitulation de réseau externe,
o externe
- L’identifiant de la liaison est choisi par le routeur annonçant
- Format d’un enregistrement :
OSPF : La base de données
- Les liaisons de routeurs (type EL = 1)
o récapitulent les liaisons attachées à ce routeur
o concernent soit un routeur inter-area, soit un point d’accès externe
o type de la liaison :
- point à point vers un autre routeur
- reliant le routeur vers un réseau de transit
- reliant le routeur à un réseau terminal
- Les liaisons de réseau (type EL = 2)
o annoncées par les routeurs désignés sur les réseaux de transit
o L’Identificateur de liaison correspond à l’adresse IP du routeur désigné vers ce réseau
- Les liaisons récapitulatives de réseaux IP (type EL=3)
o annoncées par les routeurs inter-area
o un message par annonce (pas de groupage)
o Identificateur de liaison = adresse IP de réseau ou sous-réseau
- Les liaisons récapitulatives de routeurs externes (type EL=4)
o annoncées par les routeurs externes
o un message par annonce (pas de groupage)
o Identificateur de liaison = adresse IP du routeur externe
- Les liaisons externes (type EL=5)
o annoncées par les routeurs externes (Cf EGP, BGP)
o un message par annonce (pas de groupage)
o Identificateur de liaison = adresse IP du réseau ou sous-réseau destinataire
OSPF : Le calcul des routes
- La base de données permet de calculer les tables de routages
- Le calcul est effectué après tout changement de topologie
- Selon l’algorithme «link state» qui détermine
o les chemins les plus courts
o les chemins aussi courts
- OSPF transmet la table de routage à IP en transcodant les valeurs de TOS selon la RFC 1349
OSPF : les sous-protocoles
- Le protocole Hello
o vérifie que les liaisons sont opérationnelles
o permet l’élection du routeur désigné ainsi que le routeur back-up
o établit une connexion bilatérale entre 2 routeurs
OSPF : les sous-protocoles
- Le protocole d’échange
o consiste en l’échange des tables «link state» entre 2 routeurs
o activé si la connexion bilatérale a réussit
o se situe entre routeur désigné et les autres routeurs sur les liaisons réseaux et entre backup et autres routeurs
o initie les premiers échanges
o suppléé ensuite par le protocole d’inondation
o Fonctionne en Maitre/Esclave
o Echanges avec acquittements
- Le protocole d’inondation
o Activé lorsque l’état d’une liaison change et que cet état était préalablement enregistré.
o Peut aussi être activé sur demande d’état après connexion bilatérale
o protocole avec acquittement
o Pour chaque annonce
- si nouvelle valeur : l’annonce est réémises sur toutes les interfaces
- Acquittement vers l’émetteur initial
Annonces de RT3 vers le BB
Annonces de RT3 vers Area 1
Annonces de RT4 vers area1 pour l’ASBR RT7
Annonces de RT4 (DR) pour N3
Un network link par l’intermédiaire du DR annonce tous les routeurs attachés à ce réseau
Annonces synthèses de RT4 vers area1 pour l’ASBR RT7
Annonces (synthèses) de RT4 vers le BB pour le réseau N1
Article plus récent Article plus ancien