Adaptation des applications P2P dans les Réseaux Ad hoc Encadré Par : Réalisé par - Rachid Elazouzi -Aboubacar Thiam - Hayat Kaarar -Wafaa Douma
Table des matières : Présentation du projet... 1 1-Introduction sur les environnements Mobiles... 2 2. Les Réseaux Ad hoc... 2 2.1 Définition d un réseau Ad hoc... 2 2.2 Les protocoles de routage dans les réseaux Ad hoc... 2 2.2.1 Classification... 2 a-routage pro-actifs... 2 b-routage Réactifs... 3 2.3 Couche réseau MAC (Médium Access Control)... 3 2.3.1-Problème de partage de la ressource (équité) & Solution... 3 2.3.2 Efficacité énergétique... 3 3. Application Peer to Peer (P2P)... 4 3.1 Définition du fonctionnement du protocole Peer to Peer... 4 3.2 Avantages & Inconvénient des applications Peer to Peer... 4 3.3 Partage de fichiers... 4 3.4 Architecture des réseaux Peer to Peer... 4 3.4.1 Architecture centralisée... 4 3.4.2 Architecture décentralisée... 4 3.4.3 Centralisée/Décentralisée... 5 3.5 Les protocoles de l application Peer to Peer... 5 3.5.1 Bit Torrent... 5 3.5.2 Gnutella... 8 3.5.3 Contraintes des applications Peer to Peer dans les réseaux Ad hoc... 9 4. Critique & proposition de la solution de l application P2P sur une plate forme Ad hoc... 9 IUP GMI M1 2008/2009 2
Présentation du projet Les réseaux mobiles ad hoc (MANET) permettent une nouvelle forme de communication spontanée et d'accès à l'information pour les utilisateurs d'équipements mobiles. Parallèlement, les réseaux pair à- pair (P2P pour «Peer-to-Peer») se sont développés ces dernières années au dessus des réseaux fixes classiques. A l'origine, principalement utilisé pour l'échange de fichiers (Gnutella), le modèle P2P est de plus en plus adopté et décliné pour d'autres types d'applications grand public (Skype). Les réseaux Manet et le partage P2P sont deux technologies émergentes qui sont basées sur le même modèle : celui du P2P. En effet, aucune infrastructure n est requise afin de mettre en place des connexions dans le but d établir différents services. Les utilisateurs ont les mêmes rôles au sein du modèle P2P, des échanges «justes» entre utilisateurs, pour garantir une vitesse de téléchargement et des performances optimums. Pour cela, tout utilisateur qui souhaite télécharger devient à son tour serveur pour les autres et partage toute donnée déjà téléchargée. Dans le cas d un réseau Ad Hoc sans fil, le réseau est constitué de nœuds sans qu aucune administration centrale ne soit requise. Les nœuds dans un tel réseau sont à la fois routeurs et utilisateurs. L objectif est de croiser ces deux technologies afin d'offrir aux utilisateurs un choix de nouvelles applications. En particulier, nous voulons adapter le mécanisme P2P dans un réseau ad hoc. Dans ce projet nous nous intéressons, en particulier, aux solutions visant à mieux adapter les Échanges des pièces (e.g une partie de fichier) dans réseau ad hoc. Cela permettant avoir une meilleure distribution des pièces dans le réseau P2P. Il faut aussi étudier l impact de la solution proposé sur la durée de vie d un réseau ad hoc et proposer à l'aide d'une série de tests une solution qui minimiserait les temps de téléchargement tout en respectant et en favorisant la collaboration équitable entre les pairs. IUP GMI M1 2008/2009 3
1-Introduction sur les environnements Mobiles : [1] Un environnement mobile est un système composé de sites mobiles et qui permet à ses utilisateurs d'accéder à l'information indépendamment de leurs positions géographiques. Les réseaux mobiles ou sans fil, peuvent être classés en deux classes : les réseaux avec infrastructure et les réseaux sans infrastructure. 2. Les Réseaux Ad hoc : [1] 2.1 Définition d un réseau Ad hoc : Un réseau mobile ad hoc, appelé généralement MANET (Mobile Ad hoc NETwork) est un réseau local sans fils utilisant le médium radio dont chaque entité est mobile et autonome, consiste en une grande population, relativement dense, d'unités mobiles qui se déplacent dans un territoire quelconque et dont le seul moyen de communication est l'utilisation des interfaces sans fil, sans l'aide d'une infrastructure préexistante ou administration centralisée. Les réseaux mobiles ad hoc sont caractérisés par ce qui suit : 1- Une topologie dynamique : le d»placement libre des nœuds conduit aux changements imprévisibles de la topologie. 2- Une bande passante limitée: La bande passante est inférieure à celle des réseaux câblés car le médium est partagé par plusieurs entités qui y ont un accès simultanément. 3- Des contraintes d'énergie: la source d'énergies est autonome ce qui implique un épuisement et déconnexion. 4- Une sécurité physique limitée 5- L'absence d'infrastructure 2.2 Les protocoles de routage dans les réseaux Ad hoc : 2.2.1 Classification : Suivant la manière de création et de maintenance de routes lors de l'acheminement des données, les protocoles de routage peuvent être séparés en deux catégories, les protocoles pro-actifs et les protocoles réactifs. Les protocoles pro-actifs établissent les routes à l'avance en se basant sur l'échange périodique des tables de routage, alors que les protocoles réactifs cherchent les routes à la demande. a-routage pro-actifs : ce protocole est basé sur la même philosophie des protocoles de routage IUP GMI M1 2008/2009 4
utilisés dans les réseaux filaires conventionnels. Les deux principales méthodes utilisées sont : La méthode Etat de Lien ("Link State") et la méthode du Vecteur de Distance ("Distance Vector"), Les deux méthodes exigent une mise à jour périodique des données de routage qui doit être diffusée par les différents nœuds de routage du réseau. Le protocole de routage «DSDV» : C est un protocole basé sur l'idée classique de l'algorithme distribué de Bellman-Ford en rajoutant quelques améliorations : Chaque station mobile maintient une table de routage qui contient : Toutes les destinations possibles. Le nombre de nœud (ou de sauts) nécessaire pour atteindre la destination. Le numéro de séquences (SN : sequence number) qui correspond à un nœud destination. Le NS est utilisé pour faire la distinction entre les anciennes et les nouvelles routes, ce qui évite la formation des boucles de routage. La mise à jour dépend donc de deux paramètres : Le temps, c'est à dire la période de transmission, et Les événements Un paquet de mise à jour contient : Le nouveau numéro de séquence incrémenté, du nœud émetteur. Et pour chaque nouvelle route : L'adresse de la destination. Le nombre de nœuds (ou de sauts) séparant le nœud de la destination. Le numéro de séquence (des données reçues de la destination) tel qu'il a été estampillé par la destination. - Le DSDV élimine les deux problèmes de boucle de routage "routing loop", et celui du "counting to infinity", Cependant : Dans ce protocole, une unité mobile doit attendre jusqu'à ce qu'elle reçoive la prochaine mise à jour initiée par la destination, afin de mettre à jour l'entrée associée à cette destination, dans la table de distance. Ce qui fait que le DSDV est lent. Le DSDV utilise une mise à jour périodique et basée sur les événements, ce qui cause un contrôle excessif dans la communication. b- Routage Réactifs : Les protocoles de routage appartenant à cette catégorie, créent et maintiennent les routes selon les besoins. Lorsque le réseau a besoin d'une route, une procédure de découverte globale de routes est IUP GMI M1 2008/2009 5
lancée, et cela dans le but d'obtenir une information spécifiée, inconnue au préalable. Dans ce qui suit nous allons décrire les protocoles les plus importants de cette classe : Le protocole de routage «DSR» : Le protocole "Routage à Source Dynamique" (DSR), est basé sur l'utilisation de la technique "routage source". Dans cette technique : la source des données détermine la séquence complète des nœuds à travers lesquelles, les paquets de données seront envoyés. Un site initiateur de l'opération de «découverte de routes», diffuse un paquet requête de route. Si l'opération de découverte est réussite, l'initiateur reçoit un paquet réponse de route qui liste la séquence de nœuds à travers lesquels la destination peut être atteinte. Le paquet requête de route contient donc un champ enregistrement de route, dans lequel sera accumulée la séquence des nœuds visités durant la propagation de la requête dans le réseau, comme le montre la figure suivante :: La découverte de chemins dans le DSR- Construction de l'enregistrement de route- La découverte de chemins dans le DSR- Le renvoi du chemin- Afin d'assurer la validité des chemins utilisés, le DSR exécute une procédure de maintenance de IUP GMI M1 2008/2009 6
routes : Quand un nœud détecte un problème fatal de transmission, à l'aide de sa couche de liaison, un message erreur de route (route error) est envoyé à l'émetteur original du paquet. Le message d'erreur contient l'adresse du nœud qui a détecté l'erreur et celle du nœud qui le suit dans le chemin. Lors de la réception du paquet erreur de route par l'hôte source, le nœud concerné par l'erreur est supprimé du chemin sauvegardé, et tous les chemins qui contiennent ce nœud sont tronqués à ce point là. Par la suite, une nouvelle opération de découverte de routes vers la destination, est initiée par l'émetteur. L utilisation de la technique "routage source", fait que les nœuds de transit n'aient pas besoin de maintenir les informations de mise à jour pour envoyer les paquets de données, puisque ces derniers contiennent toutes les décisions de routage. Dans ce protocole, il y a une absence totale de boucle de routage, car le chemin source-destination fait partie des paquets de données envoyés. 2.3 Couche réseau MAC (Médium Access Control) :[2] Une couche MAC a été définie par l'ieee dans le standard 802.11.on peut le définir comme un protocole de transmission de paquets de données dont le but est la gestion du medium en garantissant un accès équitable au médium pour chaque mobile, Cependant, des recherches ont montré que son fonctionnement rencontrait de nombreuses défaillances dans le cadre des réseaux ad-hoc. Celle qui nous intéresse est le problème de l'accès équitable (équité) et Problème d accès, et d accès correct (efficacité) au médium de communication pour tous les mobiles du réseau. 2.3.1-Problème de partage de la ressource (équité) & Solution : La norme IEEE 802.11 est équitable du point de vue du nombre d'obtentions du médium, pour des stations communiquant dans une cellule complètement connectée et pour des communications utilisant le même bit rate.d'où l'anomalie de performance, et l'inadéquation avec les MANET et WSN. o DFWMAC - Transmission d un paquet : DFWMAC est un protocole de type CSMA/CA (Carrier Sense Multiple Access) c'est à dire qui opère dans un environnement à médium partagé où il tente de limiter les collisions, le protocole IUP GMI M1 2008/2009 7
utilise des paquets d'acquittement «on assure que le paquet de donnée a été transmis avec succès» et un temps aléatoire afin de réguler les envois -- on réduit la probabilité de collision. L'algorithme d'envoi d'un paquet de donnée suivi d'un chronogramme explicatif est donné ci-dessous: Attendre que le médium soit libre Attente d'un temps fixe DIFS Pendant lequel le médium doit rester libre Tirage aléatoire dans [0, CW] (Contention Windows) de la valeur BACKOFF (Fenêtre de contention) Tant que le médium est libre Décrémenter BACKOFF Si BACKOFF est nul Envoi du paquet DATA Attente SIFS, correspondant au temps de transmission du paquet Réception du paquet ACK Sinon retour au début, avec BACKOFF *restant* L'idée générale est d'instaurer un temps d'attente où le médium doit être libre et statistiquement différent pour chaque mobile. Le tirage aléatoire s'effectue dans une fenêtre appelée fenêtre de contention CW. On assure ainsi une distribution équitable du médium. Un nœud ne peut pas non plus se trouver en situation de famine puisque son temps d'attente BACKOFF diminues à chaque échec de prise du médium jusqu'à la valeur nulle. Enfin la réception de l'acquittement (ACK) scelle la réussite de la transmission. 2.3.2 Efficacité énergétique : IUP GMI M1 2008/2009 8
le but est de mieux gérer l'énergie de la batterie, pour cela on utilise 2 modes de travail pour le terminal: a- Continuous Aware Mode: le fonctionnement par défaut et la station est tout le temps allumée et écoute constamment le support (pas d'économie d'énergie). b- Power Save Polling Mode : Géré par le point d accès, L AP tient à jour un enregistrement de toutes les stations qui sont en mode d'économie d'énergie et stocke toutes les données qui leur sont adressées, Les stations en veille s'activent périodiquement pour recevoir une trame TIM (Trafic Information Map), envoyée par l'ap.si l'ap possède des données destinées à la station, celle-ci Envoie une requête à l AP : Polling Request Frame.Entre les trames TIM, les terminaux retournent en mode veille. 3. Application Peer to Peer (P2P): 3.1 Définition du fonctionnement du protocole Peer to Peer : Dans l'architecture client-serveur, la ressource demandée n'est disponible qu'en un point central du réseau et les clients ne sont que des demandeurs de cette ressource. Dans le modèle pair à pair, cette dichotomie est levée : il n'y a ni client ni serveur mais des pairs. Tous les pairs ont la ressource et tous les pairs la demande. On peut aussi considérer que tous les éléments du réseau pair-à-pair sont à la fois client et serveur. Les systèmes pair-à-pair permettent à plusieurs ordinateurs de communiquer via un réseau, de partager simplement des objets des fichiers le plus souvent, mais également des flux multimédia continus (streaming), le calcul réparti, la téléphonie (comme Skype), etc. sur Internet. 3.2 Avantages & Inconvénient des applications Peer to Peer : Avantage : Le pair-à-pair a permis une décentralisation des systèmes, auparavant basés sur quelques serveurs, en permettant à tous les ordinateurs de jouer le rôle de client et serveur. En particulier, les systèmes de partage de fichiers permettent de rendre les objets d'autant plus disponibles qu'ils sont populaires, et donc répliqués sur un grand nombre de nœuds. Cela permet alors de diminuer la charge (en nombre de requêtes) imposée aux nœuds partageant les fichiers populaires, ce qui facilite IUP GMI M1 2008/2009 9
l'augmentation du nombre de nœuds et donc de fichiers dans le réseau. C'est ce qu'on appelle le passage à l'échelle. On peut résumer les avantages d un réseau peer to peer dans les points suivants : Réseaux très extensibles Responsabilité distribuées Différent canaux de communication possibles Utilisation de toute la bande passante Haute disponibilité Résistant au panne Calculs distribués Espace de stockage distribué Inconvénients On peut résumer les inconvénients d un réseau peer to peer dans les points suivants : Réseaux redondant Requête pour une information Différents résultats Sans réponse Apparition/Disparition de ressource à tout moment Attaques distribuées Problème de sécurité 3.3 Partage de fichiers : Authentification, Confidentialité, Intercepteurs, L'application la plus répandue du pair-à-pair est le partage de fichiers. L'avènement des connexions à Internet à haut débit (ADSL notamment) sans limite de temps a contribué à cet essor. Chaque internaute est un pair du réseau et les ressources sont des fichiers. Chacun peut donc partager ses fichiers et télécharger les fichiers des autres. Ces systèmes s'avèrent très efficaces y compris quand il s'agit d'échanger des données de gros volumes. IUP GMI M1 2008/2009 10
Parmi les applications les plus utilisées, on peut distinguer Bit Torrent et emule. 3.4Architecture des réseaux peer to peer : 3.4.1 Architecture centralisée : Dans cette architecture, un client (un logiciel utilisé par les membres) se connecte à un serveur qui gère les partages, la recherche, l'insertion d'informations, bien que celles-ci transitent directement d'un utilisateur à l'autre. Certains considèrent que de telles architectures ne sont pas pair-à-pair, car un serveur central intervient dans le processus. D'autres leur répondent que les fichiers transférés ne passent pas par le serveur central. C'est la solution la plus fragile puisque le serveur central est indispensable au réseau. Ainsi, s'il est supprimé, à la suite d'une action en justice par exemple, comme ce fut le cas avec Napster et Audiogalaxy, tout le réseau s'effondre. 3.4.2 Architecture décentralisée : Le client ne se connecte pas à un unique serveur mais à plusieurs. Le système est ainsi plus robuste, mais la recherche d'informations est plus difficile. Elle peut s'effectuer dans des systèmes décentralisés non-structurés, comme Gnutella, où la recherche nécessite un nombre de messages élevé, proportionnel au nombre d'utilisateurs du réseau (et exponentiel suivant la profondeur de recherche). Dans les systèmes décentralisés structurés, une organisation de connexion est maintenue entre les nœuds. La plupart est basée sur les table de hachage distribuées, permettant de réaliser des recherches en un nombre de messages croissant de façon logarithmique avec le nombre d'utilisateurs du réseau, comme CAN, Chord, Freenet, GNUnet, Tapestry, Pastry et Symphony. 3.4.3Centralisée/Décentralisée : Consistant en l'utilisation de «super-nœuds», éléments du réseau choisis en fonction de leur puissance de calcul et de leur bande passante, réalisant des fonctions utiles au système, comme l'indexation des informations et le rôle d'intermédiaire dans les requêtes. Cette solution, rendant le système un peu moins robuste (les cibles à «attaquer» dans le réseau pour que le système devienne inopérant sont moins nombreuses que dans un système de type Gnutella, par exemple), est employée dans les systèmes FastTrack, comme KaZaA. Les nœuds du réseau peuvent alors devenir super-nœuds et vice-versa, selon les besoins du système ou de leur propre choix. IUP GMI M1 2008/2009 11
De la même façon, le système edonkey2000 utilise des serveurs fixes, plus vulnérables car moins nombreux et moins souple que les super-nœuds FastTrack. 3.5 Les protocoles de l application Peer to Peer : 3.5.1 Bit Torrent : Définition : Bit Torrent est un protocole Peer to Peer classique, son propre objectif est de Faciliter la distribution de gros fichiers en diminuant la charge sur les serveurs en limitant la bande passante du fournisseur initial), les clients ne font pas partie d un réseau global (comprenant tous les utilisateurs du protocole), mais sont plutôt regroupés par fichier.de nombreuses organisations proposent des téléchargements via ce protocole (RedHat, Eclipse ). Avantages / Inconvénients : 3.5.1.1 Avantages & Inconvénient : Avantage : Pas de files d attentes : ce protocole utilise les techniques les plus abouties pour l utilisation du P2P, à savoir : le téléchargement depuis différents «peers» pour un même fichier (appelé «multisourcing») et le morcellement du fichier en blocs, ce qui ne contraint pas d attendre un utilisateur ayant les blocs adjacents à la partie déjà téléchargée (par exemple si le fichier est composé de 10 blocs, si on a déjà les blocs 1, 2 et 3, on n est pas obligé d attendre le bloc 4 pour continuer, et on peut très bien recevoir le bloc 9 ou tout autre bloc). La rapidité du protocole : parmi la communauté des protocoles Peer To Peer,le Bittorrent est le plus rapide pour le téléchargement de gros fichiers. Diminution de la charge des serveurs : La réduction significative de la charge des serveurs, ce qui est la raison pour laquelle ce protocole a été conçu. Inconvénients : 1. Pas de fonction de recherche : cette absence est assez handicapante car elle oblige l'utilisateur à récupérer des fichiers Torrent, le problème qui se posera est que le tracker ne IUP GMI M1 2008/2009 12
contiendra plus de clients et donc le téléchargement ne pourra pas s'effectuer. Avec un système de recherche, il aurait été possible de récupérer les clients actuellement disponibles pour les données à récupérer, et donc de les télécharger. 2. Pas de support des clients derrière un Firewall ou un réseau NAT :On peut enfin critiquer le fait que le protocole ne prévoit pas le fonctionnement des clients derrière un Firewall ou un réseau de type NAT (ce qui n'est pas le cas d'autres protocoles tels que EMule, Gnutella...). 3. Démarrage lent d un téléchargement : la vitesse du téléchargement prend un certain temps avant de décoller. Ceci est principalement dû au fait que le téléchargement du premier morceau d un fichier peut être assez long et pendant ce temps, le client ne peut (forcément) rien uploader (d ou une vitesse de download faible). 4. l utilisation d un tracker unique représente un obstacle à une montée en charge sans problème. Même si la bande passante utilisée par le Tracker est limitée, il arrive un point où c est elle qui limite la croissance du système. 3.5.1.2 Fonctionnement & Architecture : Dans un scénario typique, un seed qui fait distribuer un ou plusieurs fichiers met en place un tracker (ou s arranger avec le propriétaire d un tracker existant c'est-à-dire un tracker qui accepte de référencer d'autres fichiers que ceux qu'il détient lui-même)et n'importe qui peut l'installer sur son propre PC pour évaluer la vitesse de diffusion d'un fichier et ensuite construire le fichier.torrent à l aide d un utilitaire ad-hoc et le rendre accessible en le mettant sur un serveur web, une simple page web peut alors servir de catalogue des fichiers disponibles. Enfin, le fournisseur de contenu devra évidemment rendre accessible le contenu du fichier à distribuer. Cela sera fait en démarrant un client Bit Torrent appelé leecher sur une machine qui a déjà le fichier. Les leechers ayant récupéré le fichier.torrent se connectent au tracker qui leur répondra par une liste d autres clients Bit Torrents intéressé par le même fichier. Et le transfert pourra commencer. IUP GMI M1 2008/2009 13
3.5.1.3 Fichier.torrent : Un fichier.torrent sert principalement à décrire les différents attributs du fichier à distribuer et à donner un moyen de contacter le tracker qui supervise la distribution de ce fichier On n'a pas à se demander où se trouve réellement le fichier qui nous intéresse (fichier-cible) sur le réseau. Il suffit donc de demander à l'application Bit Torrent d'aller récupérer cette information dans le torrent et de procéder au téléchargement, conformément aux indications récupérées. Une application Bit Torrent fait donc deux choses bien différentes: elle déchiffre le contenu d'un fichier torrent qu'on lui fournit et elle télécharge le (ou les) fichier décrit(s) dans ce torrent. On retiendra que téléchargement d'un fichier distribué via Bit Torrent revient à lire le torrent avec une application -compatible- Bit Torrent Chacun de ces fichiers.torrent devra au moins contenir : Announce : URL du Tracker Info : informations sur les fichiers Name : nom du fichier torrent Files : description des fichiers Length : taille d un fichier Path : chemin d un fichier Piece length : taille d une partie Pieces : chaîne de taille multiple de 20, représentant le code SHA1 de chaque partie. La récupération d'un fichier torrent se fait comme toute recherche sur le réseau, exemple : Si nos recherches aboutissent à un fichier appelé khonneur.iso, il s'agira probablement du fichier source IUP GMI M1 2008/2009 14
(ici, une image iso servant à graver un CD). S'il s'appelle khonneur.iso.torrent, on comprendra qu'il s'agit du torrent du fichier khonneur.iso. 3.5.1.4 Le protocole entre le Tracker et les clients : Ce protocole est basé sur le protocole HTTP. Il sert à communiquer entre les peers et le tracker.les requêtes du client au tracker devront contenir : Des statistiques de transfert du client (nombre de bytes envoyés, reçus et nombre de bytes qui restent à recevoir). l état actuel du client («vient de commencer le transfert», «est en cours de transfert», «a fini le transfert», ou encore «va quitter») Le Tracker répondra à cette requête par un message comprenant d une part le temps que le client devrait attendre entre deux requêtes au tracker et d autre part une liste de peers (un identifiant, une ip et un port par Peer), qui sont intéressés par le même fichier que le client. Le nombre de peers renvoyés est variable (mais par défaut il est égal à 50). 3.5.1.5 Le protocole inter-clients : Les voisins sont sélectionnés selon le choking algorithm de Bit Torrent, un pair sélectionne périodiquement un ensemble de pairs avec lesquelles il va ouvrir uniquement 4 connexions TCP pour uploader des pièces : 3 meilleures uploaders + connexion au hasard optimistic unchoke (Toutes les 30s, un client devient "Unchoked") Garantir la coopération et la réciprocité entre les pairs. Chaque fois qu un client complète un morceau (et qu il a vérifie que sa valeur de hachage est correcte), il l annonce à tous les peers auquel il est connecté. Ceci permet au client de savoir à tout moment ce que les peers auquel il est connecté ont comme morceaux et donc ce qui les intéresse. Dans la spécification originale du protocole, chaque client demande aux autres les morceaux qui composent le fichier voulu dans un ordre aléatoire. Cette politique fonctionne bien, mais actuellement la plupart des clients utilisent une politique de rarest first(envoi en priorité les parties les plus rares). Pour faciliter le transfert, chaque morceau est encore subdivisé en sous morceaux. Les sous-morceaux d un même morceau doivent tous être téléchargés dans l ordre et à partir de la IUP GMI M1 2008/2009 15
même source (le même client). Un client choisit à qui il envoie des données. Quand un client refuse d envoyer des données à un autre, on dit que le premier client choke ce dernier (et à l inverse lorsqu il accepte d en envoyer, on dit que le récepteur est unchoked ). 3.5.2 Gnutella :[5] 3.5.2.1 Définition : Gnutella est un protocole décentralisé de recherche et de transfert de fichiers peer-to-peer,chaque nœud est à la fois client, serveur et routeur,la recherche se fait par Inondation (un Broadcast forcé),contrairement au bit torrent, en ce protocole il n'y a pas la notion des trackers. Le protocole Gnutella continue d'évoluer permettant en outre une diminution sensible de la bande passante utilisée. Parmi ses améliorations, on peut citer la gestion des ultrapeers, GUESS et GWebCache qui permet de manière décentralisé à des clients Gnutella de connaître d'autres machines auxquelles se connecter. 3.5.2.2 Fonctionnement : L'ajout d'un noeud A au réseau Gnutella se fait par émettre un message ping aux nœuds voisins qui lui répondent par un message pong et transfèrent le message du noeud A à leurs noeuds voisins qu'ils connaîssent, Ceux-ci répètent alors la même chose (jusqu'à ce que le nombre de propagations soit atteint). Chaque servent doit être connecté à un ensemble de voisins. Pour lancer une recherche, un servent interroge tous ses voisins en leur envoyant un message de recherche Query. Ses voisins font de même avec leurs propres voisins. Un champ TTL (Time To Live) est associé au message de recherche pour comptabiliser le nombre de retransmissions restantes. Quand celle-ci est nulle, le message n'est plus renvoyé. Cette méthode de propagation est appelé inondation. Les servent ayant des fichiers qui répondent à la requête renvoient leur réponse Query Hit (nom du fichier + leur adresse IP) au voisin qui leur a retransmis la requête. La réponse remonte ainsi de proche en proche jusqu'au servent qui a initié la requête. Le servent initiateur de la requête va ensuite choisir les fichiers à télécharger en envoyant directement une requête de téléchargement au servent qui possède le fichier. Cependant cette inondation est coûteuse en bande passante et les recherches sont plus lentes que dans les réseaux centralisés. 3.5.2.3 Observation de la Bande passante : IUP GMI M1 2008/2009 16
Sur une période d'un mois : o La taille d'une requête typique est de 560 bits (y compris headers TCP/IP) o Les requêtes occupent 25% du trafic, les ping 50% o En moyenne, un pair est connecté activement à 3 autres. Du point de vue de la bande passante, Gnutella ne passe pas à l'échelle. 3.5.2.4 Avantage & Inconvénient : Avantage : Recherche rapide. Arrivée et départ simples. Les fichiers populaires sont trouvés avec un petit TTL. Permet de récupérer depuis plusieurs sources. Inconvénients : TTL limité => pas de garantie de trouver un fichier disponible. Overhead élevé pour la recherche. Passage à l échelle peu aisé : Charge répartie de manière non uniforme. 3.5.3 Contraintes des applications Peer to Peer dans les réseaux Ad hoc:[ 6] Le problème de routage est un véritable défi dans les réseaux mobiles ad hoc, en effet pour assurer un bon fonctionnement pour ces réseaux,tous les nœuds sont susceptible de se comporter comme routeur en acheminant l'information d'un nœud vers un autre.cependant,les réseaux mobiles Adhoc étant hautement dynamique par nature, il se pose alors un problème d'interconnexion des noeuds rendant ainsi le routage plus complexe. 4. Critique & proposition de la solution de l application P2P sur une plate forme Ad hoc : 4.1 Politique de la solution proposé l an dernier : Politique 1: Privilégier les téléchargements sur les nœuds voisins les plus proches (inférieur à 2 hops) afin de minimiser les contraintes liés au caractéristiques du wifi entraînant des chutes de performances du protocole TCP IUP GMI M1 2008/2009 17
Politique 2: Lorsque la pièce n est pas disponible à un hop (basée sur un système de timeout), aller la chercher et la télécharger sur des machines positionnées sur les hops suivants. Un protocole p2p qui gérerait de façon dynamique ces 2 politiques combinées. 4.2 Critique de la solution proposée : La solution proposée est basée sur le privilège des nœuds voisins sur une plate forme ADHOC tandis que AD HOC est caractérisée par la non fiabilité des liens, la volatilité des nœuds, une telle plate forme très dynamique et instable ne rend pas crédible la notion des voisins, donc en supposant que dans un instant t0 le nœud A est voisin d un nœud B, B a commencé de télécharger un fichier de A, après un laps de temps t1, A se mobilise =>déconnexion avec le nœud B=> interruption du téléchargement. Donc A est censé refaire la recherche des voisins dans un premier temps et dans un deuxième temps trouver parmi eux ceux qui possédant le fichier en questions pour continuer le téléchargement. Cette situation dégrade les conditions de téléchargement au niveau du temps, de la performance (c est pas évident de retrouver des voisins possédant le fichier en questions, plus de tendance de trouver le fichier chez des voisins a plus de 2 hops). 4.3 Notre solution : Politique 1 : envois d une requête de brodcast pour chercher le fichier chez tous les nœuds du réseau. Politique 2 : enregistrement de tous les nœuds possédant le fichier en question dans une table. Politique 3 : favoriser le téléchargement du fichier a partir des voisins les plus proches( le minimum possible des hops en fonction du résultat de la recherche). Politique 4 : en cas de déconnexion au cours du téléchargement d un des voisins a cause d une éventuelle mobilisation. A partir de la table créé en politique 2, on établit une nouvelle connexion en prenant en considération la politique 3,dans le cas de la mobilisation de tous les voisins de la table de la politique 2 (ce qui n est pas très probable),établir un nouveau brodcast. IUP GMI M1 2008/2009 18
4.4 Récapitulatif de la solution : Point fort de la solution : Les politiques 1 et 2 permettent de connaitre tous les voisins possédant la ressource donc rendre plus accessible la source d information. La politique 3 assure le téléchargement avec des meilleurs conditions (au niveau de débit, de temps de téléchargement) Politique 4 résout le problème de mobilisation des nœuds ce qui un problème très fréquent dans la plate forme ADHOC Notre solution est une combinaison de la solution proposé l an dernier et la résolution de la problématique de la volatilité des nœuds dans les réseaux adhoc, en essayant de rendre plus accessible la source (avec la table résultante du brodcast), et en favorisant le téléchargement des nœuds voisins IUP GMI M1 2008/2009 19
Planning Prévisionnel Janvier Apprentissage sur la simulation de ns-2 Mise en place d un réseau ad hoc Février - Mise en place du protocole OLSR sur ces machines 10 Jours 10Jours 10jours - Test du fonctionnement du protocole 10Jours de routage sur le réseau Ad Hoc - Mise en place d un "tracker" 6jours MARS Installation d apache, php5 et mysql - Série de tests afin de mettre en évidence les propriétés et le comportement d une architecture réseau p2p en ad hoc ( en fonction des puissances d émission et des «hops» entre les machines) Mise en place de la plateforme Ad Hoc / P2P sur 3 ou4 hops et série de tests en présence AVRIL Réaliser une nouvelle batterie de tests sur la plateforme à 3 hops et repérer les spécificités d une telle plateforme p2p en ad hoc Test et analyse des captures des trames concernant Le démarrage du fichier torrent à plusieurs hops MAI Réalisation d une maquette filaire de notre plateforme p2p Tests et analyses des trames dans le contexte wifi et filaire au niveau des différentes machines afin de mieux cerner les problèmes de démarrage du fichier torrent sur des machines distantes de plus de 1 hop du serveur Réalisation du rapport 5jours 12jours 15jours 15Jours 12jours 10jours 10Jours 9jours IUP GMI M1 2008/2009 20
Bibliographie : [1] «Le Routage dans les Réseaux Mobiles Ad Hoc»,Dr Nadjib BADACHE,2008. [2] «Etude de l équité dans les réseaux ad-hoc», Mathias Péron, stage MIM1 Septembre2003. [3] [4] «Bit Torrent le chaînon manquant des protocoles Peer to Peer», Facultés Universitaires Notre-Dame de la Paix Namur, Gaëtan de Menten, juin 2004. [5] «Etude et utilisation des technologies des P2P», Developpez.com, Fabrice Schuler, avril 2005. [6] «Routage dans les réseaux mobiles Ad hoc», Faculté des sciences et de génie Université Laval Québec, BADJI Molo, Juin 2007. IUP GMI M1 2008/2009 21