Académique Documents
Professionnel Documents
Culture Documents
Objectifs du cours
Rappels sur les ordinateurs rseau et Internet. Communication entre programmes et entre machines. Notion de protocole, couches ISO, protocoles de lInternet. Architecture client / serveur. Considrations de scurit. Exemples concrets de protocoles : HTTP et Z39.50
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
transferts de fichiers/donnes accs des fichiers/donnes distants... imprimante partage puissance de calcul stockage et sauvegarde... courrier lectronique chat, confrence publication en ligne...
Communiquer
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
Ordinateurs rseau (carte rseau + systme exploitation rseau) Priphriques rseau (imprimante...) Matriel rseau spcialis par cble (fibre optique, ethernet, cuivre...) par radio (ondes hertziennes, infrarouge...)
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
Rseau local
centr autour dune organisation (universit, entreprise, famille) gr par celle-ci ensemble de rseaux locaux relis par des backbones (pines dorsales)
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
utilisateurs
programmes A B
machine1.univ-lyon1.fr
machine2.univ-lyon1.fr
machines
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2007/2008
Dfinition
Ensemble de rgles et de procdures respecter pour pouvoir changer des donnes sur un rseau
Niveau programmes (A B)
Tu fonctionnes ? () / Oui () /Envoie-moi le fichier toto.doc () / Ok cest parti () / toto.doc () / Bien reu () / Au revoir () Toi, systme dexploitation de la machine machine1.univ-lyon1.fr, passe le message Tu fonctionnes ? au programme qui coute sur le port 3422 () Toi carte rseau, regarde passer des paquets de donnes sur le cble, attrape ceux qui sont pour toi, et passe-en le contenu au systme dexploitation
CM3 : Architecture client/serveur Yannick Pri 2007/2008
Niveau cartes
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
Protocoles de communication
But
comprhension entre machines / logiciels communications indpendantes du systme dexploitation ou de la plate-forme limitation des erreurs/risques durant la transmission un langage et un ensemble de rgles que deux systmes doivent connatre (parler le mme langage) les fabricants doivent se conformer aux normes ISO (International Standardization Organization) pour les protocoles utiliss sur leurs machines/logiciels
dcoupe le processus de transmission en 7 couches chaque couche est responsable de lun des aspects de la communication en rseau
CM3 : Architecture client/serveur Yannick Pri 2007/2008
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
Modle en couches
Personne crire Lettre de motivation cacheter Enveloppe poster Centre de tri acheminer Route (camion)
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2007/2008
Candidature spontane
Employeur lire
Envoi/rception courrier
Enveloppe dlivrer
Application
Physique
10
Protocoles de lInternet
IP (Internet Protocol)
transfert de fichiers transfert dinformations sur le web conversion du nom des ordinateurs connects au rseau en adresses IP
HTTP (HyperText Transfer Protocol) DNS (Domain Name Server protocol) etc.
CM3 : Architecture client/serveur Yannick Pri 2007/2008
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
11
4 nombres de 8 bits (4 octets) spars par des points ex : 134.214.128.17 Classe A : 112.x.y.z (ex. NASA) Classe B : 134.214.x.y (ex. Universit Lyon 1) Classe C : 56.243.12.x (ex. Cyber-caf) IPV6
Remarques
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
12
Nom de machine
domaine (critre gographique, institutionnel, organisationnel) sous-domaine (ventuellement) nom local de la machine ligimpc13.univ-lyon1.fr www.berkeley.edu ftp.berkeley.edu www.education.gouv.fr .gov, .edu, etc.
exemples
Attribution
ICANN : Internet Corporation for Assigned Names and Numbers AFNIC : Association Franaise pour le Nommage Internet en Coopration
.fr, .gouv.fr, .asso
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
13
Service de traduction fourni par des programmes appels DNS (Domain Name Server) DNS est aussi le nom du protocole utilis pour communiquer entre un programme qui dsire une traduction, et un serveur Un DNS gre un domaine... lisiperso15.univ-lyon1.fr ?
DNS
134.214.88.239
dns.univ-lyon1.fr
DNS
dns.univ-lyon1.fr
www.ens-lyon.fr ? 140.77.167.3
DNS
n
n+2
n+1
CM3 : Architecture client/serveur Yannick Pri 2007/2008
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
14
Client / serveur
Service
comportement dun programme qui peut rendre service dautres programmes exemple : service de traduction noms/adresses IP = service DNS un service est appel par une requte suivant un certain protocole exemple : requte donne-moi la traduction de lisiperso15.univlyon1.fr envoye suivant le protocole DNS programme demandant un service un autre programme ET machine sur laquelle tourne ce programme client programme fournissant des services dautres programme ET machine sur laquelle tourne ce programme serveur
CM3 : Architecture client/serveur Yannick Pri 2007/2008
Client
Serveur
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
15
Notion de socket
Port
sur laquelle un serveur coute en attendant des connexions / requtes laquelle un client va se connecter
Socket
Tuyau entre deux programmes Quintuplet : (machine1, port1, protocole transmission, port2, machine2) Client sur machine 1 appelle serveur sur machine 2 / port 53, suivant le protocole TCP La connexion stablit, le canal de communication est ouvert (port de sortie client : 2449) Il devient possible de communiquer suivant un protocole dapplication (par exemple DNS)
Exemple
DNS
2449
Machine1
TCP
53
machine2
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
16
protocole : DNS clients : tout programme rseau utilisant des noms de machine, serveurs : DNS (port = 53) remarque : un DNS peut jouer le rle de client pour un autre DNS protocole : FTP clients : outils de gestion de transferts FTP (Ws_FTP, FileZilla, etc.) serveurs : serveurs FTP (port = 21-22) protocole : HTTP clients : navigateurs web (Mozilla, IE, Firefox, Opera...) serveurs : serveur web (IIS, Apache, ...) (port = 80)
Transfert de fichiers
Web
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
17
protocole : ping clients : ping serveurs : serveurs ping Protocole : XMPP (Extensible Messaging and Presence Protocol) client : logiciels de messagerie instantane Jabber, Google talk, GAIM, ichat Serveurs : serveurs XMPP protocoles : envoi de fichier, change dinformations, ... client : client P2P serveurs : client P2P, serveurs de mtadonnes
CM3 : Architecture client/serveur Yannick Pri 2007/2008
Chat
Peer to peer
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
18
Un programme serveur
tourne en permanence, attendant des requtes peut rpondre plusieurs clients en mme temps machine robuste et rapide, qui fonctionne 24h/24 grande mmoire, disques suffisants scurit des disques etc. prsence dadministrateurs rseau pour grer les serveurs
Ncessit
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
19
Des changes entre programmes sur rseau de machines suivant les principes client / serveur des machines serveur peu nombreuses des postes clients pour les diffrents utilisateurs Fiabilit et avantages (cf. Comment a marche ? ) Ressources centralises : les serveurs sont au centre du rseau, grent les ressources communes tous les utilisateurs, et permettent d'viter les problmes de redondance et de contradiction Meilleure scurit : faible nombre de points dentre pour l'accs aux donnes Administration centralise au niveau des serveurs : les clients ne sont pas des ressources critiques Rseau volutif : ajouter/enlever des clients sans perturber le rseau Inconvnients Cot lev des machines serveurs, car fiabilit vitale
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
20
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
21
Notion de session
Session
Connexion maintenue entre un logiciel client et un serveur Par exemple identification sur un intranet, navigation sans donner nouveau mon login/mdp le lien entre le client et le serveur est maintenu mme quand il ne se passe rien Une session est en gnral coupe si elle dure trop longtemps Single-sign-on : gestion de plusieurs sessions sur des sites / serveurs diffrents
Remarque
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
22
dun serveur web (serveur HTTP) vers un client web (navigateur) Requte du client au serveur
Principe
demander une ressource web (page, image, service) envoyer une ressource (page web, image, rponse)
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
23
Rfrence
RFC 2616 (Request For Comments =/= standard de fait) Contenu de la requte (type + URI + version protocole) En-ttes Ligne vide (indique fin de requte) Code rponse (version HTTP + code + chaine) En-ttes Ligne vide (indique fin en-tte) Contenu de la rponse (souvent le document quon veut)
Requte client
Rponse serveur
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
24
Requtes
GET : demande de document ou de service POST : demande de service avec envoi de paramtres HEAD : demande dinformation concernant un document ... Codes 2xx : succs
Rponses
200 : ok 304 : document inchang 401 : non autoris 404 : inexistant 500 : erreur dans lexcution dun service 505 : version HTTP non supporte
3xx : redirection
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
25
En-ttes de requtes
Non envoye par la majorit des clients pour des raisons de confidentialit Exemples audio/mid, image/jpeg application/pdf Exemples : compress, x-gzip, x-zip En ralit, nest pratiquement jamais utilis Permet de rpondre diffremment suivant le client Ne devrait pas tre le cas (car il y a des normes qui devraient tre respectes par tous les clients) Peut tre utile pour faire des statistiques de parcours dans le site Niveau faible de scurit (tout passe en clair) Ne transmet la page que si elle a t modifie depuis la date spcifie Utile pour les caches
CM3 : Architecture client/serveur Yannick Pri 2007/2008
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
26
En-ttes de rponses
Utile pour le cache Doit faire partie en thorie de la liste des types accepts dans la requte (Accept) On peut savoir quand (et si) le transfert est fini Permet au navigateurs dindiquer des barres de progression Non obligatoire Doit faire partie en thorie des mthodes spcifies dans la requte (AcceptEncoding)
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
27
Exemple
eguerin >telnet bat710.univ-lyon1.fr 80 Trying 134.214.88.10... Connected to bat710.univ-lyon1.fr. Escape character is ^]. HEAD / HTTP/1.1 Host: www710.univ-lyon1.fr Connection: close HTTP/1.1 200 OK Date: Mon, 09 Sep 2002 14:50:22 GMT Server: Apache/1.3.9 (Unix) Debian/GNU Last-Modified: Thu, 11 Jul 2002 09:36:01 GMT ETag: "27ec6-1811-3d2d5181" Accept-Ranges: bytes Content-Length: 6161 Connection: close Content-Type: text/html; charset=iso-8859-1 Connection closed by foreign host. eguerin >
Allons voir
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2007/2008
28
traduction des requtes Z39.50 dans le langage de la base traduction des rponses de la base suivant le protocole Z39.50
Dialogue client/serveur suivant Z39.50 Le client Z39.50 envoie les requtes et affiche les rponses
(ZIG : Z39.50 tutorial)
CM3 : Architecture client/serveur Yannick Pri 2007/2008
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
29
Remerciements
Certaines diapositives proviennent de cours du Permis de Conduire Informatique (Universit Lyon 1 http://pci.univlyon1.fr). Dautres sont inspires du cours Web avanc , IUT A, UCBL (Eric Gurin)
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
30