Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Ève

RFC 4728: The Dynamic Source Routing Protocol (DSR) for Mobile Ad Hoc Networks for IPv4

Date de publication du RFC : Février 2007
Auteur(s) du RFC : D. Johnson (Rice University), Y. Hu (UIUC), D. Maltz (Microsoft Research)
Expérimental
Première rédaction de cet article le 19 février 2007


De plus en plus de réseaux aujourd'hui sont ad hoc, c'est-à-dire non gérés et sans administrateur système. C'est notamment souvent le cas des réseaux sans-fil. Leurs besoins sont donc différents des réseaux traditionnels et ils nécessitent, par exemple, des protocoles de routage adaptés, comme DSR, que présente ce RFC.

Ce problème du réseau ad hoc est présent toutes les fois où un grand nombre de machines se trouvent rassemblées mais n'ont pas d'aministrateur commun. Cela peut être les portables des participants à une réunion ou bien les PC d'une école qui utilise le système OLPC. Ces machines ont besoin de services qui sont traditionnellement gérés par l'administrateur système comme le nommage (qui peut être pris en charge par LLMNR, décrit dans le RFC 4795) ou bien le routage. Chaque machine peut servir de routeur aux autres. Dans l'OLPC, c'est fait au niveau 2 du modèle en couches, directement par la puce WiFi (dont le pilote est non-libre, ce qui a suscité une polémique). Avec DSR, c'est fait au niveau 3 et DSR permet aux machines de trouver une route vers les autres.

Un réseau sans fil typique a des caractéristiques bien particulières, liées aux caprices des ondes radio : contrairement à l'Ethernet filaire, si une machine A peut parler à une machine B et que B peut parler à C, rien n'indique que A puisse parler à C (en raison de la distance ou bien d'obstacles). Pire, certains liens peuvent être unidirectionnels (A peut parler à B mais pas le contraire).

DSR fonctionne « à la demande ». Contrairement aux protocoles de routage classiques, il n'y a pas d'émission systématique de paquets de routage, c'est seulement lorsque les machines ont besoin de communiquer qu'un processus de découverte des routes est lancé. C'est le rôle des paquets Route Discovery du protocole. Route Discovery consiste à demander aux voisins, qui demandent à leur tour à leurs voisins. Une fois la route trouvée, elle est gardée dans le cache et utilisée tout en la surveillant avec d'autres paquets, ceux de Route Maintenance qui doivent gérer les changements de connectivité. La section 8.3 de notre RFC contient une discussion détaillée de la manière dont une machine peut savoir si ses paquets sont reçus ou pas.

La section 6 de notre RFC décrit le format des paquets. On notera que le protocole DSR est intrusif, l'en-tête DSR devant être inséré entre l'en-tête IP et l'en-tête TCP ou UDP. Un programme comme tcpdump devra donc être adapté, pour « sauter » l'information DSR avant d'analyser le « vrai » paquet.

DSR est un protocole assez ancien (spécifié en 1996 et mis en œuvre depuis 1999. Il existe une implémentation pour Linux, celle pour FreeBSD semblant non maintenue. La question de son déploiement reste ouverte.


Téléchargez le RFC 4728

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)