19
Présence et Présence et communication peer-to- communication peer-to- peer peer Diplômant : Yves Bresson Diplômant : Yves Bresson Professeur responsable : Yves Dennebouy Professeur responsable : Yves Dennebouy EIVD EIVD Septembre - Décembre 2003 Septembre - Décembre 2003

Présence et communication peer-to-peer

  • 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

Page 1: Présence et communication peer-to-peer

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

Page 2: Présence et communication peer-to-peer

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

Page 3: Présence et communication peer-to-peer

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.

Page 4: Présence et communication peer-to-peer

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.

Page 5: Présence et communication peer-to-peer

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

Page 6: Présence et communication peer-to-peer

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é

Page 7: Présence et communication peer-to-peer

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.

Page 8: Présence et communication peer-to-peer

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

Page 9: Présence et communication peer-to-peer

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

Page 10: Présence et communication peer-to-peer

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)

Page 11: Présence et communication peer-to-peer

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

Page 12: Présence et communication peer-to-peer

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/*

Page 13: Présence et communication peer-to-peer

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

Page 14: Présence et communication peer-to-peer

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)

Page 15: Présence et communication peer-to-peer

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é))

Page 16: Présence et communication peer-to-peer

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>

Page 17: Présence et communication peer-to-peer

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)

Page 18: Présence et communication peer-to-peer

DémonstrationDémonstration

PIM PIM PIM PIM

Page 19: Présence et communication peer-to-peer

Questions ?Questions ?