Proposition d architecture de réseau actif pour le déploiement d un réseau Peer to Peer



Documents pareils
Les protocoles Peer-to-Peer GERET. Gabrielle Feltin LORIA

Fiche de l'awt Le modèle peer to peer

NetCrunch 6. Superviser

Teste et mesure vos réseaux et vos applicatifs en toute indépendance

Présentation du modèle OSI(Open Systems Interconnection)

TAGREROUT Seyf Allah TMRIM

Windows Internet Name Service (WINS)

Services Réseaux - Couche Application. TODARO Cédric

Architectures et Protocoles des Réseaux

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

La haute disponibilité de la CHAINE DE

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Ebauche Rapport finale

Cours n 12. Technologies WAN 2nd partie

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

Stéphanie Lacerte. Document technique. Connextek. 31 mai Cloudtel

La VOIP :Les protocoles H.323 et SIP

USERGATE PROXY & FIREWALL. Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

Liste de vérification des exigences Flexfone

Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

Cahier des charges (CDC)

Aastra MD Evolution» Évoluer à vos côtés

NOTIONS DE RESEAUX INFORMATIQUES

Présentation du logiciel Lotus Sametime 7.5 IBM

Principaux utilisateurs du Réseau

Voix sur IP. Généralités. Paramètres. IPv4 H323 / SIP. Matériel constructeur. Asterisk

ALOHA Load Balancer 2.5. Guide de démarrage rapide. EXCELIANCE ALOHA 2.5 Guide de démarrage rapide 30/01/2008 1/17

1. Introduction à la distribution des traitements et des données

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Plan. Programmation Internet Cours 3. Organismes de standardisation

Le produit WG-1000 Wireless Gateway

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

//////////////////////////////////////////////////////////////////// Administration systèmes et réseaux

Fonctions Réseau et Télécom. Haute Disponibilité

«clustering» et «load balancing» avec Zope et ZEO

Accédez au test ici

H.323. Internet Multimédia. Sommaire

Travail collaboratif. Glossaire

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Chap.9: SNMP: Simple Network Management Protocol

[ Sécurisation des canaux de communication

Réseaux M2 CCI SIRR. Introduction / Généralités

Introduction aux Technologies de l Internet

Le travail collaboratif et l'intelligence collective

Réseaux. 1 Généralités. E. Jeandel

Métrologie réseaux GABI LYDIA GORGO GAEL

Entensys Corporation UserGate Proxy & Firewall Guide du revendeur

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

W I-FI SECURISE ARUBA. Performances/support de bornes radio

QU EST-CE QUE LA VOIX SUR IP?

Cours CCNA 1. Exercices

18 TCP Les protocoles de domaines d applications

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Chapitre 11 : Le Multicast sur IP

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Installation d'un serveur DHCP sous Windows 2000 Serveur

Contributions à l expérimentation sur les systèmes distribués de grande taille

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

Firewall Net Integrator Vue d ensemble

MISE EN PLACE DU FIREWALL SHOREWALL

Devoir Surveillé de Sécurité des Réseaux

SIP A. Aoun - La Visioconférence SIP - 1

Le Multicast. A Guyancourt le

SIP. Sommaire. Internet Multimédia

But de cette présentation

Gestion des licences électroniques avec Adobe License Manager

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Architecture d un service de partage de données modifiables sur une infrastructure pair-à-pair

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

VLAN Virtual LAN. Introduction. II) Le VLAN. 2.1) Les VLAN de niveau 1 (Port-based VLAN)

Introduction aux applications réparties

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Contrôle d accès Centralisé Multi-sites

Les messages d erreur d'applidis Client

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

SOLUTION POUR CENTRE D'APPEL

Surveillance Haute Performance

Proxy et reverse proxy. Serveurs mandataires et relais inverses

LE SAN ET LE NAS : LE RESEAU AU SERVICE DES DONNEES

Introduction. Adresses

LAB : Schéma. Compagnie C / /24 NETASQ

MANUEL D INSTALLATION

Guide de configuration de SQL Server pour BusinessObjects Planning

Microsoft Dynamics AX. Solutions flexibles avec la technologie Microsoft Dynamics AX Application Object Server

Description des UE s du M2

Aperçu technique Projet «Internet à l école» (SAI)

Pair-à-Pair: Architectures et Services

ManageEngine IT360 : Gestion de l'informatique de l'entreprise

La surveillance centralisée dans les systèmes distribués

Sécurité des réseaux Firewalls

Les clés d un réseau privé virtuel (VPN) fonctionnel

Fonctionnement d Internet

Téléphonie. sur IP. 2 e édition

Transcription:

UNIVERSITE LIBANAISE (Faculté de Génie) UNIVERSITE SAINT-JOSEPH (Faculté d'ingénierie) Sous l'égide de l'agence Universitaire de la Francophonie AUF Diplôme d'etudes Approfondies Réseaux de télécommunications Proposition d architecture de réseau actif pour le déploiement d un réseau Peer to Peer Par Maher Souheil Nasreddine Encadré par : Mme. Rima Kilany Soutenance, le 22 décembre 2004 devant le jury composé de MM. Samir Tohmé Président Mohamad Zoaeter Membre Wajdi Najem Membre Imad Mougharbel Membre Nicolas Rouhana Membre Mahmoud Doughan Membre Maroun Chamoun Membre

Mes remerciements! Au président du jury M. Samir Tohme et à tous les autres membres du jury. Aux responsables de l agence universitaire de la francophonie pour l année universitaire 2003-2004 pour leurs supports et aides, représentés par M. Nicolas Rouhana (USJ) et M. Imad Mougharbel (UL). A mon assistante de projet Mme Rima Kilany, dont j apprécie son aide et ses conseils indispensables pour la bonne réalisation de ce projet. A tous ceux qui m ont fourni l aide et accordé leur temps et leur attention pour orienter mon travail. Veuillez agréer l expression de mes sentiments, les meilleurs Maher 2

Table des matières Sujet Sommaire 1 Les réseaux P2P... 1.1 Introduction 1.2 Etat de l art.. 1.2.1 Généralités 1.3 Applications P2P... 1.3.1 Napster ou le modèle hybride.. 1.3.2 Gnutella ou le modèle pur. 1.3.3 Skype (VOIP). 1.4 La gestion du réseaux peer to peer... 1.4.1 Gestion des performances 1.4.2 Contrôle du trafic peer to peer. 1.4.3 La gestion des fichiers et contenus... 1.4.4 Gestion de présence JIM 1.4.4.1 Jxta Instant Messaging a Les états en JIM. a-1 JIM et JXTA. a-2 Instrumentation... 1.4.4.2 RRS. a- Le Service de Rendez-vous a distance (RRS)... b- Garder un Non Rendez-vous Pair bien Connecté. c- L'administration à distance de Rendez-vous Pairs. 2 Les Réseaux Actifs... 2.1 Introduction.. 2.2 Etat de l art... 2.2.1 Définitions et généralités... 2.2.2 Applications... 2.2.2.1 Network Management... 2.2.2.2 Contrôle de gestion... 2.2.2.3 Multicasting... 2.2.3 Sécurité des réseaux actifs... 2.2.3.1 Du point de vue système... 2.2.3.2 Du point de vue langage de programmation... 2.2.4 Architecture des réseaux actifs... 2.2.4.1 Approches «Actives Paquets»... 2.2.4.2 Approche «Active Nodes»... 2.2.4.3 Approche mixte «Active Packets and Nodes»... 2.2.5 Comparaison... 2.2.6 Réseaux actifs et Ants... 2.2.6.1 NodeOS des réseaux actifs... 1. Architecture du NodeOS... 2.2.6.2 Protocole ANEP... 2.2.6.3 ANTS "Active Network Transfer System". 2.3 Gestion des Réseaux Actifs... 2.3.1 MIB basée XML : Architecture de gestion de réseau actif...... 2.3.1.1 Introduction... 2.3.1.2 Translation MIB à XML... 6 7 8 9 9 9 12 13 14 16 18 18 19 19 19 19 20 20 21 21 21 21 22 24 24 25 25 26 26 27 27 28 28 29 29 29 30 31 31 31 32 32 34 34 35 35 35 35 3

2.3.1.3 La méthode de transmission de la MIB basée sur XML en utilisant ANEP... 2.3.1.4 Le MIB 'manager' dans un Noeud Actif... 2.3.2 AVNMP: Active Virtual Network Management Prédiction... 2.3.3 Application Level Active Network... 2.3.3.1 Introduction... 2.3.3.2 Motivation... 2.3.3.3 Les Buts... 2.3.3.4 ALAN (Fry et Al)... 37 37 38 40 40 40 40 41 3 Proposition d architecture de réseau actif pour le déploiement et la gestion d un réseau Peer to Peer... 3.1 Introduction... 3.2 Super Peer.. 3.2.1 Les Réseaux Superpeers.... 3.2.2 Rendez-vous superpeer (RDV)... 3.3 ALAN (Architecture)... 3.4 VAP Virtual Active Peer 3.4.1 Introduction 3.4.2 Architecture de AVP (Super Peer). 3.4.3 Gestion de AVP. 3.4.3.1 Le contrôle d accès 3.4.3.2 Routage. 3.4.3.3 Topologie Contrôle 3.4.3.4 Gestion des ressources... 3.4.4 Contribution. 4 L implémentation. 4.1 Création d un service Web... 4.1.1 Environnement.. 4.1.2 Langage de programmation.. 4.1.3 Les Fonctions Web 4.1.4 Page d aide du service Web... 4.2 Fonctionnement globale du réseau p2p centralisé.. 4.2.1 Enregistrement d un fichier sur le serveur. 4.2.2 Page d aide du service Web... 4.2.3 Recherche d un fichier... 4.2.4 Télécharger un fichier 4.3 Développement de l application. 4.3.1 Création de référence Web 4.3.2 Déroulement de l application 4.3.2.1 L enregistrement de fichier 4.3.2.2 Recherche et téléchargement... 4.4 Monitoring. 4.4.1 Qu est ce que WMI 4.4.2 Architecture WMI. 4.4.2.1 Ressources gerees... 4.4.2.2 Infrastructure de WMI 4.4.2.3 Consommateurs WMI. 4.4.3 L application de gestion. 44 44 44 45 46 47 48 48 50 51 51 51 51 52 52 54 54 54 54 54 54 55 55 56 57 57 57 57 57 57 58 59 59 60 60 60 60 61 5 Conclusion.. Bibliographie.. 4 62 63

Table des Figures Figure 1. Classification des systèmes informatiques. Figure 2. Exemple de Topologie virtuelle. Figure 3. Les Modèles p2p Figure 4. P2P vs Client/Serveur Figure 5. La taxonomie des applications p2p Figure 6. Les échanges dans Napster Figure 7. En-tête message Gnutella Figure 8. Connexion d un Peer Gnutella Figure 9. Routage des messages Figure 10. Mécanisme de TTL Figure 11. Recherche de données (Query-Query Hit) Figure 12. Skype : Messagerie Instantanée Figure 13. Architecture de JIM / Jxta Figure 14. Les peers et les pipes Figure 15. Le format de paquet d ANEP Figure 16. XML basée MIB Figure 17. Prédiction de charge Figure 18. Architecture ALAN Figure 19. Illustration d un réseau Superpeer Figure 20. Paramètres de configuration et valeurs par défaut Figure 21. Rendez-vous Superpeer Figure 22. ALAN Figure 23. Exemple de topologie à Virtual Peer Actif. Figure 24. Pile protocolaire Figure 25. Architecture AVP 1 Figure 26. Déploiement de AVP Figure 27. Architecture AVP 2 Figure 28. Gnutella vs réseau AVP Figure 29. Contrôle de Topologie Figure 30. Gestion de ressources Figure 31. Test 1 Figure 32. Test 2 Figure 33. Test 3 Figure 34. Test 4 Figure 35. Test 5 9 10 11 12 12 13 15 15 15 16 16 17 20 21 37 38 39 41 45 46 46 47 48 50 50 50 51 51 52 52 55 55 56 58 61 5

Sujet. Le développement d Internet en raison de son succès auprès du grand public est à l origine de l apparition de nouvelles applications de réseau. Particulièrement spectaculaire est l émergence des systèmes de partage de fichiers en réseau paritaire (Peer-to-Peer) qui génèrent à ce jour 40% du volume des données échangées. L objectif de se projet consiste à étudier les réseaux peer-to-peer, le fonctionnement des différentes approches et surtout les limites concernant leur déploiement à grande échelle. Nous étudierons en particulier le déploiement d une architecture de découverte et de monitoring de ressources vu que c est un exemple qui montre bien l utilité des architectures peer-to-peer. Ceci a été prouvé par le succès d applications basées sur Gnutella ou Freenet. D une part, le paradigme P2P s accorde bien avec notre proposition. Les peers distribués vont coopérer en vue : -De générer des alarmes précises -De réduire la consommation de ressources puisque les modules peuvent partager de l information. -D éliminer le besoin d un module d analyse centralise et complexe. D autre part, les avantages des réseaux actifs étant bien identifiés vu qu ils fournissent un déploiement rapide de services, une distribution de charge sur le réseau, une connectivite entre les équipements et une personnalisation de réseau suivant les applications utilisées, il faudra proposer une architecture basée sur les réseaux actifs pouvant répondre a tous les besoins de déploiement de réseaux et d applications peer-to-peer. 6

Sommaire. Le terme Peer-to-Peer (P2P) désigne une classe d applications distribuées qui repose sur un modèle décentralisé. Contrairement au modèle client/serveur où chaque élément ne peut être que client ou serveur d un service, les éléments participants à une application P2P peuvent être potentiellement client et serveur à la fois. De plus en plus d application sont construites sur ce modèle qui présente de nombreux avantages parmi lesquels on compte un très bon passage à l'échelle, le partage des coûts de mise en œuvre et maintenance, et l utilisation du fort potentiel de machines inexploitées situées en bordure de l Internet. En effet, le modèle P2P est mis en œuvre dans de nombreux domaines d application couvrant notamment le calcul distribué comme Global GRID Project, la collaboration comme Groove et le partage de fichiers comme Gnutella. Les administrateurs ont constamment besoin d avoir une vision claire de l infrastructure entière de leur réseau d ordinateurs. Plus on ajoute de stations de travail et de serveurs au réseau, plus obtenir et manipuler des données concrètes devient difficile. Depuis quelques années, la programmation des réseaux commence à apparaître dans les équipements. Les routeurs, les switchs et autres éléments des réseaux IP commencent a acquérir une certaine intelligence qui permet de faciliter la manipulation des réseaux, et l introduction rapide de nouveaux services. L exemple du réseau intelligent donne un avantgoût de ce que pourrait apporter l introduction des réseaux actifs. Ils fournissent un déploiement de services rapides, et une distribution de charge sur le réseau. D une part ils permettent d ouvrir les équipements et permettent la personnalisation du réseau suivant les applications utilisées ; d autre part ils sont évidement plus complexes que les réseaux classiques et introduisent plus de problèmes de sécurité. Dans cette mémoire, je vais faire l étude des réseaux Peer-to-Peer avec les différentes approches, applications, protocoles ainsi que la gestion des réseaux P2P, ensuite une étude des réseaux actifs, leurs approches et plateformes ainsi que la gestion des réseaux à l aide des réseaux actifs ; pour clôturer enfin avec une proposition de conception d une infrastructure de supervision pour les services et réseaux P2P qui étudie comment les peers vont communiquer les informations de gestion de façon active tout en s inspirant des solutions de gestion de réseaux a l aide de l approche de réseau actif pour l appliquer à notre réseau P2P. Une dernière partie aussi se présentera pour mettre en œuvre ma proposition, c est la partie pratique dont on aura une implémentation de la plateforme.net avec le langage de programmation C# en se referant a la plateforme P2P développée a l ESIB. Plus précisément, les réseaux p2p présentent des défis au niveau du passage à l échelle. Principalement, le modèle hybride p2p ne passe pas à l échelle à cause du goulot d étranglement au niveau du serveur central malgré la présence de l application Napster qui est toujours connu. Aussi le modèle pure présente un difficile passage à l échelle à cause du Flooding ou inondations des messages de configuration Ping et Pong. La limite réside encore dans la recherche des fichiers qui est limitée en profondeur à cause du champ TTL qui peut avoir une valeur maximale de sept. Pour cela on a recourt à un modèle qui est le routage par document. Ce modèle va appliquer une fonction de hache sur l intitulé d un document et lui donner un identificateur puis quand on va chercher un document on va faire le routage vers le peerid qui est le plus proche du docid, l intérêt sera dans la fiabilité et la pertinence de la réponse d une part et le nombre de sauts d une autre part. 7

Les réseaux actifs fournissent un déploiement de services rapide et une distribution de charge sur le réseau. Mais leur implémentation pose plusieurs défis. Leurs performances doivent être comparable à celle des réseaux existants ainsi qu ils doivent offrir au moins la même sécurité et la même robustesse, ce qui est un grand défi quand le code peut migrer et s exécuter dans un grand réseau hétérogène. Vu cette hétérogénéité, ils doivent avoir un certain degré d interopérabilité leur permettant de fonctionner comme les réseaux classiques. Les architectures des réseaux actifs sont groupées selon leurs différentes approches. L approche paquets actifs, qui se caractérise par le transport du code actif au niveau des paquets. Les Smart packets, le projet active IP, et l architecture MO en sont des exemples. Dans l approche nœud actif, les paquets ne transportent pas le code, mais une référence à des fonctions prédéfinies qui résident dans les nœuds actifs. L architecture DAN ainsi que ANTS en sont des exemples. L approche paquet actif introduit plus de problèmes de performances, vu que les exigences de sécurité sont énormes. Ce qui n est pas le cas de l approche noeud actif qui offre de meilleures performances. Mais la flexibilité d une telle approche est limitée. Dans un effort pour améliorer cette flexibilité, DAN et ANTS ont adopté un schéma de déploiement de code à la demande, avec la possibilité de faire un cacheur de ce code, pour des utilisations ultérieures. Dans ma proposition de gestion de réseau p2p je vais utiliser l approche ALAN qui est Application Level Active Network comme son nom indique un réseau actif au niveau applicatif. Pour ce, il faudra aborder quelques nouvelles notions aussi qui sont les SuperPeers et les Pairs Actifs Virtuels (AVP) dont trois thèmes importants qui sont AOL : Application Optimisation Layer, VCC : Virtuel Contrôle Cash et NOL : Network Optimisation Layer ; pour arriver à ma contribution qui est de rester sur l idéologie des réseaux p2p qui dit que chaque utilisateur est un client et serveur en même temps. Donc la question que je pose est : «Pourquoi ne pas continuer cette idéologie et au lieu d avoir un superpeer fixé qui sera responsable d un groupe de peers, ne pas avoir un réseau dont chaque peer peut être a son tour (suivant les conditions du réseau : bande passante, utilité, latence, ) un superpeer?» Pour la partie implémentation, il faudra beaucoup plus d études, de recherches et de temps pour appliquer cette idée pratiquement, pour cela on va traiter un cas de réseau p2p simple et étudier sa gestion et plus précisément je vais utiliser la plateforme déjà développée par les étudiants de l ESIB, l implémenter et gérer quelques paramètres qui nous intéressent. 8

PARTIE 1. LES RESEAUX PEER TO PEER 1.1 Introduction Le sujet de peer-to-peer attire plus d intérêt dans la communauté de réseau, malgré les différentes définitions associées à ce terme. Cette technologie qui existe depuis quelques années, promet de changer radicalement le future des réseaux. Le peer-to-peer modélise l échange directe des ressources et services entre ordinateurs, chaque élément étant client et serveur à la fois, d où la notion de SERVENT. Un des principaux avantages étant l utilisation maximale de la puissance de réseau, en éliminant les coûts d infrastructure et en faisant communiquer directement les clients entre eux. Du fait du déploiement massif des ordinateurs représentant un fort potentiel inactif en bordure de l Internet, le P2P retient de plus en plus l attention de la recherche, des développeurs et des investisseurs. Systèmes informatique Systèmes centralisé Systèmes distribués Client Serveur Peer-to-Peer Plats Hiérarchiques Pures Hybride Figure 1.Classification des systèmes informatiques 1.2 Etat de l art 1.2.1 Généralités 1-Définition : Le terme peer to peer concerne une classe de systèmes et d applications qui utilisent des ressources distribués pour effectuer une tache donnée d une manière décentralisée. 2- Peer-to-Peer traditionnel : Définit par Webopidia comme «un type de réseau dans lequel chaque station possède des capacités et responsabilités équivalentes. Ceci diffère de l architecture client/serveur dans laquelle quelques ordinateurs sont dédies pour servir les autres». Les ordinateurs dans un Workgroup sont configurés pour partager les ressources comme les fichiers et imprimantes. Aussi, un ordinateur peut jouer le rôle d un serveur de fichier ou de Fax à n importe quel moment, tous les ordinateurs sur le même réseau peuvent généralement 9

héberger ces services. En particulier, les ordinateurs seront typiquement situés à coté des autres physiquement tout en possédant les mêmes protocoles de réseaux. 3- Architecture P2P d aujourd hui : Une bonne définition technique des systèmes P2P inclue les sept clefs caractéristiques suivants : *Interface usager génère à l extérieur du navigateur Web. *Les ordinateurs des usagers peuvent jouer le rôle client/serveur à la fois. *Tout un système facile à utiliser et intégré. *Le système incluse des éléments pour supporter les usagers voulant créer quelque chose ou ajouter des fonctionnalités. *Le système assure des connections avec les autres usagers. *Le système fait des choses nouvelles et excitantes. *Le système supporte les réseaux croises. Dans cette vue mise à jour des P2P, les éléments maintenant peuvent joindre le réseau de n importe ou avec un minimum d effort. Au lieu des LAN dédiés, Internet devient lui-même le réseau de choix. La facilité de configuration et de contrôle sur l application permet à n importe qui de se joindre à la communauté. Trois points importants sont à rajouter : 1- Les éléments constituants d un réseau paritaire peuvent être de nature différentes (PC, PDA, téléphone portable, ) 2- Ce réseau présente une topologie virtuelle (Fig.2). 3- Ce réseau est de nature ad hoc, c'est-à-dire que les éléments constituants peuvent aller et venir et la topologie du réseau est instable. Réseau pair à pair virtuel Computer Computer Router Router Laptop Réseau physique Hand held computer Workstation Figure 2. Exemple de Topologie virtuelle. 4- Objectifs P2P : C est un modèle très général dont des applications de nature différentes l utilise d où les objectifs sont variés, principalement : Partage et réduction des coûts entre les différents peers. Fiabilité et passage a l échelle (pas de centralisation). Agrégation de ressources et interopérabilité. 10

Anonymat assuré par certaines applications. Communication ad hoc et collaborative. 5- Classification de réseau P2P : Modèle pure : Modèle hybride : -Parité effective des éléments -Gnutella, Freenet, -Centralisation d informations -Différents niveaux : SuperPeers, serveurs d infos, Centralisés. IBM Compatible IBM Compatible Server IBM Compatible IBM Compatible IBM Compatible Modèle centralisé IBM Compatible IBM Compatible Modèle décentralisé Figure 3. Les Modèles p2p IBM Compatible 6- Caractéristiques des systèmes P2P : Les principales caractéristiques des différents protocoles [1]: La localisation des fichiers dans un environnement distribué Des méta données ou index du réseau P2P La libre circulation des fichiers entre systèmes Un mode de communication standard (TCP et http) Des capacités de connexion variables suivant les modèles Des échanges d informations non sécurisées Nature ad hoc Aucun peer n a une vue globale du système. Transparence o Technologie sous-jacente Machine Connexion réseau o Adresse et localisation Firewall & NAT Adressage de niveau applicatif Mobilité Résistance aux fautes o Pas de point central o Utilisation de relais o Duplication des ressources Interopérabilité o Pas supportée actuellement o Quelques initiatives IETF : BEEP, APEX JXTA Décentralisation 11

o Equilibre la charge du réseau o Répartit les coûts entre les usagers o Difficulté à localiser les ressources o Différents degrés de centralisation o 7- P2P contre client serveur : Conceptuellement, le P2P est une alternative au modèle client/serveur, qui est constitué d un serveur ou d un cluster de serveurs et de beaucoup de clients. Dans le modèle pur du P2P, il n y a plus de serveur, tous les participants sont des peers. Cependant il n y a pas de bordures nettes entre les deux modèles. Figure 4. P2P vs Client/Serveur Peer-to-Peer Auto organisé Evolution dynamique, Ad hoc Découverte des peers Flux distribué (mesh) Symétrie du réseau Communication par Messages Adressage dynamique au niveau application Entités Autonomes Attaques difficiles (mobilité, anonymat) Client/Serveur Management centralisé Configuré Consultation de tables Flux centralisé Asymétrie du réseau Orienté RPC Adressage statique @IP Entités dépendantes Attaques plus simples 1.3 Applications P2P Application Pair à Pair Parallèle Gestion des fichiers et contenus Collaboration Calcul intensif Calcul composental Echange de contenu Systèmes de fichiers Filtrage extraction Messages instantannés Applications partagées Jeux Figure 5. La taxonomie des applications p2p 12

1.3.1 NAPSTER ou le modèle hybride Napster est une application de partage de fichiers musicaux mp3. Le service est fondé en mai 1999 par Shawn Fanning et Sean Parker. Après différentes poursuites judiciaires pour droits d auteur, il est arrêté en septembre 2001. Aujourd hui Napster est considéré comme une application phare du modèle P2P, par son architecture qui utilise le modèle centralisé et décentralisé et par le nombre de téléchargements effectué (40 millions de téléchargements de fichiers, en moyenne 160 000 utilisateurs). P2P centralisé ou hybride Napster utilise un modèle P2P à répertoire centralisé pour les données administratives et les index des fichiers mp3 téléchargeables par les peers. Un peer se connecte directement sur le serveur. Le protocole basique est simple, avec des primitives de service : login request, login OK, login failed, user unknown, user not accepted, Le peer communique au serveur central la liste des fichiers qu il partage, ainsi qu un numéro de port TCP où il pourra être contacté pour un téléchargement. Les peers sont donc les fournisseurs de fichiers, et les échanges vont se faire directement entre les peers suivant un modèle pur. La recherche et le téléchargement vont se passer de la manière représentée sur la figure 6: Un peer recherchant un fichier va envoyer sa requête au serveur central (1), lequel va lui répondre par une liste triée de peers qui hébergent le fichier recherché (2). Le peer va alors choisir parmi les réponses celle qui lui convient le mieux (pertinence de la réponse, bande passante, taille du fichier, ) et contacte directement le peer choisi. Le téléchargement s effectue alors directement entre les deux peers (3). Les limites Figure 6. Les échanges dans Napster Pas d anonymat partout o Vous êtes connus du serveur o et des peers sur lesquels vous téléchargez Limites habituelles d un serveur central o Disponibilité o Problème du passage à l échelle : Saturation de la bande passante Saturation du nombreux processus 13

Les avantages o Légal : très facile de fermer le service car localisé Mauvaises informations du débit des peers pour ne pas être sollicités Avantages habituels d un serveur central o Facile à administrer o Facile à contrôler, à fermer Evite les recherches coûteuses sur le réseau o Pas de routage o Planification de la gestion des utilisateurs Tolérance aux fautes o Par un sondage régulier des peers connectés, état cohérent Service novateur o Généralise le P2P o généralise les procès contre le non-respect des droits d auteur Un serveur Napster est toujours connu et son passage à l échelle parait impossible, vu le goulot d étranglement du serveur central. 1.3.2 GNUTELLA ou le modèle pur Gnutella est un protocole de fichiers partagés. La première version (version 0.4) date de mars 2000, il fut développé en une quinzaine de jours par Justin Frankel et Tom Pepper. Les applications qui implémentent le protocole Gnutella autorisent les utilisateurs à rechercher et charger des fichiers sur tous les autres utilisateurs connectés à la communauté Gnutella, avec plusieurs dizaines de milliers d utilisateurs simultanés. Il existe beaucoup d implémentations compatibles apportant des extensions : Limewire, ToadNode, BearShare. Terminologie Comme Gnutella repose sur une architecture réseau complètement décentralisée, chaque élément joue le rôle à la fois de client et de serveur, d où la notion de servent qui est la contraction des mots serveur et client. Les messages sont les informations émises par les servents à travers le réseau Gnutella. Le protocole Gnutella repose sur un modèle pur. C est un protocole qui fonctionne au-dessus de TCP/IP. Un servent dispose de 6 types de messages principaux : Ping : Utilisé pour découvrir les autres servents sur le réseau. Un servent qui reçoit un Ping doit répondre avec un ou plusieurs Pong ; Pong : C est la réponse à un Ping; ce message contient l adresse IP et le port du servent qui répond, ainsi qu une information sur les fichiers et leur tailles partagés par celui-ci ; Query : Message pour la recherché de fichier sur le réseau. Un servent qui reçoit un Query répondra par un Query Hit s il trouve une correspondance avec un ou plusieurs de ses fichiers partagés et les critères de recherche ; Query Hit : C est la réponse à un Query (Figure 11) ; Get : téléchargement des données (Figure 11) ; Push : Permet de télécharger des données depuis un servent qui se trouve derrière un Firewall. 14

Remarque : Si les deux servents sont derrière un firewall, le téléchargement est impossible. Les messages ont un en-tête commun (figure 7) : Payload Type : type du message (Ping, Pong, ) ; Hops : nombre de servents traversés ; Payload lenght : longueur du message. Routage des messages Figure 7. En-tête message Gnutella La première opération réalisée par un servent est la connexion à un autre servent connu du réseau Gnutella (figure 8), chaque servent possédant une liste de servents à utiliser au démarrage. Figure 8. Connexion d un Peer Gnutella Un nouveau peer s annonce lui-même sur le réseau en envoyant un ping Gnutella (figure 9). Afin de diffuser les messages de requête, Gnutella utilise un mécanisme de flooding. Le ping est propagé à ces voisins, qui envoient eux-mêmes des pings. Tous les voisins répondent par un pong. Figure 9. Routage des messages Des champs de TTL 1 et d identification des messages évitent la diffusion de messages zombies ainsi que l apparition de boucles. Chaque requête ping contient un TTL, qui est décrémenté par chaque voisin. Il est souvent positionné à 7 au départ. Quand le TTL passe à zéro, la propagation du ping s arrête, le message est droppé (figure 10). 15

Figure 10. Mécanisme de TTL Figure 11. Recherche de données (Query-Query Hit) Bien que le réseau supporte 8000 à 10000 usagers, son mécanisme de flooding amène des limites, et ne semble pas supporter le passage à l échelle : Réseau rapidement inondé par des Ping et des Pong ; Supporte mal une forte montée en charge du nombre d utilisateurs ; Message Push continuellement envoyé si pas de réponse. Son mécanisme de recherche présente une limite, fixée par la valeur initiale du TTL. Ainsi une requête peut être stoppée par une expiration de TTL sans avoir parcouru l intégralité du réseau et retourner une réponse négative. Seulement 25% des requêtes aboutiraient. Les avantages Administration simple mutualisée Topologie évolutive Disponibilité du réseau, on ne peut l arrêter. Gnutella semble ne pas supporter un passage à l échelle, et manque de fiabilité dans ses requêtes. Une orientation possible est les super peers ou arbre de peers comme dans le protocole en cours de définition Gnutella Version 0.6 ou comme pour Kazaa. 1.3.3 SKYPE (VOIP) «Skype est un outil VoIP très efficace, bien conçu et professionnel et c est sure que si vous l'essayez pour vous, vous ne serez pas déçu». Comme ça est défini Skype qui permet VoIP sous les très pires conditions défavorables, y compris les utilisateurs derrière les pare-feu et 16

derrière NAT qui toujours ont des difficultés dans les communications avec les autres et les outils de visioconférence. Bien que la disponibilité de grands outils de visioconférence de Toile qui abordent les solutions de VoIP fiables et exécutant dès 2002, Skype entre solidement pour remplir une partie de la niche, trop longue dominée par les majeurs IM (YM, AOLIM, MSN, ICQ), qui n'ont jamais pu fournir une solution de VoIP véritablement efficace, et par les challengers téléphoniques tels que Mediaring, Net2Phone et Dialpad. Skype est basé sur FastTrack, réseau P2P pareil que celui utilisé par Kazaa et les autres systèmes de partage de fichiers. Contrairement à Yahoo Messenger, Skype compte sur un réseau P2P (peer-to-peer), signifiant que les paquets de voix n'étant pas envoyés par-dessus un serveur centralisé qui les redistribue, mais sont directement envoyé entre les utilisateurs. Figure 12. Skype : Messagerie Instantanée L'avantage est que Skype ne compte pas sur une infrastructure centralisée pour maintenir la directoire des utilisateurs router chaque appel. Ceci signifie que les services basés sur une infrastructure centralisée, le coût d'échelle est proportionnel avec la base d'utilisateurs, alors que fournissant la qualité et la fiabilité devient toujours plus difficile à atteindre. Skype est un simple "instant messager" avec des fortes fonctionnalités "Voice Over Ip". L'installation et le setup sont très faciles. Si vous avez utilisé un messager immédiat avant, il n'y a rien de nouveau a apprendre; Faire un appel c'est comme choisir un «ami». La qualité, la latence (le retard) de la voix sont véritablement impressionnantes. Les résultats des tests ont toujours démontre un retard de transmission au dessous de 500ms. Les caractéristiques d'annulation d'écho sont intégrées de façon continue et il n'y a pas de problème dans la conversation même si vous avez mis vos haut-parleurs (un problème typique et très exigeant des premières générations des systèmes VoIP). Il n y a rien à appuyer pour parler et le microphone est toujours ouvert sur les deux côtés. 17

La version disponible permet maintenant seulement les appels un à un et elle supporte très bien les utilisateurs sur les "dial-up lines" même à 33,6 Kbps. Une fenêtre intégrée de conversation fournit le soutien pour les échanges de texte dans un mode simple et discret. Si vous parler à quelqu'un, vous pouvez aussi parler avec quelqu'un d'autre en même temps. Après avoir téléchargé Skype vous pouvez commencer à parler en moins de 5 minutes. Dans juste sa première semaine de disponibilité, 60.000 personnes ont téléchargé le logiciel de Skype gratuit. Les autres services VoIP, tels que Vonage ou Free World Dialup (FWD) ont besoin de plusieurs mois pour attirer le même niveau d'intérêt. Skype a fait un travail efficace pour résoudre une fois pour toutes beaucoup de problèmes et de limitations typiques inhérentes dans les systèmes de VoIP. Le retard, la latence, la qualité de voix, la largeur de bande, l'annulation d'écho, l'activation de voix automatique et plus. Quelque chose par exemple qui peut être évité à peine dans les communications de voix sur IP est le fait que quand votre ordinateur commencent à faire quelque chose d'autre (télécharge l'email, charger un page Web dans le fond), ce n est plus aussi fiable et vous pouvez avoir quelques long moments silencieux ou des mots brisés. 1.4 La gestion des réseaux P2P A ce jour, il n est pas d application P2P qui présente une interface de supervision explicite. Bien souvent, le minimum de gestion nécessaire au bon fonctionnement d une application est effectué de manière autonome. Citons par exemple, Kazaa qui auto configure les peers participant au service de manière à organiser sa topologie autour de super peers, CAN qui effectue des mesures de RTT entre peers adjacents virtuellement pour garantir une performance optimale ou PAST qui propose l utilisation de cartes à puce pour contrôler l accès des usagers à des données distribuées. 1.4.1 Gestion des performances De plus, les quelques travaux de recherche qui sont menés dans le but d ajouter un aspect gestion à des applications P2P ne consistent pas à offrir une interface de supervision à un éventuel administrateur de domaine, afin que cette catégorie d application souvent déployée de manière sauvage puisse être contrôlée, mais plutôt à accroître le niveau intrinsèque de qualité d une application P2P, sans se soucier du contexte dans lequel elle est exécutée. C est par exemple le cas de The active virtual peer technology [16], une infrastructure P2P qui permet d effectuer de la gestion de performance sur une application de type Gnutella. Celleci propose d utiliser un coeur de réseau P2P actif qui permette de restreindre les messages de signalisation à des domaines clos, de paramétrer le routage en fonction de l état des liens, de rediriger des requêtes de téléchargement, et enfin de contrôler et adapter la topologie virtuelle. Dans le même ordre d idée, on peut citer le projet MMAPPS (Market Management of Peerto-Peer Services) [17] qui a pour objectif de gérer les communautés P2P en utilisant des techniques issues de la gestion de marché. Ainsi, les applications P2P pourraient être plus couramment déployées dans un environnement où la coopération entre les peers serait constructive et ne mettrait pas en danger le potentiel de la communauté. Pour inciter les peers à contribuer plutôt que de simplement consommer, MMAPPS utilise un mécanisme 18

d évaluation de la contribution et n autorise l accès aux ressources fournies qu en fonction de celle-ci. 1.4.2 Contrôle du trafic P2P Considérons maintenant le coté administration système. De ce point de vue, la supervision d un service de partage de fichiers P2P s apparente plus à un contrôle du trafic plutôt qu à la garantie d une qualité de service aux usagers. Néanmoins, contrôler ce type de trafic s avère assez compliqué. En effet, le contrôle du trafic P2P passe tout d abord par son identification ; et les applications P2P n utilisant pas un port bien défini, il est ainsi nécessaire d inspecter les paquets jusqu au niveau des couches 3 à 7 pour identifier un paquet appartenant à un flux P2P. Ensuite, une fois l identification d un paquet P2P effectuée, le contrôle du trafic doit être en mesure de traiter l ensemble du flux auquel appartient le paquet, quel que soit le sens du trafic. Enfin, d une manière plus générale, les applications P2P changeant constamment, il est nécessaire de pouvoir répondre à ces changements rapidement et efficacement en s adaptant aux nouveaux protocoles et en fournissant de nouveaux mécanismes d identification. Identifier le trafic P2P permet de lui appliquer un traitement particulier en accord avec une politique de supervision propre. Celle-ci peut consister à contrôler la bande passante P2P parmi l ensemble d un trafic, à différentier le traitement effectué en fonction des sources, destinations, la date ou le profil d un usager ou mettre en place un système de quotas par personne. Néanmoins, ce type de comportement ne peut être déployé que sur des éléments de réseaux capables d assurer une bonne identification du trafic et un niveau de ressources suffisamment conséquent. 1.4.3 La gestion des fichiers et contenus Ce type d applications, comme nous l avons vu au chapitre 2, consiste à stocker et retrouver des informations sur différents éléments du réseau. L application principale concerne l échange de contenu ; elle est fortement connue par Napster, Gnutella, Morpheus, Freenet (anonymat des sources et intégrité des documents), Kazaa et BitTorent, (transfert parallèle de plusieurs sources, possibilité d arrêt et de reprise d un transfert). D autres projets consistent à établir un système de fichiers distribué dans une communauté, comme PAST, OceanStore (plus de 6 millions d utilisateurs), CAN ou Chord. Les bases de données distribuées et les tables de hachage distribuées commencent aussi à utiliser les protocoles P2P (Mariposa). 1.4.4 Gestion de présence JIM 1.4.4.1 Jxta Instant Messaging JIM est utilisé pour faire une instrumentation de service de présence d'une application IM. C'est conforme au modèle de présence de IETF qui utilise les peers WATCHER/POLLER. Cette conception construite sur JXTA nous permet de comparer différentes implémentions sur cet environnement et de préparer une instrumentation de JXTA soi-même. Contrairement a d'autre applications IM, JXTA utilise un modèle P2P. En effet, AOL Instant Messaging ou ICQ, utilisent un modèle client/serveur avec des fonctionnalités très similaire au "mail", c'est-à-dire un client dans un domaine envoie et reçoit des données messages instantanées a travers des serveurs bien connu et le routage entre les différents domaines est fait a travers des communications serveur serveur. 19

a- Les états dans JIM. Un peer sur JIM peut présenter plusieurs états : -En ligne: prêt a recevoir et répondre aux messages. -Occupe: peut recevoir mais peut ne pas répondre immédiatement. -Loin: peut recevoir mais lente réponse. -Hors ligne: c'est-à-dire que le peer n'est pas capable de recevoir des messages et les tentatives d'envoyer des messages sont aussi refusées. a-1 JIM et JXTA Dans la figure 13 on peut localiser l'application JIM en relation avec JXTA, qui fournit plusieurs niveaux et des API pour construire les applications P2P. On peut citer les "pipes" qui sont des canaux logiques à travers lesquels un peer peut envoyer des données vers u ou plusieurs peers. La communication entre les peers peut être achevée autant que les peers appartiennent au même Peer Group (qui représente un set de peers dans JXTA). Les services de sécurité et de monitoring du cœur de JXTA ne sont pas directement utilises dans JIM, mais sont utilises par d'autre éléments de JXTA d'une façon implicite. Figure 13. Architecture de JIM / Jxta JIM utilise JXTA pour créer des utilisateurs PeersGroup pour l'application IM et les "pipes" pour implémenter les messages et les services de présence. La figure suivante illustre le mécanisme de présence; on peut remarquer qu'un peer contient tout le set d'éléments de gestion de présence. Peer p1 a une liste des peers appelées "Buddylist" reliée au PeerGroup de JXTA crée pour JIM et qui utilise un pipe vers chacun. De cette façon, le modèle opérationnel est le suivant: dans des intervals réguliers un peer envoie un message Ping a chaque peer appartenant a BuddyList. Chaque peer répond a ce message en envoyant un Pong contenant son état. Selon le modèle de l'ietf, un peer envoyant tel requête joue un rôle vers le service de présence qui est représente par une réponse de chaque peer appelé par le pipe. L'instanciation du modèle est représentée dans la figure 14. Les entités "Status Updater", "Controler" et "User" sont des parties logiciel de JIM qui jouent les rôles respectif observateur, service de présence et présence. Le Status Controler joue un double rôle car il traite avec les deux messages Pong (Observateur) et Ping (Service de présence). 20