Algorithme de Routage État de liaisons Link State Routing Routage dans l Internet Partie 2 () Isabelle CHRISMENT ichris@loria.fr Stratégie: envoyer à tous les nœuds (pas seulement les voisins) information au sujet de ses voisins Distribution de la topologie du réseau et du coût de chaque liaison à tous les routeurs 2 État de liaisons Carte de réseau Les nœuds ont une copie complète de la carte du réseau Les nœuds exécutent le calcul des meilleurs routes localement en utilisant cette carte Plus de boucles. A F B E C G D A B A C A E A F B A B C C A C B C D 3 4 État de liaison Basé sur 2 mécanismes Dissémination fiable de l information (reliable flooding) Pour permettre une mise à jour de la base de données Calcul des routes à partir des informations locales Dissémination de la topologie Chaque routeur met les informations décrivant les liaisons dans des paquets appelés LSP (Link State Packet) ou LSA (Link State Advertisement) LSA : L ID ou identificateur du nœud qui a créé le LSA Une liste des voisins directement connectés avec le coût de la liaison vers chaque voisin numéro de séquence (SEQNO) time-to-live (Age) pour ce paquet 5 6
A F B E C G LSA D A B A C A E A F Inondation ( Flooding) Algorithme Recevoir un LSA et chercher l enregistrement correspondant dans la base Si enregistrement pas présent, l ajouter et diffuser le LSA à tous les nœuds excepté celui de la réception Si enregistrement présent, comparer le numéro de séquence du paquet reçu avec celui stocké Si le numéro de séquence dans la base est plus petit que celui du LSA reçu, diffuser le LSA à tous les nœuds excepté celui de la réception 7 8 Inondation ( Flooding) Inondation ( Flooding) lollipop sequence space Générer de nouveaux LSAs périodiquement => incrémentation du numéro de séquence Quel problème peut-il y avoir avec les numéros de séquence? Comment choisir le numéro initial, si un routeur reboot? Lollipop sequence space [perlman 83] ou «Espace de numérotation en sucette» 9 Partitionnement de l espace de numérotation de taille N en 3 parties : De -N/2 à 0 Le numéro 0 De 0 à N/2- Quand un routeur démarre il utilise le numéro de séquence N/2 pour son LSA et ensuite N/2+, -N/2/+2,. Quand le numéro de séquence devient positif, il entre dans la partie circulaire 0 Inondation ( Flooding) -N/2 0 N/2 - Règle Un LSP de numéro de séquence a est plus vieux que celui de séquence b si : a < 0 et a < b a > 0, a < b et b-a < N/4 a > 0, b > 0, a >b et a-b > N/4 Règle 2 Si un routeur obtient un LSP d un autre routeur qui a un numéro de séquence plus vieux que celui stocké dans sa base, il informe ce routeur de son numéro de séquence Que se passe-t-il en cas de panne? Détection de la panne (message HELLO) Comment détruire de vieux LSAs? Aging process : Incrémenter l Age pour chacun des LSAs stockés avant de diffuser une copie Le détruire quand le Age=MaxAge ( heure) et rediffuser le LSA aux voisins par le protocole d inondation pour le détruire dans les autres noeuds 2
Calcul de la route en théorie Algorithme utilisé : Algorithme du plus court chemin d abord de Dijkstra (Short Path First) Théorie des graphes Soit N l ensemble des nœuds dans le graphe l(i,j) poids sur l arc entre le nœud i et j. Si aucun arc entre i et j alors l(i,j) = C(n) détermine le coût du chemin de s vers le nœud n 3 M = {s} Pour tout n dans N -{s} C(n) = l(s,n) Tant que (N M) M = M {w} tel que C(w) est le minimum pour tout w dans (N-M) Pour tout n dans (N-M) C(n) = MIN (C(n), C(w)+l(w,n)) A 5 0 B 3 2 D C 4 Calcul de la route en pratique Algorithme du "Forward Search» Chaque routeur maintient deux listes : Temporaire (T) et Permanent (P) Chaque liste contient 3 éléments: Destination, Coût, Prochain nœud. Initialiser la liste P avec une entrée pour le nœud lui-même (s). Cette entrée a un coût de 0 2. Pour le nœud ajouté dans la liste P lors de la précédente étape et appelé Next, sélectionner son LSP 3. Pour chaque Voisin de Next, calculer le coût pour atteindre son Voisin comme la somme du coût de s à Next avec celui de Next au Voisin. Deux cas peuvent se produire 5 6 a) Si Voisin n est présent ni dans la liste P ni dans la liste T alors ajouter <Voisin, Coût, Nexhop> dans la liste T, avec Nexthop étant la direction que s doit prendre pour atteindre Next b) Si Voisin est présent dans la liste T et le coût inférieur à celui actuellement listé pour Voisin, alors remplacer l entrée courante par <Voisin, Coût, Nexthop> où Nexthop est la direction que s doit prendre pour atteindre Next Etape Permanent Temporaire. (D,0,-)... 4. Si la liste T est vide, arrêter. Sinon prendre une entrée dans la liste T avec le coût le plus faible,la déplacer dans la liste P et retourner en 2 7 A 5 0 B 3 2 D 8 C
Calcul de la route Formation du SPF en 2 étapes : Etape : seules les liaisons entre routeurs et réseaux de transit sont considérées Etape 2: les feuilles sont ajoutées à l arbre en ajoutant les liaisons aux réseaux terminaux Exemples de protocoles de routage à état de liaison (Open Shortest Path First Protocol) : protocole à état de liaison recommandé pour remplacer RIP : load-balancing authentification Hiérarchie ; domaine sont partitionnés en area. 9 20 Routage hiérarchique Le routage est hiérarchisé pour simplifier le calcul des routes Découpage en AREA Une area est un ensemble de réseaux contigus Chaque AREA se comporte comme un réseau indépendant Routage hiérarchique Un routeur a une Link State Database pour chaque area à laquelle il est connectée : Area border router (routeurs interzone): routeurs connectés à plusieurs areas Deux niveaux de routage : Intra area Inter area 2 22 Routage hiérarchique Aire backbone (Area 0) Contient tous les area border router Est responsable de la distribution pour les informations de routage entre zones non-backbone Le backbone doit être contigus physiquement ou virtuellement Chemin obligatoire pour passer d une area à une autre La topologie ne peut pas comporter de boucles, elle est hiérachique ; le zones communiquant par le backbone Routage hiérarchique Aire secondaire Connectée à l aire backbone par un routeur interzone Comprend dans la base de données des LSAs Les enregistrements des LSA envoyés à l intérieur de la zone Les enregistrements récapitulatifs émis par le ou les routeurs interzones Les enregistrements externes au système émis par des routeurs ayant accès à d autres systèmes de routage 23 24
Routage hiérarchique Aire terminale (stub area) Même comportement que les area secondaires Mais ne mémorise pas les informations sur les routes externes Les liaisons externes sont récapitulées dans une route par défaut 25 RFC 2328 (Avril 998) Fonctionne directement au dessus de IP (protocole type 89) Est en fait composé de 3 sous-protocoles : Hello Exchange Flooding/Inondation Tous les paquets commencent avec une en-tête commune 26 0 7 5 3 Version Type Packet length Router ID Checksum Area ID Authentication Authentication Autype Le protocole HELLO Permet de : Vérifier que les liaisons sont opérationnelles Est responsable de l établissement et du maintien des relations entre voisins S assure que la communication entre les voisins est bidirectionnelle D élire le routeur désigné et son backup sur le réseau Les paquets sont envoyés périodiquement sur toutes les interfaces 27 28 Le protocole HELLO 0 7 5 3 Entête Paquet, type Network mask Hello Interval Options Priority Dead Interval Designated Router Backup Designated Router Neignbor Le protocole HELLO Election du Routeur Désigné Quand l interface d un routeur devient fonctionnelle pour la première fois, elle vérifie s il y a déjà un routeur désigné pour ce réseau et l accepte (sans regarder la priorité) S il n y a pas de DR, il y a recherche du routeur ayant la plus haute priorité 29 30 Neignbor
Le protocole d échange Permet la synchronisation initiale des bases de données d informations entre routeurs Protocole asymétrique Etape : choix du maître et de l esclave Etape 2 : Echange d une description des bases de données 3 0 7 5 3 Entête Paquet, type 2 Interface MTU Options 0 0 0 0 0 I M MS DD sequence number LSA header... Init-bit : Si =, premier paquet de l échange More-bit : Si =, d autres paquets de description suivent Master/Slave bit: Si = le routeur est le maître durant l échange DD sequence number : numéro de séquence de la Description de la Database 32 0 7 5 3 LS Age Options LS Type Link State ID LS checksum Advertising Router LS sequence number... length Le protocole d inondation Quand une liaison change d état Émission d un LSA pour informer du changement d état Link State Update : Type 4 Acquittement pour fiabiliser le protocole d inondation Link State Acknowledgment : Type 5 An LSA header 33 34 0 7 5 3 Entête Paquet, type 4 LSAs... 0 7 5 3 Entête Paquet, type 5 LSA header... Choisir le coût des liaisons Déterminer la façon dont la charge de trafic est distribuée dans le réseau Plus le coût est faible pour une liaison, plus la probabilité de choisir cette liaison dans un plus court chemin est grande Différentes métriques possibles Métrique statique Métrique dynamique de l ARPAnet Métrique dynamique de l ARPAnet modifiée 35 36
Métrique statique Le plus simple donné un poids de à chaque liaison Le chemin le plus court est le chemin avec le moins de routeurs intermédiaires Problème? Assigner un poids différent en fonction du type de liaison Problème? Métrique dynamique de l ARPAnet Le coût d une liaison est proportionnel à la longueur de la file d attente du routeur à l entrée de la liaison. Problème quand le réseau est surchargé? 37 38 Métrique dynamique de l ARPAnet modifiée Prise en compte également des capacités des liaisons. Quand la charge de la liaison est faible, son coût dépend entièrement de la capacité de la liaison Structuration en Système Autonome L Internet est découpé en systèmes autonomes (AS) comprenant chacun un ensemble de routeurs sous une administration unique Les routeurs dans le même AS exécutent le même algorithme de routage L algorithme de routage à l intérieur d un AS est appelé intra- autonomous system routing protocol ou protocole de routage intra-as 39 40 Structuration en Système Autonome Les systèmes autonomes sont connectés par des routeurs appelés Gateways Routers L algorithme de routage utilisé pour déterminer la route entre les AS est appelé inter- autonomous system routing protocol ou protocole de routage inter-as => Les routeurs intra-as ont besoin de connaître les autres routeurs intra-as et le ou les gateways routers 4 Routeur A.c Routage Intar-AS Table routage Systèmes autonomes AS C a Routage Inter-AS De/vers A.b De/vers A.d De/vers B.a b N. layer DL. layer Phys. Layer d a b AS A c a c b AS B 42
Exemples de protocoles de routage Protocoles intérieurs RIP (Routing Information Protocol) (Open Shortest Path First Protocol) Exemples de protocole de routage Protocoles extérieurs EGP (Exterior Gateway Protocol) est un protocole à vecteur de distance BGP-4 (Border Gateway Protocol version 4) est un protocole à vecteur de chemin où les vecteurs de distance sont annotés. BGP utilise TCP pour communiquer 43 44 Commutation niveau 3 or comment intégrer IP et ATM Plusieursapproches : IP switching : première approche de Ipsilon CSR (Cell Switching Router) de Toshiba Tag Switching de Cisco ARIS (Aggregate Route-based IP Switching) de IBM L IETF a regroupé ces techniques sous le terme de MPLS (MultiProtocol Label Switching) Switching dans IP Réaliser une implémentation efficace de IP au dessus d un commutateur rapide Prendre un commutateur ATM (matériel) et modifier le logiciel Associer un flux IP avec un label ATM flux IP : IP/TCP/UDP label ATM : (VPI/VCI) 45 46 Notion de flux/flots/flow Un flot est une séquence de paquets envoyés d une source vers une destination Deux types de flots : Type : Application à application Type 2 : Machine hôte à machine hôte Classification des flots Détermination du flot auquel appartient un paquet Affectation d un label : flots avec label seront commutés directement sur le matériel ATM flots sans label seront routés normalement Tous les paquets appartiennent à un flot mais pas tous les flots ont un label 47 48
Structure d un IP Switch IP Switching se base sur 2 protocoles GSMP (General Switch Management Protocol) est utilisé pour l interaction entre le contrôleur IP et le commutateur ATM. IFMP (Ipsilon Flow Management Protocol) est un protocole qui permet à des commutateurs adjacents de se découvrir automatiquement et permet d associer des flots de trafic IP à des connexions ATM directes Protocole de Gestion du Switch (GSMP) IP switch controller ATM switch Port Protocole de Gestion de Flux IFMP 49 50 Tag switching Deux types d entités: Tag Edge Router (TER) à la périphérie du réseau et implante des services de niveaux 3. Associe des tags aux paquets Tag Switch Router (TSR) peut être un routeur ou commutateur ATM. Commute les paquets en fonction du tag. Tag switching Chaque paquet contient un tag L2 header Tag IP packet Chaque «tag switch» contient des informations de commutation dans une table TIB (Tag Information Base) [in tag]->[out tag][out interface][out link level info] 5 52 Tag switching Le tag d un paquet est utilisé comme un index dans la TIB Si l index correspond le «switch» : remplace le tag du paquet par le «out tag» remplace l info de niveau du paquet par «out link level» par exemple adresse MAC envoie le paquet sur «out interface» Un Tag et une Route Un tag peut être lié/associé : à une route à un groupe de routes à un flot niveau applicatif => Distribuer les informations de «tag binding» le long de la route Tag Distribution Protocol (TDP) Modifiant des protocoles de routage comme /BGP 53 54
MultiProtocol Label Switching WG de l IETF créé en 997 Ensemble de draft de l IETF qui présente une solution standard pour la commutation niveau 2/3 Utilise les «label» Un label : identificateur de niveau 2 pour acheminer trafic niveau 3 55