Protocoles de routage Création : Modifications 1993 : Jean Luc Archimbaud (UREC) Modifications 1995, 1998 Bernard Tuy (UREC) 2000-2001 : Christian Hascoët (CCR) ARS 00/01
Plan Introduction Domaine de routage (système autonome) Protocoles de routage Intra domaine, Distant Vector, Link State, DUAL Inter domaine EGP, BGP ARS 00/01
Routage dynamique : Introduction (1) TCP-IP : technologie de type bout en bout en opposition au point à point comme X25 Acheminement des paquets réalisé par routage plutôt que par commutation : IP fait au mieux (sans état) X25 maintient des états associés au circuit virtuel Adresse du prochain routeur, nombre de paquets restant à transmettre, contrôle de flux, … : un état perdu => communication rompue. Gestion de la communication (contrôle de flux, corrections des d’erreurs, etc.) sont réalisés de bout en bout à un autre niveau par TCP (ICMP). ARS 00/01
Routage dynamique : Introduction (2) Mode bout en bout par sa flexibilité est + robuste que le mode point à point Si un routeur tombe en panne, ses voisins : Recalculent leur table de routage, Acheminent si possible les paquets restant à transmettre par une nouvelle route, Comparable à l'acheminement d'une lettre par la poste. En mode point à point : circuit rompu => connexion perdue. ARS 00/01
Routage dynamique : Introduction (3) Routage IP est dynamiquement adaptatif Cohérence permanente des tables de routage, Cherche aussi à limiter la taille des tables de routage (agrégation) pour réduire les temps de traitement associé: Routage IP effectué de saut en saut (next hop) depuis la source jusqu’à la destination, A chaque saut : Prise de décision autonome : sélection de la route à prendre, Connaissance partielle du routage Concept de route par défaut est au cœur du routage IP. ARS 00/01
Routage dynamique : Introduction (4) Rapidement obligatoire : fonction taille du réseau Utilisation de protocole(s) de routage But : maintenir la cohérence des informations associées aux routes Protocoles de routage de natures différentes si ils : Traitent le routage à l’intérieur d’un domaine de routage, Traitent le routage de plusieurs domaines de routage. ARS 00/01
Domaine de routage : Système Autonome (1) Concept d'AS : Autonomous System Découpage de l’Internet entre AS interconnectés Domaine sous la responsabilité d’une autorité unique. Diminution table de routage Architecture indépendante des autres systèmes autonomes Exemples : fournisseur d'accès, réseau de multinationale ... AS : numéro unique (2octets) attribué par RIPE, ARIN... ftp://ftp.isi.edu/in-notes/iana/assignments/as-numbers. Appartenance : 1307 Jussieu, 2200 FT 1717 Renater ARS 00/01
Domaine de routage : Système Autonome (2) RIPE : Réseaux IP Européens ARPNIC : Asia Pacific Network Information Center ARIN : American Registery for Internet Number USA et reste du monde Interrogation des bases de données (RFC 854) whois : whois -h whois.ripe.net 134.157.0.0 whois -h whois.ripe.net jussieu.fr whois -h whois.ripe.net hascoet http://www.ripe.net/cgi-bin/whois whois -h rs.internic.net (.com, .net, .org, .edu) ARS 00/01
Domaine de routage : Système Autonome (3) Domain : jussieu.fr Descr : Université Pierre et Marie Curie Descr : Centre de Calcul Recherche, T55/65, Descr : 4, place Jussieu F75252 Paris Cedex 05 admin-c : JG412-RIPE tech-c : Christian Hascoet tech-c : Jacky Thibault Nserver : shiva.jussieu.fr Nserver : cendrillon.lptl.jussieu.fr Nserver : soleil.uvsq.fr Dom-net : 134.157.0.0 Mnt-by : FR-NIC-MNT Changed : Vincent.Gillet@inria.fr 19970219 Source : RIPE Route : 134.157.0.0/16 Descr : RENATER Descr : Université Pierre et Marie Curie Descr : 4 place Jussieu 75252 PARIS Cedex 5 Desc r : FRANCE Origin : AS 2200 Mnt-by : RENATER-MNT Changed : RenSVP@Renater.fr 19991008 Source : RIPE whois -h whois.ripe.net 134.157.0.0 whois -h whois.ripe.net jussieu.fr ARS 00/01
Traversée de systèmes autonomes (1) r-jusren# traceroute ftp.univ-lyon1.fr 1 r-rerif.reseau.jussieu.fr (134.157.255.1) [AS 1307] 0 ms 2 stlambert1.rerif.ft.net (193.48.53.197) [AS 2200] 0 ms 3 stamand1.rerif.ft.net (193.48.53.101) [AS 2200] 4 ms 4 nio-i.cssi.renater.fr (193.51.206.145) [AS 1717] 4 ms 5 nio-n2.cssi.renater.fr (193.51.206.13) [AS 1717] 5 ms 6 lyon.cssi.renater.fr (195.220.98.6) [AS 1717] 8 ms 7 univ-lyon.cssi.renater.fr (195.220.98.26) [AS 1717] 20 ms 8 cs7505.univ-lyon1.fr (134.214.200.226) [AS 2060] 26 ms 9 cismserveur.univ-lyon1.fr (134.214.103.240) [AS 2060] 26 ms Disponible sur ftp://ftp.ripe.net/tools/traceroute.tar.Z ARS 00/01
Traversée de systèmes autonomes (2) r-jusren>traceroute atacama.ehess.fr 1 r-rerif.reseau.jussieu.fr (134.157.255.1) [AS 1307] 0 ms 2 stlambert1.rerif.ft.net (193.48.53.197) [AS 2200] 0 ms ….. 6 195.83.239.142 [AS 2200] 12 ms 7 atacama.ehess.fr (193.48.45.1) [AS 1309] 12 ms r-jusren>traceroute ftp.cnam.fr 6 195.83.239.74 [AS 2200] 8 ms 7 bose.cnam.fr (163.173.128.28) [AS 1309] 8 ms ARS 00/01
Classes de protocoles de routage (1) Le concept AS implique que tous les routeurs de celui-ci soient interconnectés Le réseau d'une société nécessitant un autre AS pour communiquer ne peut constituer un AS. Tous les routeurs d’un AS échangent leurs tables : IGP : protocole de routage entre routeurs d'un AS Interior Gateway Protocol. Exemples : RIP, OSPF, EIGRP ... EGP : protocole de routage entre AS Exterior gateway Protocol. Exemples : EGP, BGP. ARS 00/01
Classes de protocoles de routage (2) AS N°X Protocole Intra domaine AS N°Y Protocole Intra domaine Protocole Inter domaine ARS 00/01
Protocoles de routage interne 3 types d’algorithmes : Distance-Vector RIP (Version 1 et 2), IGRP (Cisco) DUAL (Diffusing Update ALgorithm) (Cisco) EIGRP Link-State OSPF ARS 00/01
Algorithme Distance-Vector (1) Algorithme de Belman-Ford : calcul de routes distribué. Un routeur par diffusion régulière informe ses voisins des routes qu’il connaît. Une route est composée de : L'adresse du réseau de destination, L'adresse du routeur pour atteindre le réseau de destination (next hop) La métrique : nombre de saut(s) = nombre de routeur(s) à traverser pour atteindre le réseau de destination. En réception, le routeur compare les routes reçues avec les siennes, il met à jour sa propre table de routage si : Une route reçue est meilleure (métrique inférieure), Une route reçue est nouvelle. ARS 00/01
Algorithme Distance-Vector (2) Avantages : Simplicité de l'algorithme (charge CPU faible) Interopérabilité (stations, routeurs) Inconvénients : Convergence lente pour les grands réseaux Le volume des informations échangées entre routeurs est proportionnel aux nombres de réseaux ARS 00/01
Table de routage Distance-Vector Cisco : show ip route @IP # IP du T dernière Interface Réseau métrique next hop annonce apprentissage 134.157.27.0 2 134.157.1.126 0:00:28 Ethernet0 134.157.26.0 2 134.157.1.126 0:00:28 Ethernet0 134.157.25.0 3 134.157.1.126 0:00:28 Ethernet0 134.157.1.0 0 connecté Ethernet0 .... 134.157.130.0 0 connecté Ethernet1 0.0.0.0 1 134.157.1.126 0:00:19 Ethernet0 ARS 00/01
Distance-Vector : éviter les boucles (1) Horizon partagé : Ne renvoie pas des informations apprises sur une interface, en utilisant la même interface (ip split-horizon par défaut) Contenu des tables de routage des routeurs concernant IP1 : R3 : Réseau IP1 à 2 sauts R2 : Réseau IP1 à 1 saut 1) R1 tombe en panne 2) R2 le détecte, et met la route pour IP1 à l'infini 3) Donc R3 ne doit pas indiquer à R2 que IP1 est à 2 sauts, il doit écouter uniquement les annonces de R2 no ip split-horizon : en cas de routage particulier sur une même interface par exemple R1 R2 R3 Réseau IP1 ARS 00/01
Distance-Vector : éviter les boucles (2) Même scénario que précédemment, avec une topologie ≠ Redondance de chemins avec l'ajout de R4 L'horizon partagé ne peut pas à éviter les boucles D'ou la technique : De demander au routeur de ne rien faire durant la période transitoire (hold down) de changement d'état (changement important de métrique) Dans ce cas précis (entre R3 et R4) le routeur peut renvoyer sur l'interface d'apprentissage une route empoisonnée (= de métrique infinie) (Poison Reverse) Mais le "hold down" allonge le temps de convergence des annonces, la solution : Mise à jour déclenchée (triggered update) : Changement dans table de routage, annonce directe sans attendre la fin de la période R2 R3 R1 R4 ARS 00/01
Distance-Vector : Table de routage réelle Cisco : show ip route (avec RIP) R 134.157.27.0 [120/2] via 134.157.1.126, 0:00:28, Ethernet0 R 134.157.26.0 [120/2] via 134.157.1.126, 0:00:28, Ethernet0 R 134.157.25.0 [120/3] via 134.157.1.126, 0:00:15, Ethernet0 C 134.157.1.0 is directly connected, Ethernet0 .... C 134.157.130.0 is directly connected, Ethernet1 R* 0.0.0.0 [120/1] via 134.157.1.126, 0:00:19, Ethernet0 Introduction du concept de distance administrative ARS 00/01
Informations de "Distance" Provenance Cisco * : Permet de rendre prioritaire des informations de routage par rapport à d'autres (classement des protocoles de routage) Configurable par l'administrateur Exemple : distance eigrp 90 10 (rendre + prioritaire EIGRP % BGP) ARS 00/01
Distance-Vector : RIP V1 RFC 1058, très répandu (gated, routed sur les stations unix) Base de nombreux protocoles : Appletalk, Novell ... RIP Version 1 par défaut sur les cisco : Utilise des datagrammes UDP (port 520) UDP : pas de garantie d'arrivée, pas de contrôle de séquencement 1 datagramme contient 25 entrées au maximum) Métrique limitée à 15 (≥ 16 : route inaccessible) Ne véhicule pas le masque du réseau (masque implicite) => pas de VLSM Ne conserve que la meilleure route Le + court chemin en nombre de routeur(s) traversé(s) (saut) <=> la métrique la + faible (quantité, pas la qualité) ARS 00/01
Distance-Vector : Principes de RIP V1 Diffuse toutes les 30 s sa table de routage Route est invalide au bout de 180 s : nombre de saut ≥ 16 si : Aucun message n'a été reçu Un message explicite a été reçu. Mais les paquets y sont toujours envoyés. La route est maintenue dans les tables, mais les voisins sont avertis du problème (hold down de 180s) Au bout de 240 s, la route est obligatoirement enlevée des tables (flush) ARS 00/01
Distance-Vector : RIP V1 (3) R2 : show ip route @IP-Réseau1 (à métrique 1) 1) Known via "rip", distance 120, metric 1 Last update from R1 on Ethernet1, 00:00:00 ago 2) Passage à l'état inaccessible Known via "rip", distance 120, metric 4294967295 (inaccessible) Last update from R1 on Ethernet1, 00:03:03 ago Hold down timer expires in 178 secs 3) Known via "rip", distance 120, metric 4294967295 (inaccessible) Last update from R1 on Ethernet1, 00:03:59 ago Hold down timer expires in 115 secs 4) 240 s : suppression de la route de la table de routage % Subnet not in table @IP-Réseau1 R1 R2 R3 ARS 00/01
Distance-Vector : RIP V1 (4) R3 : show ip route @IP-Réseau1 (à métrique 2) 1) Known via "rip", distance 120, metric 2 Last update from R2 on Ethernet0, 9 seconds ago 2) Known via "rip", distance 120, metric 16777215 (inaccessible) Last update from R2 on Ethernet0, 19 seconds ago (triggered update) Hold down timer expires in 172 secs 3) Known via "rip", distance 120, metric 16777215 (inaccessible) Last update from R2 on Ethernet0, 191 seconds ago Hold down timer expires in 0 secs 4) Known via "rip", distance 120, metric 16777215 (inaccessible) Last update from R2 on Ethernet0, 213 seconds ago 5) Known via "rip", distance 120, metric 16777215 (inaccessible) Last update from R2 on Ethernet0, 238 seconds ago 6) % Network not in table temps > 240 secondes @IP-Réseau1 R1 R2 R3 ARS 00/01
Distance-Vector : RIP V2 RIP Version 2 : RFC 1387 et 1388 Diffusion multicast (224.0.0.9) Véhicule le masque de réseau => Permet l'utilisation de VLSM Agrégation de route En place par défaut sur Cisco (désactivation no auto-summary) Premier protocole avec possibilité d'authentification Commandes d'interface ip rip authentification mode (md5 | text) RFC 1321 pour l'algorithme MD5, RFC 2082 Authentification ip rip authentification key-chain Clé ARS 00/01
Cisco : Routage RIP Les principales commandes : router rip (commande globale) version 1 | 2 network @IP-réseau (réseau concerné par RIP) neighbor @IP-machine (avec qui les informations de routage sont échangé, pour liaison point à point ou non broadcast) interface Type-Int N°Int (commande d'interface) ip rip send version 1 "et/ou" 2 ip rip receive version 1 "et/ou" 2 ARS 00/01
Distance-Vector : IGRP Internal Gateway Routing Protocol : Propriétaire Cisco (1985) Principe proche de RIP pour la diffusion des tables de routage Temps 3 x supérieur (gain bande passante) Split horizon et Poison reverse (contre les boucles) Routage interne d'un AS (enregistré ou non) (filtrage possible des annonces venant d'AS différents), Peut comprendre jusqu'à 4 chemins pour un même réseau Métrique maximum : 100 par défaut (configurable) Mais pas de VLSM et d'agrégation Remplacé par EIGRP ARS 00/01
Caractéristiques : EIGRP (Cisco) Propriétaire (Cisco) (début années 90) Pallie aux limites d'IGRP (convergence, boucles) Gère jusqu'à 4 routes possibles pour un seul et même réseau avec un calcul spécifiques des métriques (identique à IGRP) Supporte en plus VLSM et l'agrégation de route (manuelle ou automatique) ip summary-address eigrp AS @reseau masque auto summary (par défaut) Pas d'échange périodique des tables de routage, mais mise à jour partielle (gain de bande passante) Peut faire du routage pour IP, Appletalk, IPX (3 tables) Différence principale entre IGRP et EIGRP : DUAL Diffusing Update Algorithm : Algorithme recherchant une convergence plus rapide des informations ARS 00/01
Métriques (E)IGRP : Principes Calcul des métriques : combinaison de plusieurs données Données statiques : Bande passante de la liaison (1200b/s a 10Gb/s) (bandwidth) MTU de la liaison Délai (DLY) : 100 : Ethernet 100, FDDI ou ATM 155 Mb/s, 1000 : Ethernet 10, 20000 : Interface série ou RNIS. 100000 : Interface asynchrone Données calculées : Charge liaison (rapport sur 255) (Load) Fiabilité de la liaison (rapport sur 255) (Rely) ARS 00/01
Métriques (E)IGRP : Données (1) Calcul des métriques : show interface fastEthernet 1/0 FastEthernet1/0 is up, line protocol is up Hardware is AmdFE, address is 00d0.0649.541c (bia 00d0.0649.541c) Description: Interface RJ45 : Interconnexion vers RENATER Internet address is 134.157.255.126/25 MTU 1500 bytes, BW 100000 kbit, DLY 100 µs, rely 255/255, load 31/255 Encapsulation ARPA, loopback not set, Keepalive set (10 sec) Full-duplex, 100Mb/s, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Queueing strategy : fifo Output queue 0/40, 0 drops; input queue 0/75, 1 drops 30 second input rate 16.538.000 bits/sec, 3644 packets/sec 30 second output rate 12.248.000 bits/sec, 3543 packets/sec ARS 00/01
Métriques (E)IGRP : Données (2) Calcul des métriques : show interface serial 1 Serial1 is up, line protocol is up Hardware is HD64570 Description: LS 256k vers CHU Broussais (75014) Interface is unnumbered. Using address of Fddi0 (134.157.254.252) MTU 1500 bytes, BW 256 Kbit, DLY 20000 µs, rely 255/255, load 61/255 Encapsulation HDLC, loopback not set, keepalive set (10 sec) Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 0/75, 0 drops 5 minute input rate 13000 bits/sec, 12 packets/sec 5 minute output rate 62000 bits/sec, 13 packets/sec DCD=up DSR=up DTR=up RTS=up CTS=up ARS 00/01
EIGRP Principe (1) Gestion des voisins (neighbor discovery/recovery): Hello (5s) Apprentissage dynamique des voisins (directement connectés) Échange entre voisins (fiable) : Utilise le multicast (224.0.0.10) avec acquittement pour les mises à jour DUAL : Diffusing Update ALgorithm : Prend les décisions de routage (si ≠ chemins) (load balancing), Trace les routes données par ses voisins (classés par ordre de métrique) Les sollicite pour trouver des routes de remplacement, et utilise leurs calculs pour connaître sa nouvelle route (diffusing computation) Il conserve les distances et destinations annoncées par ses voisins ARS 00/01
EIGRP Principe (2) Tables des voisins (≠ selon protocole): show ip eigrp neighbors Address Int Hold (s) Uptime (= last update) 134.157.254.126 Fa2/0 12 1d16h … Si aucun hello reçu durant Hold Time (3xHello) => Changement de topologie Tables de topologie : show ip eigrp topology [Réseau Masque] Table des réseaux annoncés avec liste des voisins annonçant ses réseaux (métrique annoncée par le voisin). État des voisins : Actif (calcul : pas voisin potentiel) ou Passif (pas de calcul de route) Exemple (pour 1 réseau) : show ip eigrp topology 134.157.1.0 255.255.255.128 From 134.157.254.123 (FastEthernet2/0) State is Passive, 1 Successor(s) Metric is 30720, Route is Internal, Vector metric : bandwidth 100000 Kbit, delay 200 µs, Reliability 255/255, Load 15/255, MTU 1500, Hop count 1 ARS 00/01
EIGRP Principe (3) Marquage des routes : Interne : Apprise par EIGRP Externe : Apprise par un autre protocole de routage (redistribution) show ip route eigrp (Type D : EIGRP, D EX : EIGRP Externe) D 134.157.2.0/25 [90/30720] via 134.157.254.106, 6w4d, FastEthernet2/0 D 134.157.1.0/25 [90/30720] via 134.157.254.123, 2w3d, FastEthernet2/0 D EX 134.157.5.0/24 [170/53760] via 134.157.254.123, 2w3d, FastEthernet2/0 D 134.157.4.0/25 [90/284160] via 134.157.254.7, 1d23h, FastEthernet2/0 194.57.137.0/27 is subnetted, 2 subnets D EX 194.57.137.96 [170/53760] via 134.157.254.7, 1d23h, FastEthernet2/0 D EX 194.57.137.64 [170/53760] via 134.157.254.7, 1d23h, FastEthernet2/0 D*EX 0.0.0.0/0 [170/30720] via 134.157.254.126, 1d18h, FastEthernet2/0 ARS 00/01
Cisco : Routage EIGRP router eigrp N°-AS (commande globale) network @IP-réseau Gestion du trafic (Cas de ≠ routes possibles) : Symétrique : trafic envoyé de manière égale sur les ≠ chemins Asymétrique : trafic envoyé de manière inversement proportionnelle aux métriques sur les 2 chemins. Ceci est réglable par traffic-share {balanced | min} Si min est spécifié tout va vers la métrique la + courte Si balanced : on peut augmenter artificiellement la métrique avec variance multiple (1 par défaut (équilibré) jusqu’à 128) pour déséquilibrer les trafics ARS 00/01
Filtrage des annonces router rip | igrp | eigrp passive-interface Type-Int N°Int Pour ne pas envoyer d'update sur cette interface Exemple : Pas la peine d'envoyer du RIP sur un réseau, ou aucune machine ne l'écoute (réseau de machines avec une route par défaut) distribute-list N°Access-list in | out Type-Int N°Int Pour filtrer (partiellement ou totalement) en entrée ou en sortie les annonces pour le protocole de routage spécifié ci-dessus Exemple : envoie seulement de la route par défaut ARS 00/01
Algorithme SPF : Shortest Path First Routeurs testent périodiquement l’état des liens (Link State) avec ses voisins Diffusent périodiquement ces états à tous les autres routeurs du domaine Pour chaque routeur : BDD identique et cohérente grâce à une diffusion avec acquittement et validité limitée en temps, contrôle des enregistrement (cheksum) Établissement d'une carte des Link State complète du réseau Métriques multiples fonction de paramètres multiples (débit, délai, coût, fiabilité). À partir ce cette carte, le routeur selon l’algorithme SPF (Dijkstra) : Détermine localement le + court chemin vers chaque destination. Pas de diffusion périodiques des tables de routage, mais diffusion seulement des mises à jour de l’état (up, down) des routes (limite la taille des messages et la charge du réseau). ARS 00/01
Open Shortest Path First : Caractéristiques (1) OSPF version 2 est un protocole Link State : Ouvert (Open) : public, spécifications dans RFC 1583 (3/1994) Créé pour remplacer RIP et les autres protocoles intérieurs propriétaires. Utilise IP (protocole N°89) et le multicast (224.0.0.5 (tous les routeurs OSPF de l'AS) et 224.0.0.6 (pour les DR)) Calcule des coûts en guise de métriques OSPF utilise les types de service (champ precedence) d'IP Permet la gestion de plusieurs routes pour une même destination, Selon critères du champ TOS : délai, débit, fiabilité, coût (1 à la fois). OSPF permet le load-balancing parmi les ≠ routes vers un même réseau. ARS 00/01
Open Shortest Path First : Caractéristiques (2) OSPF supporte VLSM (masque véhiculé dans ces messages) Découpe d’un système autonome en sous systèmes (aires, areas) pour limiter les informations de routage à l'aire. Sécurité : N° de séquence, Cheksum, Authentification possible pour les échanges entre routeurs. Envoie des LSA (Link State Announcement) Quand l'état d'une ligne change Ou toutes les 30 minutes. ARS 00/01
OSPF: routage hiérarchique Avec un réseau de grande taille, on risque d'avoir : Un overhead du trafic dû au transit des informations de routage, Des calculs de route longs (CPU) + besoin de RAM important (coût) OSPF utilise un routage hiérarchique basé sur le découpage du réseau en aires (areas, codés sur 4 octets) (réseaux contigus) Reliées par une dorsale (Backbone ou Area Backbone) Chaque aire constitue un ensemble indépendant de réseau(x) La table des liaisons (Link State) ne contient que les liaisons de l’aire, Le protocole d’inondation s’arrête aux frontières de l’aire, Les routeurs ne calculent que les routes internes de l’aire $ des border routers appartenant à plusieurs aires (aire et backbone en général), ils transmettent les informations récapitulatives des aires qu’ils relient. ARS 00/01
OSPF : les Aires (1) On distingue 3 classes d'aires : L'aire backbone (Area 0) : Unique Chemin obligatoire pour passer d'une aire à l'autre Les aires secondaires Tous les routeurs ont une vue complète de la carte du réseau Routeurs calculent localement la meilleure route entre 1 source et 1 destination. Les aires terminales (stub area) Pas de vue complète de la carte du réseau Ajout d'une route par défaut (area X stub) Suppression des routes externes (area X stub no-summary) Travail identique des routeurs Une aire ≈ environ 50 routeurs au maximum. ARS 00/01
OSPF : les Aires (2) Système Autonome Aire Backbone Area Border Router AS Border Router Aires terminales (stub) Aires secondaires ARS 00/01
OSPF : Les routeurs AS Border : Routeur frontière de l'AS qui apprend les routes extérieures à l'AS (par EGP, BGP…) Area Border : Routeur appartenant à plusieurs aires (interfaces multiples ≈> aires multiples) Maintient des BDD de topologie ≠ pour chaque aire Designated Router : Pour limiter les transactions entre routeur ARS 00/01
OSPF : le routeur désigné (DR) Sur un réseau de n routeurs : Chaque routeur a N-1 liaisons vers les autres routeurs Au total n(n-1)/2 échanges Avec un routeur désigné (DR) : Les autres routeurs ont 1 adjacence avec le DR uniquement Seul le DR annonce vers l'extérieur : Réduction à n échanges Élection : fonction de priorité (configurable) ip ospf priority N° Élection d'un secours par sécurité C'est hello qui se charge de surveiller le bon fonctionnement des DR (primaire et secours) B D A C A élu DR A B C D ARS 00/01
Open Shortest Path First : Protocole(s) (1) OSPF est un protocole complexe, car : Nécessite plusieurs "sous-protocoles" pour fonctionner et chaque routeur gère plusieurs BDD (routes du réseau, tables de routages vers les autres réseaux du domaine, tables de routages vers les autres domaines) Hello utilisé pour : Vérifier si les liaisons sont opérationnelles Permettre l’élection du DR, ainsi que le DR de secours Établir une connexion bilatérale entre 2 routeurs ARS 00/01
Open Shortest Path First : Protocole(s) (2) Échange (avec acquittement) utilisé quand : Si la connexion bilatérale a réussi : Maître / Esclave, DR / Autres routeurs Échange des Link State entre DR et les autres routeurs Initie les premiers échanges (suppléé ensuite par l’inondation) Inondation (avec acquittement) utilisé quand : L’état d’une liaison déjà connue change Sur demande d’état après connexion bilatérale Pour chaque annonce Si nouvelle valeur : l’annonce est ré-émises sur toutes les interfaces Acquittement vers l’émetteur initial ARS 00/01
OSPF : Principes 1) Local : Coût = 108 /(BP en bits) (Ethernet 10 = 10) - Priorité 2) Identification de ces voisins (Hello) 3) Formation d'une adjacence (2 routeurs échangeant les Link State des adjacences avec le DR (gain BP) qui lui transmet la BDD 4) Diffusion de sa configuration locale vers l'ensemble des autres routeurs (numérotation séquence limite propagation message et risque de boucle) 5) Une fois BDD synchrone, Algorithme SPF entre ses données locales et la BDD (construit un arbre SPF du + court chemin dont il est la racine). 6a) Modification ensuite possible routeur désigné et BDD 6b) Échange périodique de LSA ou à chaque mise à jour ARS 00/01
OSPF : show ip ospf database (1) 172.16.3.0 Stub Area 1 172.16.1.0 Aera 0 172.16.2.0 Area 2 172.16.4.0 Stub Aera 1 .1 R1 .2 R2 .254 R3 R2 : 172.16.3.1 pour Area N°0 (backbone) Link ID ADV Router Age (s) N° Seq Checksum Link count Router Link States 172.16.2.1 172.16.2.1 1086 80000003 0xC088 1 172.16.3.1 172.16.3.1 1085 80000003 0xDA4B 1 Net Link States 172.16.1.2 172.16.3.1 1085 80000001 0xFF39 Summary Net Link States 172.16.2.0 172.16.2.1 1130 80000001 0x8D47 172.16.3.0 172.16.3.1 1112 80000003 0x951B 172.16.4.0 172.16.3.1 1107 80000001 0xF2B4 ARS 00/01
OSPF : show ip ospf database (2) 172.16.3.0 Stub Area 1 172.16.1.0 Aera 0 172.16.2.0 Area 2 172.16.4.0 Stub Aera 1 .1 R1 .2 R2 .254 R3 R2 : 172.16.3.1 pour Area N°1 Link ID ADV Router Age (s) N° Seq Checksum Link count Router Link States 172.16.3.1 172.16.3.1 1122 80000003 0xF82F 1 172.16.4.1 172.16.4.1 1128 80000004 0x77F5 2 Net Link States 172.16.3.254 172.16.4.1 1128 80000001 0x1742 Summary Net Link States 0.0.0.0 172.16.3.1 1173 80000001 0x479 172.16.1.0 172.16.3.1 1082 80000003 0xC9EA 172.16.2.0 172.16.3.1 1078 80000001 0x2784 Routes supprimées si stub no-summary ARS 00/01
OSPF : Table de routage 172.16.3.0 Stub Area 1 172.16.1.0 Aera 0 R2# show ip route Codes: C - connected, O - OSPF, IA - OSPF inter area Gateway of last resort is not set 172.16.0.0/24 is subnetted, 4 subnets O 172.16.4.0 [110/20] via 172.16.3.254, 00:02:33, Ethernet1 C 172.16.1.0 is directly connected, Ethernet0 O IA 172.16.2.0 [110/20] via 172.16.1.1, 00:02:33, Ethernet0 C 172.16.3.0 is directly connected, Ethernet1 R3# show ip route Gateway of last resort is 172.16.3.1 to network 0.0.0.0 172.16.0.0 255.255.255.0 is subnetted, 4 subnets C 172.16.4.0 is directly connected, Ethernet1 O IA 172.16.1.0 [110/20] via 172.16.3.1, 00:11:37, Ethernet0 O IA 172.16.2.0 [110/30] via 172.16.3.1, 00:11:38, Ethernet0 C 172.16.3.0 is directly connected, Ethernet0 O*IA 0.0.0.0 0.0.0.0 [110/11] via 172.16.3.1, 00:11:38, Ethernet0 172.16.3.0 Stub Area 1 172.16.1.0 Aera 0 172.16.2.0 Area 2 172.16.4.0 Stub Aera 1 .1 R1 .2 R2 .254 R3 Routes supprimées si stub no-summary ARS 00/01
OSPF : Table de routage R2# Configuration du routage (area border) router ospf 1 network 172.16.1.0 0.0.0.255 area 0 network 172.16.3.0 0.0.0.255 area 1 area 1 stub no-summary R3# Configuration du routage network 172.16.4.0 0.0.0.255 area 1 area 1 stub 172.16.3.0 Stub Area 1 172.16.1.0 Aera 0 172.16.2.0 Area 2 172.16.4.0 Stub Aera 1 .1 R1 .2 R2 .254 R3 Cohérence des définitions ARS 00/01
Routage OSPF Les principales commandes : router ospf N°AS network @IP wildcard-mask area N°X network @IP wildcard-mask area N°Y ... area N° stub [no-summary] area N° authentication interface Type N° ip ospf cost coût ARS 00/01
Routage Extérieur 2 protocoles de type externe : EGP : Exterior Gateway Protocol L'ancien (Avril 1994) BGP : Border Gateway Protocol Le nouveau (Mars 1995) en version 4 ARS 00/01
Nombre de routes sur Internet Mise en place du CIDR Mise en place du CIDR : stoppe la montée exponentielle du nombre de route Nombre de jour depuis le 01/01/1994 Source : http://www.employees.org/~tbates/cidr.hist.plot.html
Évolution du nombre d'AS Nombre de jour depuis le 01/10/1996 Source http://www.employees.org/~tbates/cidr.as.plot.html
EGP : Caractéristiques (1) EGP (RFC 904) : 1 des premiers protocoles de routage inter-domaine entre le cœur ARPANET et les réseaux connectés au cœur Utilise obligatoirement une topologie hiérarchisée Topologie en étoile avec pour base le cœur du réseau S’appuie sur l’hypothèse d’un réseau fédérateur ou les différents AS se rattachent par un routeur unique Ne gère pas les problèmes de boucles (catastrophe), ni les métriques Repose sur le concept de voisinage : échange 2 à 2 sans diffusion Voisin EGP intérieur : routeur situé dans un même AS. Voisin EGP extérieur :routeur situé dans un autre AS Un voisin EGP doit n’être qu’à un seul saut IP (en théorie). Ne donne pas d’information sur des réseaux hors de son AS, ou sur les sous-réseaux Réseau fédérateur AS N°X AS N°Y AS N°Z ARS 00/01
EGP : Caractéristiques (2) Pas de diffusion. Les routeurs échangent à intervalle régulier : des informations 2 à 2 des messages du type : "Es tu la ?" (hello) <====> "oui, je suis là !" (I heard you) "Envoie moi ta liste de réseaux accessibles " <====> "voici ma liste" EGP est +un protocole d’accessibilité qu'un protocole de routage (RFC) Les métriques sont utilisées pour rendre prioritaire un routeur par rapport à un autre Utilise des datagrammes IP (numéro de protocole 8) Implémenté par de nombreux constructeurs. Utilisé à Jussieu jusqu'en 96 (Interconnexion avec RENATER) En fin de vie, remplacé maintenant par BGP 4 sur l'internet ARS 00/01
EGP : Fonctions principales Périodiquement : définit les temps avec ses voisins qu'on lui a explicitement donné EGP Neighbor FAS/LAS State SndSeq RcvSeq Hello Poll j/k Flags 192.44.54.1 1309/1307 UP 5TE 10052 11286 60 180 4 Perm,Act Poll : échange avec ses voisins l'accessibilité des réseaux qu'il possède EGP: from 192.44.54.1 to 192.44.54.126 vers=2, as=1309, seq=12358 Type=POLL, Code=0, Status=1 (UP), Net=192.44.54.0 Hello : Test si ses voisins sont OK Question EGP: from 192.44.54.126 to 192.44.54.1 vers=2, as=1307, seq=11123 Type=REACH, Code=HELLO, Status=1 (UP) Réponse EGP: from 192.44.54.1 to 192.44.54.126 vers=2, as=1309, seq=11123 Type=REACH, Code=I-HEARD-YOU, Status=1 (UP) Routing Update : indique le réseau vers l'AS distant, et le nombre de routeurs internes et externes EGP: from 192.44.54.1 to 192.44.54.126, vers=2, as=1309, seq=11123 Type=UPDATE, Code=0, Status=1 (UP), IntGW=1, ExtGW=0, Net=192.44.54.0 192.44.54.1 192.44.54.126 EGP AS X AS Y J/k : fiabilité maximum 4 Nb de pqts acquittés (page 404 Toutain) ARS 00/01
EGP : Exemple Les principales commandes : autonomous-system AS_Local (Commande globale) router egp AS_Distant network @IP-Réseau …. neighbor @IP-Voisin Exemple réel (Ancienne configuration de Jussieu) : autonomous-system 1307 router egp 1309 network 134.157.0.0 network 132.227.0.0 ... neighbor 192.44.54.1 ip route 0.0.0.0 0.0.0.0 192.44.54.1 ARS 00/01
BGP : Caractéristiques (1) BGP : pour le routage moderne inter AS (existe aussi en interne) BGP 4 remplace petit a petit EGP sur l’Internet Pour résoudre la limitation d'EGP (détection des boucles de routages) Routeur interne à un AS connaît le routeur vers d'autres AS BGP 4 supporte CIDR (préfixe IP annoncé + résumé de route) Historique : ARS 00/01
BGP : Caractéristiques (2) Communication entre routeurs BGP : même réseau et même AS À l'initialisation pour comparer ses tables Et déterminer qui est l'AS border router (routeur vers les autres AS) Il se peut qu’un AS ne soit qu’un lieu de passage d’un AS vers un autre => les updates BGP consiste donc en une liste de paires de N°réseau/N°AS. Le chemin vers l’AS contient la liste des AS à traverser et les réseaux à utiliser. Transports des mises à jour fiable : TCP port 179 Métriques de BGP : donne le degré de préférence pour un chemin donné Fixés par l'administrateur en fonction du nombre d'AS traversé, de la vitesse des liens, de leur fiabilité ... ARS 00/01
BGP : Messages (1) A l'initialisation BGP échange toute sa table de routage (open message) avec un autre routeur. Open message (avec ACK de l'ouverture de sessions) : Définit et échange de nombreux paramètres Numéro d'AS de l’expéditeur Hold-timer : temps maximum (sec) entre 2 keepalive => routeur H.S. Hold-timer : 180 s, keepalive : 60 s Type d'authentification (md5 ou non) Version de BGP utilisée (la version la plus récente) Ensuite ne sont envoyés que les changements (update message) ARS 00/01
BGP : Messages (2) Update Message : Les informations (obligatoires) qui sont échangées Origin : IGP, EGP, Incomplète. IGP : si le réseau est interne à l'AS EGP : si l'information apprise par EGP (peu de poids). Incomplète : si appris par ailleurs (statique par exemple). AS path : liste d'AS à traverser pour atteindre la destination. Next hop : @IP du routeur à utiliser pour aller vers la liste de réseau. Les autres informations sont optionnelles : communauté, préférences locales, agrégation .. Construit 3 tables (RIB : Routing Informations Base) Adj-RIB-In : Informations reçues (Sans calcul) Adj-RIB-Out : Informations à envoyer, classées par routeur destination Loc-RIB : Sélection des routes par le routeur (Calcul) ARS 00/01
BGP : Messages (3) Autres types de messages : Keepalive : pour vérifier que la liaison est bonne (tant que la valeur de hold-time n'est pas dépassée) Notification : réponse à une erreur (open, update ...) BGP utilise 1 seul et unique chemin vers un autre AS Sélection par des poids neighbor {@IP | Peer group name} weight Poids) ARS 00/01
BGP : Commandes de Base router bgp AS network @IPreseau neighbor @IP remote-as AS neighbor @IP version N° neighbor @IP password XXXX Si plusieurs neighbor avec politique équivalente => création de peer group (update + efficace) pour simplifier la configuration neighbor Nom_Peer_Groupe peer-group neighbor @IP peer-group Nom_Peer_Groupe ... ARS 00/01
BGP : Exemple réel router bgp 1307 redistribute eigrp 1307 neighbor 134.157.4.129 remote-as 789 neighbor 134.157.4.129 description IN2P3 Jussieu neighbor 134.157.4.129 ebgp-multihop 255 <=== utilise IGP neighbor 134.157.4.129 version 4 neighbor 134.157.255.1 remote-as 1309 neighbor 134.157.255.1 description EA France Telecom neighbor 134.157.255.1 version 4 neighbor 134.157.255.1 distribute-list 21 out no ip classless ip route 0.0.0.0 0.0.0.0 134.157.255.1 ARS 00/01
BGP : Exemple réel Utilisation de BGP pour le multicast (mbgp) router bgp 1307 redistribute dvmrp route-map dvmrp2mbgp neighbor 193.48.56.49 remote-as 2200 nlri multicast neighbor 193.48.56.49 description Vers fmbone2 (NIO) neighbor 193.48.56.49 distribute-list 10 in neighbor 193.48.56.49 distribute-list 1 out route-map dvmrp2mbgp set nlri multicast set origin igp ARS 00/01
BGP : Table de routage show ip route bgp B 194.254.61.0/24 [20/0] via 134.157.255.1, 06:04:59 B 194.214.31.0/24 [20/0] via 134.157.255.1, 5d02h B 194.199.14.0/24 [20/0] via 134.157.255.1, 1d23h B 193.48.227.0/24 [20/0] via 134.157.255.1, 5d02h B 193.52.227.0/24 [20/0] via 134.157.255.1, 5d02h B 194.214.14.0/24 [20/0] via 134.157.255.1, 2d05h B 192.54.209.0/24 [20/0] via 134.157.255.1, 5d02h B 194.57.211.0/24 [20/0] via 134.157.255.1, 5d02h ... ARS 00/01
Résumé Cisco# show ip route summary Route Source Networks Subnets Memory (octets) connecté 0 4 576 statique 4 1 720 eigrp 1307 10 367 54288 bgp 1307 1055 9 153216 ----------------- -------- ----- --------- Total 1079 381 220440 ARS 00/01
Vue Intérieure / Vue Extérieure Soit un réseau de classe B Pour un exemple de gain significatif Vous pouvez créer un grand nombre de sous réseaux L'annonce faite vers l'extérieur se limite à @IP/16 Sous Réseau 1 Réseau 2 Réseau 3 Réseau 4 Etc ... Réseau 5 Classe B /16 uniquement Réseau 6 ARS 00/01