étude des simulateurs de routage pour réseaux
Transcription
étude des simulateurs de routage pour réseaux
DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric ÉTUDE DES R O U TA G E S I M U L AT E U R S POUR DE RÉSEAUX SANS FIL Étude réalisée dans le cadre du Projet Personnel et Professionnel Sous la tutelle de M. Jamont IUT de Valence Juin 2008 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Sommaire Introduction I. Les réseaux sans fil 1 2 1. Présentation des réseaux sans fil 2 2. Différentes catégories de réseaux sans fil 4 3. Différents modes de fonctionnement II. Le routage 10 12 1. Explication (définition, intérêt et fonctionnement) 12 2. Le routage dans les réseaux sans fil 17 III.Les simulateurs 20 1. Intérêt des simulateurs et des simulations de réseaux 20 2. Présentation des simulateurs 24 3. Critères d'évaluation et tableau comparatif 32 IV.Le simulateur NS2 36 1. Présentation du module permettant la simulation des réseaux mobiles 36 2. Exemple d'utilisation 40 Conclusion 45 Annexes 46 Bibliographie et webographie 53 Introduction DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Introduction Bien qu'ils existent depuis un certain temps déjà, les réseaux sans fils commencent seulement à se développer aujourd'hui afin de répondre aux besoins croissants qu'a l'homme de communiquer toujours plus librement, toujours plus rapidement. Un réseau sans fil est un réseau dans lequel au moins deux terminaux sont capables de communiquer entre eux grâce à des signaux radioélectriques. Pour optimiser ce type de réseaux, il est nécessaire d'en faire une étude précise. Elle permettra de déterminer les paramètres d'une communication optimale. Qu'en est-il actuellement de ces simulateurs. Quel est le fonctionnement de ceux-ci ? Quelle est exactement leur utilité ? Quelles sont les particularités de chacun d'eux, leurs avantages et inconvénients ? Pour répondre à toutes ces questions, nous évoquerons dans une première partie les types de réseau sans fil utilisés à l'heure actuelle, en développant rapidement leurs principales caractéristiques. Une deuxième partie détaillera le fonctionnement du routage en général puis dans le cas des réseaux sans fil. Nous nous pencherons ensuite sur les simulateurs de routage existants dont nous ferons une description, puis nous en compareront un échantillon significatif. Dans un dernier temps, nous nous focaliserons sur le simulateur NS2. 1 / 54 I. Les réseaux sans fil DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric I. Les réseaux sans fil Depuis la création du réseau Internet, le domaine des réseaux s'est très vite diversifié avec de plus en plus d'utilisateurs. Pour répondre à de nouveaux besoins en matière de mobilité, les réseaux sans fil ont vu le jour. Il en existe de différents types (normes différentes), qui ont chacun des avantages et des inconvénients. PRÉSENTATION DES RÉSEAUX SANS FILS Dans un réseau sans fil, les câbles sont remplacés par des liaisons radio-électriques (radio ou infrarouges). Grâce à cette technologie, les utilisateurs ont la possibilité de rester connecté tout en se déplaçant dans une zone plus ou moins étendue, suivant le rayon d'émission. On parle alors de mobilité. Ils ont l'avantage de supprimer l'investissement dans un câblage coûteux qui peut s'avérer rapidement obsolète ou inutile en cas de déménagements de locaux. Et, plus généralement, ils vont permettre l'installation d'un réseau dans tout bâtiment non préalablement câblé, ou dans lequel on n'a pas l'autorisation d'y installer un câblage (comme dans les monuments historiques et les locaux loués). Ils s'avèrent également très intéressants pour des installations de courtes durées comme les chantiers, expositions et formations. Suivant les applications, il faut parfois relier des équipements séparés de quelques centimètres (ex: clavier et souris sans fil), jusqu'à plusieurs kilomètres (ex: téléphones portables, GSM). On ne va donc pas utiliser la même technologie pour tous les cas de figures. Il ne faut cependant pas croire que l'utilisation des réseaux sans fil est une solution « miracle ». 2 / 54 I. Les réseaux sans fil DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Malgré les avantages qu'ils avancent, les réseaux sans fil présentent des inconvénients non négligeables: ➢ La sécurité: En utilisant des câbles, on sait où va l'information, mais avec les ondes, on ne sait pas qui peut écouter la transmission. C'est pourquoi il est indispensable de protéger les données. Il existe pour cela des protocoles de chiffrement. Nous pouvons par exemple citer le WEP, le WPA ou encore le WPA2 pour le Wi-Fi. ➢ L'affaiblissement de la puissance du signal: Cet autre problème peut être très gênant dans certains milieux: les ondes se propagent très bien dans l'air et ne connaissent pas de problème pour traverser des matériaux comme le bois ou le plastique. En revanche, l'affaiblissement est très important à travers le métal, le béton ou encore la céramique. Nous ne pouvons donc pas implanter des réseaux sans fil dans n'importe quel bâtiment. ➢ La santé: L'utilisation des ondes radioélectriques inquiète certains scientifiques qui craignent l'effet « biologique thermique », qui provoque la conversion de l'énergie en chaleur, dans le corps humain. Tous en sont arrivés à la conclusion « qu'aucune donnée ne permet de déclarer que les téléphones sans fil (...) ont des effets néfastes sur la santé humaine. » Cependant, tous conviennent qu'il faut poursuivre les recherches dans ce domaine. 3 / 54 I. Les réseaux sans fil DIFFÉRENTES DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric CATÉGORIES DES RÉSEAUX SANS FIL Comme je l'ai annoncé dans la partie précédente, de nombreuses technologies différentes de réseaux sans fils existent pour répondre à des situations spécifiques. On distingue habituellement également plusieurs catégories de réseaux sans fil, selon le périmètre géographique offrant une connectivité (appelé zone de couverture) : Réseaux locaux sans fil (WLAN) Réseaux métropolitains sans fil (WMAN) Réseaux personnels sans fil (WPAN) Réseaux étendus sans fil (WWAN) UMTS (3G) Dans cette illustration, WPAN, WMAN, et WWAN sont les différentes catégories. Les technologies, quant à elles, sont Bluetooth, Infrarouge, WiFi, etc. 4 / 54 I. Les réseaux sans fil DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Les réseaux personnels sans fil : WPAN (Wireless Personal Area Network) Cette catégorie concerne les réseaux sans fil utilisant des fréquences hertziennes ou infrarouges, d’une faible portée, quelques dizaines de mètres. Ce type de réseau sert généralement à relier des périphériques à des ordinateurs (imprimante, PDA, téléphone,...). Il existe plusieurs technologies utilisées pour ce type de réseau. La plus connue est le Bluetooth (norme IEEE 802.15.1) initiée par Ericsson, qui propose un débit de 1 Mbps pour une portée maximale de 30 mètres, et une basse consommation énergétique. Une autre technologie également très courante est l'infrarouge (IrDA: Infra-red Data Association). L'irda un protocole de transfert de données par infrarouge, devenu un standard. Malgré un coût très bas, l'IrDA présente deux inconvénients majeurs : un temps de réaction très lent et l'obligation de maintenir l'émetteur dans le faisceau de réception sans obstacle en chemin. Le standard original d'IrDA (IrDA 1.0) a été publié en juin 1994 et autorisait le transfert à une vitesse maximale de 115 kbs (kilobits par seconde). C'est le protocole qui est utilisé par tous produits compatibles IrDA. En octobre 1995 ce standard a été étendu jusqu'à 4 Mbs (IrDA 1.1) et en janvier 1999 est publiée l'extension jusqu'à 16 Mbs. 5 / 54 I. Les réseaux sans fil DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Les réseaux locaux sans fil WLAN (Wireless Local Area Network) Cette technologie a été conçue initialement pour construire des réseaux locaux Ethernet sans fil utilisant des fréquences hertziennes, pour une portée d’une centaine de mètres. Tout l’intérêt de cette technologie, réside dans le fait qu’on peut connecter, par le biais de ce standard, des types de matériel différents tels que ordinateurs, périphériques, PDA,... à Internet. Grâce au Wi-Fi il est possible de créer des réseaux locaux sans fils à haut débit pour peu que la station à connecter ne soit pas trop distante par rapport au point d'accès. Dans la pratique le Wi-Fi permet de relier des ordinateurs portables, des machines de bureau, des assistants personnels (PDA) ou tout type de périphérique à une liaison haut débit (11 Mbps ou supérieur) sur un rayon de plusieurs dizaines de mètres en intérieur, généralement entre une vingtaine et une cinquantaine de mètres à plusieurs centaines de mètres en environnement ouvert. La norme 802.11g permet d'atteindre des débits théorique de 54Mbps. Grâce au Wi-Fi on peut partager des fichiers ou une connexion ADSL sans l'encombrement de fil. Un point particulier : les WSN (Wireless Sensor Network), ou en français : les réseaux de capteurs sans fil. C'est un type de réseau utilisé pour récupérer les informations collectées par des capteurs. Les domaines d'application concernent donc principalement les domaines militaire et médical ainsi que l'environnement. Le principe, c'est d'implanter 6 / 54 I. Les réseaux sans fil DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric sur une zone géographique une quantité assez importante de ces capteurs un peu spéciaux. En effet, ils doivent être assez proche les uns des autres pour pouvoir communiquer entre eux, mais également assez éloignés pour couvrir la plus grande surface possible. Ensuite, lorsqu'un évènement particulier se produit sur l'un des capteurs (changement brusque de température, mouvement...), ou lorsque l'utilisateur le demande; tous les capteurs vont faire remonter leur dernier relevé vers « le puits ». Le soucis majeur étant l'autonomie des capteurs: ils sont alimentés sur batterie et doivent fonctionner le plus longtemps possible. On privilégie donc les Sources images: http://www-igm.univ-mlv.fr/~dr/XPOSE2006/Bunel/Presentation.html transmissions qui consomment le moins. 7 / 54 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric I. Les réseaux sans fil Les réseaux métropolitains sans fil : WMAN (Wireless Metropolitan Area Network) Ce type de réseau est basé sur la norme IEEE 802.16. Il vise des entreprises ou des collectivités ayant des besoins en débits permettant de concurrencer les lignes spécialisées à moindre coût d'exploitation. Cependant, les contraintes restent là encore liées à l'éloignement d'un relais (3 à 10 Km). Seules les grandes agglomérations sont actuellement dotées des antennes nécessaires. Les débits garantis s'échelonnent de 128 kbps à 4 Mbps. WiMAX utilise des technologies hertziennes destinées principalement à des architectures point-multipoint : à partir d'une antenne centrale, on cherche à toucher de multiples terminaux. WiMAX promet des débits de plusieurs dizaines de mégabits / seconde sur des rayons de couverture de quelques dizaines de kilomètres. WiMAX s'adresse notamment au marché des réseaux métropolitains, le MAN (metropolitan area network) de HiperMAN. Plusieurs standards relèvent du terme WiMAX : les plus avancés concernent les usages en situation fixe (le client ne bouge pas), mais une version mobile (connexion à haut-débit en situation de mobilité) est également prévue un peu plus tard. 8 / 54 I. Les réseaux sans fil DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Les réseaux étendus sans fil : WWAN (Wireless Wide Area Network) C’est le réseau sans fil connu sous le nom de réseau cellulaire mobile, celui qui permet la connexion des téléphones mobiles. Les principales technologies sont : GSM (Global System for Mobile communication), GPRS (General Packet Radio Service), UMTS (Universal Mobile Telecommunication System) et EDGE: (Enhanced Data rate for GSM Evolution). GSM : (Global System for Mobile communication) est un réseau radio cellulaire numérique. Mis au point par la CETP (Conférence Européenne des Administrations des Postes et Télécommunications) en 1982, les premiers réseaux et mobiles ne sont apparus qu'à partir de 1991. Le GSM permet une vitesse de transmission de 9.6 Kbps, ce qui n'est vraiment pas grand chose, aussi il fut logique de le faire évoluer vers une autre norme: GPRS (General packet audio service) est une extension du réseau GSM, qui augmente sa capacité de transmission pour permettre la transmission des paquets de données à haut débit à 144 Kbps. La connexion internet est ainsi plus rapide et permet le la navigation sur le web par le wap. 9 / 54 I. Les réseaux sans fil LES DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric MODES DE FONCTIONNEMENT Il existe deux modes de fonctionnement pour un réseau sans fil ayant chacun des caractéristiques propres : les modes infrastructure et ad-hoc. Le mode infrastructure Ce mode de fonctionnement est très semblable au protocole Ethernet des réseaux filaires. Les machines se connectent à un point d'accès (AP) qui partage la bande passante disponible, comme illustré ci-dessous: L'AP donne l'accès au réseau aux machines qui le désirent, comme le ferait un hub1 sur un réseau « filaire ». Contrairement aux réseaux téléphoniques mobiles, il n’y a pas de mécanisme de gestion du changement d'AP. Si une station se déplace, elle cherche le meilleur AP accessible afin de s'y connecter et si elle change d'AP au cours de son déplacement, la connexion sera interrompue. 1 Ou répéteur. Travaille sur la couche physique en renvoyant les données reçues sur un port vers toutes les autres machines connectées sur ses autres ports. 10 / 54 I. Les réseaux sans fil DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Le mode Ad-Hoc Dans ce mode, les machines clientes sans fil se connectent les unes aux autres afin de constituer un réseau point à point, c'est-àdire un réseau dans lequel chaque machine joue en même temps le rôle de client et le rôle de point d'accès. Tous les noeuds d'un réseau de ce type se comportent comme des routeurs et prennent part à la découverte et à la maintenance des chemins de communication entre les différentes machines. L'avantage de ces réseaux réside dans la facilité de mise en place et d'ajout de nouvelles stations sur le réseau. L'absence de structure fixe diminue aussi le coût de leur mise en oeuvre. On parle aussi de réseaux spontanés2. Il existe par ailleurs plusieurs algorithmes de routage utilisés dans les réseaux sans fil. Nous allons développer ce point dans la prochaine partie. 2 Réseaux avec un contrôle autonome démuni de toute infrastructure. Ils sont auto-configurés, distribués, souvent hétérogènes et visent à permettre à des correspondants distants de communiquer entre eux par le biais de communications multi-sauts. 11 / 54 II. Le routage DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric II. Le routage Dans cette partie, nous définirons tout d'abord ce qu'est le routage dans un réseau quelconque. En effet, il est nécessaire de bien appréhender cette notion avant d'aller plus loin. Le principe du routage sans fil ne sera abordé qu'une fois les bases établies. EXPLICATIONS Le routage permet à un ensemble d'équipements informatiques (au moins un émetteur et un récepteur) de communiquer entre eux à travers un réseaux. Aucun d'entre eux n'a besoin de connaître le chemin complet que devront suivre les données qui y transitent. Pour permettre l'acheminement des données d'un point A à un point B, l'équipement de réseau doit connaître la route à suivre. Pour ce faire, il doit disposer d'une table de routage3. Celle-ci contient l'ensemble des adresses des postes de travail répartis sur le réseau. Nous détaillerons plus en détail le rôle d'une table de routage dans la suite de cet exposé. Afin de bien comprendre la notion de routage, il est nécessaire de connaître le modèle OSI4. En effet, l'acheminement d'un paquet sur un réseau se fait par l'intermédiaire d'échanges entre les couches de ce modèle. Le modèle OSI est représenté sous la forme de sept couches, du niveau le plus bas (la couche physique), au niveau le plus haut (la couche application). 3 Voir annexe 4 Open System Interconnexion. Voir annexe. 12 / 54 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric II. Le routage Prenons l'exemple d'un paquet de données circulant d'un poste de travail A à un poste B à travers 3 routeurs. Le schéma suivant traduit cette communication: Schéma 1: Couche application application layer Couche application application layer Couche présentation presentation layer Couche présentation presentation layer Couche session Session layer Couche session Session layer Couche transport Transport layer Couche Transport Transport layer Couche réseau Network layer Couche Réseau Network layer Couche Réseau Network layer Couche Réseau Network layer Couche Réseau Network layer Couche liaison de données Data link layer Couche Liaison de données Data link layer Couche Liaison de données Data link layer Couche Liaison de données Data link layer Couche Liaison de données Data link layer Couche physique physical layer Couche Physique physical layer Couche Physique physical layer Couche Physique physical layer Couche Physique physical layer A Routeur 1 Routeur 2 Routeur 3 B Explications: Une flèche descendante représente l'encapsulation successive des données (ajout d'information) jusqu'à atteindre la couche la plus basse du modèle OSI (couche physique). Le paquet est ensuite transmis au routeur qui actualise sa table de routage et désencapsule (supprime de l'information) ce qu'il reçoit pour atteindre la 3eme couche (couche réseau). L'encapsulation permet à une couche inférieure de pourvoir traiter le message de la couche supérieure et de l'envoyer à la couche inférieure. 13 / 54 II. Le routage DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Schéma 2: Couche application application layer Couche présentation presentation layer SEGMENT Couche session Session layer Paquet contenant le SEGMENT segment de la couche transport Couche transport Transport layer Couche réseau Network layer Couche liaison de données Data link layer Couche physique physical layer Trames contenant le paquet de la couche réseau Paquet contenant le SEGMENT segment de la couche transport Ce schéma représentant l'encapsulation montre que chaque couche englobe les données de la couche supérieure dans son propre format de données: le paquet pour la couche réseau, le segment pour la couche liaison de données. Sur le schéma 1, on constate que le routage s'effectue au niveau de la couche 3 du réseau. En effet, seuls les paquets de la couche 3 sont destinés à l'adressage de bout en bout (c'est à dire entre couche de même niveau, ou couche homologues). Les trames de la couche liaison de données sont elles destinées à circuler à l'intérieur d'un même réseau. Ce schéma montre que le routeur extrait d'une trame les informations lui permettant de déterminer si les données reçues sont destinées à une de ses interfaces ou à la diffusion (broadcast) à travers le réseau. S'il s'avère qu'il s'agit d'une de ces deux configurations, alors la trame est acceptée. En revanche, si la trame est destinée au même domaine, le routeur la rejette. Après acceptation, une nouvelle vérification est effectuée. Si celle-ci réussit, il y a désencapsulation vers la couche réseau. Un nouveau test est 14 / 54 II. Le routage DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric effectué pour savoir si le paquet est destiné à une adresse du routeur. Le cas échéant, le paquet est désencapsulé et envoyé ver la couche 4. Si le paquet est destiné à un autre réseau, alors on compare l'adresse de destination à la table de routage. Il est ensuite envoyé vers l'entrée correspondante après encapsulation. Le routage correspond à la sélection de la meilleure route pour acheminer des données. Cette sélection intervient au niveau de la couche réseau. Il y a deux méthodes de routage qui permettent de sélectionner les meilleurs chemins parmi ceux inscrits dans les tables de routage des routeurs: le routage dynamique et le routage statique: Le routage statique est réalisé par l'administrateur. Il peut demander plus de temps qu'un routage dynamique, réalisé à l'aide de protocoles de routage. Il peut être d'autant plus long que le réseau est grand et que le nombre d'équipements réseaux est important. Ci-après le schéma récapitulatif de la sélection d'une route par un routeur. 15 / 54 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric II. Le routage Schéma 3: Comparaison de l'adresse d'émission du paquet avec sa table IP Extraction de l'adresse de destination du paquet Comparaison de la destination après application du masque avec l 'entrée dans la table de routage. Le masque de la première entrée dans la table de routage est appliqué à l'adresse de destination. Oui Correspondance à une entrée dans la table de routage? Non Transmission du paquet au port associé à l'entrée de la table Entrée suivante de la table examinée. Le paquet ne correspond à aucune des entrées de la table Recherche d'une route par défaut configurée par l'administrateur réseau Définie Transmission du paquet au port associé à l'entrée de la table. Le paquet est éliminé. Envoi d'un message à l'émetteur indiquant la non réception du message par le destinataire. 16 / 54 II. Le routage LE DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric ROUTAGE DANS LES RÉSEAUX SANS FIL De nombreuses difficultés peuvent se présenter à un administrateur lors de la création d'un réseau sans fil. Ces problèmes sont souvent liés à la complexité du réseau. Il peut être impossible à un équipement A de joindre un équipement B directement. Cela peut se produire parce que le milieu de propagation ne permet pas la transmission. En effet, peuvent survenir des interférences électromagnétiques dues à un orage qui vont perturber le canal de transmission, à savoir l'air, et empêcher toute communication. Il peut aussi s'agir d'un obstacle solide tel qu'un mur qui serait perméable aux ondes. La distance que le message doit parcourir peut aussi être trop grande. La solution est alors de passer par un intermédiaire. C'est à ce moment là que se présente tout l'intérêt du routage. Le problème majeur dans un réseau sans fil est la mobilité des équipements responsable d'un nombre de déconnexions plus important que dans un réseau filaire. Les équipements doivent rapidement se mettre à jour en cas de mouvement de l'opérateur. En effet, ce dernier peut sortir du champ d'action d'un des points d'accès (en mode infrastructure) ou d'un des ordinateurs routeurs (en mode ad-hoc), et se mettre à portée d'un autre. Les deux équipements doivent alors mettre à jour leur table de routage respective pour éventuellement laisser la place à un nouvel utilisateur et ne pas engorger le réseau. 17 / 54 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric II. Le routage Il existe deux méthodes pour mettre à jour une table de routage: ➢ Les Il est possible de le faire de manière statique: tables de routage de chaque équipement sont remplies par l'administrateur. Cette méthode s'avère très vite fastidieuse quand il s'agit de gérer un parc informatique d'une vingtaine de machines. Elle devient complètement obsolète quand une centaine de machines sont connectées au réseau. ➢ De manière dynamique: Heureusement, des protocoles existent, qui permettent de remplir de manière dynamique les tables de routage, sans avoir recours à l'intervention d'un opérateur. Deux grandes techniques de routage dynamique coexistent: ➢ Le routage par vecteur de distance: Dans ce cas, un noeud échange avec ses voisins une estimation de la distance vers tous les noeuds du réseau. Le message ainsi envoyé, ainsi qu'un algorithme de recherche du plus court chemin permettent de déterminer la topologie exacte du réseau. ➢ Le routage par état des liens: Ici, chaque noeud transmet en diffusion l'état des liens avec ses voisins. C'est donc au bout d'un certain temps que tous les noeuds connaissent les voisins de chacun des noeuds du réseau. La topologie complète du réseau apparaît alors. 18 / 54 II. Le routage DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric De nombreux protocoles sont utilisés dans les réseaux ad-hoc. Nous allons ici en présenter une liste non exhaustive. ➢ Commençons par les protocoles de routage dits proactifs (ex: OLSR5): Ils constituent leur table de routage avant que le besoin ne s'en fasse ressentir, et que la demande ne soit faite, puis la maintiennent à jour en permanence en étudiant à chaque instant la topologie du réseau. Ainsi, les routes sont immédiatement disponibles à la demande. En revanche, le contrôle constant et les mises à jours importantes peuvent s'avérer inutiles et ralentir le réseau. ➢ Continuons avec les protocoles de routage dits réactifs (ex: AODV5, DSR5): A l'inverse des proactifs, leur table de routage n'est pas maintenue en continu. Ils établissent une route sur demande. Ceci peut poser des problèmes de délai importants avant l'ouverture de chaque route, dus à une inondation du réseau. ➢ Il existe aussi des protocoles dits hybrides (ex: ZRP5): Ils utilisent un mode proactif pour le voisinage proche et adoptent un comportement réactif pour les communications lointaines. Il est donc nécessaire de faire une étude approfondie de terrain pour déterminer où positionner précisément les équipements. Pour cela, on dispose d'outils qui permettent de simuler un réseau sans fil: les simulateurs de réseaux. 5 Voir annexe 19 / 54 III. Les simulateurs DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric III. Les simulateurs Les simulateurs de réseaux sont tous différents: certains possèdent des avantages que d'autres n'ont pas d'où la nécessité de pouvoir les comparer en utilisant des critères d'évaluation précis. Mais avant cela, il est nécessaire de mentionner quel est l'intérêt de ces simulateurs: à quoi peuvent-ils servir ? INTÉRÊT DES SIMULATEURS ET DES SIMULATIONS DE RÉSEAUX Qu’est ce qu’un simulateur, quelle est son utilité ? Les simulateurs permettent, comme leur nom l’indique, de réaliser des simulations6 dans un environnement simulé et non pas réel. Il peuvent aussi bien simulés un réseau de type LAN ou bien WLAN (suivant les simulateurs). Certains simulateurs sont plus complets que d’autres dans les résultats d’une simulation mais tous permettent d’étudier le comportement d’un réseau ayant une topologie et des caractéristiques précises. Les simulateurs permettent ainsi d’anticiper sur la topologie d’un réseau. Lorsque les résultats d’une simulation ne sont pas satisfaisants, il est facile de modifier la topologie pour corriger les problèmes avancés par la simulation précédente. Par exemple, si une simulation indique de par ses résultats que l’emplacement d’un AP n’est pas correct (la zone de couverture n’est pas 6 Fait d'imiter sur un support informatique un phénomène physique. 20 / 54 III. Les simulateurs DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric optimale), on peut facilement modifier son emplacement via le simulateur pour prévoir le comportement du réseau si l’AP est déplacé réellement. La simulation est aussi intéressante pour créer la topologie d’un réseau avant de la mettre en place réellement. Et cela est possible car les simulateurs intègrent un grands nombre d’outils permettant de réaliser des simulations assez réalistes (mais nous verrons plus tard que cela peut aussi poser un problème). On peut aussi se servir d’un simulateur pour tester un nouveau protocole (la facilité de l’intégration dépend du simulateur utilisé) avant de l’utiliser réellement (un protocole de réseau de capteur sans fil par exemple). Au final, les simulateurs sont d’une grandes aide dans la recherche scientifique et le développement d’applications. Mais ils possèdent d’autres avantages que nous présentons ci-dessous. Avantages Le premier point que l’on peut relever est le coût (financier): une simulation est peu coûteuse car elle ne nécessite qu'un seul terminal, la simulation se faisant graphiquement. On peut ainsi simuler aisément un réseau complexe mettant en œuvre un grand nombre de postes. Il n’est cependant pas encore possible de simuler Internet qui est un réseau trop hétérogène (protocoles différents, trafics d’applications diverses et variés) et trop évolutif en terme de taille et d’architecture / topologie. 21 / 54 III. Les simulateurs DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Ils sont aussi facilement abordables puisque la plupart sont distribués sous licence GPL7 / BSD8, ou bien sous une licence particulière (OPNET est un cas à part puisqu’il est distribué avec une licence commerciale). Ce qui implique que l'accès aux sources est possible et, étant donné que certains sont en cours de développement, beaucoup de documents techniques sont disponibles pour comprendre le fonctionnement de ces simulateurs et pour pouvoir les modifier. Ainsi, nous avons facilement pu tester le simulateur NS2 sans avoir préalablement acquis une licence payante. Cela permet à un maximum de personnes de prendre part au développement de ces simulateurs et ainsi de poursuivre leur évolution même si l’auteur original a abandonné le projet. De plus, les simulateurs proposent un paramétrage précis et détaillé des simulations, même s’ils intègrent tous quelques scénarios par défaut. Par exemple le simulateur NS2 permet de paramétrer finement le réseau virtuel: gain des antennes, seuil de détection, comportement des machines du réseau, trafic, … Les résultats sont aussi détaillés : consommation de l’énergie dans le routage d’un réseau ad-hoc, propagation des ondes radio (en suivant des modèles plus ou moins complets [utilisation d’une formule pour calculer la perte moyenne du signal, réflection du sol, atténuation plus importante suivant les matériaux traversés, intérieur, extérieur,…]), calcul de délais, … Ces résultats sont difficiles à obtenir dans une application réelle. 7 General Public Licence. Extrait : « Vous avez le droit d'utiliser le logiciel, d'en distribuer des copies, d'obtenir les codes sources, de le modifier et de distribuer vos modification ou le logiciel modifié [...] sous cette licence.» 8 Berkeley Software Distribution. 22 / 54 III. Les simulateurs DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Une telle précision pose le problème de la complexité de ces simulateurs : il faut un certains temps pour bien les prendre en main et ainsi pourvoir les modifier (pour intégrer certains modules complémentaires par exemple). Un second problème se pose aussi : celui de la fiabilité des résultats. Un document réalisé en septembre 2000 étudie l’influence des détails sur les simulateurs de réseaux sans fil. Il en ressort que l’utilisation de résultats trop détaillés rend la simulation très lente et le simulateur assez lourd, mais qu’un manque de détails nécessaires peuvent rendre les résultats incorrects ou trompeurs. Cependant, l’utilisation de nombreux détails permet de prédire assez précisément les performances actuelles d’un réseau (afin d’obtenir une simulation réaliste) mais pas les variations futures des protocoles et ne sont donc pas adaptés pour explorer rapidement les alternatives offertes. Le choix des détails est donc très important lors d’une simulation. Tous les simulateurs ne présentent pas les mêmes caractéristiques et n’offrent pas tous les même possibilités. Afin de coller le plus au sujet possible, nous nous focaliserons uniquement sur les WNS (Wireless Network Simulator – Simulateur de réseaux sans fil) en nous penchant d’avantages sur leur possibilité de simulation du routage dans des réseaux sans fil mobiles ad-hoc (Wireless mobile ad-hoc networks). 23 / 54 III. Les simulateurs PRÉSENTATION DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric DES SIMULATEURS Avant de procéder à une quelconque comparaison entre certains simulateurs, il est bon de les présenter. Nous pourrons ensuite dresser la liste des points de comparaison retenus. Network Simulator 2 (NS2) NS2 est un simulateur à évènements discrets destiné à la recherche. Il est développé en collaboration avec plusieurs entreprises et centre de recherches (pour en citer quelques uns : LBNL9, Xerox PARC10, UCB11, et USC/ ISI12 dans le cadre du projet VINT13 (qui étudie l'interaction entre différents protocoles), depuis 1995. Aujourd’hui, NS2 est sûrement le simulateur de réseau le plus utilisé et est devenu avec le temps une référence dans ce domaine. Son avantage réside aussi dans le fait qu’il est multi-plateforme (UNIX et Windows, avec l’émulateur Cygwin14) et que son utilisation soit gratuite. NS2 intègre un grand nombre de fonctionnalités pour l’étude des algorithmes de routage multipoint ou unipoint, des protocoles de transport, de session, d’application (HTTP par exemple). Il gère aussi très bien la couche physique (couche 1) du modèle OSI avec différents systèmes de transmission, filaires ou non. Il reste cependant uniquement adapté aux petits réseaux. 9 10 11 12 13 14 Lawrence Berkley National Laboratory - Californie Palo Alto Research Center - Californie Berkley Multimedia Reseach Center - Californie Information Sciences Institute - Californie Virtual InterNetwork Testbed. Voir http://www.isi.edu/nsnam/vint/ Cygwin: permet d'émuler un environnement Linux sur Windows. On parle de « Linux-like environment » 24 / 54 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric III. Les simulateurs Caractéristiques du simulateur NS-2: Application Web, ftp, telnet, générateur de trafic (CBR, ...) Transport TCP, UDP, RTP, SRM Routage (couche Réseau) Statique, dynamique (vecteur distance) et routage multipoint (DVMRP, PIM) Gestion de file d'attente RED, DropTail, Token bucket Discipline de service CBQ, SFQ, DRR, Fair queueing Système de transmission (couche Liaison) CSMA/CD, CSMA/CA, lien point à point NS2 est entièrement développé en C++ et son utilisation requiert une bonne maîtrise de Tcl (Tool Command Language) qui est utilisé comme un interpréteur applicatif au langage C du simulateur. En effet, NS2 ne possède aucun interface graphique : toutes les simulations sont réalisées en ligne de commande. Heureusement, il existe une extension, nam (Network Animator), qui permet de visualiser les résultats d’une simulation une fois achevée. Capture d’écran de nam (source : site officiel de nam – http://www.isi.edu/nsnam/nam/): 25 / 54 III. Les simulateurs DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Objective Modular Network (OMNet++) OMNET ++ est un environnement de simulation open source. Cette application possède une interface graphique solide, et un noyau de simulation intégré. Il a principalement pour but de simuler des communications réseaux, mais est aussi utilisé dans la simulation de systèmes des technologies de l'information. En effet, son architecture de base flexible lui permet même de simuler des architectures matérielles et des processus commerciaux. C'est ainsi que cette plateforme est devenue connue tant au sein de la communauté scientifique que dans le monde industriel, et c'est grâce à cette architecture modulaire qu'il est aisé d'y implémenter de nouveaux protocoles. Les composants d'OMNET++ sont codés en C++, puis assemblés sous un modèle d'architecture plus large, codé luis sous un langage fédérateur de haut niveau: le NED. Les modèles peuvent être réutilisés librement et gratuitement. Omnet++ gère nativement le TCP / IP15, le SCSI16 et le FDDI17. 15 Voir annexe 16 Small Computer System Interface: norme qui décrit les spécifications mécaniques, électriques et fonctionnelles d'une ligne de communication permettant de relier un ordinateur à d'autres périphériques ou même à un autre ordinateur. 17 Fiber Distributed Data Interface: technologie d'accès au réseau sur des lignes de type fibre optique. Elle possède une topologie en anneau. 26 / 54 III. Les simulateurs DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Capture d'écran réalisée dans le cadre d'un projet réseau 2007 / 2008: Ce projet avait pour but d'implanter dans OMNET++ les différentes variantes d'un protocole de contrôle, le Hop-by-Hop (traduit saut par saut). Ce dernier permet à un noeud du réseau de transmettre rapidement les données qu'il a reçu en cas de mobilité. Les pertes de données sont ainsi minimisées. De plus, grâce au fait qu'il n'y est pas de contrôle, le débit efficace est augmenté, et les coûts réduits. Ainsi, les étudiants devaient constater une amélioration significative des performances du réseau. 27 / 54 III. Les simulateurs DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Global Mobile Simulator (GloMoSim) Simulateur créé par UCLA Parallel Computing Laboratory18. Il permet la simulation d'environnement à grande échelle pour des réseaux sans fil et filaires. Il a été développé en se basant sur les capacités du langage Parsec19. Il est capable de simuler un réseau purement sans fil, avec tous les protocoles de routage que cela inclut (AODV, DSR, algorithme de BellmanFord (routage par vecteur de distance), ODMRP20, WRP21, FSR22, ...). Dans le futur, des nouvelles versions pourront simuler à la fois un réseau filaire et un réseau hybride23. La plupart des systèmes réseaux de Glomosim sont construits en utilisant une approche basée sur l’architecture à sept couches du modèle OSI. De plus, l'intégration de modules supplémentaires ne nécessite pas de comprendre le fonctionnement du noyau: il suffit juste de savoir utiliser précisément Parsec. Glomosim est un simulateur doté d'une grande portabilité (Sun Solaris, Linux, Windows) et sa licence est gratuite pour les universitaires. 18 19 20 21 22 23 UCLA: University of California, Los Angeles. Centre de recherche public. Parsec: langage de simulation basé sur le langage C. ODMRP: On-Demand Multicast Routing (protocole réactif) WRP: Wireless Routing Protocols (protocole proactif) FSR: Fisheye State Routing (routage par état des liens) Réseaux hybrides: réseaux sans fil connectés à Internet 28 / 54 III. Les simulateurs DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric J-Sim J-Sim a été créé par le DCSE24 de l'université West Bohemia de Pilsen, en République Tchèque. Il est entièrement gratuit. J-Sim permet de simuler des réseaux de l'ordre de 1000 noeuds. Le passage à l'échelle peut toutefois être amélioré. Le simulateur utilise quasiindifféremment deux langages : Java et TCL25. L'architecture et le code sont suffisamment bien structurés pour permettre une prise en main relativement rapide. L'analyse des résultats est aisée et son architecture très modulable. De plus il permet d'utiliser n'importe quelle application Java comme générateur de trafic. Interface graphique de Jsim : 24 DCSE: Department of Computer Science and Engineering 25 TCL: Tool Command Langage. Sert d'interpréteur embarqué au langage C (plus facile à prendre en main) 29 / 54 III. Les simulateurs DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Autres simulateurs ➢ Opnet Modeler Les modèles fournis (codés en C++) avec le simulateur sont validés et précis. Toutefois la majorité des modèles sont écrits par des développeurs indépendants et ne sont pas testés par Opnet. Il s'agit sûrement d'un des simulateurs les plus au point et possède des outils assez complexes, complets et techniques. Plate-formes: Microsoft Windows (NT, 2000, XP) et Solaris Licence commerciale. Il est possible de l'obtenir gratuitement en s'inscrivant au programme Opnet pour les universités. ➢ Jist (moteur de simulation) / Swans (interface utilisateur) Ce simulateur permet d'utiliser n'importe quelle application Java comme générateur de trafic. Il souffre cependant du manque de modèles lié à sa jeunesse. De plus, il adopte un mode de programmation similaire à JSim (essentiellement Java). Les protocoles sont conçus comme des composants indépendants interconnectés par des interfaces. Concernant l'aspect passage à l'échelle, il présente de meilleures performances que J-Sim. Le calcul de la propagation du signal radio, lors de la simulation de réseaux sans fil, est optimisé, il est donc possible que le modèle de propagation de Jist soit plus performant que celui de ses concurrents. Plate-formes: Jist fonctionne sur sur tous les systèmes supportant Java. Licence gratuite. 30 / 54 III. Les simulateurs ➢ DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric SimulX Simulx est un simulateur en C++, pour réseau sans-fil . Il est spécialement destiné à simuler les réseaux basé sur la norme IEEE 802.11 et Ipv6 (réseau Wi-Fi en mode infrastructure). On peut l'utiliser à travers une interface GTK-2 ou en ligne de commande. Il a été développé à l'université Louis Pasteur de Strasbourg. Langage : C++ Licence inconnue. ➢ SensorSIM Il s'agit d'un projet d'UCLA (même développeur que Glomosim) visant à créer un simulateur spécifique aux réseaux de capteurs sur la base de NS-2. Cependant le projet vient de démarrer. Les sources ont d'ailleurs été retirées de la page du projet du fait de l'absence de support. Plate-forme : Unix (Linux, solaris, Mac OS X incertain), Microsoft Windows. Licence gratuite. 31 / 54 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric III. Les simulateurs CRITÈRES D'ÉVALUATION ET TABLEAU COMPARATIF Afin de pouvoir comparer plus facilement notre panel de simulateurs (NS2, OMNet++, Glomosim, Jsim), nous avons définit quelques points de comparaisons relatifs. Modificabilité et extensibilité: capacité de modification du simulateur et d’ajout de modules supplémentaires (extensions). Cela permet de modifier le simulateur pour l’utilisation précise que l’on souhaite en faire. Modules représentant les couches OSI: respect du simulateur vis-à-vis des 7 couches du modèle OSI (principalement les couches physiques, liaison de données, réseau, transport et application). Modules représentant les protocoles de routages sans fil: implémentation des différents protocoles de routage ad-hoc pour réseaux mobiles sans fil existants. Interface Utilisateur: possibilité de paramétrage de la simulation (entrée) et détails dans les résultats obtenus (sortie). Représentation de la topologie: le simulateur est-il capable de représenter la topologie d’un réseau donné ? Observabilité: L’analyse des résultats est-elle simple/claire ? Les résultats sont-ils facilement analysables et interprétables ? Acceptabilité dans le milieu de la recherche scientifique: utilisation du simulateur pour faire de la recherche académique et scientifique. Génération de trafic de données: capacité du simulateur à générer du trafic sur le réseau virtuel d’une simulation. Modèles de mobilité: possibilité de paramétrer le mouvement d’une machine. On peut ainsi étudier le comportement du réseau quand un ordinateur devient mobile (topologie dynamique). 32 / 54 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric III. Les simulateurs Passage à l’échelle: capacité à gérer les changements de topologie, d’échelle (agrandissement, réduction). Documentation: avons nous facilement trouvé des documents sur le fonctionnement, la modification du simulateur ? Existe-t-il des tutoriaux pour faciliter la prise en main du simulateur ? Facilité d’utilisation globale: le simulateur est-il facile à prendre en main ? Est-il clair ? Portabilité: peut-on utiliser le simulateur sur plusieurs systèmes d’exploitation ? Est-il stable ? Stabilité: Est-ce que le simulateur est stable ? Comporte-il des bugs ? Performance du moteur de simulation: rapidité d'exécution d’une simulation précise. Simulation temps réel: le simulateur supporte-il facilement une simulation en temps réel avec la mise en attente de certains processus (liste d’attente) ? Évolutivité: le simulateur est-il à jour ? Évolue t-il rapidement ? Les bugs sont-ils souvent corrigés ? Cet ensemble de critères nous donne la possibilité de comparer ces simulateurs sur une base précise. Nous avons réalisé un tableau comparatif ci-après. 33 / 54 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric III. Les simulateurs Critères d'évaluations NS2 OMNet++ Glomosim JSim + ++ ++ ? + + + - + + ++ ? ++ - + + Entrée / Sortie + ++ + ? Représentation de la topologie + ++ + ++ - ++ ? ? ++ ++ + ? Génération de trafic de données ++ ++ ++ ++ Modèles de mobilité ++ + ++ + Passage à l’échelle + + ? ++ ++ ++ + - Facilité d’utilisation globale -- ++ - + Portabilité + + + ++ Stabilité + + ? ? + + + ++ Simulation temps réel ++ + ? + Évolutivité ++ ++ ? - Modificabilité et extensibilité Modules représentant les couches OSI Modules représentant les protocoles de routages sans fil Interface Utilisateur Observabilité Acceptabilité dans le milieu de la recherche scientifique Documentation Performance du moteur de simulation Légende: Résultats fiables Fiabilité non vérifiée Donnée inconnue 34 / 54 III. Les simulateurs DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Conclusion Après avoir recueilli les informations nécessaires, nous avons pu dresser un tableau comparatif. Il en résulte que NS2 reste sans nul doute le simulateur le plus documenté et le plus polyvalent. Seul défaut: sa maniabilité et sa prise en main difficile. En le comparant à OMNet++, on remarque que les deux simulateurs se valent à la différence que la prise en main de OMNet++ est largement plus facile (présence d'une interface graphique). On regrette peut-être le manque de détail lors du paramétrage d'une simulation. Il demeure cependant un très bon simulateur. Quant à Glomosim, on ne peut s'empêcher de noter qu'il est très performant pour la simulation des réseaux sans fil (il intègre un large panel de protocoles de routage). Comme NS2, il possède un outil de visualisation de simulation (Glomosim Visualization Tool). La documentation peut cependant sembler assez légère. Jsim est celui le plus à plaindre quand à la documentation: très difficile d'en trouver. C'est ce qui explique le manque de certitude lors de l'évaluation de ce simulateur. On sait toutefois qu'il est très performant (ce qui est du au moteur codé en Java) après avoir trouvé des rapports qui comparaient le dit simulateur à NS2 ou OMNet++. L'ensemble de ces simulateurs sont multi-plateforme (Windows et Linux principalement) et stables pour la plupart: les bugs découverts sont rapidement corrigés dans le cas de NS2 et Omnet++. On peut regretter la manque de temps lors de l'étude de ces simulateurs qui ne nous a pas permit d'établir un tableau comparatif significatif et basé sur notre propre expérience des simulateurs. 35 / 54 IV. Le simulateur NS2 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric IV. Le simulateur NS2 Après avoir comparé NS2 à d'autres simulateurs, nous avons décidé d'approfondir un peu plus son utilisation. Dans un premier temps, nous présenterons le module qui permet la simulation d'un réseau mobile ad-hoc, puis, nous vous présenterons un exemple concret d'utilisation que nous avons eu l'occasion de réaliser. PRÉSENTATION DU MODULE PERMETTANT LA SIMULATION D'UN RÉSEAU MOBILE Initialement NS2 n'intègre aucun module permettant de simuler un réseau sans fil. Mais une extension a été développée puis intégré de base dans le simulateur par le groupe de recherche Monarch26. Ils ont permit la simulation de réseaux sans fils ad-hoc ainsi que le mouvement des appareils connectés aux réseaux. Ils ont aussi inclut différents protocoles de routage afin d’étudier précisément le comportement de tel réseaux ad-hoc démunit de toute infrastructure comme des routeurs. Ces protocoles sont : ➢ DSR27 (Dynamic Source Routing) ➢ Tora27 (Temporarly Ordered Routing Algorithm) ➢ AODV27 (Ad Hoc On Demand Distance Vector) ➢ DSDV27 (Destination Sequenced Distance Vector) 26 Voir http://www.monarch.cs.rice.edu/cmu-ns.html 27 Voir annexe 36 / 54 IV. Le simulateur NS2 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Pour utiliser cette fonction dans NS2, il faut, lors de l’écriture de la simulation : ➔ Créer une classe28 MobileNode (« Nœud mobile ») : c’est ce qui va représenter nos machines sur le réseau. On crée autant d’instances 29 de la classe MobileNode qu’il y a de machines connectées. ➔ Définir la mobilité des nœuds. NS2 intègre des fonctionnalités qui permettent d’attribuer un mouvement à un nœud dans les 3 dimensions (uniquement les deux dimensions X et Y sont utilisées. Z=0). On définit alors un point de départ, un point arrivé et une vitesse puis NS2 se charge de créer un chemin aléatoire pour simuler le mouvement du nœud ; ➔ Implémenter les protocoles de routage (couche 3 du model OSI). C'est-à-dire définir le protocole de routage qui sera utiliser sur le réseau parmi les 4 disponible ; ➔ Implémenter d’un objet « Link Layer30 » qui va simuler les protocoles de la couche liaison de données : fragmentation31, détection d’erreur, de collision (CSMA / CA32), ect… Il est aussi directement connecté à un module ARP33 ; ➔ Implémenter la couche MAC pour indiquer le type de protocole d'accès multiple utilisé. NS2 intègre plusieurs version de la norme 802.11 depuis sa version 2.33. ➔ Implémenter les canaux de communications et les interfaces connectées. ➔ Implémenter les caractéristiques de communications sans fil (délai, propagation grâce au modèle de propagation radio implémenté, gain de l’antenne,…) 28 29 30 31 32 33 Notion de Programmation Orientée Objet (POO) Création d'un objet d'une classe précise (POO) Couche liaison, voir modèle OSI Découpage d'un paquet de données en plusieurs paquets de taille plus réduite. Carrier Sense Multiple Access with Colision Avoidance : écoute du canal et esquive de collisions. Address Resolution Protocol : permet d'associer une adresse IP à une adresse MAC inconnue. 37 / 54 IV. Le simulateur NS2 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Schéma présentant un Nœud Mobile, utilisé par NS2: (source : http://iramus.citi.insalyon.fr/documents/reunions/19mai05/t_razafindralambo_simul_radio_ns2.pdf) IFQ : Module gérant les file d'attente et les priorités des paquets. La priorités est donnés aux paquets de protocoles de routage (lorsque les différentes stations communiquent entre elles à l'aide de ces protocoles pour établir la topologie du réseau). Ainsi, lorsque qu’un paquet circule sur le médium, le nœud le reçoit et lit son entête. S’il doit le rediriger, l’objet Classifier34 passe le relais au module de routage qui se chargera de créer les en-tête de la trame 5 (IP uniquement puisque les protocoles de routage travaillent au niveau de la couche 3 du modèle OSI). La trame sera reçue par l'objet Link Layer qui vérifiera, à l'aide du module ARP connecté35, si elle connaît l’adresse MAC du destinataire correspondant à l’adresse IP de destination. Enfin, le paquet est 34 Objet, sous NS2, qui examine l'en-tête d'un paquet et qui le redirige vers un module externe. 35 Le module ARP possède une table (table ARP) qui contient les associations: Adresse IP → Adresse MAC (lorsque celle-ci est connue). 38 / 54 IV. Le simulateur NS2 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric mis en file d’attente si nécessaire puis transmis au module qui simule la couche MAC. Ce dernier se chargera de retransmettre le paquet sur le réseau (le channel). En répétant ce scénario, on imagine facilement comment peut s’effectuer le routage saut par saut dans un réseau ad-hoc et comment NS2 arrive à le simuler. Malheureusement, la création du scénario et le paramétrage de la simulation sont très complexes sur un tel simulateur et l'analyse des résultats l'est tout autant. Le module permettant la simulation de routage d'un réseau sans fil de type ad-hoc sur NS2 est donc très complet. Nous avons voulu vous montrer l'utilisation du simulateur sous un angle plus abordable. 39 / 54 IV. Le simulateur NS2 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric EXEMPLE D'UTILISATION Installation Nous avons installé ce simulateur sur un système Unix en le compilant36 à partir des sources, qui contiennent également toutes ses dépendances (tcl, nam, etc). Cette méthode nous a évité d'installer chaque dépendance une à une, ce qui représente un gain de temps précieux. Pour se faire, il a suffit de télécharger l'archive et d'exécuter la commande suivante dans le répertoire dans lequel on a décompressé l'archive: ./install L'étape de la compilation fut un peu longue (approximativement 5 à 10 minutes) mais s'est déroulée sans problème. L'étape suivante a été de rendre accessible le fichier exécutable ns dans le path37. Nous avons pour cela décidé de copié le fichier binaire dans le répertoire /usr/bin qui nous a semblé être un emplacement adéquat. À présent, nous avons pu passer à l'utilisation concrète du logiciel. Première utilisation Pour donner un exemple d'utilisation de ce simulateur, nous avons utilisé un exemple de système donné dans la documentation, pour essayer de comprendre le fonctionnement général du logiciel. 36 Assembler l'ensemble des fichiers sources pour créer un exécutable optimisé pour la machine. 37 Contient la liste des répertoires dans lesquels vont être recherchés les fichiers exécutables. 40 / 54 IV. Le simulateur NS2 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Nous avons donc tout d'abord recopié le script donné dans un fichier: # création d'un simulateur set ns [new Simulator] # création du fichier de trace utilisé par le visualisateur et indication à ns de l'utiliser set nf [open out.nam w] $ns namtrace-all $nf # lorsque la simulation sera terminée, cette procédure est appelée pour lancer automatiquement le visualisateur proc finish {} { global ns nf $ns flush-trace close $nf exec nam out.nam & exit 0 } # modèle de routage $ns rtproto DV # création de sept noeuds à l'aide d'une boucle les descripteurs de noeuds sont stockés dans un tableau for {set i 0} {$i < 7} {incr i} { set n($i) [$ns node] } # création de lignes de communication full duplex entre les noeuds for {set i 0} {$i < 7} {incr i} { $ns duplex-link $n($i) $n([expr ($i+1)%7]) 1Mb 10ms DropTail } # création d'agents générateurs de paquets à vitesse constante paquets de 500 octets, générés toutes les 5 ms implantation de cet agent dans le noeud n0 set cbr0 [new Agent/CBR] $ns attach-agent $n(0) $cbr0 $cbr0 set packetSize_ 500 $cbr0 set interval_ 0.005 # création d'un agent vide, destiné à recevoir les paquets il est implanté dans n1 set null0 [new Agent/Null] $ns attach-agent $n(3) $null0 # routage des trafics $ns connect $cbr0 $null0 41 / 54 IV. Le simulateur NS2 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric # scénario de début et de fin de génération des paquets par cbr0 $ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop" # panne d'un lien $ns rtmodel-at 1.0 down $n(1) $n(2) $ns rtmodel-at 2.0 up $n(1) $n(2) # la simulation va durer 5 secondes de temps simulé $ns at 5.0 "finish" # début de la simulation $ns run Nous constatons que tous les paramètres de la simulation sont donnés dans ce script. La commande ns script exécutée dans un terminal nous génère un fichier out.nam, à importer dans le logiciel nam: xiou@portable-xiou:~/Desktop/fichier-ns$ ns script2 using backward compatible Agent/CBR; use Application/Traffic/CBR instead ns: finish: execute "nam": no such file directory Note: couldn't il faut démarrer le logiciel nam manuellement caror nous ne l'avons pas while executing ajouté dans le path. Sinon, il se serait exécuté automatiquement. "exec nam out.nam &" (procedure "finish" line 5)nam.out dans nam: Ouverture du fichier invoked from within "finish" Note: il faut démarrer le logiciel nam manuellement car nous ne l'avons pas ajouté dans le path. Sinon, il se serait exécuté automatiquement. 42 / 54 IV. Le simulateur NS2 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Ouverture du fichier nam.out dans nam: Une nouvelle fenêtre apparaît, avec une représentation du réseau que nous voulons simuler. Les stations sont placées au hasard: aucune position n'est indiquée dans le script et leur place change quand on ouvre plusieurs fois le même out.nam. 43 / 54 IV. Le simulateur NS2 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Dans cette fenêtre, nous pouvons visualiser les échanges entre les machines en faisant varier le temps. Comme indiqué dans le script, le lien entre les machines 1 et 2 connaît une défaillance à partir de 1 sec ce qui oblige les données à utiliser le chemin partant vers la machine 6 (vers la droite) pour acheminer les informations de du poste 0 au poste 3. Puis, à la 2ème sec, le lien est rétablis et les données reprennent le chemin le plus court (voir capture d'écran à gauche). La simulation se termine, comme attendu, au bout de la 5ème seconde. 44 / 54 Conclusion DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Conclusion Le développement des réseaux mobiles est en constante évolution. Pour répondre à ces besoins, de nombreuses solutions de routage ont été développées. Ainsi, des simulateurs de réseaux ont vu le jour. Ils permettent une étude approfondie des différents protocoles existants actuellement. Ils s'intègrent parfaitement dans la demande toujours croissante d'une communication plus mobile que jamais. Nous avons pu voir qu'il existe aujourd'hui de nombreux simulateurs de routage qui ont tous leurs défauts et leurs avantages. Cette diversité permet de répondre à des besoins variés en matière d'étude de protocoles dans le domaine du routage sans fil. Pour en comprendre les mécanismes, nous avons réalisé le comparatif d'un panel représentatif de simulateur, basé sur des critères précis. Comment alors ne pas passer par l'étude approfondie du plus répandu d'entre eux, à savoir NS-2 ? En effet, ce dernier est une référence dont bon nombre de simulateurs se sont inspirés. D'après notre étude, aucun simulateur n'apparaît clairement comme surclassant les autres, même si nous avons mis l'accent sur NS-2. En effet, chacun d'entre eux est caractérisé par un ensemble de critères d'évaluation particulier. Actuellement, les travaux sont davantage concentrés sur l'analyse des performances des algorithmes de routage et la conception de protocoles de diffusion. 45 / 54 Annexes DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Annexes TABLE DES ANNEXES I. Les modèles OSI et TCP / IP 47 II. Les tables de routage 49 III.Les protocoles de routage 50 1. OLSR 50 2. DSDV 50 3. AODV 50 4. DSR 51 5. ZRP 51 IV.Le groupe MANET 52 V. Sites officiels des simulateurs présentés 52 46 / 54 Annexes LES MODÈLES OSI ET DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric TCP / IP Le modèle OSI • La couche « physique » est chargée de la transmission effective des signaux entre les interlocuteurs. Son service est typiquement limité à l'émission et la réception d'un bit ou d'un train de bit continu (notamment pour les supports synchrones). • La couche « liaison de données » gère les communications entre 2 machines adjacentes, directement reliées entre elles par un support physique. • La couche « réseau » gère les communications de bout en bout, généralement entre machines : routage et adressage des paquets.(cf. note ci-dessous). • La couche « transport » gère les communications de bout en bout entre processus (programmes en cours d'exécution). • La couche « session » gère la synchronisation des échanges et les «transactions», permet l'ouverture et la fermeture de session. • La couche « présentation » est chargée du codage des données applicatives, précisément de la conversion entre données manipulées au niveau applicatif et chaînes d'octets effectivement transmises. • La couche « application » est le point d'accès aux services réseaux, elle n'a pas de service propre spécifique et entrant dans la portée de la norme. 47 / 54 Annexes DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Le modèle TCP / IP TCP/IP est l'acronyme de Transfert Control Protocol / Internet Protocol. Il s'agit d'un modèle en couche utilisé pour "définir" les règles de communications utilisées utilisées dans Internet. TCP et IP sont en fait deux protocoles distincts de la couche réseau du modèle OSI Il répond aux critères suivants : ➢ Fractionnement des messages en paquets ; ➢ Utilisation d'un système d'adresses ; ➢ Acheminement des données sur le réseau (routage) ; ➢ Contrôle des erreurs de transmission de données. Modèle OSI Modèle TCP / IP 48 / 54 Annexes LES DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric TABLES DE ROUTAGE Les tables de routage contiennent des informations d'acheminement des données. Les protocoles de routage permettent la gestion de ces tables. Chaque protocole insère des informations qui lui sont propres. Ainsi, une table de routage est constamment mise à jour. Certains protocoles diffusent périodiquement leurs informations de mise à jour. D'autres n'interviennent qu'en cas de changement de topologie du réseau. Certains transmettent l'intégralité du contenu de la table de routage. D'autres qu'une partie. Une table de routage contient des informations suivantes: ➢ Le type de protocole qui envoie les données ➢ Les interfaces par lesquelles les données doivent être acheminées pour atteindre leur destination. ➢ Les associations de saut suivant indiquent au routeur si le message est directement associé à sa table de routage où s'il peut passer par un autre routeur pour atteindre sa destination finale. ➢ Les métriques de routage permettent de déterminer si une route est d'un coût (bande passante, nombre de sauts...) est plus avantageuse qu'une autre. 49 / 54 DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Annexes PROTOCOLES DE ROUTAGES OLSR (Optimized Link State Routing Protocol) En français: protocole de routage optimisé par état des liens. Il est utilisé dans les réseaux maillés de proche en proche, et est optimisé pour les réseaux mobiles de type ad-hoc (MANET pour Mobile Ad-hoc Networks). Il est toutefois possible de l'utiliser sur d'autres réseaux ad-hoc. Il agît en inondant les noeuds du réseau avec une table de topologie de ces voisins. Ces mêmes noeuds calculent localement la voie de transmission optimale. DSDV (Destination Sequence Distance Vector) Protocole de routage proactif. Il se base sur l'algorithme de routage par vecteur de distance (algorithme de Bellman-Ford). Chaque station possède une table de routage qui contient toutes les destinations possibles, le nombre de sauts, ainsi qu'un numéro de séquence correspondant à un noeud destination. DSDV est un protocole lent. AODV (Ad hoc On-Demand Distance Vector Routing) Protocole de routage sur demande par vecteur de distance. Il est utilisés dans les MANETs et les autres réseaux sans fils ad-hoc. Avec ce protocole, le réseau est silencieux jusqu'à ce qu'une connexion ne soit requise. A ce moment le noeud du réseau qui a besoin d'une connexion diffuse une requête pour se connecter. Les autres noeuds AODV transmettent ce message, et enregistrent le noeud qui le leur à envoyé, créant ainsi une explosion temporaire de routes vers celui-ci. Quand un 50 / 54 Annexes DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric noeud reçoit un tel message et a déjà une route établie vers le noeud désiré, il le renvoie au noeud qui a émis la requête par le biais d'une route temporaire. Le noeud émetteur commence ensuite à utiliser la route qui a le plus petit nombre de sauts à travers les autres noeuds. Les entrées non utilisées sont recyclées après un certain temps. Quand un lien échoue, l'erreur de routage est signalée au noeud émetteur, et le processus est répété. DSR (Dynamique Source Routing) Protocole de routage réactif. Chaque paquet contient dans son en-tête la liste complète des adresses des noeuds à traverser vers la destination. Les noeuds intermédiaires ne gardent pas la trace de la route. Il fonctionne de façon similaire à AODV. La méthode actuelle DSR inonde un réseau pour être sur que l'information arrive correctement: envoi d'un « route request » à travers le réseau, le destinataire envoie alors un « route reply ». Il détermine le meilleur chemin en terme de vitesse, puis envoie les données. ZRP (Zone Routing Protocol) C'est le premier protocole de routage qui utilise à la fois les routages proactif et réactif. Il permet de réduire la surcharge de contrôles des réseaux proactifs et de diminuer la latence causées par le découverte des routes dans les protocoles réactifs. ZRP définit une zone autour de chaque noeud constituée d'un nombre n de stations voisines. 51 / 54 Annexes DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric MANET MANET est un type de réseaux ad-hoc dont la topologie n'est pas fixe, et qui est capable de se configurer lui-même à la volée. Comme les réseaux MANETs sont mobiles, ils utilisent des connections sans fil pour se connecter à des réseaux de tous type. Ils peuvent être utilisés dans des véhicules pour se connecter aux équipements routiers, qui possèdent une connexion Internet. Ces derniers peuvent véhiculer sur le net des informations concernant le trafic, ou le suivi de convois. Il faut cependant rester vigilant quant au type de données transmises, car ces réseaux dynamiques ne sont que très peu sécurisés. SITES OFFICIELS DES SIMULATEURS PRÉSENTÉS NS2: http://www.isi.edu/nsnam/ns/ Omnet++: http://www.omnetpp.org/ Glomosim: http://pcl.cs.ucla.edu/projects/glomosim/ Jsim: http://www.j-sim.org/ OPNET: http://www.opnet.com/ SimulX: http://simulx.u-strasbg.fr/ JiST: http://jist.ece.cornell.edu/ 52 / 54 Bibliographie et webographie DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Bibliographie et webographie BIBLIOGRAPHIE ➢ Les Réseaux, Andrew Tanenbaum, 3ème édition, Edition Dunod, 1997. ➢ Réseaux et communications sans fils, William Stalling, 2eme édition, Pearson Education, 2005. ➢ 802.11 et les réseaux sans fil, Paul Mühlethaler, édition Eyrolles, 2002 ➢ CFIP’2000 : Ingénierie des protocoles sous la direction de Jean-pierre Courtiat, Michel Diaz, Patrick Sénac, Germes Science, Octobre 2000 WEBOGRAPHIE ➢ Documentation en français sur le simulateur NS2: www.sop.inria.fr/rodeo/personnel/Pierre.Ansel/Manuel_NS1.3.pdf ➢ Site d'universités, d'écoles: www.grappa.univ-lille3.fr ➢ Groupe de recherche sur l'apprentissage automatique (Lille): www.igm.univ-mlv.fr ➢ Institut d'électronique et d'informatique Gaspard-Monge (Paris): https://labo4g.enstb.fr/ ➢ Site du projet français Iramus concernant l'étude des protocoles de routage dans les réseaux multi-saut: http://iramus.citi.insa-lyon.fr 53 / 54 Bibliographie et webographie ➢ Site du leader sur le marché des ventes de matériels réseaux www.cisco.com ➢ DUPESSEY Xavier GLOSSI Étienne LATRILLE-DEBAT Simon VIOUGEAS Éric Le site de le norme américaine standardisée 802.11 http://www.ieee802.org/11/ ➢ Sites officiels des simulateurs ➢ www.commentcamarche.net ➢ http://fr.wikipedia.org/ 54 / 54