Les réseaux ad hoc mobiles Routage
Caractéristiques des MANETs Introduction – Qu’est-ce que les réseaux ad hoc Caractéristiques des MANETs Autonomes (pas de routeurs dédiés), Liaisons radios (bande passante limitée, taux d’erreurs élevé), Topologie dynamique (mouvement des nœud, entrée en sommeil), Utilisation de batteries pour l’énergie (Problème d’énergie), Sécurité physique limitée (vol), Bsiclly, we mean Mobile Ad Hoc networks when we say ad hoc. Les réseaux ad hoc mobiles : Routage - A. Benslimane
Introduction – Qu’est-ce que les réseaux ad hoc Exemple d’application des réseaux ad-hoc : Recherche d’urgence et opérations de secours, Meetings (ou conventions) où des personnes veulent s’échanger rapidement des information, Opérations d'acquisition de données dans des terrains inhospitaliers, Réseaux locaux dans le future ? Bsiclly, we mean Mobile Ad Hoc networks when we say ad hoc. Les réseaux ad hoc mobiles : Routage - A. Benslimane
Introduction – Qu’est-ce que les réseaux ad hoc Limitations typiques des réseaux ad hoc consommation d’énergie élevée Bande passante faible Taux d’erreur élevé Mobilité élevée pour chaque nœud du réseau Les réseaux ad hoc mobiles : Routage - A. Benslimane
Introduction – Qu’est-ce que les réseaux ad hoc Défis de Recherches Problèmes de la couche MAC Fiabilité de la couche liaison ? QoS dans MAC? Économie de l’énergie ? Problèmes de la couche réseau Routage ; (QoS?) Économie de l’énergie ? Multicast ? Problèmes de la couche transport Fiabilité de bout-en-bout; Contrôle de congestion? QoS? Problèmes de la couche application : Sécurité? QoS? Interactions avec les couches; Interconnexion avec Internet; Les réseaux ad hoc mobiles : Routage - A. Benslimane
Organismes de recherche IETF MANET WG Routage (unicast, multicast, etc.) Routage avec QoS ? Sécurité; http://www.ietf.org/html.charters/manet-charter.html Gouvernements : US, Finlande, Germany, France, … Universités : CMU, INRIA, UCLA, Industriels : Nokia, Siemens, Eriksson, etc. Les réseaux ad hoc mobiles : Routage - A. Benslimane
Routage dans le réseau Ethernet Comment acheminer Utiliser identificateur => adresse globale unique, ex: IP Trois types d’acheminement datagramme (sans connexion), ex: UDP,TCP/IP circuit virtuel (avec connexion), ex: ATM routage par source Les réseaux ad hoc mobiles : Routage - A. Benslimane
Routage dans le réseau Ethernet : par source Routeur 1 Routeur 4 Routeur 3 Routeur 2 Host A Host B 2 1 3 B Interface d’entrée, prochain saut, Interface de sortie Les réseaux ad hoc mobiles : Routage - A. Benslimane
Routage dans le réseau Ethernet : sans connexion Routeur 1 Routeur 4 Routeur 3 Routeur 2 Host A Host B 2 1 3 Host C Host D B C D A Dest. Inter. de sortie Les réseaux ad hoc mobiles : Routage - A. Benslimane
Routage dans le réseau Ethernet : Internet 3 (Token-ring) 1 (Ethernet) 2 (Ethernet) Routeur 1 Routeur 2 Routeur 3 Host 1 Host 7 Host 3 Host 2 Host 8 Host 4 Host 5 Host 6 Réseau 4 (point-à-point) Numéro Saut réseau prochain 1 R3 2 R1 3 Interface 1 4 Interface 0 Routeur2 Les réseaux ad hoc mobiles : Routage - A. Benslimane
Problème principal du Routage Le standard (Mobile) IP a besoin d’une infrastructure Home Agent/Foreign Agent dans le réseau fixe. DNS, routage etc. n’étaient pas conçus pour la mobilité. Pas d’infrastructure dans les réseaux ad hoc Aucun routeur par défaut n’est disponible. Chaque hôte (nœud) doit être capable de router les paquets. Les réseaux ad hoc mobiles : Routage - A. Benslimane
Routage dans le réseau Ethernet : sélection de la route Vecteur distance (Distance Vector) Compteur de sauts Etat de lien (Link state) Coût de lien Route ad hoc Les réseaux ad hoc mobiles : Routage - A. Benslimane
Algorithmes classiques de routage Vecteur de distance « Distance Vector » (RIP) Échange périodique des tables de routage entre tous les voisins physiques Chaque entrée de la table de routage contient la destination et le prochain routeur à traverser pour l’atteindre. Choix du plus court chemin dans le cas ou il y a plusieurs chemins disponibles État de lien « Link State » (OSPF) Chaque routeur inonde le réseau par l’état courrant de tous les liens physiques. Le routeur à une vue complète sur le réseau. ds: count-to-infinity problem: react very slow for bad news Les réseaux ad hoc mobiles : Routage - A. Benslimane
Routage dans les réseaux ad hoc Les différences entre le routage dans les réseaux Ethernet et dans les réseaux ad-hoc : Mobilité, Structure dynamique de topologie de réseau, IP != localisation physique, Chaque nœud mobile joue le rôle d’un routeur, Liens unidirectionnels, Limitations technologiques Les réseaux ad hoc mobiles : Routage - A. Benslimane
Routage dans les réseaux ad hoc 6 1 2 12 4 10 8 7 9 3 5 11 13 Les réseaux ad hoc mobiles : Routage - A. Benslimane
Les algorithmes classiques dans les MANETs Dynamique de la topologie Changements fréquents de liens, qualité des liens, Performances limitées des systèmes mobiles les mises à jour périodiques des tables de routage ont besoin de l'énergie et parfois inutiles (sans contribuer à la transmission des données d'utilisateur, les modes veille sont difficiles à réaliser). Les échanges des informations de routage réduisent de plus en plus la bande passante. Problème : ces protocoles ont été conçus pour les réseaux fixes avec des changements peu fréquents et supposent typiquement des liens symétriques use traditional protocol in ad hoc networks Les réseaux ad hoc mobiles : Routage - A. Benslimane
Routage dans les MANETs Solution - Concevoir des algorithmes spécialement pour les réseaux ad hoc Léger (Énergie) Optimal (précision des routes) Scalable (mobilité / nœuds) Multicast, sécurité, … Les réseaux ad hoc mobiles : Routage - A. Benslimane
Les réseaux ad hoc mobiles : Routage - A. Benslimane Routage Ad Hoc Routage géographique Routage plat Routage hybrides proactif réactif OLSR AODV DSR ZRP HSR … LAR GPSR … FSR WRP ADV TORA ABR DSDV: destination-Sequenced Distance-Vector Routing WRP: wireless routing P AODV: Ad-hoc On-Demand Distance Vector routing TORA: Temporally-Ordered Routing Algorithm DSR: Dynamic source routing ABS: Associativity-Based routing SSR: Signal Stability routing DSDV CGSR Les réseaux ad hoc mobiles : Routage - A. Benslimane
Deux types de routage : Routage dans les réseaux ad hoc Basé-table Basé-source initialisation (à la demande) = Table-driven / proactif = on-demand / reactif Les réseaux ad hoc mobiles : Routage - A. Benslimane
Routage dans les réseaux ad hoc Deux types de routage : Basé table Chaque nœud maintient une ou plusieurs tables pour stocker des information de routage Chaque nœud réagit aux changements de la topologie du réseau en propageant des mises à jour à travers le réseau dans le but de maintenir une vue consistante du réseau Diffusion de changements Basé-source initialisation (à la demande) Les réseaux ad hoc mobiles : Routage - A. Benslimane
Deux types de routage : Routage dans les réseaux ad hoc Basé-table Basé-source initialisation (à la demande) Les réseaux ad hoc mobiles : Routage - A. Benslimane
Deux types de routage : Routage dans les réseaux ad hoc Basé-table Basé-source initialisation (à la demande) Crée les routes à la demande du nœud source Lorsqu’une route est établie, elle est maintenue par une procédure de maintenance jusqu’à ce que la destination devient inaccessible à travers chaque chemin depuis la source ou lorsque la route n’est plus désirée Les réseaux ad hoc mobiles : Routage - A. Benslimane
Protocoles de routage basé-table Proactifs DSDV (Destination-Sequenced Distance-Vector Routing) CGSR ( Clusterhead Gateway Switch Routing) OLSR (Optimized Link State Routing) Les réseaux ad hoc mobiles : Routage - A. Benslimane
DSDV(Destination-Sequenced Distance-Vector Routing) Mécanisme de routage classique Bellman-Ford (pas de boucle) Utilisation d’une table ( < destination, saut prochain, #sauts, seqN°>) Mises à jour périodiques diffusés dans le réseau Un paquet de mise à jour contient le nouveau seqN° incrémenté du nœud émetteur, SeqN° reçu> seqN° : mise à jour de l’entrée dans la table locale SeqN° reçu = seqN° : #sauts reçu<#sauts : mise à jour autres entrées reçues ignorées Full dump (toute la table), plusieurs NPDU réseau Incremental (changement), entre full dump Les réseaux ad hoc mobiles : Routage - A. Benslimane
CGSR(Clusterhead Gateway Switch Routing ) Réseau constitué en clusters Chaque cluster est contrôlé par un cluster head CH Tous les nœuds dans la portée de transmission du CH sont dans ce cluster élection du CH : séparation de codes entre clusters, accès canal, routage et allocation de bande passante. Pb. Changements fréquents de CH => performances – LLC (Least Cluster Change) : deux CH se rencontrent (à la portée l’un de l’autre), un nœud se déconnecte de tous les CH. Les réseaux ad hoc mobiles : Routage - A. Benslimane
CGSR(Clusterhead Gateway Switch Routing ) heuristique Au début, utiliser l’algorithme de priorité p pour créer les clusters initiaux. Un nœud non CH dans cluster i se déplace vers un cluster j : aucun CH ne change ni dans i ni dans j. Un nœud non CH se déplace en dehors de son cluster et ne rentre dans aucun cluster, il devient nouveau CH. Un CH(i) se déplace vers un autre cluster j ayant CH(j) : CH(i) ou CH(j) doit renoncer à sa position de cluster head selon p. Nœuds qui se séparent d’un cluster doivent recalculer le groupement (clustering) selon p. p = plus petite identité, connectivité élevée, etc. Les réseaux ad hoc mobiles : Routage - A. Benslimane
CGSR (Clusterhead Gateway Switch Routing ) CGSR = DSDV + routage hiérarchique (depuis le cluster head vers la passerelle (gateway GW) pour router le trafic depuis la source vers la destination ) nœuds GW sont des nœuds dans la portée de communication de deux ou plusieurs CH paquet envoyé par un nœud est d’abord acheminé à son CH, ensuite acheminé vers un GW, ensuite vers un autre CH et ainsi de suite jusqu’au CH du nœud destination. C2 5 C1 4 4 C3 Nœud 1 3 3 6 8 Gateway Cluster Head 6 7 7 2 2 Routage du nœud 1 vers le nœud 8 Les réseaux ad hoc mobiles : Routage - A. Benslimane
OLSR (Optimized-LS-Routing) Proactif Calcul périodique des routes vers toutes les destinations Routes prêtes à la demande. (QoS) Diminue la charge supplémentaire en réaction aux changements de topologie. Très performant dans le cas de communications fréquentes entre plusieurs nœuds. L’information sur l’état des liens est diffusée périodiquement dans tous le réseau. Utilisation des MPR (Optimisation) Utilisation des liens bidirectionnels!! Les réseaux ad hoc mobiles : Routage - A. Benslimane
OLSR (Optimized-LS-Routing) MPR (MultiPoint Relay) Sous ensemble des voisins d’un nœud. Se charge de l’acheminement du trafic et la rediffusion des messages de contrôle. Plus la taille de l’ensemble MPR est petite plus OLSR est optimal. Tous les voisins de degrés 2 doivent être atteints seulement avec les rediffusion des MPR. Un nœud calculant le plus court chemin vers une destination ne se base que sur ses voisins et tous les MPR des autres nœuds Les réseaux ad hoc mobiles : Routage - A. Benslimane
OLSR (Optimized-LS-Routing) Algorithme Chaque nœud calcule son ensemble MPR Envoi un message Hello à ses voisins contenant son ensemble MPR, Chaque voisins recevant Hello, met à jour l’ensemble des nœuds qui l’ont choisi comme MPR (MS : MPR selectors), Chaque message Hello à un Numéro de Séquence (âge). La mise à jour des états de liens d’un nœud x est réduite aux MPR selectors MS de x (MS(x)). Le nœud x ne peut être joint que par ses MPR Les réseaux ad hoc mobiles : Routage - A. Benslimane
OLSR (Optimized-LS-Routing) Algorithme Le routage n’est rien d’autre que l’inondation périodique avec des messages TC (Topology Control) envoyé par chaque nœud pour déclarer son ensemble MS (avec TTL=255). Tous les nœuds qui reçoivent cette information mettent à jour leurs tables de topologie et ensuite leur table de routage. Un numéro de Séquence MSSN pour les MS est attaché à TC pour permettre les mises à jours. Les réseaux ad hoc mobiles : Routage - A. Benslimane
OLSR (Optimized-LS-Routing) Formats des messages Tout Message OLSR Le format de base de tout paquet OLSR est comme suit (sans les entêtes IP et UDP) : 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Packet Length | Packet Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Message Type| Vtime | Message Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time To Live | Hop Count |Message Sequence Number| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : MESSAGE : | | : : (etc.) Les réseaux ad hoc mobiles : Routage - A. Benslimane
OLSR (Optimized-LS-Routing) Formats des messages Message HELLO 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Htime | Willingness | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Code | Reserved | Link Message Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Interface Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Interface Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : . . . : : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Code | Reserved | Link Message Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Interface Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Interface Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : : : : (etc.) Les réseaux ad hoc mobiles : Routage - A. Benslimane
OLSR (Optimized-LS-Routing) Formats des messages Message HELLO Reserved : 0000000000000 Htime : intervalle d’émission des messages HELLO utilisé par le nœud sur cette interface particulière = C*(1+a/16)*2^b [en seconds] où a est l’entier représenté par les 4 bits de poids fort et b est l’entier représenté par les 4 bits de poids faible du champ Htime et C est un facteur d’échelle (C = 1/16 sec (= 0.0625 sec) ) Willingness : {WILL_NEVER, WILL_ALWAYS, WILL_DEFAULT } jamais sélectionné comme MPR, toujours, par défaut. Link Code : spécifie l’information sur le lien entre le nœud émetteur et la liste suivante des interfaces des voisins Link Message size : longueur du message du lien Neighbor Interface Address : l’adresse de l’interface du nœud voisin Les réseaux ad hoc mobiles : Routage - A. Benslimane
OLSR (Optimized-LS-Routing) Formats des messages Message TC (Topology Control) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ANSN | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertised Neighbor Main Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Les réseaux ad hoc mobiles : Routage - A. Benslimane
Protocoles de routage basé-source initialisation DSR (Dynamic Source Routing) AODV ( Ad Hoc On demand Distance Vector Routing) Les réseaux ad hoc mobiles : Routage - A. Benslimane
DSR (Dynamic Source Routing) Réactif Calcul des routes à la demande Phase de route discovery dans le cas ou aucune route n’est disponible « Délai » Garder la trace de tous les nœuds intermédiaires pour atteindre la destination (Source Routing) Routage Multi-chemins (Multipath) grâce à l’utilisation de source routing Tampon mémoire « Agressif » de plusieurs routes pour les utiliser en cas de panne de route. Pas de boucles de routage (Loopfree) grâce à source routing Utilisation de « Promiscuous mode » N’envoyer les route_request que s’ils n’ont pas été déjà vus Les réseaux ad hoc mobiles : Routage - A. Benslimane
DSR (Dynamic Source Routing) Algorithme : 2 Phases (1/2) Découverte d’une route (route discovery) Si aucune route n’est disponible d’un nœud S vers un autre nœud D alors S inonde le réseau par route_request Utilisation de route_record pour enregistrer les nœuds intermédiaires de S à D. Les tables de routage contiennent des route_record Chaque nœud maintient une liste de couples (initiator_adr,request_id) Éviter de traiter plusieurs fois le même message. Les réseaux ad hoc mobiles : Routage - A. Benslimane
DSR (Dynamic Source Routing) Algorithme : 2 Phases (2/2) Répondre à une requête de routage (route reply) Quand un nœud reçoit un message route_request, il vérifie 1. Le couple (initiator_adr,request_id), 2. Si c’est lui la destination, 3. S’il connaît une route vers la destination Les réseaux ad hoc mobiles : Routage - A. Benslimane
DSR (Dynamic Source Routing) Maintenance des routes (Route Maintenance) Maintenance des routes par l’envoi de paquets route_error quand la couche liaison de donnée (DLL) rencontre un problème de transmission. A la réception d’un paquet route_error, le nœud qui a causé l’erreur est supprimé du cache et toutes les routes qui contiennent ce nœud sont tronqués à cet endroit. Les réseaux ad hoc mobiles : Routage - A. Benslimane
AODV (Ad hoc On demand-DV) WG-MANET de IETF : RFC et Draft Établissement des routes à la demande Phase (RREQ/RREP) pour la recherche d’une nouvelle route Gestion des pannes de route (RRER) Pas de boucle (Loop-free) Utilisation des numéros de séquence SeqN° pour chaque nœud. Chaque nœud incrémente son SeqN° quand la topologie change (changement de ses voisins) Utilisation des liens bidirectionnels Les réseaux ad hoc mobiles : Routage - A. Benslimane
AODV (Ad hoc On demand-DV) Chaque nœud incrémente son SeqN° dès qu’il découvre un changement de topologie. (Le nombre de messages Hello est optimisé) - Assurer des routes fraîches - Éviter les boucles dans les chemins Format de la table de routage - DIP@, D-SeqN°, - Next Hop IP@, Hop count D, - Last Hop Count, - List of Precursors (Pour envoyer RERR quand une route expire) - Life time, -Routing Flags - Interfaces Les réseaux ad hoc mobiles : Routage - A. Benslimane
AODV (Ad hoc On demand-DV) Options de RREQ (Expanding Ring Search) - Utilisation du diamètre de la requête (TTL), ttl_start .. ttl_start+threshold - Nombre de retransmissions rreq_retries - Garder le diamètre de la route, pour l’utiliser en cas de perte (pannes des routes). Le diamètre est gardé dans Last Hop Count Les réseaux ad hoc mobiles : Routage - A. Benslimane
AODV (Ad hoc On demand-DV) RREP - Établissement du chemin - D ou autre nœud intermédiaire répond à RREQ par - Si intermédiaire répond garde chemin inverse vers S à utiliser pour répondre à d’autres RREQ vers S. - Si S ou intermédiaire reçoivent plusieurs RREP traitement selon la pertinence de ces RREP (hop-cnt2 < hop-cnt1 ou D-seq2 > D-seq1) Hop-cnt DIP@ D-seqN° SIP@ lifetime Les réseaux ad hoc mobiles : Routage - A. Benslimane
AODV (Ad hoc On demand-DV) Maintenance des routes RERR Gestion de connectivité localement (optionnel) - Messages hello, hello_interval, allowed_hello_loss Les réseaux ad hoc mobiles : Routage - A. Benslimane
Les réseaux ad hoc mobiles : Routage - A. Benslimane Routage (Multicast) Le multicast est toujours sujet chaud même dans l'Internet; Dans les réseaux ad hoc,sans compter les problèmes traditionnels dans l’Internet, tels que le contrôle de congestion, le routage multicast lui même est un autre grand problème; Quelques protocoles de routage multicast: AMroute, ODMRP, AMRIS, CAMP, etc. La maille est meilleure que l’arbre!? Diffusion directe meilleure que l’arbre et la maille ?! Les réseaux ad hoc mobiles : Routage - A. Benslimane
D’autres recherches dans le routage Routage supportant la QoS; Routage économisant la consommation d’énergie; Routage Intelligent Routage Scalable (mobilité/taille) Sécurité Méthodes d’accès au canal. Les réseaux ad hoc mobiles : Routage - A. Benslimane
Les domaines qui nous intéressent (pour l’instant) Diffusion pour le transport routier (Diffusion scalable et fiable); Interconnexion avec l’Internet, Nouvelle architecture pour les réseaux ad hoc, Multicast et Qualité de service Les réseaux ad hoc mobiles : Routage - A. Benslimane
Quelques bonnes références MANET homepage : http://www.ietf.org/html.charters/manet-charter.html Site du gouvernement américain : http://w3.antd.nist.gov/wctg/manet/index.html, http://protean.itd.nrl.navy.mil/manet/manet_home.html Les universités : http://menetou.inria.fr/olsr/ (olsr) http://www.monarch.cs.rice.edu/ (dsr) http://moment.cs.ucsb.edu/AODV/aodv.html (aodv) Les réseaux ad hoc mobiles : Routage - A. Benslimane
Recherche de route AODV Les réseaux ad hoc mobiles : Routage - A. Benslimane
Création de routes dans DSR Les réseaux ad hoc mobiles : Routage - A. Benslimane
Création de routes dans DSR (cont.) Les réseaux ad hoc mobiles : Routage - A. Benslimane
Comparaisons de routage ad hoc Protocoles basé-Table Complexité en temps : élevé Philosophie de routage : plat, CGSR est hiérarchique Capacité de Multicast : Non #tables requises : élevé Routage basé-Source Initialisation ou à la demande Philosophie de routage : plat AODV supporte le multicast N’utilisent pas les messages de contrôle périodiques => préservent la bande passante et la puissance Les réseaux ad hoc mobiles : Routage - A. Benslimane