Académique Documents
Professionnel Documents
Culture Documents
ntroduction
Lobjectif du prsent projet est de dvelopper une application de messagerie qui servira assurer une communication entre un ensemble de stations Windows appartenant au mme rseau local, autrement dite, assurer un simple change de messages en format texte entre les membres du rseau.
Le prsent rapport est fragment en trois chapitres. Le premier, prsente une tude thorique contenant des notions de base en rseaux informatiques utilises au sein de ce travail. Le deuxime chapitre, traite les dtails de la phase de conception en introduisant de diffrents diagrammes qui dcrivent les diffrente vues et composantes de lapplication. Le dernier souvre par une prsentation des outils et du langage utilis pour llaboration du projet. Enfin, une conclusion gnrale.
Page 1
4. Architecture client-serveur
De nombreuses applications fonctionnent selon un environnement client/serveur, cela signifie que des machines clientes (des machines faisant partie du rseau) contactent un serveur, une machine gnralement trs puissante en termes de capacits d'entre-sortie, qui
leur fournit des services. Ces services sont des programmes fournissant des donnes telles que l'heure, des fichiers, une connexion, etc. Les services sont exploits par des programmes, appels programmes clients, s'excutant sur les machines clientes. On parle ainsi de client (client FTP, client de messagerie, etc.) lorsque l'on dsigne un programme tournant sur une machine cliente, capable de traiter des informations qu'il rcupre auprs d'un serveur (dans le cas du client FTP il s'agit de fichiers, tandis que pour le client de messagerie il s'agit de courrier lectronique).
Page 2
5. Architecture 2 niveaux
L'architecture deux niveaux (aussi appele architecture 2-tier, tier signifiant range en anglais) caractrise les systmes clients/serveurs pour lesquels le client demande une ressource et le serveur la lui fournit directement, en utilisant ses propres ressources. Cela signifie que le serveur ne fait pas appel une autre application afin de fournir une partie du service.
6. Architecture 3 niveaux
Dans l'architecture 3 niveaux (appele architecture 3-tier), il existe un niveau intermdiaire, c'est--dire que l'on a gnralement une architecture partage entre : Un client, c'est--dire lordinateur demandeur de ressources, quipe d'une interface utilisateur (gnralement un navigateur web) charge de la prsentation.
Le serveur d'application (appel galement middleware), charg de fournir la ressource mais faisant appel un autre serveur. Le serveur de donnes, fournissant au serveur d'application les donnes dont il a besoin.
Page 3
7.
Dans l'architecture 3 niveaux, chaque serveur (niveaux 2 et 3) effectue une tche (un service) spcialise. Un serveur peut donc utiliser les services d'un ou plusieurs autres serveurs afin de fournir son propre service. Par consquent, l'architecture trois niveaux est potentiellement une architecture N niveaux...
Page 4
8. Fonctionnement client-serveur
Figure 4 : client-serveur Le client pour recevoir des informations du serveur lui met une requte grce son adresse IP et le port (exemple : port 25 pour les mails, port 80 pour le web et 21 pour le FTP). Le serveur reoit la demande et rpond l'aide de l'adresse de la machine cliente et son port.
Page 5
Page 6
2. Exemple
FTP (acronyme de File Transfert Protocol) - protocole d'change de fichiers est l'un des nombreux protocoles IP que l'on retrouve sur internet. HTTP en est un autre. FTP permet par exemple de publier des pages HTML sur un serveur web, c'est--dire de les tlcharger en amont en utilisant un utilisant un client FTP.
Un tlchargement en amont signifie que le transfert se fait du client vers le serveur, tandis qu'un transfert en aval se fait du serveur vers le client.
Page 7
En communication client-serveur, l'initiative du tlchargement appartient au client. Mais dans ce cas, videmment, le sens du transfert est invers et se fait de serveur client. Pour raliser une communication peer to peer , l'ide consiste monter sur chaque ordinateur local et distance, la fois un serveur FTP et un client FTP.
Sur chaque machine tourne donc un serveur FTP. Vous lancez votre client FTP pour tlcharger en aval un fichier sur votre ordinateur. La machine distante, elle, fait un tlchargement en amont, soit l'inverse.
Page 8
3. Principe gnral
Les systmes pair--pair permettent plusieurs ordinateurs de communiquer via un rseau, de partager simplement des objets des fichiers le plus souvent, mais galement des flux multimdia continus (streaming), le calcul rparti, un service (comme la tlphonie avec Skype), etc. sur Internet. Le pair--pair a permis une dcentralisation des systmes, auparavant bass sur quelques serveurs, en permettant tous les ordinateurs de jouer le rle de client et serveur (voir client-serveur). En particulier, les systmes de partage de fichiers. Permettent de rendre les objets d'autant plus disponibles qu'ils sont populaires, et donc rpliqus sur un grand nombre de nuds. Cela permet alors de diminuer la charge (en nombre de requtes) impose aux nuds partageant les fichiers populaires, ce qui facilite l'augmentation du nombre de nuds et donc de fichiers dans le rseau. C'est ce qu'on appelle le passage l'chelle.
L'utilisation d'un systme pair--pair ncessite pour chaque nud l'utilisation d'un logiciel particulier. Ce logiciel, qui remplit alors la fois les fonctions de client et de serveur, est parfois appel servent (de la contraction de serveur et de client , due Gnutella), ou plus communment mais de faon rductrice, client . C'est l l'origine du terme pair (de l'anglais : peer) que l'on trouve dans pair--pair : les communications et les changes se font entre des nuds qui ont la mme responsabilit dans le systme.
Page 9
5. Applications
Le bout--bout ne s'est pas fait connatre en tant que principe mais par les applications qui ont pu merger selon ce nouveau modle de rseau.
Page 10
Partage de fichiers
L'application la plus rpandue du pair--pair est le partage de fichiers. L'avnement des connexions Internet haut dbit (ADSL notamment) sans limite de temps a contribu cet essor. Chaque internaute est un Peer du rseau et les ressources sont des fichiers. Chacun peut donc partager ses fichiers et tlcharger les fichiers des autres. Ces systmes s'avrent trs efficaces y compris quand il s'agit d'changer de gros volumes de donnes.
Calcul distribu
Une seconde application destine au grand public ou la recherche mais toutefois moins rpandue que le partage de fichier est la possibilit pour les internautes de mettre disposition une partie de leur puissance de calcul. Les ordinateurs d'aujourd'hui sont tellement puissants que la majeure partie du temps, une grande partie de leur processeur est disponible pour effectuer des calculs. Le projet BOINC a saisi cette opportunit pour crer un gigantesque parc informatique rparti dans le monde afin d'utiliser cette immense puissance de calcul totale pour effectuer des calculs trop complexes qui peuvent tre raliss dans un laboratoire.
Autres applications
Le concept de pair--pair est galement dclin dans d'autres logiciels tels que Skype, un logiciel de tlphonie propritaire qui permet aux utilisateurs de passer des appels tlphoniques travers Internet. Les appels d'utilisateurs utilisateurs sont gratuits, tandis que les appels vers les lignes tlphoniques fixes et les tlphones mobiles sont payants. Les fonctionnalits additionnelles incluent messagerie instantane, transfert de fichiers et visioconfrence. On nomme visioconfrence la combinaison de deux techniques : La visiophonie ou vido-tlphonie, permettant de voir et dialoguer avec son interlocuteur. La confrence multipoints ou confrence plusieurs, permettant d'effectuer une runion avec plus de deux terminaux. Dans la pratique, le terme visioconfrence reste toutefois utilis mme lorsque les interlocuteurs ne sont que deux.
Page 11
6. Architectures logicielles
Les serveurs pair--pair fonctionnent dans la quasi-totalit des cas en mode synchrone : le transfert d'information est limit aux lments connects en mme temps au rseau. Ils peuvent utiliser le protocole TCP comme couche de transport des donnes (il fonctionne en duplex, la rception des donnes est donc confirme et leur intgrit est assure). En revanche, certaines utilisations comme le continu (streaming) ncessitent l'emploi d'un protocole plus lger et plus rapide, comme UDP, bien que moins fiable, quitte assurer eux-mmes l'intgrit des donnes transmises. UDP est aussi le protocole le plus utilis pour transmettre des messages entre serveurs dans les systmes en partie centraliss. Les systmes pair--pair se rpartissent en plusieurs grandes catgories, selon leur organisation.
Architecture centralise
Dans cette architecture, un client (un logiciel utilis par les membres) se connecte un serveur qui gre les partages, la recherche, l'insertion d'informations, bien que celles-ci transitent directement d'un utilisateur l'autre. Certains considrent que de telles architectures ne sont pas pair--pair, car un serveur central intervient dans le processus. D'autres leur rpondent que les fichiers transfrs ne passent pas par le serveur central.
Architecture dcentralise
Dans une telle architecture le logiciel client ne se connecte pas un unique serveur mais plusieurs. Le systme est ainsi plus robuste mais la recherche d'informations est plus difficile. Pour faire face ce problme, une organisation de connexion est maintenue entre les nuds et cela consiste utiliser de super-nuds , lments du rseau choisis en fonction de leur puissance de calcul et de leur bande passante, ralisant des fonctions utiles au systme comme l'indexation des informations et le rle d'intermdiaire dans les requtes. Les nuds du rseau peuvent alors devenir super-nuds et vice-versa, selon les besoins du systme.
Page 12
SCHEMA EXPLICATIF
Figure 9 : Architecture dcentralise 1- Un utilisateur (celui du cercle) recherche un fichier et transmet une requte aux diffrents utilisateurs connus. 2 - La question est relaye vers d'autres utilisateurs connus des premiers utilisateurs sollicits. 3- L'utilisateur qui dispose du fichier rpond en suivant le chemin inverse, 4 - Le transfert du fichier se fait directement partir de l'ordinateur qui dispose du fichier vers celui qui le rclame.
Page 13
Page 14
Le mode non connect (analogue une communication par courrier), utilisant le protocole UDP. Ce mode ncessite l'adresse de destination chaque envoi, et aucun accus de rception n'est donn.
Page 15
Ainsi, un serveur (un ordinateur que l'on contacte et qui propose des services tels que FTP, Telnet, ...) possde des numros de port fixes auxquels l'administrateur rseau a associ des services. Ainsi, les ports d'un serveur sont gnralement compris entre 0 et 1023 (fourchette de valeurs associes des services connus). Du ct du client, le port est choisi alatoirement parmi ceux disponibles par le systme d'exploitation. Ainsi, les ports du client ne seront jamais compris entre 0 et 1023 car cet intervalle de valeurs reprsente les ports connus.
Page 16
Un socket peut tre vu comme un descripteur identique un descripteur de fichier dans lequel on peut lire ou crire des donnes. La configuration de l'ouverture de connexion permet de spcifier comment seront transmises les donnes envoyes ou lues dans ce descripteur de fichier. Dans tous les cas, avant d'utiliser un socket il faut la crer, c'est--dire crer un descripteur associ l'ensemble des informations constituant le socket (buffers, adresse, port, tat, etc.). Ensuite il est possible de l'attacher une adresse reprsentant l'adresse locale qui sera indique dans la communication. Ct serveur, la cration du socket est suivie d'une mise en attente de message dans le cas d'une communication UDP, ou de mise en attente de connexion dans le cas d'une communication TCP. Dans le cas d'une communication TCP, il est gnralement profitable de permettre au serveur de grer plusieurs connexions simultanes ; dans ce cas un nouveau processus sera cr pour chaque connexion. Ct client, la communication se fait tout d'abord en renseignant l'adresse du serveur contacter. Ensuite peut avoir lieu lenvoi proprement dit de donnes ou la demande de connexion (selon le cas).
Page 17
CHAPITRE 4: Ralisation
1. Visuel Basic .Net
Visual Basic (VB) est un langage de programmation vnementiel de troisime gnration ainsi qu'un environnement de dveloppement intgr, cr par Microsoft pour son modle de programmation COM. Visual Basic est directement driv du BASIC et permet le dveloppement rapide d'applications, la cration d'interfaces utilisateur graphiques, l'accs aux bases de donnes en utilisant les technologies DAO, ADO et RDO. Visual Basic est un des langages les plus utiliss pour l'criture d'applications commerciales, c'est--dire d'applications ne faisant manipuler que des chiffres et des lettres. Ce BASIC est particulirement adapt cet usage, pas d'accs systme, pas de performances critiques, dveloppement rapide, comptences apparemment faibles. La dernire mise jour de Visual Basic est la version 6.0, sortie en 1998. Le support tendu Microsoft a pris fin en 2008. partir de la version 7, le Visual Basic subit des changements substantiels le rapprochant de la plate-forme dot Net , et qui amnent Microsoft le commercialiser sous le nom de Visual Basic .NET. Visual Basic .Net est un langage de programmation la syntaxe similaire celle de Visual Basic 6. Nanmoins, ces deux langages sont assez peu comparables dans la pratique tant l'volution entre ceux-ci est norme. Le principal changement tant sans conteste l'introduction de l'orientation objet dans le langage. VB.NET permet de dvelopper en .Net via Visual Studio, c'est--dire seulement sur les systmes d'exploitation Windows (98, 2000, XP, Vista, 7). Il existe cependant un projet visant porter la plateforme DotNet (et donc VB.NET) sous Linux, MacOS et OpenBSD. Ce projet s'appelle Mono et il permet dj de faire tourner nativement des applications .NET 2.0. Il est important de rappeler que tout programme VB.NET est compil dans le mme langage intermdiaire (IL) que C# ou tout autre langage de la plateforme DotNet.
Apparu en 2001(VB9: 2007). Auteur Microsoft. Paradigme Orient objet, Structur et Impratif. Typage Statique, Fort et Nominatif. Dialectes VB7(VS2003), VB8(VS2005), VB9(VS2008). Influenc par Visual Basic, C#. Implmentation .Net Framework, Mono.
Page 18
Avec: --tampon = client x $$ connexion OK Ou -- tampon = client x $$ connexion NOT OK $$ Raison. b) envoi de message :
Client : --tampon = serveur $$client x $$Envoi $$ client y $$Message. Serveur :
Page 19
ONCLUSION
Raliser une application messagerie via un rseau local, permettant aux membres de ce rseau de communiquer entre eux, tait le but du prsent projet. Le prsent projet est ralis sous lenvironnement du dveloppement .NET, lusage du langage Visual Basic .NET t une bonne exprience pour lquipe-projet. De nouvelles acquisitions, un nouveau langage et une nouvelle faon de voir la programmation, tout a est trs bnfique pour nous. Ce travail est le fruit d'un grand effort, d'une bonne planification des diffrentes tapes de conception et de ralisation et aussi d'une organisation meilleure du temps. Au sein de ce mini projet, nous n'avons pas eu l'occasion seulement d'amliorer nos connaissances thoriques et pratiques acquises dans le module des Rseaux et Protocoles mais aussi de savoir et de dvelopper l'esprit du travail en groupe et amliorer laspect communicationnelle
Page 20
nnexes
Page 21
Page 22
ibliographie/Webographie
Page 23
G
TCP UDP IP FTP P2P ARP HTTP
lossaire
---------------------------------------------------------------------------------------------------------
Transmission Control Protocol. User Datagram Protocol. Internet Protocol. File Transfert Protocol. Peer to Peer. Address Resolution Protocol. Hypertext Transfer Protocol.
Page 24