Les applications P2P dans un réseau Ad Hoc Responsable: Mr Rachid Elazouzi Kai Zhang - Stéphane Elbaz - Olivier Tastet 2007-2008
Réseaux Wifi Ad Hoc Une nouvelle forme de communication spontanée Un accès à l’information pour les utilisateurs d’équipements mobiles Le déploiement sur des plateformes mobiles aux ressources limitées Applications civiles (pompiers, universités) et militaires
Réseaux Wifi Ad Hoc Pas d’ administration centralisée Pas de point d’accès Les nœuds sont à la fois routeurs et pairs Nécessité de protocole de routage pour multi-hops La connectivité est assurée grâce à la collaboration des nœuds qui transitent et routent les messages les uns vers les autres C’est le modèle P2P mais dans la couche réseau
Application P2P Un accès simple, rapide pour télécharger et diffuser des données Utilisée pour l’échange de fichiers (BitTorrent) Autres types d’applications grand public (Skype)
Le Partage de fichier en P2P Pas de serveur central Les utilisateurs sont à la fois clients et serveurs: Ils téléchargent des données et les partagent aux autres utilisateurs La capacité globale du système s'accroît grâce à leur collaboration
Le Partage de fichier en P2P en réseaux Ad hoc : Les contraintes Les applications P2P ne sont pas adaptées pour une architecture Ad hoc: ignorent la topologie du réseau et sélectionnent les voisins indépendamment de leur emplacement Les performances du protocole TCP se dégradent fortement avec le routage multi-hop
Le Partage de fichier en P2P en réseaux Ad hoc : Les problématiques Comment ces applications p2p vont-elles se comporter sur une plateforme Ad hoc multi-hops? Comment adapter notre application p2p pour une telle plateforme? (Afin d’avoir une utilisation optimale du p2p sur le ad hoc)
Présentation du protocole BitTorrent (1/3) Les pairs téléchargent le même contenu à partir d’un fichier appelé « torrent » Un client contact une machine appelée « tracker » afin de récupérer les adresses Ips des autres pairs qui téléchargent le même fichier Afin de faciliter la réplication du fichier au sein du réseau, celui-ci est divisé en pièces Un pair qui détient toutes les pièces d’un fichier est appelé un « seed » et « leecher » celui qui les télécharge
Présentation du protocole BitTorrent (2/3) Les voisins sont sélectionnés selon le « choking algorithm » de BitTorrent 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 ») Garantir la coopération et la réciprocité entre les pairs
Présentation du protocole BitTorrent (3/3) Stratégie de sélection des pièces « Local Rarest First » Lorsque la connexion est établie, le pair sélectionne une pièce chez son voisin en se référant à une stratégie spécifique de sélection de pièces stipulant que l’on va récupérer en priorité les pièces les plus rares. Cette stratégie augmente l’entropie des pièces dans le réseau et donc la probabilité de leur réplication après téléchargement
Protocole de routage Concept de Relai Multi Point (nœuds choisis)
Test de performance Ad hoc Un serveur http , 3 machines téléchargent Test 1; téléchargement machine par machine Pc1: 560Ko/s ,Pc2: 270Ko/s ,Pc3: 130Ko/s A chaque hop le débit est divisé par 2 Théorie des réseau sans fil ad hoc confirmait, débit divisé par 2 ( cas optimal)
Présentation du Ad hoc Test 2; téléchargement simultané Pc1: 400kb/s ,Pc2: 150kb/s ,Pc3: 80kb/s canal divisé par les 3 machines Libération des ressources fin transfert fichier Test moins performant car les machines doivent ce partager le canal. lorsqu’une machine a fini le téléchargement, elle libère donc le canal, le débit des autres machines augmente
La plateforme de test p2p Ad hoc
Simulation 1 Téléchargement du fichier par toutes les machines à un instant t PC1=72sec PC2=150 ,5sec PC3=153sec Scénario classique d’un téléchargement p2p sur le filaire Ces résultats vont nous servir de point de repère pour les autres simulations et ainsi évaluer les performances des différents scénarios
Simulation 2 Téléchargement du fichier avec un retard de 30 s par machine PC1=54sec (72) PC2=109,3sec (150,5) PC3= 141,3sec (153) Temps de téléchargement du fichier par machine bien plus intéressant Une collaboration entre voisin plus forte Faut il attendre que son voisin ait téléchargé le fichier entièrement?
Simulation 3 Téléchargement du fichier machine par machine PC1=38s (54) PC2=102,6s (109,3) PC3=136,3s (141,3) Efficacité dans le temps de téléchargement Faut il limiter le téléchargement d’une machine sur 1 voisin afin de minimiser les contraintes liée au Ad Hoc et maximiser les performances?
Simulation 4 PeerSet à 1 PC1=83 s (54) PC=99 s ( 102.6) PC3=103 s (136,3) Nette amélioration de la machine PC3 situées à 3 hops. La simulation la plus performante en gain de temps
Simulations Résumé Cette simulation 4 est la plus adaptée pour le p2p sur une topologie linéaire Ad hoc multi hops
Réflexions sur les simulations Stratégie du PeerSet à 1 la plus performante Mais: Que faire lorsque le machine à 1 hop n’est pas intéressée par les pièces? Aller chercher les pièces sur les autres nœuds situés à 2 hops et plus
Conclusion: Exemple de protocole adapté 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 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
Problèmes rencontrés Nous avons passé beaucoup de temps à stabiliser notre plateforme à 3 Hops: Interférences Wifi Instabilité du protocole OLSR Problème au niveau du tracker
Aller plus loin… Faire des tests sur une architecture: à 4 hops et plus (architecture linéaire) en étoile Domaine de la recherche Développer un protocole p2p adapté au ad hoc à partir des données collectées des simulations réalisées
Bilan du projet Ce projet nous a permis de nous perfectionner dans les domaines des technologies sans fils ainsi que dans la compréhension des applications p2p Nous avons accumulé une base de connaissance intéressante pour de futurs travaux concernant l'association de ces technologies qui s'avère très prometteuse et au centre de toutes les attentions dans un futur proche
Bilan personnel Confronté à la réalité d’un projet S’organiser autour d’une même problématique Travail en équipe très enrichissant