Concepts fondamentaux des protocoles de routage ad hoc
Le routage est une opรฉration essentielle dans les rรฉseaux ad hoc puisquโil constitue la base pour lโรฉchange de donnรฉes entre les nลuds mobiles. Selon Murthy et al. [MRM04], un protocole de routage ad hoc doit assurer :
โ Lโรฉchange dโinformations de routage garantissant lโรฉtablissement de chemin entre une source et une destination en se basant sur un certain nombre de critรจres (plus court, plus rapide, moins congestionnรฉ, absence de boucle de routage, etc.) ;
โ La maintenance des chemins.
Cette description met en รฉvidence deux processus essentiels ร chaque protocole de routage ad hoc :
i) la dรฉcouverte de route et ii) la maintenance des routes. Parallรจlement, Murthy et al. [MRM04] insistent sur le fait de prendre en considรฉration les facteurs suivants lors de la conception dโun protocole de routage ad hoc :
โ La mobilitรฉ compte parmi les caractรฉristiques des nลuds dans un rรฉseau ad hoc. Mais, cette libertรฉ de mouvement nโest pas sans inconvรฉnients : elle cause la rupture plus au moins frรฉquente des liens entre les nลuds ;
โ Les nลuds ont des ressources limitรฉes en terme dโautonomie de la batterie, de taille de la mรฉmoire et de puissance de calcul ;
โ Le canal de transmission sans fil a un taux dโerreur รฉlevรฉ (entre 10โปโต et 10โปยณ) comparรฉ au mรฉdium filaire (entre 10โปยนยฒ et 10โปโน) impliquant la perte de paquets. De plus, le canal est partagรฉ par lโensemble des nลuds prรฉsents dans cet espace ce qui implique que la bande passante des liaisons est limitรฉe.
En fonction du mode de fonctionnement de la phase de dรฉcouverte du chemin et de la mise ร jour dโinformations de routage, les protocoles de routage ad hoc sont classรฉs en 3 catรฉgories : pro-actif, rรฉactif et hybride. Dans les trois sous-sections qui suivent, nous prรฉsentons chacune de ces catรฉgories et fournissons des exemples reprรฉsentatifs de protocoles.
Protocoles de routage ad hoc pro-actifs
Les protocoles de routage pro-actifs se basent sur lโรฉtablissement de routes ร lโavance. Les nลuds mettent ร jour pรฉriodiquement les donnรฉes de routage de faรงon ร obtenir en permanence le plus court chemin (calculรฉ en terme du nombre de nลuds intermรฉdiaires, aussi appelรฉ nombre de sauts) vers tous les nลuds du rรฉseau. Ainsi, si un nลud dรฉsire transmettre un paquet vers une destination, il consulte sa table de routage qui lui indique immรฉdiatement le chemin ร suivre. Il existe deux approches pour ce type de protocoles :
โ Lโapproche vecteur de distance oรน chaque nลud diffuse les distances qui le sรฉparent de tous les autres nลuds du rรฉseau ;
โ Lโapproche ร รฉtat des liens oรน il sโagit de diffuser des descriptions des liens avec les nลuds voisins.
Dans ce qui suit, nous dรฉtaillons ces approches par lโintermรฉdiaires de deux exemples de protocoles pro-actifs de routage ad hoc : DSDV [PB94] et OLSR [CJ03].
Destination Sequence Distance Vector (DSDV)
DSDV [PB94] (Destination-Sequenced Distance-Vector) est lโun des premiers protocoles de routage ad hoc pro-actifs ร vecteur de distance. Il se base sur lโalgorithme distribuรฉ Bellman-Ford DBF (Distributed Bellman-Ford [BGN87]) qui a รฉtรฉ modifiรฉ pour sโadapter aux rรฉseaux ad hoc. Comme il sโagit dโun protocole pro actif, chaque nลud a, ร chaque instant une vision complรจte du rรฉseau. Pour ce faire, chaque nลud rรฉcupรจre les distances le sรฉparant de chaque autre nลud du rรฉseau et ne garde que le plus court chemin. Ceci est fait grรขce ร des รฉchanges pรฉriodiques dโinformations sur leurs tables de routage respectives. Ces รฉchanges sont classรฉs en deux types :
โ Les mises ร jour incrรฉmentales (incremental updates) pour lesquelles seules les donnรฉes qui ont subit des modifications depuis la derniรจre mise ร jour sont envoyรฉes. suite au dรฉplacement du nลud 3 qui nโest plus ร portรฉe radio, le nลud 4 initie une procรฉdure de mise ร jour (update) qui ne concerne que lโentrรฉe correspondant au nลud 3 dans sa table de routage . Chaque nลud recevant ce message le transfรจre en incluant les entrรฉes qui viennent dโรชtre modifiรฉes.
โ Les mises ร jour complรจtes (full dump) pour lesquelles la totalitรฉ de la table de routage est envoyรฉe.
Pour gรฉrer la mobilitรฉ des nลuds, DSDV associe ร chaque nลud un minuteur (timer) qui est mis ร jour ร la valeur maximale ร chaque fois quโun message est reรงu du voisin : cโest un indicateur de validitรฉ du lien. Ainsi, lorsque ce minuteur expire, le nลud considรจre que le voisin en question nโest plus ร portรฉ radio et que le lien est rompu. Il peut aussi utiliser les messages de la couche 2 pour dรฉtecter les ruptures de liens. La dรฉtection dโun lien rompu se traduit au niveau de lโentrรฉe correspondante dans la table de routage par lโassignement de la valeur โ au nombre de sauts (en pratique, il sโagit de nโimporte quelle valeur supรฉrieure au maximum autorisรฉ) et lโincrรฉmentation du numรฉro de sรฉquence au prochain numรฉro impairย . Toutes les routes utilisant ce nลud qui nโest plus joignable sont aussi mises ร jour comme รฉtant des routes invalides. Ces changements sont envoyรฉs en prioritรฉ ร tous les voisins en utilisant un paquet de mise ร jour. Il est ร noter que cโest le seul cas oรน un nลud autre que la destination pourra changer le numรฉro de sรฉquence de la destination qui nโest plus joignable .
Optimized Link State Routing (OLSR)
OLSR [CJ03] (Optimized Link State Routing) est un protocole pro-actif ร รฉtat de lien (link state). OLSR apporte certaines amรฉliorations sur le principe de base de lโรฉtat de lien en vue dโatteindre de meilleures performances dans un contexte ad hoc : il permet de minimiser lโinondation du rรฉseau en diminuant les retransmissions redondantes dans la mรชme rรฉgion du rรฉseau et rรฉduit la taille des paquets รฉchangรฉs. Pour cela, OLSR se base essentiellement sur la notion de relais multi-point (MPR, Multi Point Relay), un sous ensemble des voisins ร un saut qui permet dโatteindre la totalitรฉ des voisins ร deux sauts. Ainsi, lors dโune diffusion, tous les voisins reรงoivent et traitent le message mais seulement les nลuds choisis comme MPR le retransmettent ce qui diminue considรฉrablement le nombre de messages รฉmis dans le rรฉseau .
Principe de fonctionnement du protocole. OLSR รฉtant pro-actif, chaque nลud construit en permanence une vision de la topologie du rรฉseau sous forme dโun graphe oรน les arcs constituent les liens entre les nลuds. La cohรฉrence de cette vision est assurรฉe grรขce ร des diffusions pรฉriodiques des liens sortants. Ainsi, un nลud recevant ces informations met ร jour sa vision de la topologie et applique lโalgorithme du plus court chemin pour choisir le prochain saut en direction de chaque destination. Nous prรฉsentons maintenant les รฉtapes permettant la construction de la topologie :
โ รcoute des voisins (neighbor sensing) : Il sโagit du processus de dรฉcouverte du voisinage direct et symรฉtrique qui est effectuรฉ grรขce ร la diffusion pรฉriodique de messages de type HELLO contenant des informations sur le voisinage ainsi que lโรฉtat des liens (link state) le reliant ร cet ensemble de nลuds. Ce message de contrรดle est destinรฉ exclusivement aux voisins ร un saut et nโest donc pas retransmis. De cette maniรจre, un nลud construit la liste des voisins ร un saut (Neighbor Set) tout en marquant les liens symรฉtriques et puisquโil voit aussi la liste des voisins de ceux-ci, il construit la liste des voisins ร deux sauts 2HNS (2-Hops Neighbor Set).
โ Sรฉlection des relais multi-point : Cette sรฉlection est faite de faรงon indรฉpendante par chaque nลud. Elle passe par le choix du sous ensemble des nลuds ร un saut qui permettent dโatteindre lโintรฉgralitรฉ de voisins ร deux sauts. le nลud 1 choisit 2 comme MPR parce que cโest le seul nลud qui lui permet dโatteindre 5. Ensuite, il choisit le nลud 3 lui permettant dโatteindre 6, 7 et 8. De cette maniรจre il couvre la totalitรฉ des voisins ร deux sauts. Le sous ensemble obtenu est annoncรฉ ร tous les voisins dans des messages HELLO ultรฉrieurs.
โ Dรฉclaration des relais multi-point : Les nลuds MPR diffusent des paquets de contrรดle spรฉcifiques appelรฉs TC (Topology Control) pour construire une base dโinformations sur la topologie du rรฉseau. Les messages TC sont transmis ร intervalles rรฉguliers et dรฉclarent lโensemble MPRSS (Multi Point Relay Selector Set), cโest-ร -dire lโensemble contenant les voisins ayant choisit le nลud origine de ce message comme MPR. Les informations sur la topologie du rรฉseau reรงues dans les messages TC sont enregistrรฉes dans la table de topologie (topology table).
โ Calcul de la table de routage : La table des voisins (neighbor table) ainsi que la table de topologie (topology table) sont utilisรฉes pour le calcul de la table de routage qui se base sur lโalgorithme du plus court chemin [Dij59]. Toute modification de lโune de ces tables entraine la modification de la table de routage.
|
Table des matiรจres
Introduction
1 รtat de lโart
1.1 Concepts fondamentaux des protocoles de routage ad hoc
1.1.1 Protocoles de routage ad hoc pro-actifs
1.1.1.1 Destination Sequence Distance Vector (DSDV)
1.1.1.2 Optimized Link State Routing (OLSR)
1.1.2 Protocoles de routage ad hoc rรฉactifs
1.1.2.1 Dynamic Source Routing (DSR)
1.1.2.2 Ad hoc On-demand Distance Vector (AODV)
1.1.3 Protocoles de routage ad hoc hybrides
1.2 Sรฉcuritรฉ du routage dans les rรฉseaux ad hoc
1.3 Solutions et mรฉcanismes de sรฉcuritรฉ
1.3.1 Solutions basรฉes sur la cryptographie
1.3.2 Systรจmes de gestion de la rรฉputation
1.3.3 Systรจmes de gestion de la confiance
1.4 Positionnement
2 Analyse de la confiance
2.1 Vulnรฉrabilitรฉs du protocole de routage ad hoc AODV
2.1.1 Attaques รฉlรฉmentaires portant sur les demandes de route
2.1.1.1 Suppression dโune demande de route
2.1.1.2 Modification dโune demande de route
2.1.1.3 Fabrication dโune demande de route
2.1.1.4 Rushing dโune demande de route
2.1.2 Attaques รฉlรฉmentaires portant sur les rรฉponses de route
2.1.2.1 Suppression dโune rรฉponse de route
2.1.2.2 Modification dโune rรฉponse de route
2.1.2.3 Fabrication dโune rรฉponse de route
2.1.3 Attaques รฉlรฉmentaires portant sur les erreurs de route
2.1.3.1 Suppression dโune erreur de route
2.1.3.2 Modification dโune erreur de route
2.1.3.3 Fabrication dโune erreur de route
2.1.4 Attaques composรฉes
2.1.4.1 Rรฉpรฉtition rรฉguliรจre dโattaques รฉlรฉmentaires
2.1.4.2 Insertion dans une route dรฉjร รฉtablie
2.1.4.3 Insertion dans une route non encore รฉtablie
2.1.4.4 Crรฉation dโune boucle de routage
2.1.4.5 Crรฉation dโun tunnel
2.2 Analyse de la confiance implicite dans AODV
2.2.1 Prรฉsentation du langage de formalisation
2.2.2 Notations
2.2.3 Processus de dรฉcouverte de route
2.2.3.1 Initialisation de la demande de route
2.2.3.2 Propagation de la demande de route
2.2.3.3 Propagation de la rรฉponse de route
2.2.4 Maintient des routes
2.3 Dรฉtection des nลuds malhonnรชtes
2.3.1 Prรฉsentation de la table dโhistorique รฉtendue THE
2.3.2 Critรจres dโincohรฉrences
2.3.2.1 Rejeu de messages
2.3.2.2 Fabrication de messages
2.3.2.3 Modification de messages
2.4 Rรฉsumรฉ
3 Expรฉrimentations
3.1 Environnement de simulation
3.2 Choix de lโimplรฉmentation dโAODV
3.3 Implรฉmentation des critรจres dโincohรฉrences
3.4 Implรฉmentation du comportement malhonnรชte
3.5 Mise en place des simulations dans NS-2
3.6 Rรฉsultats des simulations
3.6.1 Performance du systรจme de dรฉtection
3.6.1.1 Rรฉsultats concernant les attaques รฉlรฉmentaires
3.6.1.2 Rรฉsultats concernant les attaques complexes
3.6.1.3 Discussion concernant les faux-positifs
3.6.2 Performance du protocole
3.6.2.1 Taux de paquets reรงus avec succรจs
3.6.2.2 Dรฉlai de bout-en-bout
3.6.2.3 Charge de routage
3.6.3 Mise ร lโรฉpreuve du systรจme de dรฉtection
3.7 Rรฉsumรฉ
4 รtude des faux-positifs
4.1 Approche 1
4.1.1 Modifications apportรฉes au critรจre dโincohรฉrence
4.1.2 Implรฉmentation
4.1.3 Rรฉsultats expรฉrimentaux
4.2 Approche 2 : complรฉment de dรฉtection
4.2.1 Principe
4.2.2 Mise en place
4.2.2.1 Cas 1 : dรฉcider puis traiter
4.2.2.2 Cas 2 : traiter puis dรฉcider
4.2.3 Rรฉsultats expรฉrimentaux
4.3 Mesures prises ร lโencontre des nลuds malhonnรชtes
4.3.1 Types de mesures
4.3.1.1 Exclusion temporaire
4.3.1.2 Exclusion dรฉfinitive
4.3.2 Comparaison de lโimpact de chaque mesure
4.4 Rรฉsumรฉ
Conclusion