Nicolas DEWEZ Cyrille JOSSELIN Tuteur: Thierry DELOT Conception d’une application de partage de fichiers Projet IUP3 GMI - Valenciennes Jeudi, 23 mars 2006
1- Présentation du Projet 2- L’API JXTA 3- Fonctionnalités a- Organisation du Réseau b- DHT c- Contacts d- Fichiers 4- Conclusion PLAN
Présentation du sujet Application P2P axée sur le partage de fichiers et la sécurité Spécificités système de contacts architecture décentralisée
L’API JXTA (1/2) Historique et Objectifs Les Types de Nœuds Noeuds Simples Nœuds Routeurs Supers Nœuds Les Protocoles Peer Discovery Protocol Peer Resolver Protocol Rendez-vous Protocol Peer Information Protocol Pipe Binding Protocol Endpoint Routing Protocol
L’API JXTA (2/2) Les Services à Développer Service de Contacts / Connexion Service de Présence Service de Téléchargement Les Avantages de JXTA Interconnexion entre Différents Systèmes Solutions pour Contourner les NAT et Firewall
Fonctionnalités : Organisation du Réseau (1/2) Architecture Décentralisées Rôles des Nœuds Nœuds Simples Nœuds de Base de l’Application Ressources Limitées Fonctionnalités de l’Utilisateur Supers Nœuds Conditions Nécessaires Redirection d’informations Routage des trames vers les nœuds en restriction
Fonctionnalités : Organisation du Réseau (2/2) Rôles des Nœuds (Suite) Nœuds Serveurs Conditions Nécessaires Possession des Informations du Réseau Représentation du Réseau Firewall + NAT Légende Nœud Simple Super Nœud Nœud Serveur
DHT : la base de données partagée A quoi sert la DHT Stocke les informations sur le réseau Implémentée par Meteor dans JXTA Comment fonctionne-t-elle Hébergée sur des nœuds du réseau S’adapte à la quantité d’informations a échanger Principe du stockage par clé-valeur Informations stockées Comptes utilisateurs Liste des contacts Référence des fichiers
Nœud serveur noeud super nœud noeud A B 1 2 Requête sur la DHT Demande de connexion Requête sur le nœud [k-z] Identification d’un noeud Nœud serveur Nœud serveur Nœud serveur [a-j] [k-z] C D 3 Login=Kami Passwd=LLL Login=Kami Passwd=LLL Login= K ami Passwd=LLL Kaki=AAA …. Kami=LLL …. Lili=FFF …. Zoe=HHH ID= Légende noeud Super noeud Connexion entre 2 noeuds
Fonctionnalités : Contacts (1/2) Un Utilisateur : un Compte Création d’un Compte Connexion au réseau Friendly Ajout / Suppression de Contacts Un Téléchargement Sécurisé Mise à disposition des Données qu’aux Contacts Téléchargement à partir des Contacts Évolutions Possibles Messagerie Chat Voix IP
Fonctionnalités : Contacts (2/2) Ajout / Suppression d’un Contact Utilisateur Application Friendly Ajout / Suppression d’un Contact DHT Contacts Requête Modification en Fonction Login Réseau Friendly Réseau Friendly Confirmation Ajout Modification Informations
L’échange de fichiers Le partage Génération d’un identifiant unique par fichier (md5) Référencement des fichiers sur le réseau La recherche Recherche par nom de fichier Retourne les correspondances (id du fichier) Requête sur les contacts pour chercher des sources Le téléchargement Découpe du fichier par bloc Vérification de l’intégrité du fichier
client émetteur récepteur relation de contact chemin parcouru Communication entre deux clients A B C D E Légende
Conclusion Les connaissances Le P2P et les échanges de données Propriétés d’un réseau ad hoc Transfert de fichiers La pratique Utilisation de JXTA Application du service Meteor à notre projet Tâches restantes Approfondir notre étude sur l’échange des fichiers Implémentation des services
En vous remerciant…