380 likes | 473 Views
Messagerie, FTP et Web. Les services sur Internet. Service de messagerie (1) . Plus connu sous le nom de E-mail (Electronic Mail ou courrier électronique), ce service permet d’échanger des messages et des fichiers.
E N D
Messagerie, FTP et Web Les services sur Internet
Service de messagerie (1) • Plus connu sous le nom de E-mail (Electronic Mail ou courrier électronique), ce service permet d’échanger des messages et des fichiers. • Architecture d’une messagerie interne : la boîte aux lettres de l’expéditeur et du destinataire se trouve sur le même serveur. • Architecture d’une messagerie externe : Il nécessite un serveur de messagerie accessible à partir d’Internet. Le serveur dispose d’une boite à lettre pour chaque client géré par la messagerie.
Service de messagerie (2) • Les messages sont stockés par le serveur de messagerie, en attendant que le client vienne consulter sa boîte aux lettres. • Le message peut alors être lu. Le message peut rester stocké sur le serveur et lu à distance (fonctionnement en mode online) ou être déplacé vers la station du client et détruit sur le serveur (mode offline). • Pour la mise en forme des messages (jeux de caractères, encodage, codage des fichiers joints, etc.) le protocole le plus utilisé est MIME (Multipurpose Internet Mail Extensions). Il permet également la mise en forme du texte (mots soulignés, caractères en gras,etc.). • Pour accéder à leur courrier, les stations utilisent le protocole POP3 (Post Office Protocol). Il est orienté vers un fonctionnement en mode offline et permet notamment de vérifier l’identité du client voulant lire le courrier d’une boite à lettre • Le protocole IMAP (Interactive Mail Access Protocol) est une alternative à POP3. Il permet d’accéder aux messages sans les télécharger et d’effectuer des recherches de courrier selon différents critères. • Lorsque les messages sont échangés entre 2 serveurs, ceux-ci utilisent le protocole SMTP (Simple Mail Transfer Protocol)
Service de messagerie (3) • Quelques logiciels de gestion de serveurs de messagerie : Exchange Server de Microsoft, Netscape Messaging Server ou Domino Mail Server de Lotus (IBM), groupwise de Novel. Mercury sur Novell ou Windows. Sur Linux: sendmail, qmail ou postfix • Parmi les clients de messagerie : Thunderbird, Seamonkey, Eudora, Exchange ou outlook de Microsoft, Notes de Lotus, groupwise de Novell. • Les listes de diffusions (mailing lists) permettent d’envoyer un même courrier à plusieurs personnes en utilisant une adresse commune de liste. • Les destinataires peuvent parfois s’abonnés à une liste, celle-ci est alors gérée par un serveur de liste qui comprend les commandes d’abonnement, de désabonnement, de consultation d’archives etc. • Les news ou forums permettent également de regrouper des abonnés intéressés par un même sujet. • Contrairement aux listes de diffusion pour lesquelles un seul courrier est envoyé vers plusieurs destinataires, les messages des forums sont stockés sur un serveur de news et consultés lorsque l’utilisateur le souhaite.
Service de transfert de fichiers • Il permet à un client d’échanger des fichiers avec un serveur de fichiers. • La connexion et le dialogue entre la station du client et le serveur utilisent le protocole FTP (File Transfer Protocol). • En se connectant au serveur, celui-ci demande au client un nom de compte et un mot de passe. • Le compte user anonymous permet de servir des clients ne disposant pas de compte. Dans ce cas, le mot de passe demandé est généralement l’adresse E-mail du demandeur. • Les logiciels sur la station du client disposent des commandes permettant de se déplacer dans l’arborescence du serveur, de définir le type des données transférées (binaires ou ASCII) et de télécharger un fichier. • La plupart des logiciels de navigation sur le Web intègrent les fonctions permettant la connexion aux serveurs de fichiers et le transfert des fichiers. • Exemples de serveurs FTP :TFTP, BulletProof FTP, FTP Serv-U, VS-FTP, IIS
Service Web • Il permet d’accéder à des documents au format HTML (Hyper Text Markup Language) en utilisant pour la connexion et les échanges le protocole HTTP (Hyper Text Transfer Protocol) • Les documents sont accessibles par une URL (Uniform Ressource Locator) comportant le nom du serveur http contenant le document, le chemin d’accès au document et le nom de document. • Les serveur HTTP les plus courants : Netscape Entreprise Server, Apache HTTP Server, Microsoft Internet Information Server et Web Sphere de IBM. • Pour accéder aux serveurs Web, les stations doivent être équipées de navigateurs. • Les navigateurs les plus courants : Internet Explorer de Microsoft, Mozilla, OPERA.
Protocole SMTP (1) • SMTP (Simple Mail Transport Protocol) est le protocole courant de gestion du courrier électronique sur Internet • Protocole Point à Point : il met en communication 2 serveurs de messagerie : celui de l’expéditeur et celui de destinataire du message. • Ces serveurs sont chargés du stockage dans des boites aux lettres privées (BAL) et du transport du courrier, ils doivent acheminer régulièrement les messages stockés vers les destinations mentionnées dans les champs adresse. • Dans la mesure où SMTP est conçu au départ pour des systèmes reliés en permanence, un utilisateur connecté de façon intermittente (Dial up) via le RTC ou RNIS utilisera SMTP pour expédier son courrier sur son serveur de messagerie (courrier sortant), et un protocole tel POP3 pour lire les courriers qui l’attendent sur le serveur (courrier entrant)
Protocole SMTP (2a) • Le client SMTP envoie un message au serveur SMTP du domaine laudanum.fr • L'émetteur du message est asterix@laudanum.fr • Le destinataire du message est assurancetourix@babaorum.fr • Le serveur s'appelle mail.laudanum.fr • Le serveur mail.laudanum.fr enverra plus tard le message au serveur SMTP du domaine babaorum.fr. Ce serveur s'appelle mail.babaorum.fr • Plus tard le client assurancetourix@babaorum.fr ouvre une session sur le serveur POP3 mail.babaorum.fr et récpère le message
Protocole SMTP (3) • Le protocole SMTP spécifie : • Le format des adresses utilisateurs suivant une notation Internet classique faisant figurer le nom de l’utilisateur suivi du nom de domaine (ex: asterix@babaorum.fr ) • Les champs des courriers (from, to, etc.). • Les possibilités d’envoi groupé : • Le champ CC (Carbone Copy ou Copie Conforme) permet d’envoyer le même message à plusieurs personnes, tous les noms des destinataires apparaîtront en clair dans le champ to • Le champ BCC (Blind Carbone Copy) ou CCI (Copie Conforme Invisible) permet de masquer le nom des autres destinataires dans le champ to • Le codage utilisé pour le message et les fichiers attachés : • Text pur codé en ASCII 7 (RFC 822) ou 8 bits pour une prise en compte des caractères accentués • Standard MIME (Multipurpose Internet Mail Extension) RFC 1521 : fomat universel de codage des données pour le mail (fichier de texte formaté, fichier image, fichier son).
Format des messages SMTP • La liste suivante donne les principaux champs normalisés de l’en-tête des messages SMTP (RFC 822) To: adresse électronique du destinataire primaire Cc: adresse électronique du destinataire en copie (carbon copy) Bcc : adresse électronique du destinataire en copie cachée (blind cc) From: adresse électronique de l'auteur du message Received : adresse électronique de l'expéditeur du message Return Path : chemin de retour utilisable vers l'émetteur Date : date et heure de l'envoi du message Reply to : adresse électronique du destinataire de la réponse Message id : numéro servant à référencer le message In reply to : Numéro (message id) du message auquel on répond Subject : Titre du message
Commandes SMTP • Une fois formatés, les messages sont envoyés en utilisant les commandes SMTP: • Commandes d’envoi constituées de quatre lettres • Commandes de réponse du serveur constituées d’un code sur trois chiffres : • Le premier chiffre signifie une exécution réussie (1, 2, 3) ou non (4, 5) • Les chiffres suivants précisent la nature de l’erreur Commandes d'envoi Fonction HELO exp Requête de connexion en provenance d'un expéditeur SMTP MAIL FROM : adr_exp Adresse de l'expéditeur annonce le début d'un message RCPT TO : ad_dest Spécifie un destinataire, la commande peut être répétée DATA Le récepteur interprète toutes les données suivantes comme faisant partie du message SMTP jusqu'à l'apparition d'une séquence de 2 sauts de lignes : (CR LF CR LF) QUIT Demande au récepteur d'envoyer la commande OK et de refermer la connexion Commandes de réponse Fonction 250 Action demandé correctement effectuée = OK 354 Le message peut être transmis 451 Action demandée annulé : erreur pendant le traitement 550 Action non effectuée : boîte aux lettres non accessible
Dialogue SMTP • Le dialogue entre les serveurs SMTP utilise le port 25 (port TCP). Il comporte 3 phases : • Établissement de la connexion au niveau SMTP et identification de la source et de la destination du message, • Envoi du message avec les différents en-tête RFC 822 et RFC 1521, • Libération de la connexion. Ce que le client reçoit : Ce que le serveur envoie : 220 serveur prêt HELO abc.com (courrier de abc.com) 250 serveur OK MAIL FROM : boy@abc.com 250 MAIL FROM OK RCPT TO : girl@xyz.com 250 RCPT TO OK DATA 354 DATA reçu message incomplet corps du message 354 DATA reçu message incomplet (CR LF CR LF) 250 Message accepté QUIT 221 Le serveur ferme la session
Exemple d’analyse SMTP (1) • La requête de connexion est envoyée par le client SMTP par une commande HELO
Exemple d'analyse SMTP (2) • Le serveur répond par le code de contrôle 250 (ok) suivi d’un message identifiant le serveur de mail. La connexion au niveau SMTP est réalisée. • Après les commandes "MAIL FROM" et " RCPT TO " précisant l’émetteur et le destinataire et leurs acquittements respectifs…
Exemple d'analyse SMTP (3) • Le message est transmis au serveur suivant les formats RFC 822 et RFC1521
Le protocole POP3 • Le protocole POP3 (Post Office Protocole version 3) a été conçu pour récupérer le courrier sur une machine distante pour un utilisateur non connecté en permanence à Internet. Il gère : • L’authentification : vérification du nom et du mot de passe • La réception des courriers et fichiers attachés à partir du serveur • La réception de messages d’erreur d’erreur ou d’acquittement • L’envoi de messages n’est pas supporté par le protocole POP3 de base. Il n’est pas sécurisé au niveau de la confidentialité dans la mesure où les messages sont stockés « en clair » sur le serveur de courrier. • Par ailleurs, il est nécessaire de télécharger l’intégralité du courrier sur la station avant la lecture, sans possibilité de manipuler directement les messages sur le serveur. • Le protocole POP3 dialogue par le port 110 (port TCP).
Commandes POP3 • Les commandes POP3 (RFC 1939) reprennent la syntaxe sur 4 lettre de SMTP. • Les réponses sont transmises sous forme de chaîne de caractères précédée des caractères +OK ou –RR suivant que celle-ci est positive ou négative. Commandes Fonctions USER nom Spécifie une boite à lettre PASS password Spécifie un mot de passe STAT Permet de récupérer le nombre et la taille des messages en attente LIST [msg] Demande des informations sur le message dont le numéro est fourni RETR msg Permet de récupérer le message spécifié DELE msg Suppression du message spécifié QUIT Le serveur supprime les messages lus et ferme la connexion
Dialogue POP3 • La première trame correspond à la réponse (+ok) à une demande de connexion TCP au serveur POP3. • Le client POP3 s’identifie ensuite au serveur, ce dernier demande un mot de passe au client qui lui transmet sous forme non crypté sur le réseau. • Après acceptation, le client peut relever le courrier choisi à l’aide de la commande RETR (sans la commande DELE le courrier reste sur le serveur). Le client POP3 reçoit Le serveur POP3 reçoit +OK USER ptregouet +OK PASS esaip +OK STAT +OK 510 RETR 1 +OK 510 données données DELE 10 +OK ( message N° 10 a été supprimé) QUIT +OK
Exemple d’analyse POP3 (1) • La première trame correspond à la réponse (+ok) à une demande de connexion au serveur POP3.
Exemple d’analyse POP3 (2) • Le client POP3 s’identifie au serveur. Serveur POP3 client User demo
Exemple d’analyse POP3 (3) • Le serveur demande un mot de passe au client. Serveur POP3 client +OK password required
Exemple d’analyse POP3 (4) • Le mot de passe est transmis non crypté sur le réseau Serveur POP3 client PASS xxxxxx
Exemple d’analyse POP3 (5) • Après une phase d’authentification réussie le serveur informe le client de la disponibilité d’un message
Exemple d’analyse POP3 (6) • Le client demande le retrait à l’aide de la commande RETR et reçoit une réponse avec le contenu du message. • Le message sera supprimé sur le serveur POP3 par la commande DELE.
Le protocole FTP • FTP (File Transfer Protocol) permet le transfert de fichiers et de répertoires entre un serveur et un client sur un réseau IP. • FTP utilise deux canaux TCP : • Le port TCP 20 est le canal de données; • Le port TCP 21 est le canal de commande • La connexion peut être effectuée de deux façons : • En anonyme (name :anonymous, password : guest@home) pour un accès limité aux répertoires publics; • En non anonyme pour un accès associé à des permissions sur des fichiers ou des répertoires particuliers
Exemple d’échange FTP (1) • Les commandes de l’utilisateur (user, password, dir, get, …) utilisée sur le logiciel client sont traduites en commandes internes FTP (USER, PASS, LIST, RETR, …); • Elles sont suivies éventuellement d’arguments (nom d’utilisateur, nom de répertoire) ou de données correspondant au fichier transféré.
Exemple d’échange FTP (2) • Les réponses du serveur sont transmises sous forme de codes de retour éventuellement suivis d’un message ASCII. • Comme pour le protocole SMTP, chaque code est un nombre à trois chiffres : • Le premier signifie une exécution réussie (1,2 ou 3) ou ratée (4 ou 5); • Les deuxième et troisièmes chiffres précisent le code de retour ou une erreur.
Protocole HTTP et URL (1) • HTTP (HyperTex Transsmision Protocol) est un protocole de communication entre le navigateur du client et les serveurs Web, basé sur le principe des liens hypertextes. • Ces hyperliens (bleus en général) rendent la lecture dynamique et permettent d’adresser d’autres
Protocole HTTP et URL (2) • Les URL (Uniform Resource Locators) sont les noms données aux hyperliens • Un URL peut être un serveur FTP, un fichier sur un disque, une image, une adresse courrier, un serveur de News, un serveur Telnet et bien sûr un serveur http, c’est-à-dire un serveur Web. • Exemples d’URL : http://www.esaip.org http://www.esaip.org/index.html ftp://forum.esaip.org ftp://demo@forum.esaip.org file:///D:/site-web/index.html mailto:webmestre@esaip.org
Interaction HTTP (1) • Lorsqu’un navigateur Web demande un document HTML, une connexion est établie entre le navigateur Web et le serveur Web, sur le port TCP 80 par défaut. • Pour utiliser à un port non standard, il faut le préciser dans l’URL. Exemple d’adresse URL demandant à accéder au serveur via le port 8080: • Une fois la connexion établie, le navigateur Web envoie une requête de document par l’intermédiaire du prtocole HTTP. Par exemple :GET /Web/docs/index.html HTTP/1.0 • La requête contient : • La méthode à utiliser pour récupérer le document (GET); • Le nom de l’objet demandé (/Web/docs/index.html); • La version du protocole HTTP à invoquer (HTTP/1.0). • D’autres méthodes peuvent être utilisées pour n’obtenir que l’en-tête associée à la ressource demandée (méthode HEAD) ou pour envoyer des données de type formulaire au serveur (méthode POST).
Interaction HTTP (2) • Le serveur répond à la requête en envoyant une réponse HTTP composée de trois parties. • L’état de la réponse (HTTP/1.0 200 OK) est une ligne de texte avec la version HTTP, un code d’état décrivant le résultat (200 pour un acquittement…) et un texte. • L’entête de réponse (Date:…) contient des informations relatives au type du serveur, l’encodage utilisé pour décrire le type de contenu, et une ligne vide annonçant les données. • Les données (<HTML> …) HTTP généralement au format html.
Interaction HTTP (3) • MIME est une méthode d’encodage des données conçue au départ pour transmettre des documents par courrier électronique. • HTTP utilise MIME pour décrire les différents types de données qu’il doit manipuler. • La ligne content type est une description MIME des données transférées. • Par exemple : text/html indique que les données sont de type texte, sous type HTML. Lorsque le navigateur reconnaît ce type de texte, il sait qu’il doit interpréter les données comme du code HTML. • Un autre type couramment reconnu par les navigateurs est le type text/plain, qui indique que la réponse est à traiter comme du texte brut. • Si le document demandé est un document HTML, les données de réponse contiendront le texte du document HTML. Par exemple :<html> <head> <title>Document HTML simple</title> </head> <body> <p> Cela est un document HTML minimaliste. </body> </html>
Interaction HTTP (4) • Une fois la séquence requête/réponse achevée, la connexion TCP/Ipest refermée. Une nouvelle connexion sera établie pour chaque échange requête/réponse entre le client et le serveur.
Exemple d’analyse HTTP (1) • La première trame correspond à une demande d’URL (www.google.fr) à partir du navigateur du client.
Exemple d’analyse HTTP (2) • La deuxième trame contient la réponse (état, entête, données HTML)
Méthodologie pour l’installation des services réseaux • Installer les logiciels appropriés • Logiciel Serveur ou client • + Logiciel d’administration • Configurer le logiciel • Via les Fichiers de paramètres (ou base de registre) • Ou via un logiciel d'administration • Démarrer le service manuellement • Via Commandes de /etc/init.d ou via webmin ou ...sous Unix • Va Outils de démarrage et d'arrêt de services sous Windows • Tester le serveur avec un client adapté • Vérifier / dépanner le logiciel en consultant les messages systèmes (/var/log/messages sous Unix, observateurs d’évènements sous Windows) • Programmer le démarrage automatique du service