Upload
cais
View
35
Download
1
Embed Size (px)
DESCRIPTION
Présence et communication peer-to-peer. Diplômant : Yves Bresson Professeur responsable : Yves Dennebouy EIVD Septembre - Décembre 2003. Introduction Objectifs du projet Peer-to-peer Développement réalisé Perspectives Conclusion Démonstration Questions. Plan de présentation. - PowerPoint PPT Presentation
Citation preview
Présence et Présence et communication peer-to-communication peer-to-
peerpeer
Diplômant : Yves BressonDiplômant : Yves BressonProfesseur responsable : Yves DennebouyProfesseur responsable : Yves Dennebouy
EIVDEIVDSeptembre - Décembre 2003Septembre - Décembre 2003
Plan de présentationPlan de présentation
• IntroductionIntroduction
• Objectifs du projetObjectifs du projet
• Peer-to-peerPeer-to-peer
• Développement réaliséDéveloppement réalisé
• PerspectivesPerspectives
• ConclusionConclusion
• DémonstrationDémonstration
• QuestionsQuestions
Introduction (1/2)Introduction (1/2)Messagerie Instantanée (IM)Messagerie Instantanée (IM)
• Echange instantané de messages entre Echange instantané de messages entre participants.participants.
• Problèmes à résoudre :Problèmes à résoudre :– Authentification des participantsAuthentification des participants– Transmission des messagesTransmission des messages– Problème de la ‘Présence’Problème de la ‘Présence’
• Solution la plus simple : serveur central.Solution la plus simple : serveur central.
Introduction (2/2)Introduction (2/2)PrésencePrésence
• Savoir si un ordinateur est présent et Savoir si un ordinateur est présent et connaître sa position.connaître sa position.
• La résolution de ce problème nécessite :La résolution de ce problème nécessite :– un protocole d'annonce de présenceun protocole d'annonce de présence– un protocole de demande (requête) de présenceun protocole de demande (requête) de présence
• Solution la plus simple : serveur central.Solution la plus simple : serveur central.
Objectifs du projet (1/2)Objectifs du projet (1/2)Applications existantes (IM)Applications existantes (IM)
IdentificationIdentification PrésencePrésence MessagesMessages
ICQICQ centralisécentralisé centralisécentralisé centralisé / centralisé / p2pp2p
AIMAIM centralisécentralisé centralisécentralisé centraliscentraliséé
Yahoo!Yahoo! centralisécentralisé centralisécentralisé centraliscentraliséé
MessengMessengerer
centralisécentralisé centralisécentralisé centraliscentraliséé
JabberJabber n serveursn serveurs n n serveursserveurs
n n serveursserveurs
ProjetProjet (PIM)(PIM)
p2pp2p p2pp2p p2pp2p
Objectifs du projet (2/2)Objectifs du projet (2/2)Cahier des chargesCahier des charges
• But : messagerie instantanée peer-to-peerBut : messagerie instantanée peer-to-peer
• Objectifs :Objectifs :– Définir et mettre en place un réseau peer-to-peerDéfinir et mettre en place un réseau peer-to-peer– Définir un mécanisme de présence sur ce réseauDéfinir un mécanisme de présence sur ce réseau– Développer un système de messagerie instantanéeDévelopper un système de messagerie instantanée– Intégrer ces points au sein d’une même Intégrer ces points au sein d’une même
application, en privilégiant la portabilitéapplication, en privilégiant la portabilité
Peer-to-peer (1/2)Peer-to-peer (1/2)
• Architecture réseau dans laquelle Architecture réseau dans laquelle chaque ordinateur (peer) est chaque ordinateur (peer) est équivalent.équivalent.
• Chaque peer est client et serveur.Chaque peer est client et serveur.
Peer-to-peer (2/2)Peer-to-peer (2/2)
client-serveur vs peer-to-peerclient-serveur vs peer-to-peer
+ fiable, facile à organiser+ fiable, facile à organiser + grande puissance, bon marché+ grande puissance, bon marché
-- cher, dépendant du serveur,-- cher, dépendant du serveur, -- fiabilité pas à 100%, difficile à-- fiabilité pas à 100%, difficile à
puissance limitéepuissance limitée organiser organiser
Développement réalisé (1/5)Développement réalisé (1/5)Vue d’ensembleVue d’ensemble• PDPPDP
– Réseau de peersRéseau de peers
• PIMPIM– Gestion / utilisation des Gestion / utilisation des
contactscontacts
• PluginsPlugins– Fonctionnalités Fonctionnalités
utilisablesutilisables• Messagerie instantanéeMessagerie instantanée• autresautres
PIM
PDP
Plugin
Plugin
Développement réalisé (2/5)Développement réalisé (2/5)PDPPDP
• Module responsable du réseau de peers :Module responsable du réseau de peers :– Communication (deux niveaux)Communication (deux niveaux)
• Interne / PDP (TCP et UDP)Interne / PDP (TCP et UDP)
• Service avec confirmations offert aux Service avec confirmations offert aux pdpAppelantspdpAppelants (TCP) (TCP)
– DécouverteDécouverte– Recherche Recherche (service offert aux (service offert aux pdpAppelantspdpAppelants))
– IdentificationIdentification– RelayingRelaying– Maintenir les informations du réseau (liste des Maintenir les informations du réseau (liste des
peers)peers)
Développement réalisé (3/5)Développement réalisé (3/5)PIMPIM• Module de gestion / utilisation des peers :Module de gestion / utilisation des peers :
– Interface utilisateurInterface utilisateur• Ajout (recherche)Ajout (recherche)• SuppressionSuppression• Utilisation (Utilisation ( plugins plugins événements, ex: IM) événements, ex: IM)
– Evénements (source connue / inconnue, Evénements (source connue / inconnue, persistance)persistance)
– Contrôle (statut)Contrôle (statut)
• Remarques :Remarques :– Technique : PIM est un Technique : PIM est un pdpAppelantpdpAppelant pour PDP pour PDP– Concept : évolution de IM vers un système de Concept : évolution de IM vers un système de
pluginsplugins
Développement réalisé (4/5)Développement réalisé (4/5)Les plugins (1/2)Les plugins (1/2)
• Interface Interface pluginsplugins de PIM de PIM– Méthodes à implémenter par les pluginsMéthodes à implémenter par les plugins
• Méthodes utilisables par les pluginsMéthodes utilisables par les plugins– Méthodes publiques de PIMMéthodes publiques de PIM
• Pas de recompilation de PIMPas de recompilation de PIM– Chargement à l’exécution depuis /plugins/*Chargement à l’exécution depuis /plugins/*
Développement réalisé (5/5)Développement réalisé (5/5)Les plugins (2/2)Les plugins (2/2)
• Deux types (utilisation) :Deux types (utilisation) :– ContactContact
PIM MessengerPIM Messenger
– SystèmeSystèmePIM SettingsPIM Settings
• Deux modes Deux modes (événements) :(événements) :– UtilisateurUtilisateur– DirectDirect
Perspectives (1/3)Perspectives (1/3)Problèmes réseauProblèmes réseau
• Points améliorables :Points améliorables :
– Accès au réseau.Accès au réseau.(peers avec firewall / NAT, sans multicast)(peers avec firewall / NAT, sans multicast)
– Structurer le réseau.Structurer le réseau.(meilleure auto-organisation, liste des peers (meilleure auto-organisation, liste des peers répartie)répartie)
Perspectives (2/3)Perspectives (2/3)CryptageCryptage
• Utiliser un cryptage à clé publique / Utiliser un cryptage à clé publique / clé privée, par exemple pour :clé privée, par exemple pour :
– Renforcer la phase d’identification des Renforcer la phase d’identification des peers. peers. (échange de challenge-strings)(échange de challenge-strings)
– Sécuriser les messages transmis.Sécuriser les messages transmis.((authenticité, confidentialité et intégritéauthenticité, confidentialité et intégrité))
Perspectives (3/3)Perspectives (3/3)XMLXML
• Utiliser XML pour les messages de Utiliser XML pour les messages de PDP :PDP :
<pdp version="4.0"><pdp version="4.0"><type>envois-liste</type><type>envois-liste</type><dest-id>45547653242</dest-id><dest-id>45547653242</dest-id><donnees><donnees>
<peer><peer><id>67676819</id><id>67676819</id><ip>212.43.2.73</ip<ip>212.43.2.73</ip<port>4043</port><port>4043</port>
</peer></peer>......
</donnees></donnees></pdp></pdp>
ConclusionConclusion
• Améliorations possiblesAméliorations possibles
• Actuellement bien adapté au réseau Actuellement bien adapté au réseau locallocal(voir même LAN élargi avec un minimum de configuration)(voir même LAN élargi avec un minimum de configuration)
DémonstrationDémonstration
PIM PIM PIM PIM
Questions ?Questions ?