Académique Documents
Professionnel Documents
Culture Documents
Copyright 2007 Olivier Glck; all rights reserved Ce support de cours est soumis aux droits dauteur et nest donc pas dans le domaine public. Sa reproduction est cependant autorise condition de respecter les conditions suivantes :
Si ce document est reproduit pour les besoins personnels du reproducteur, toute forme de reproduction (totale ou partielle) est autorise la condition de citer lauteur. Si ce document est reproduit dans le but dtre distribu des tierces personnes, il devra tre reproduit dans son intgralit sans aucune modification. Cette notice de copyright devra donc tre prsente. De plus, il ne devra pas tre vendu. Cependant, dans le seul cas dun enseignement gratuit, une participation aux frais de reproduction pourra tre demande, mais elle ne pourra tre suprieure au prix du papier et de lencre composant le document. Toute reproduction sortant du cadre prcis ci-dessus est interdite sans accord pralable crit de lauteur.
Licence Informatique UCBL - Initiation Rseaux 2
Olivier Glck
Connexions distance (telnet/rlogin/rsh/ssh/X11) Applications de transfert de fichiers (FTP/TFTP) Accs aux fichiers distants (NFS/SMB) Gestion d'utilisateurs distants (NIS) DNS : un annuaire distribu LDAP : un annuaire fdrateur scuris La messagerie lectronique (SMTP/POP/IMAP) HTTP : le protocole du Web
Licence Informatique UCBL - Initiation Rseaux 5
tout dpend des critres du voyageur (rapidit, confort, scurit, prix, arrive en centre ville) fiabilit du transfert (S'autorise t-on perdre quelques donnes ? Dans quelle proportion ?) bande passante (Quelle est la taille minimale du tuyau de communication ?) dlai : latence et gigue (variation du dlai)
Licence Informatique UCBL - Initiation Rseaux 9
Olivier Glck
Olivier Glck
Olivier Glck
15
Connexions distance
Connexions distance
Plusieurs protocoles
sur un ordinateur distant ( partir d'un terminal local) pourvu que cet utilisateur dispose d'un accs autoris cette machine excution de commandes saisies localement au clavier sur une machine distante les environnements local et distant peuvent tre htrognes (windows-->unix, )
Client
Prsentation
telnet : le standard (existe sur de nombreuses plate-formes) rlogin : uniquement entre machines unix ssh : scuris (authentification + cryptage), peut transporter le DISPLAY tout ce qui est tap au clavier sur le client est envoy sur la connexion au serveur tout ce qui est envoy par le serveur vers le client, sur la connexion, est affich dans le terminal
Licence Informatique UCBL - Initiation Rseaux 19
mulation de terminaux :
Serveur = machine distante
Olivier Glck Licence Informatique UCBL - Initiation Rseaux
Logique
telnetd
Donnes
18
Olivier Glck
Connexions locales
Connexions distantes
ls
stdout
ls
Shell
Shell
/dev/tty
Driver de terminal
TCP/IP
TCP/IP
Driver de pseudo-terminal
pseudo-tty
donne l'illusion au Shell local que les caractres proviennent du clavier
21
Internet
Licence Informatique UCBL - Initiation Rseaux
Excution de Telnet
un des premiers standard de l'Internet : RFC 854,855 (1983) connexion TCP sur le port 23 ct serveur authentification sur le shell distant (mot de passe en clair) quand un caractre est tap au clavier, il est envoy au serveur qui renvoie un "cho" du caractre ce qui provoque son affichage dans le terminal local prise en compte de l'htrognit mcanisme de ngociation d'options la connexion (codage des caractres ASCII sur 7 ou 8 bits ?) exemple : telnet d'une machine Windows vers une machine Unix --> tous les caractres ASCII n'ont pas la mme signification
Licence Informatique UCBL - Initiation Rseaux 22
accs un autre service (connexion sur un autre port) telnet adr_IP_du_serveur numro_port
Olivier Glck
Olivier Glck
23
RLOGIN : principe
Remote LOGIN (service login dans inetd.conf)
RSH : principe
Application standard d'unix BSD (RFC 1282) (dec 1991) Connexion TCP sur le port 513 ct serveur Plus simple que telnet (que sous Unix) Ide : lors de la connexion, les paramtres du terminal local sont envoys au site distant (pas de ngociation) Intrts de rlogin par rapport telnet
Remote SHell Connexion TCP port 514 - le pendent de rlogin Excution de commandes sur une machine distante de faon transparente
rsh host cmd authentification automatique comme avec rlogin tout se passe comme si l'excution tait locale l'entre standard et la sortie standard de cmd sont directement connectes la socket cliente avantage : peut tre utilis directement dans un programme (pas de saisie de mot de passe) quand cmd se termine sur le site distant, le processus rsh client se termine une squence Ctrl-c termine le processus distant cmd 35
Olivier Glck Licence Informatique UCBL - Initiation Rseaux
Olivier Glck
permet l'administrateur de dfinir un ensemble de machines "quivalentes" sur lesquelles les noms d'utilisateurs et les droits d'accs sont partags exemple : un utilisateur a un login X sur m1 et Y sur m2 permet des accs automatiques sans saisir de mot de passe permet d'exporter sur la machine distante une partie de l'environnement local (type du terminal $TERM, taille de la fentre) : un terminal distant a alors un comportement similaire a un terminal local (couleurs)
Licence Informatique UCBL - Initiation Rseaux 32
SSH : syntaxes
Connexions distance (style rlogin) ssh -l user hostname ssh user@hostname Excution de commande distance (style rsh) ssh -l user hostname cmd ssh user@hostname cmd Copie de fichiers distance (style rcp) scp file1 file2 user@hostname: scp -r dir user@hostname:/tmp ssh et scp remplacent rlogin, rsh, rcp,
Secure SHell Les communications sont cryptes Authentification base de cls Un des seuls protocoles de connexion distance qui passe les pare-feux de nos jours Permet de transporter des fentres graphiques via le tunnel SSH (multiplexage de plusieurs flux dans la connexion) Connexion TCP sur le port 22 ct serveur Pas encore de RFC (ietf-internet-draft)
Licence Informatique UCBL - Initiation Rseaux
Olivier Glck
SSH : chiffrement
X : multi-fentrage rparti
Principe du chiffrement
appel X ou X Window System ou X11 ensemble de programmes ralisant l'interface Homme/Machine bas sur l'utilisation des priphriques (clavier, souris, cran, ) un serveur X : gre le matriel (clavier, cran, ) et leur utilisation par les applications graphiques ; accessible sur le port TCP 6000+n o n est le numro de DISPLAY des clients X : applications graphiques qui ncessitent un serveur X (xemacs, xterm, xcalc, xv, ) le protocole X : fait communiquer les clients et le serveur
Licence Informatique UCBL - Initiation Rseaux
f(msg,cl)
du secret de la cl de la longueur de la cl (plus il y a de bits, plus il est difficile d'essayer toutes les cls) de la difficult d'inversion de l'algorithme de chiffrement
Licence Informatique UCBL - Initiation Rseaux 42
Olivier Glck
Olivier Glck
50
X : multi-fentrage rparti
X : multi-fentrage rparti
les clients X peuvent s'excuter sur des machines distantes (3 connexions TCP dans l'exemple)
station2 La souris a boug ! Client X vnement
station3 Client X
spcifications standards fontes, gomtrie de la fentre, background, foreground, borderwidth, couleurs spcifications particulires l'application affichage ou non d'un ascenseur un client X particulier qui gre dplacement/redimensionnement de fentre crer/dtruire/iconifier des fentres lancer ou terminer des applications X
Licence Informatique UCBL - Initiation Rseaux 53
Client X station4
Olivier Glck
X : multi-fentrage rparti
ogluck@lima:~$ xhost access control enabled,only authorized clients can connect ogluck@lima:~$ echo $DISPLAY 140.77.13.102:0.0 ogluck@lima:~$ xhost + ble ble being added to access control list ogluck@lima:~$ rlogin ble ogluck@ble:~$ export DISPLAY=140.77.13.102:0.0 ogluck@ble:~$ xterm & Qui est le ogluck@ble:~$ exit serveur X ? Connection to ble closed. ogluck@lima:~$ xhost - ble bleOlivier being access UCBL control list 54 Glck removed from Licence Informatique - Initiation Rseaux
Copie intgrale d'un fichier d'un systme de fichiers vers un autre en environnement htrogne L'htrognit concernant les fichiers est dpendante d'un systme l'autre
Plusieurs protocoles
copie de fichiers distance : rcp, scp protocole de transfert de fichiers avec accs aux systmes de fichiers local et distant : ftp, tftp, sftp le client (initiateur de la connexion) interagit avec l'utilisateur, le systme de fichier local et les protocoles rseau le serveur (hberge les fichiers distants) interagit avec les protocoles rseau et le systme de fichier distant
de la faon de reprsenter les noms de fichier (longueur, caractre espace,) des droits d'accs au fichier (lecture, criture, excution, propritaire, ) de la reprsentation des donnes contenues dans le fichier (saut de ligne) --> mode ascii : transfert au format NVT avec conversion au format local (TYPE A) --> mode binary : transfert sans conversion (TYPE I)
Licence Informatique UCBL - Initiation Rseaux 60
Type client/serveur
Ne pas confondre avec les protocoles d'accs aux fichiers distants : NFS (RPC), SMB (Microsoft)
Olivier Glck Licence Informatique UCBL - Initiation Rseaux 61
Olivier Glck
Interfaces utilisateur
Client FTP
TCP/IP
TCP/IP
/dev/hda1
Internet
Systme de fichiers local Systme de fichiers distant
62 Olivier Glck Licence Informatique UCBL - Initiation Rseaux 63
Olivier Glck
Les clients FTP contactent le serveur FTP sur le port TCP/21 Ouverture de 2 connexions TCP parallles :
Contrle : change des commandes et des rponses entre le client et le serveur - contrle hors-bande Donnes : transfert des fichiers de donnes vers/depuis l'hte distant (sur le port TCP/20 ct serveur)
change des requtes/rponses (dialogue client/serveur) permanente, full-duplex, besoin de fiabilit (et faible dlai !) initie par le client envoi de fichier ou liste de fichiers/rpertoires (donnes) temporaire, full-duplex, besoin de dbit (et fiabilit !) initie par dfaut par le serveur ouverture active (connect()) du serveur vers le client (depuis le port 20 vers le port ??) la connexion est ferme ds que le caractre EOF est lu
Licence Informatique UCBL - Initiation Rseaux 67
Olivier Glck
65
Olivier Glck
Olivier Glck
69
Machine distante
l'accs aux fichiers distants est compltement transparent pour l'utilisateur tout se passe comme si le systme de fichiers distant tait local l'utilisateur peut diter le fichier, le modifier, ; les modifications seront rpercutes sur le systme de fichiers distant NFS : Network File System (Unix/Sun-RPC) SMB : Server Message Block (issu du monde Microsoft)
Licence Informatique UCBL - Initiation Rseaux 86
Pilote d'accs au systme de gestion de fichiers Accs local Client NFS (IDE/SCSI ) RPC/XDR/UDP/IP matriel Internet
matriel
y.c
Systme de fichiers distant
Olivier Glck
Olivier Glck
88
NFS : en pratique
Client NFS root@192.168.69.1# tail -1 /etc/fstab 192.168.69.2:/home /nfshome nfs defaults,noauto 0 0 root@192.168.69.1# mkdir /nfshome root@192.168.69.1# mount /nfshome root@192.168.69.1# ls -l /nfshome /nfshome drwxr-xr-x 2 1003 5000 1024 fv 16 13:32 olivier root@192.168.69.1# df Filesystem 1k-blocks Used Available Use% Mounted on /dev/hda2 3898108 2766592 930304 75% / 192.168.69.2:/home 16128636 1493328 13815996 10% /nfshome
open(),read(),write() root@192.168.69.2# cat /etc/exports # /etc/exports: the access control list for filesystems which # may be exported to NFS clients. See exports(5). /home 192.168.69.0/255.255.255.0(rw,root_squash,async)
Disques
/home
Serveur NFS
Olivier Glck Licence Informatique UCBL - Initiation Rseaux 90
Olivier Glck
Protocole de Microsoft et Intel permettant le partage de ressources (disques, imprimantes) travers un rseau (1987)
partager un disque Unix pour des machines Windows accder un disque Windows depuis une machine Unix partager une imprimante Unix pour des machines Windows utiliser une imprimante Windows partir d'un hte Unix
Olivier Glck
98
Olivier Glck
introduit par SUN en 1985 (Yellow Pages (yp) l'origine) n'est pas un standard de l'Internet mais est largement utilis une base de donnes distribue qui permet le partage d'informations systme (/etc/passwd, /etc/hosts, )
simplifier la gestion des comptes, des mots de passe et les travaux d'administration dans le monde Unix typiquement, il suffit de crer un nouvel utilisateur sur le serveur NIS pour que chaque machine client NIS ait accs aux informations de login de cet utilisateur
Licence Informatique UCBL - Initiation Rseaux 105
Olivier Glck
toto titi ..
Serveur NFS
root@192.168.69.2# showmount -a 192.168.90.1 /home All mount points on 192.168.90.1: 192.168.69.2:/home root@192.168.69.2# su - ogluck ogluck@192.168.90.1# cd /home/ogluck ogluck@192.168.69.2# ls ogluck@192.168.90.1# ls toto titi .. . toto titi .. .
Olivier Glck Licence Informatique UCBL - Initiation Rseaux 106
numro scu, nom, #Passeport adresse IP (32 bits) nom : www.google.com www.education.gouv.fr
Htes, routeurs :
implmente dans une hirarchie de serveurs de noms les htes, routeurs, serveurs de noms communiquent pour effectuer la traduction DNS est utilis par d'autres protocoles applicatifs mais n'est pas utilis directement par l'application comme SMTP... modle Client/Serveur : un metteur interroge un serveur de noms (serveur DNS) port 53/UDP (ou 53/TCP pour les mises jour) RFC 1034, 1035, 2181,
Licence Informatique UCBL - Initiation Rseaux 119
Problme rsolu par le DNS : Comment relier les adresses IP utilises pour acheminer les paquets aux noms utiliss par les utilisateurs ou les applications ?
Licence Informatique UCBL - Initiation Rseaux 118
Olivier Glck
Olivier Glck
Un systme centralis ?
Pour l'utilisateur, le DNS n'est qu'une bote noire mais en ralit trs complique
permettre le "Host aliasing" : donner un pseudonyme une machine qui a un nom peu parlant permettre le "Mail server aliasing" : un serveur Web et un serveur Mail peuvent avoir le mme pseudonyme mme s'ils nont pas la mme adresse IP (2 machines ) permettre la rpartition de la charge : un nom de serveur Web ou Mail peut correspondre plusieurs adresses IP (serveurs Web ou Mail rpliqus) avec un systme de rotation dans les rponses du serveur DNS
Pourquoi pas de DNS centralis ? Un seul serveur contiendrait toutes les correspondances requises par les applications de l'Internet
Olivier Glck
une requte DNS peut impliquer plusieurs serveurs de noms rpartis dans le monde entier
Licence Informatique UCBL - Initiation Rseaux
dimension de l'Internet : trop de correspondances grer, nombre de requtes au serveur trop important tolrance aux pannes : si le serveur DNS tombe, tout l'Internet aussi ! volume de trafic impossible supporter par un seul serveur dlais de rponse : il faut faire en sorte que la rponse soit la plus proche possible du demandeur problme li la maintenance et aux mises jour perptuelles de la base
Licence Informatique UCBL - Initiation Rseaux 121
120
Olivier Glck
Un systme distribu
Un systme distribu
$ ssh ssh.ens-lyon.fr Quelle est l'adresse de ssh.ens-lyon.fr ? Rponse 140.77.167.6 Hte miage.univ-lyon1.fr connexion ssh vers 140.77.167.6
si un serveur ne connat pas une correspondance, il interroge un autre serveur jusqu' atteindre le serveur dtenant l'information dsire les serveurs de noms locaux ( qui s'adressent les requtes locales ; en charge de la rsolution) les serveurs de noms racine (sont censs savoir comment s'approcher de la rponse) les serveurs de noms de source autorise (contiennent les correspondances "officielles")
Licence Informatique UCBL - Initiation Rseaux 122
client ssh
serveur ssh
Hte ssh.ens-lyon.fr
Olivier Glck
Olivier Glck
123
edu
com
fr
uk
ens-lyon.fr univ-lyon1.fr
ssh
hte ssh.ens-lyon.fr Deux noeuds peuvent avoir le mme nom dans des domaines diffrents : ssh.ens-lyon.fr et ssh.univ-lyon.fr
Olivier Glck
124
Olivier Glck
ici, le temps de rponse d'une rsolution de nom, en diminuant le nombre de messages DNS en transit ncessaires ! le serveur de noms (quelconque) stocke dans son cache les informations rcentes (en particulier les enregistrements de type NS) comme la mmoire n'est pas infinie et que les donnes du cache peuvent ne plus tre valables au bout d'un certain temps, les donnes expirent du cache aprs un certain temps TTL (environ 2 jours) un serveur qui mmorise dans son cache un enregistrement DNS n'a pas autorit dessus --> spcifie "no authoritative" dans la rponse 135
Licence Informatique UCBL - Initiation Rseaux
La commande host
La commande host
ogluck@lima:~$ host ssh.ens-lyon.fr ssh.ens-lyon.fr is an alias for fulmar.ens-lyon.fr. fulmar.ens-lyon.fr has address 140.77.167.6
Olivier Glck Licence Informatique UCBL - Initiation Rseaux 145
Pour connatre les serveurs de source autorise d'une zone : host -a nom_zone ou host -t ns nom_zone
Olivier Glck Licence Informatique UCBL - Initiation Rseaux 146
Le fichier /etc/nsswitch.conf
Permet de spcifier l'ordre des mthodes de rsolutions (ligne hosts pour la rsolution de noms) man nsswitch.conf
156
base Microsoft Excel du personnel administratif base Microsoft Access du personnel enseignant base Microsoft Excel des numros de tlphone base /etc/passwd des comptes Unix des utilisateurs base /etc/aliases (ou Sympa) de listes de Mail base Samba des utilisateurs Windows autres bases MySQL, Oracle, maps NIS,
Olivier Glck
Comment envoyer un mail l'ensemble du personnel administratif sachant que l'administrateur systme recevra uniquement une liste de (Nom, Prnom) ?
Licence Informatique UCBL - Initiation Rseaux 166
Le concept d'annuaire
Le concept d'annuaire
Annuaire informatique
service permettant d'accder des informations relatives des personnes, des machines (ou autres ressources) de manire organise objectif : maintenir de faon cohrente et contrle une grande quantit de donnes le schma des donnes stockes est dfini pour rsoudre un certain problme ; il est connu des applis les objets sont gnralement complexes, stocks dans diffrentes tables ayant des relations entre elles un langage spcifique permet la lecture et mise jour des tables (requtes SQL, )
Licence Informatique UCBL - Initiation Rseaux
pas de liens de dpendances entre les objets stocks les objets peuvent tre distribus sur plusieurs annuaires pour assurer une meilleure disponibilit le schma de stockage des donnes est standardis pour assurer un partage des donnes les applications de l'annuaire n'ont pas besoin de connatre la structure interne des donnes stockes un annuaire est principalement consult en lecture et optimis pour cela
Olivier Glck
167
Olivier Glck
168
L'annuaire LDAP
L'annuaire LDAP
Objectifs
fournir aux utilisateurs des informations fiables, facilement accessibles permettre aux utilisateurs de mettre jour eux-mmes leurs informations personnelles rendre les informations accessibles de faon contrle faciliter le nomadisme des utilisateurs viter la redondance d'informations : un seul annuaire pour l'ensemble des services faciliter la gestion (administration) des postes de travail, des quipements rseau
Licence Informatique UCBL - Initiation Rseaux 170
Olivier Glck
Un modle d'information : type des informations contenues dans l'annuaire Un protocole d'accs : comment accder aux informations contenues dans l'annuaire Un modle de nommage : comment l'information est organise et rfrence Un modle fonctionnel : une syntaxe des requtes permettant l'interrogation de la base et la mise jour des informations Un modle de duplication : comment la base est rpartie sur diffrents serveurs (tolrance aux pannes, rpartition de la charge du serveur, ) Un modle de scurit : comment contrler l'accs aux donnes ainsi que leur transfert
Licence Informatique UCBL - Initiation Rseaux 171
Le protocole LDAP
Le protocole LDAP
Il dfinit
les changes de la connexion Client/Serveur commandes de connexion au service : bind, unbind, abandon (le client abandonne la requte en cours) commandes de mises jour des entres de l'annuaire : add, delete, modifiy, rename commandes d'interrogation : recherche (search) et comparaison (compare) d'entres le format de transport des donnes pas de l'ASCII comme SMTP, HTTP, encodage LBER : Lightweight Basic Encoding Rules
Licence Informatique UCBL - Initiation Rseaux 172
Il dfinit
les changes de la connexion Serveur/Serveur la rplication (replication service), en cours de normalisation (LDUP : LDAP Duplication Protocol) crer des liens entre diffrents annuaires (referral service) - dfini dans LDAPv3 les mcanismes de scurit mthodes d'authentification pour se connecter l'annuaire (qui peut se connecter l'annuaire et comment) mcanismes de rgles d'accs aux donnes (une fois connect, quoi peut-on accder et avec quels droits) mcanismes de chiffrement des transactions
Licence Informatique UCBL - Initiation Rseaux 173
Olivier Glck
Olivier Glck
10
La messagerie lectronique
Les diffrents composants Configuration d'un agent utilisateur Le protocole SMTP Codage des messages et types MIME Les protocoles d'accs
Olivier Glck
204
4 composants principaux :
des agents utilisateurs des serveurs de mail un protocole de transfert de mail : Simple Mail Transfer Protocol (SMTP) un protocole d'accs la bote aux lettres (POP, IMAP, ) composition, dition, lecture du courrier lectronique ex : Eudora, Outlook, elm, pine, Netscape Messenger un agent utilisateur dialogue avec un serveur pour mettre/recevoir des messages
Serveur mail
user agent
user agent
user agent File des messages sortants user agent user mailbox
212
Olivier Glck
user agent modle C/S : Client (serveur de mail metteur) - Serveur (serveur de mail rcepteur) le client se connecte sur le user agent port 25/TCP du serveur pour transfrer son message Olivier Glck Licence Informatique UCBL - Initiation Rseaux
Les messages entrants et sortants sont stocks sur le user agent serveur Serveur La bote aux lettres de mail chaque utilisateur contient SMTP les messages entrants ( lire) File d'attente de messages SMTP mail sortants ( envoyer) SMTP Protocole SMTP entre les Serveur serveurs de mail pour l'envoi mail des messages
Serveur mail
user agent
user agent
SMTP
Serveur entrant
6 get 6
user agent rcepteur
SMTP
POP, IMAP
SMTP
Serveur entrant
6 get 6
user agent rcepteur
SMTP
POP, IMAP
POP3 : Post Office Protocol v3 [RFC 1939] autorisation (agent <--> server) et tlchargement IMAP4 : Internet Message Access Protocol v4 [RFC 3501] plus de caractristiques, plus complexe, plus rcent manipulation de messages stocks sur le serveur HTTP (Webmail) : Hotmail , Yahoo! Mail,
Licence Informatique UCBL - Initiation Rseaux 214
Olivier Glck
Pourquoi un protocole d'accs et une volution de SMTP permettant au serveur sortant d'tre la fois client et serveur SMTP ? Pourquoi une file des messages sortants ? Pourquoi ne pas mettre le serveur SMTP Olivier Glck Informatique UCBL - Initiation ? Rseaux directement sur Licence le poste utilisateur
il n'y avait pas de protocole d'accs SMTP tait juste prvu pour changer du courrier entre le serveur de l'metteur (client) et le serveur du rcepteur (serveur) --> tapes 3-4-5 uniquement
215
11
La Poste
Olivier Glck
Centre de tri
Licence Informatique UCBL - Initiation Rseaux
Centre de tri
216
Exemple d'en-tte
IMAP : les messages restent sur le serveur sauf s'ils sont Olivier Glck Licence Informatique UCBL - Initiation Rseaux supprims, dplacs, ...
220
Olivier Glck
232
12
UA
MTA
out in
/var/mail
234
En utilisant un protocole spcifique (POP, IMAP) ou le protocole HTTP qui traverse gnralement les pare-feus
UA
SMTP - Envoi du courrier IMAP out PO MTA Po in uI MA PLec tur ed /var/mail uc our rier
Commandes client : user: dclare username pass: password Deux rponses possible du serveur : +OK -ERR list: liste les numros de messages et leur taille retr: rappatrie un message partir de son numro dele: efface un message quit
Olivier Glck
S: C: S: C: S: C: S: S: S: C: S: S: C: C: S: S: C: C: S:
+OK POP3 server ready user alice +OK pass hungry +OK user successfully logged list 1 498 2 912 . retr 1 <contenu du message 1> . dele 1 retr 2 <contenu du message 2> . dele 2 quit +OK POP3 server signing off
on
Phase de transaction
imapd
popd
Olivier Glck
235
236
permet uniquement de tlcharger des messages depuis le serveur en laissant ventuellement une copie de ceux-ci dans la BAL de l'utilisateur pas adapt aux utilisateurs nomades impossible de grer des rpertoires sur le serveur impossible de grer les messages en les laissant sur le serveur
--> IMAP rpond cette problmatique au prix d'un protocole beaucoup plus complexe
Olivier Glck Licence Informatique UCBL - Initiation Rseaux 237
associe un message un rpertoire distant sur le serveur permet l'utilisateur de faire une recherche dans les messages sur le serveur permet de ne consulter que des extraits de messages (par exemple que l'en-tte ou que la partie texte d'un message multipart) contrairement POP3, IMAP conserve des informations d'tat sur chaque utilisateur (noms des rpertoires, listes des messages qu'ils contiennent)
13
L'accs Webmail
Les alias
Utilise le protocole HTTP (ou HTTPS) pour communiquer avec les serveurs SMTP/IMAP
l'utilisateur utilise un navigateur Web comme agent utilisateur pour consulter/envoyer ses courriers le serveur HTTP excute des scripts qui utilisent le protocole IMAP pour communiquer avec le serveur IMAP et ainsi manipuler les messages distants de l'utilisateur le protocole SMTP pour traduire une demande d'envoi d'un message de la part de l'utilisateur adapt aux utilisateurs itinrants pas besoin d'un agent utilisateur particulier, seule une connexion Internet avec Navigateur Web est ncessaire
Licence Informatique UCBL - Initiation Rseaux 239
bal n'est pas forcment le login de l'utilisateur nom_domaine n'est pas forcment le nom du serveur de mail contenant les BAL bal peut reprsenter plusieurs destinataires (listes)
Avantages
Un service = une application qui utilise un protocole et un numro de port Fonctionnement en mode Client/Serveur au dessus de TCP/IP
Le Web
HTTP Serveur Apache Linux
Client E-mail Navigatelnet teur ftp Windows news Modem http ADSL ...
Olivier Glck
Internet
Le jargon du Web
Architecture pour accder des documents lis entre eux et situs sur des machines relies par Internet Architecture base sur 3 concepts :
la localisation --> URL le protocole --> HTTP le langage --> HTML interfaces graphiques conviviales trs grande quantit d'informations grande diversit des informations
Licence Informatique UCBL - Initiation Rseaux 245
MS Internet Explorer Netscape Communicator ... Apache (domaine public) MS Internet Information Server
Le serveur Web :
Popularit due :
www.someSchool.edu/someDept/pic.gif
Olivier Glck
Olivier Glck
14
Origines du Web
Envol du Web
Naissance au CERN : besoin d'changes de documents, rapports, croquis, photos... entre des grosses quipes internationales pour des expriences demandant de longs investissements de mise en uvre
Fvrier 93 : 1re interface graphique Mosaic (Marc Andreesen) 1994 : M. Andreesen cre Netscape Comm. Corp. (dveloppements logiciels pour le web) 1994 : cration du W3C (WWW Consortium) par le CERN et le MIT (Tim Berners-Lee prsident) (dveloppements du Web, standards...) 1996 : apparition des feuilles de styles (CSS)
Licence Informatique UCBL - Initiation Rseaux 248
mars 89 : Tim Berners-Lee : rseau de documents septembre 90 : 1er prototype (mode texte) dcembre 91 : dmonstration publique la confrence Hypertext'91 de San Antonio
Licence Informatique UCBL - Initiation Rseaux 247
Olivier Glck
Olivier Glck
Fonctionnement du Web
Le client (navigateur ou browser) dialogue avec un serveur Web selon le protocole HTTP Le serveur vrifie la demande, les autorisations et transmet l'information Le navigateur interprte le fichier reu et l'affiche (le navigateur, un plug-in ou un helper) A ce schma de base, peuvent s'ajouter :
URL - Uniform Resource Locator : Adresse universelle de ressource en 3 parties : le protocole (comment), le nom DNS (o) et le nom du document (quoi) un sur-ensemble des URLs
des contrles par compte individuel, par domaine, par adresse IP... des excutions de code cot serveur et/ou cot client
Licence Informatique UCBL - Initiation Rseaux 249
http://www.monsite.fr/projet/doc.html
Olivier Glck
Olivier Glck
URL relative :
proto://host_name:port/path/extra_path?arguments
la racine "/ " de path est dfinie par la configuration du serveur Web (Attention : ne pas confondre avec la racine du systme de fichiers sur le serveur) /path peut contenir une tiquette (point d'ancrage) extra_path (aprs .cgi par ex.) et arguments permettent de passer des informations des programmes s'excutant sur le serveur
Licence Informatique UCBL - Initiation Rseaux 251
un lien vers
le navigateur client reconstruit l'URL absolue pour faire la requte la balise HTML <BASE href="url"> permet de positionner la racine pour les URLs relatives du document contenant cette balise
Licence Informatique UCBL - Initiation Rseaux 252
http://www.monsite.fr/projet/doc.html#label
Olivier Glck
Olivier Glck
15
Vision ct client
Vision ct client
Le Web est un ensemble de pages (documents) pouvant contenir des liens vers d'autres pages n'importe o dans le monde Consultation des pages via un navigateur L'utilisateur suit ces liens par simple click --> notion d'hypertexte (information rpartie) Le navigateur (browser)
Le navigateur (browser)
va rechercher la page demande interprte les commandes de formatage et de mise en forme (police, gras, couleurs...) va rechercher et affiche des images animation (code JavaScript, gifs...) affiche la page correctement formate valeurs par dfaut du navigateur valeurs fixes dans le document prfrences de l'utilisateur (navigateur) exemples : couleur des liens (visits ou non), du texte, fond de la page, polices...
Licence Informatique UCBL - Initiation Rseaux 254
Olivier Glck
analyse l'URL demande demande au DNS l'adresse IP du site distant tablit une connexion TCP vers le numro de port de l'URL (80 par dfaut) formule la requte au serveur
Licence Informatique UCBL - Initiation Rseaux
253
Olivier Glck
Vision ct serveur
Le serveur est en permanence lcoute des requtes formules par les clients (qui peuvent tre trs nombreux !) Il vrifie la validit de la requte...
Apporte de l'inter-activit avec l'utilisateur en proposant des zones de dialogue : un formulaire n'est qu'une interface de saisie ! Selon les choix de l'utilisateur, il faut y associer un traitement
et y rpond : envoi du texte, des images, du code excuter sur le client, d'un message d'erreur, d'une demande d'authentification, ... Il peut excuter un programme localement qui va gnrer une rponse HTML (pages dynamiques)
Licence Informatique UCBL - Initiation Rseaux 255
sur le client avec JavaScript par exemple sur le serveur par l'intermdiaire de CGI, PHP, commandes, devis via Internet moteurs de recherche interactions avec une base de donnes
Licence Informatique UCBL - Initiation Rseaux 256
Olivier Glck
Olivier Glck
Principe du formulaire
On dcrit l'aide de balises HTML les diffrents champs de saisie Chaque zone est identifie par un nom symbolique auquel sera associe une valeur par l'utilisateur Quand le formulaire est soumis, les couples (nom/valeur) de toutes les zones sont transmis dans la requte HTTP au serveur A chaque zone de saisie peut tre associ un traitement sur le client par l'intermdiaire d'un vnement JavaScript
Licence Informatique UCBL - Initiation Rseaux 257
Site serveur
2 recherche de la page HTML sur le disque DD
envoi du formulaire
transmission des donnes au CGI / lancement de son excution Programme CGI 7 excution du CGI SGBD
Serveur Web Dmon HTTP Affichage de la rponse 9 10 envoi de la page HTML rsultat
requte la SGBD
Olivier Glck
Olivier Glck
258
16
Caractristiques de HTTP
Site serveur
2 recherche de la page HTML/JavaScript sur le disque DD
Affichage du formulaire 4
envoi du formulaire
l'utilisateur remplit le formulaire, celui-ci peut tre modifi dynamiquement Soumission Interprteur JavaScript
saisie invalide
HTTP : Hyper Text Transfer Protocol Protocole rgissant le dialogue entre des clients Web et un serveur (c'est le langage du Web !) Fonctionnement en mode Client/Serveur Une transaction HTTP contient
saisie valide Formulaire rempli correctement 5 envoi des donnes du formulaire (soumission) 6 transmission des donnes au CGI / lancement de son excution Programme CGI 7 excution du CGI
SGBD Serveur Web Dmon HTTP Affichage de la rponse envoi de la page HTML rsultat 8 9 rponse en HTML du CGI renvoye au dmon HTTP requte la SGBD
le type de la requte ou de la rponse (commande HTTP) un en-tte une ligne vide un contenu (parfois vide)
259
10
Olivier Glck
Olivier Glck
260
1 - le client contacte le serveur pour demander le document index.html 2 - le client envoie des informations d'en-tte pour informer le serveur de sa configuration et des documents qu'il accepte
4 - le serveur rpond en commenant par indiquer par un code, l'tat de la requte 5 - le serveur envoie un en-tte qui donne des informations sur lui-mme et le document demand
HTTP/1.1 200 OK
User-Agent: Mozilla/4.0 (compatible;MSIE 6.0;Windows NT 5.1) Host: www710.univ-lyon1.fr Accept: image/gif, image/jpeg, */*
Date: Sun, 23 May 2004 17:46:01 GMT Server: Apache/1.3.28 (Debian GNU/Linux) PHP/3.0.18 Last-Modified: Sun, 23 May 2004 17:42:12 GMT Content-Length: 90 Content-Type: text/html; charset=iso-8859-1
3 - le client envoie une ligne vide (fin de l'en-tte) et un contenu vide dans cet exemple
Olivier Glck Licence Informatique UCBL - Initiation Rseaux 261
6 - puis une ligne vide (fin de l'en-tte) et le contenu du document si la requte a russi
Olivier Glck Licence Informatique UCBL - Initiation Rseaux 262
type de la requte (METHOD, URL, version HTTP) en-tte une ligne vide un contenu ventuel un code de rponse (version HTTP, code, description) en-tte une ligne vide le contenu de la rponse
Licence Informatique UCBL - Initiation Rseaux 264
Olivier Glck
263
Olivier Glck
17
Proxy
Mise en cache hirarchique
HTTP HTTP FTP Proxy HTTP Serveur FTP
Client WWW
Proxy
Hypothse : le cache est proche du client Rduction du temps de rponse Rduction du dbit vers les serveurs distants
Internet
Cache
Cache
Cache
Serveur Proxy
Olivier Glck
272
Olivier Glck
273
18