INF2 RÉSEAUX INFORMATIQUES



Documents pareils
Chapitre 1 Le routage statique

ROUTEURS CISCO, PERFECTIONNEMENT

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Présentation du modèle OSI(Open Systems Interconnection)

Chapitre 11 : Le Multicast sur IP

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

NOTIONS DE RESEAUX INFORMATIQUES

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Sécurité des réseaux Firewalls

Ebauche Rapport finale

Le service IPv4 multicast pour les sites RAP

Configuration de Serveur 2003 en Routeur

TD 2 Chapitre 4 : Support des Services et Serveurs. Objectifs : Maîtriser l'exploitation des tables de routage dynamique.

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Groupe Eyrolles, 2000, 2004, ISBN :

Les réseaux de campus. F. Nolot

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

DIFF AVANCÉE. Samy.

2. DIFFÉRENTS TYPES DE RÉSEAUX

L3 informatique Réseaux : Configuration d une interface réseau

Présentation et portée du cours : CCNA Exploration v4.0

RAPPORT DE STAGE DE MASTER INFORMATIQUE DE L UNIVERSITE PIERRE ET MARIE CURIE Sécurité des infrastructures critiques.

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Installation et configuration d un serveur DHCP (Windows server 2008 R2)

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Service de VPN de niveau 3 sur RENATER (L3VPN MPLS)

Cisco Certified Network Associate

VoIP et "NAT" VoIP et "NAT" 1/ La Traduction d'adresse réseau. 1/ La traduction d'adresse réseau. 1/ La traduction d'adresse réseau

Administration Réseau sous Ubuntu SERVER Serveur DHCP

Hypervision et pilotage temps réel des réseaux IP/MPLS

DESCRIPTION DU CONCOURS QUÉBÉCOIS INFORMATIQUE (GESTION DE RÉSEAUX)

Installation d un serveur DHCP sous Gnu/Linux

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Présentation et portée du cours : CCNA Exploration v4.0

Le Multicast. A Guyancourt le

TP a Notions de base sur le découpage en sous-réseaux

TP réseau Les réseaux virtuels (VLAN) Le but de se TP est de segmenter le réseau d'une petite entreprise dont le câblage est figé à l'aide de VLAN.

Dynamic Host Configuration Protocol

Réseaux IUP2 / 2005 IPv6

Cisco Certified Network Associate Version 4

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Algorithmique et langages du Web

Internet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

GENERALITES. COURS TCP/IP Niveau 1

TP c Fonctions des listes de contrôle d'accès multiples (TP avancé)

Windows Internet Name Service (WINS)

Principes de DHCP. Le mécanisme de délivrance d'une adresse IP à un client DHCP s'effectue en 4 étapes : COMMUTATEUR 1. DHCP DISCOVER 2.

Mr. B. Benaissa. Centre universitaire Nâama LOGO

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

Multicast. protocoles de routage. Bernard Rapacchi Bernard Tuy CNRS/UREC

TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Routage Statique. Protocoles de Routage et Concepts. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Introduction. Adresses

Chap.9: SNMP: Simple Network Management Protocol

Introduction aux Technologies de l Internet

Configuration des routes statiques, routes flottantes et leur distribution.

Fonctions Réseau et Télécom. Haute Disponibilité

Packet Tracer : configuration des listes de contrôle d'accès étendues, scénario 1

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Services Réseaux - Couche Application. TODARO Cédric

Contrôleur de communications réseau. Guide de configuration rapide DN

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

1 Résolution de nom Introduction à la résolution de noms Le système DNS Les types de requêtes DNS...

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

LE RESEAU GLOBAL INTERNET

TR2 : Technologies de l'internet. Chapitre VII. Serveur DHCP Bootp Protocole, Bail Relais DHCP

Internet Protocol. «La couche IP du réseau Internet»

Cours n 12. Technologies WAN 2nd partie

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Cisco Certified Network Associate

Réplication adaptative sur les réseaux P2P

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Plan. Programmation Internet Cours 3. Organismes de standardisation

Travaux pratiques : dépannage de la configuration et du placement des listes de contrôle d'accès Topologie

E4R : ÉTUDE DE CAS. Durée : 5 heures Coefficient : 5 CAS TRACE ÉLÉMENTS DE CORRECTION

Mécanismes de configuration automatique d une interface réseau, aspects sécurité

Dynamic Host Configuration Protocol

Contributions à l expérimentation sur les systèmes distribués de grande taille

ALOHA Load Balancer 2.5. Guide de démarrage rapide. EXCELIANCE ALOHA 2.5 Guide de démarrage rapide 30/01/2008 1/17

Configuration automatique

Couche application. La couche application est la plus élevée du modèle de référence.

1.Introduction - Modèle en couches - OSI TCP/IP

Programme formation pfsense Mars 2011 Cript Bretagne

TAGREROUT Seyf Allah TMRIM

Cours des réseaux Informatiques ( )

Technologie de déduplication de Barracuda Backup. Livre blanc

Configurer ma Livebox Pro pour utiliser un serveur VPN

TCP/IP, NAT/PAT et Firewall

VLAN Virtual LAN. Introduction. II) Le VLAN. 2.1) Les VLAN de niveau 1 (Port-based VLAN)

Transmission de données

Administration des ressources informatiques

Allocation de l adressage IP à l aide du protocole DHCP.doc

Mise en route d'un Routeur/Pare-Feu

Transcription:

INF2 RÉSEAUX INFORMATIQUES Couche Réseau Routage

Plan Couche Réseau Présentation Routage Rappel sur l'adressage IP

La Couche Réseau Rôles Interface du sous-réseau de communication Détermination du chemin des paquets source et destination dans le même sous-réseau source et destination dans différents sous-réseaux Contrôle de congestion Résolution des problèmes d interconnexion Résolution des problèmes d hétérogénéité

Services pour la Couche Transport Layer Name of unit exchanged 7 Application Application protocol Application APDU Interface 6 Presentation Presentation protocol Presentation PPDU 5 Session Session protocol Session SPDU 4 Transport Transport protocol Communication subnet boundary Transport TPDU Internal subnet protocol 3 Network Network Network Network Packet 2 Data link Data link Data link Data link Frame 1 Physical Physical Physical Physical Bit Host A Router Router Host B Network layer host-router protocol Data link layer host-router protocol Physical layer host-router protocol

Implémentation des Services La couche Réseau est la première couche indépendante du matériel physique Les services fournis doivent être indépendants De la technologie d'acheminement (routeurs) Du nombre et du type d'équipements réseau La topologie doit être transparente du point de vue de la couche Transport L'adressage doit être uniforme à travers la totalité du réseau Deux modes de service Connectionless services sans connexion Connection-oriented services avec connexion

Mode sans Connexion Communauté Internet +40 ans d'expérience des réseaux informatiques Le réseau fait le minimum : Service sous-jacent non-fiable L'hôte gère la fiabilité (détection et correction des erreurs) et le contrôle de flux Mode sans connexion primitives : SEND_PACKET et RECEIVE_PACKET pas de fonctionnalités qui se trouvent dans les hôtes (réordonnancement, contrôle de flux...)

Mode Orienté Connexion Communauté Téléphonique 100 ans d'expérience de réseaux non-informatiques Le réseau fait le maximum : Service sous-jacent fiable Mode Orienté Connexion Création d'une connexion préalable, maintenue pendant toute la communication et explicitement terminé Négociation des paramètres de qualité de service à l'établissement Communication bidirectionnelle et ordonnée Contrôle de congestion systématique

Deux Techniques de Support Technique basée sur les Datagrammes permet de construire un service en mode nonconnecté ou orienté connexion généralement associé au mode sans connexion Technique basée sur les Circuits Virtuels permet de construire un service en mode orienté connexion ou non généralement associé au mode orienté connexion

Service par Datagrammes Analogie avec le service postal Buts : pas de mémorisation du trajet d'un type de paquet Router Subnet possibilité de routes diverses robustesse efficacité (multiplexage) tarification au débit Sending host Sending process A Packet Router C makes a choice to forward packets to E and not to D Fig. 1-10. A stream of packets from sender to receiver. B C D E Receiving host Receiving process

Service par Datagrammes Principes du routage Chaque paquet est routé individuellement Prérequis : chaque paquet doit transporter ses adresses Avantages Implémentation simplifiée (vision locale) Tolérance aux pannes Inconvénients Garanties limitées sur le service de livraison

Services sans Connexion

Services avec Circuit Virtuel Analogie avec les circuit physiques du téléphone Buts : éviter de recalculer la route pour chaque paquet traitement efficace des paquets (temps réel possible) tarification à la durée Sending host Router Subnet Receiving host Sending process Virtual circuit Receiving process

Services avec Circuit Virtuel Mécanisme Établissement d'une connexion "bout-à-bout" Principe Éviter de prendre une décision à chaque paquet envoyé/retransmis Avantages Garanties sur le chemin choisi Inconvénients Coût d'établissement d'une connexion Reconnexion en cas de panne

Services avec Circuit Virtuel

Comparaison Aspect Datagrammes Circuit Virtuel Initialisation Non Requise Adressage Routage Panne d'un routeur Chaque paquet contient les adresses source et destination Chaque paquet est routé indépendamment Les paquets sont routés vers des routeurs alternatifs Les paquets contiennent l'identifiant de la connexion virtuelle La route est choisie lors de l'établissement du CV Tous les CV sont supprimés Qualité de Service Difficile à garantir Allocation par avance lors de l'établissement du CV Contrôle de congestion Difficile Simple

Plan Couche Réseau Routage Principes de base Inondation Routage par vecteur de distance Routage par état des liaisons Routage hiérarchique Routage multicast Routage dans les réseaux mobile, ad-hoc et P2P

Principes du Routage Acheminement des paquets de la source à la destination quelque soit le nombre de saut Fonction principale de la Couche Réseau Utilisation d'un algorithme de routage choix de l'interface de sortie pour chaque paquet pour les datagrammes pour le 1er paquet d'un circuits virtuels (session routing)

Protocole de Routage ou Protocole Routé? Protocoles routés Tout protocole qui n'est pas capable (tout seul) d'atteindre une destination distante Ex : TCP, HTTP, IP Protocoles de routage Protocoles auxiliaires qui permettent le routage des paquets Diffusion de l'information, construction des tables de routage, meilleur chemin Ex : RIP, OSPF, EIGRP, IS-IS, BGP Certains protocoles de routage utilisent les services de protocoles routés pour l'établissement de connexions sur le segment Ex : RIP et OSPF utilisent UDP/IP, BGP utilise TCP/IP D'autres protocoles de routage utilisent leurs propres services de transport, indépendants des protocoles routés Ex : EIGRP utilise RTP, IS-IS utilise CLNP

Les 3 commandements Les Routage Chaque routeur décide indépendamment sur le routage des paquets, grâce aux informations contenues dans sa propre table de routage Le fait qu'un routeur détient une information dans sa table de routage ne veut pas dire que les autres routeurs la détiennent aussi L'information du chemin de routage entre un réseau A et un réseau B (A B) ne permet pas d'inférer sur le chemin contraire (B A)

Propriétés des Algorithmes de Routage Exactitude (correctness) Simplicité (simplicity) Robustesse (robustness) doit toujours fonctionner Stabilité (stability) convergence rapide vers un équilibre Équité (fairness) même traitement pour tout les paquets Optimalité (optimality)

Principe d'optimalité Si B est sur la route optimale de A à C, alors la route optimale de B à C suit la même route Conséquence : les routes optimales vers une destination donnée forme un arbre (sink tree) pas de boucle nombre de sauts fini B B A D E C A D E C F G L H I J N F G L H I J N K K M O M O (a) (b)

Types d'algorithme de Routage Routage statique non adaptatif décisions pré-calculées et chargées initialement dans le routeur Routage dynamique Adaptatif décisions de routage évoluant selon les modification de topologie et de trafic (information locale, de routeur adjacent ou globale)

Imaginez-vous gérer les liens statiques dans un réseau pareil Qu est-ce que se passe si un lien tombe à 3h du matin?

Plan Couche Réseau Routage Principes de base Inondation Routage par vecteur de distance Routage par état des liaisons Routage multicast Routage hiérarchique Routage dans les réseaux mobile, ad-hoc et P2P

Algorithme de Flooding Algorithme de routage "naïf" Envoi vers toutes les interfaces sauf celle d'arrivée Stop : uniquement se le paquet a déjà été vu Simple mais coûteux Le nombre de messages est énorme Robuste, finit toujours par choisir le meilleur chemin Toutes les machines sont visitées

Plan Couche Réseau Routage Principes de base Inondation Routage par vecteur de distance Routage par état des liaisons Routage hiérarchique Routage multicast Routage dans les réseaux mobile, ad-hoc et P2P

Routage par Vecteur de Distance Algorithme de routage dynamique Chaque routeur maintient une table (vecteur) de distances vers chaque destinataire possible avec l'interface à utiliser Destination Distance Direction (interface réseau) Utilise l'algorithme de routage distribué de Bellman-Ford Algorithme de routage initial d'arpanet puis d'internet (RIP)

Opération d'un protocole à vecteur de distance " La destination est un réseau " La distance est définie selon une métrique Ex : le nombre de sauts (hop count) " La direction indique simplement : L'adresse du prochain routeur ou L'interface de sortie.

Opération d'un protocole à vecteur de distance " Le protocole de routage " Ne connaît pas la topologie du réseau " La seule information qu'il détient est l'information de routage reçue de ses voisins " Principe similaire à celui des pancartes sur une route

Origines de l'algorithme Algorithme de parcours de graphe DFS DFS (graphe G, sommet s) Marquer (s); POUR CHAQUE élément s_fils de Voisins(s) FAIRE SI NonMarqué(s_fils) ALORS DFS (G,s_fils); FIN-SI FIN-POUR Ce parcours du graphe ne prend pas en compte le coût

Algorithme de Bellman-Ford Le routeur connaît la distance à ses voisins métrique = nb de saut, délais, charge... Échanges réguliers de vecteurs avec ses voisins Estimation des distances en calculant le minimum des vecteurs des voisins, additionné à la distance à ceux-ci

Pseudo-Algorithme Bellman_Ford(G, s) initialisation (G, s) // les poids de tous les sommets sont mis à +infini // le poids du sommet initial à 0 pour i=1 jusqu'à Nombre de sommets -1 faire pour chaque arc (u, v) du graphe faire paux = poids(u) + poids(arc(u, v)); si paux < poids(v) alors pred(v) = u; poids(v) = paux; pour chaque arc (u, v) du graphe faire si poids(u) + poids(arc(u, v)) < poids(v) alors retourner faux // il existe un cycle absorbant retourner vrai

Exemple A F B E Information sur chaque nœud On considère une métrique "saut" C G D A B C D E F G A 0 1 1 1 1 B 1 0 1 C 1 1 0 1 D 1 0 1 E 1 0 F 1 0 1 G 1 1 0

La Table de routage de A A F B E Avec l'information de départ, la table de routage de A est : C G D Coût Next Hop B 1 B C 1 C E 1 E F 1 F

La Table de routage de C et F B A C D E F G Coût Next Hop A 1 A G 1 G Coût Next Hop A 1 A B 1 B D 1 D

Évolution de la Table de Routage Chaque nœud envoie à ses voisins le contenu de sa table de routage Les nouvelles entrées sont mises à jour F à A : je connais G à une distance 1 C à A : je connais D à une distance 1 A B E C D Coût Next Hop B 1 B C 1 C D 2 C E 1 E F 1 F G 2 F F G

Matrice de Distances Finale A F Attention : B E Plusieurs "vagues" peuvent être nécessaires pour stabiliser la table de routage Les envois ne sont pas synchronisés C G D A B C D E F G A 0 1 1 2 1 1 2 B 1 0 1 2 2 2 3 C 1 1 0 1 2 2 2 D 2 2 1 0 3 2 1 E 1 2 2 3 0 2 3 F 1 2 2 2 2 0 1 G 2 3 2 1 3 1 0

Comptage à l'infini Convergence lente dans certain cas Problème : réalimentation des informations exemple pour le nœud A : (a) démarrage (b) A tombe en panne -> rebond (ping-pong) A B C D E 1 1 2 1 1 2 2 3 3 4 Initially After 1 exchange After 2 exchanges After 3 exchanges After 4 exchanges A B C D E 1 2 3 4 3 2 3 4 3 5 4 4 5 6 5 7 6 7 3 4 5 7 8 7 4 6 6 8. Initially After 1 exchange After 2 exchanges After 3 exchanges After 4 exchanges After 5 exchanges After 6 exchanges (a) (b)

Compter à l infini Periodic Update 10.4.0.0 en 35 sauts en passant par moi Periodic Update 10.4.0.0 en 24 sauts en passant par moi X 10.4.0.0 S0/0/1 2 4 3 S0/0/1 Compter à l infini est une manière de définir une limite maximale pour le nombre de sauts, évitant une boucle éternelle Chaque protocole a une valeur différente RIP définit 16 comme "infini" Une route qui a compté jusqu à l infini est marquée comme inatteignable

Horizon Partagé Technique utilisée pour éviter le comptage à l'infini évite la réalimentation des informations Astuce : suppression des métriques provenant du destinataire dans les vecteurs lui étant destinés

Horizon partagé split-horizon Dans l'exemple précédent on a vu que l'un des problèmes était la "réalimentation" des routes par des nœuds distants Pendant qu'on compte "à l'infini", les paquets tournent en rond entre les machines Il faut trouver un moyen de bloquer cette réalimentation Update avec une métrique plus grande: 10.4.0.0 3 sauts X S0/0/ 1

Split Horizon Periodic Update: X 10.4.0.0 Periodic Update: 10.4.0.0 X Periodic Update: 10.4.0.0 S0/0/1 1. R3 annonce le réseau 10.4.0.0 à R2 2. R2 reçoit l information et met à jour sa table de routage 3. R2 annonce 10.4.0.0 à R1 via S0/0/0 R2 n annonce pas 10.4.0.0 à R3 via S0/0/1, car cette route est issue de cette interface 4. R1 reçoit l information et met à jour sa table de routage 5. À cause du split horizon, R1 n annonce pas 10.4.0.0 sur R2 non plus

Route empoisonnée C est une technique pour marquer une route comme inatteignable lors d une mise à jour envoyée aux autres machines. Inatteignable = métrique au maximum Les routes empoisonnées accélèrent la convergence Risque : si un update se perd, on peut trouver des boucles de routage dans d'autres parties du réseau

Split-horizon avec retour empoisonné Les deux techniques précédentes travaillent dans des directions différentes Split-horizon : empêche le retour "à " Route empoisonné : annonce des routes infinies "ß " Si les deux techniques ne sont pas bien accordées, des boucles de routage peuvent toujours avoir lieu Update empoisonné perdu, split-horizon en marche à comptage à l'infini Une manière d'empêcher ceci est de "mélanger" les deux approches Periodic Update 10.4.0.0 en 16 sauts en passant par moi X S0/0/1

Est-ce fini? Est-ce que le problème des boucles de routage est fini avec l'utilisation de l'horizon partagé avec retour empoisonné? NON Ces techniques n'empêchent que les boucles entre deux nœuds Cet autre scénario n'est pas concerné :

Plan Couche Réseau Routage Principes de base Inondation Routage par vecteur de distance Routage par état des liaisons Routage hiérarchique Routage multicast Routage dans les réseaux mobile, ad-hoc et P2P

Link State Routing Algorithme de routage dynamique Fonctionnalités (par chaque routeur) : découverte de ses voisins et de leurs adresses mesure et calcul de coût vers ses voisins construction de paquets avec les informations connues et envoi de celui-ci vers tous les routeurs calcul du plus court chemin vers tous les routeurs Représentation complète du réseau dans tous les routeurs calcul du plus court chemin avec SPF de Dijkstra

SPF - Plus Court Chemin Représentation à l'aide d'un graphe : routeur = nœud, sommet liaisons = arcs (valeur = métrique)

Plus Court Chemin Implémentation une étiquette pour chaque nœud, contenant la distance minimum ainsi que le nœud précédent initialement le meilleur chemin n'est pas connu, la source (destination) est instaurée comme nœud initial mise a jour progressive des étiquettes des nœuds à partir de la route à la distance minimum

Algorithme SPF de Dijkstra pour chaque sommet s du graphe faire : d[s] = inf., pred[s] = NIL d[s-init] = 0, E = vide, R = tous les sommet tant que R n'est pas vide, faire : soit m le sommet de R tq d[m] = min des d[s] de R retirer m de R et l'inclure dans E pour chaque sommet adjacent de m faire : si d[s] > d[m] + métrique[s,m] alors d[s] = d[m] + métrique[s,m] pred[s] = m

B 7 C B (2, A) C (, ) A 2 6 2 1 E 2 F 4 3 2 3 2 D A E (, ) F (, ) D (, ) G (a) H G (6, A) (b) H (, ) B (2, A) C (9, B) B (2, A) C (9, B) A E (4, B) F (, ) D (, ) A E (4, B) F (6, E) D (,1) G (6, A) (c) H (, ) G (5, E) (d) H (, ) B (2, A) C (9, B) B (2, A) C (9, B) A E (4, B) F (6, E) D (, ) A E (4, B) F (6,E) D (, ) G (5, E) (e) H (9, G) G (5, E) (f) H (8, F)

Plan Couche Réseau Routage Principes de base Inondation Routage par vecteur de distance Routage par état des liaisons Routage hiérarchique Routage multicast Routage dans les réseaux mobile, ad-hoc et P2P

Routage Hiérarchique Le routage dynamique est coûteux Mémoire Échange de messages La sous-division du réseau en zones permet une vue hiérarchique du réseau Solution actuelle dans Internet Region 1 Region 2 1A 1B 1C 2A 2B 2C 2D 3A 4A 5B 5C 5A 4B 3B 4C 5D 5E Region 3 Region 4 Region 5

Routage Hiérarchique Agrégation des routes d'un domaine Simplification des choix Solutions sous-optimales Region 1 1B Region 2 1B 1A 1C Region 1 Region 2 1A 1C 2A 2B 2C 2A 2B 2C 2D 3A 4A 5B 5C 5A 4B 3B 4C 5D 5E Region 3 Region 4 Region 5 2D 3A 4A 5B 5C 5A 4B 3B 4C 5D 5E Region 3 Region 4 Region 5 Dest. Dest. 1A Full table for 1A 1A 1B 2A 1C 2A 2B 3A 2C 2D 3A 4C 3B 4A 5C 4B 4C 5A Full table for 1A 1B 1C 2B 2C 2D 3B 4A 4B 5A 5B 5D 5E Line Line Hops 1B 1 Hops 1C 1 1B 1 1B 2 1B 3 1C 1 1B 3 1B 2 1B 4 1B 3 1C 3 1C 2 1B 3 1C 3 1B 4 1C 4 1C 3 1C 4 1C 4 1C 2 1C 5 1C 3 1B 5 1C 6 1C 4 1C 5 1C 4 1C 4 Hierarchical table for 1A Dest. 1A 1B 1C 2 3 4 5 Hierarchical tab Line Hops Dest. 1B 1 1A 1C 1 1B 1B 2 1C 2 1C 1C 3 2 1C 4 (a) (b) (c) 3 4 5 Line H 1B 1C 1B 1C 1C 1C

Plan Couche Réseau Routage Principes de base Inondation Routage par vecteur de distance Routage par état des liaisons Routage hiérarchique Routage multicast Routage dans les réseaux mobile, ad-hoc et P2P

Routage Broadcast Envoi multiple inefficace et nécessite la liste des destinataires Flooding renvoi systématique des messages trop cher reste la référence par rapport au meilleur chemin Routage multi-destination efficace mais avec une liste explicite des destinataires

Arbre Couvrant Spanning-tree un seul chemin (le plus court) vers chaque nœud du réseau Utilisation de l'algorithme SPF Efficace, sans boucles, mais mémorisation obligatoire F H A D K E G C B H L A E H B C D F J G O M K L N I A B C D G J O F I E H K L M N E

Reverse Path Forwarding Alternative "dynamique" au spanning-tree Principe : utiliser le routage unicast comme référence (flooding filtré) Permet la construction d'arbres dynamiques proches de celles du Spanning-tree Arbre couvrant sans mémoire

Reverse Path Forwarding Algorithme : lorsqu'un paquet diffusé arrive dans un routeur, vérification qu'il arrive par l'interface utilisée pour joindre la source de celui-ci si oui, alors probablement sur l'arbre couvrant et diffusion vers les interfaces de sorties sinon élimination (paquet dupliqué) A B C D A B C D I E H K I L M N F O G J H E K L M I N F G O J F H J N A D E K G O M O E H C G D N B K L H L B (a) (b) (c)

Routage Multicast Problème : seul un groupe de machines n'est intéressé par le flux Comment limiter la diffusion? Comment optimiser les flux pour différents groupes? Outils nécessaires Un système de gestion de groupes Création, suppression, join/leave Des nœuds qui avertissent leurs groupes aux routeurs Des arbres couvrants (ou RPF) avec élagage

Routage Multicast Exemple : deux groupes Construction des arbres couvrants Algorithme RPF, par exemple Source 2 2 1 Source 2 1 2 1 1, 2 1, 2 1, 2 2 2 2 2 1, 2 1, 2 1, 2 1, 2 2 2 2 1 1 (a) 1 (a) 1 1 1 (b) 1 (b) 1 1

, 2 1 1, 2 1, 2 1, 2 1, 2 Routage Multicast 1, 2 1, 2 1, 2 2 2 2 2 2 2 2 Exemple : deux groupes 1 1 Élagage des 1 arbres (a) (a) Messages "PRUNE" 1 1 1 1 (b) (b) 1 1 Source Source 2 2 1 1 1 2 2 2 2 2 2 1 1 1 (c) 1 (c) (d) (d)

Routage Multicast Inconvénients : Ne s'adapte pas très bien aux grands réseaux Un arbre à mémoriser par groupe et par source!!! Alternative Core-base tree (aussi connu comme Rendez-vous Point) Un nœud "central" à un groupe est choisi ; il devient le point de départ des multicasts Ce n'est pas optimal, mais réduit le nombre d'arbres à stocker

Plan Couche Réseau Routage Principes de base Inondation Routage par vecteur de distance Routage par état des liaisons Routage hiérarchique Routage multicast Routage dans les réseaux mobile, ad-hoc et P2P

Réseaux mobiles Difficulté : le client se déplace Il faut garder un "lien" avec son identifiant d'origine Numéro de téléphone Numéro IP (pas de DHCP)

Réseaux mobiles Solution : utilisation d'agents relai Agents de domiciliation Service qui garde une trace de la localisation de ses "clients" et redirige le trafic en cas de déplacement Agents extérieurs Service qui gère les clients entrant dans une zone extérieur Met à jour les informations sur l'agent de domiciliation Transmet les données au client mobile

Réseaux mobiles

Réseaux ad-hoc Ici, tout le réseau est "mobile" Aucun agent de référence (routeur) auquel se fixer Les machines n'ont qu'une visibilité réduite de leur voisinage (portée de diffusion) Les dispositifs ad-hoc peuvent avoir des limitations de baterie Le routage dans les réseaux ad-hoc se fait à la demande, mais avec des algorithmes similaires à ceux déjà vus

Réseaux ad-hoc : protocole AODV AODV Ad-hoc On-demand Distance Vector Protocole inspiré de Bellman-Ford (et DFS) Caractéristiques Route vers un nœud distant grâce à une recherche de type vecteur de distance "destination, passerelle, distance" Surveillance du voisinage grâce à des "hello" "Retour empoisonné" pour les routes qui disparaissent

Protocole AODV Inondation du réseau par vagues Message de type "route request"/"route reply" Utilisation de "timestamps" pour éviter les doublons

Routage dans les réseaux P2P Les réseaux P2P peuvent être "purs" ou "hybrides" Hybrides : un élément central (serveur) connaît les adresses des différents éléments Pur : aucun élément centralisé n'existe Non-structuré Structuré

Routage P2P P2P non-structuré La recherche se fait par inondation Ex : gnutella

Principe : Systèmes Structurés Totalement distribué mais suffisamment structuré pour éviter le flooding les index sont décentralisés (DHT) DHT (Distributed Hash Table) une fonction de hachage permet de contacter le peer qui a la plus grande probabilité de connaître le index pour les informations demandées Exemples CAN (Content Addressable Network) Chord Pastry

Hachage des Index Décentralisé (DHT) Le système Chord Une fonction de hachage est appliquée sur les IPs (identifiant) et le nom des ressources (clé), résultant en une chaîne de m bits Habituellement m=160 2 160 identificateurs Les pairs (nom) sont stockés de façon distribué Une fonction successeur(k) permet de trouver le premier nœuds réel k module 2 m

Hachage des Index Décentralisé (DHT) Chord les nœuds et les clés partagent un espace d'identification les clés sont stockés dans les nœuds avec l'id immédiatement supérieur

Hachage des Index Décentralisé (DHT) Chord lors d'une requête, la demande est relayé dans l'ordre croissante des nœuds jusqu'à trouver le nœud avec l'index demandé

Hachage des Index Décentralisé (DHT) Chord optimisation finger table Chaque nœud garde un tableau de m entrées. L'entrée i du nœud n contient l'adresse du successeur (n + 2 i ). La recherche d'un nœud est réduite à O(log N)

Hachage des Index Décentralisé (DHT) CAN (Content Addressable Network) Tore cartésien virtuel Dimension d Espace partagé en zones Un nœud responsable par zone Association clé-point déterministe Fonction de hachage K => Point P dans l espace des coordonnées P => Zone Z => Responsable R 1,0 0,0 C (0-0,5 ; 0,5-1,0) A (0-0,5 ; 0-0,5) (0,5-0,75 ; 0,5-1,0) D E B (0,5-1,0 ; 0,0-0,5) (0,75-1,0 ; 0,5-1,0) 1,0 La paire (clé, valeur) est stockée sur R

Hachage des Index Décentralisé (DHT) Routage CAN Chaque nœud maintient une table Adresses IP de ses voisins Zones de coordonnées associées A est voisin de B B est voisin de D mais A n est pas voisin de D 1,0 C (0-0,5 ; 0,5-1,0) (0,5-0,75 ; 0,5-1,0) D E (0,75-1,0 ; 0,5-1,0) Routage glouton Dans la topologie à d dimensions Distance moyenne = O (n 1/d ) (pour n zones) 0,0 A (0-0,5 ; 0-0,5) B (0,5-1,0 ; 0,0-0,5) 1,0

Petite note sur le routage avec des Circuits Virtuels Les protocoles étudiés ici sont pour le routage de datagrammes Chaque paquet est routé individuellement Dans un système à circuits virtuels, le routage se fait par "session" Tous les paquets d'une session suivent la même route établie lors de la création du CV Ce principe est partiellement repris par IP lors de l'usage de la technologie MPLS But : accélérer le routage et séparer les flux

En résumé Le routage est l'un des points clés d'un réseau "large" Différentes contraintes et techniques Réseaux classiques Routage +- hiérarchique Routage statique ou dynamique avec vecteurs de distances ou état des liens Réseaux mobiles/ad-hoc/p2p Mécanismes de découverte dynamique et/ou de rédirectionnement des données Routage multicast