Services et protocoles Applicatifs de l`Internet - La Recherche
Transcription
Services et protocoles Applicatifs de l`Internet - La Recherche
Protocoles applicatifs Services applicatifs Applications du monde Internet Services et protocoles Applicatifs de l’Internet F. Garcia Services et protocoles Applicatifs de l’Internet 1 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Plan 1 Protocoles applicatifs Classification des protocoles applicatifs Mandataires 2 Services applicatifs Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire 3 Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Services et protocoles Applicatifs de l’Internet 2 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Classification des protocoles applicatifs Mandataires Taxonomie Paramètres de classification Architecture Connexion Synchronisme Séparation des messages applicatifs (framing) Encodage Sécurité Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 3 / 64 Classification des protocoles applicatifs Mandataires Taxonomie Paramètres de classification Architecture client/serveur n-tiers pair à pair ... Services et protocoles Applicatifs de l’Internet 4 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Classification des protocoles applicatifs Mandataires Taxonomie Paramètres de classification Connexion mode connecté soit au niveau transport, soit au niveau applicatif, soit les deux sans-connexion généralement sur UDP Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 5 / 64 Classification des protocoles applicatifs Mandataires Taxonomie Paramètres de classification Synchronisme Synchrone : Gère les requêtes d’un client séquentiellement Une seule requête à la fois (succession de requêtes/réponses) Asynchrone : Gère les requêtes d’un client en parallèle Plusieurs requête simultanées possibles (les réponses doivent référencer la requête à laquelle elle s’applique) Services et protocoles Applicatifs de l’Internet 6 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Classification des protocoles applicatifs Mandataires Taxonomie Paramètres de classification Séparation des messages applicatifs (framing ) comptage d’octets (octet counting ) bourrage d’octet (octet stuffing ) coupure de connexion (connection blasting ) Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 7 / 64 Classification des protocoles applicatifs Mandataires Taxonomie Paramètres de classification Encodage Texte MIME Multipurpose Internet Mail Extensions RFC 2045, RFC 2046, RFC 2047, RFC 2048 et RFC 2077. Binaire ASN.1 BER Règles de représentation d’informations indépendantes de l’architecture machine du langage informatique utilisé Basic Encoding Rules (BER) : encodage Type / Length / Value ... Services et protocoles Applicatifs de l’Internet 8 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Classification des protocoles applicatifs Mandataires Taxonomie Paramètres de classification Couplage message couplage faible échange de messages Les implémentations du serveur et du clients ne sont liées que par la grammaire des messages (le protocole) RPC couplage fort appel à distance de procédures Plusieurs systèmes : RFC 1057 (Sun RPC) Java RMI Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 9 / 64 Classification des protocoles applicatifs Mandataires Taxonomie Paramètres de classification Sécurité Quatre facteurs : confidentialité intégrité authentification non-répudiation Plusieurs solutions : TLS : Transport Layer Security (RFC 5246) DTLS : Datagram Transport Layer Security (RFC 4347) IPSec : Solution de sécurité au niveau IP (RFC 4301), intégrée à IPv6 Services et protocoles Applicatifs de l’Internet 10 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Classification des protocoles applicatifs Mandataires Mandataires Applicatifs (Application proxy ) Généralités Un mandataire applicatif peut remplir plusieurs rôles : augmentation des performances ⇒ Proxy cache filtrage des requêtes (à des fins de sécurité ou de surveillance) ⇒ Proxy filtrant Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 11 / 64 Classification des protocoles applicatifs Mandataires Mandataires Applicatifs (Application proxy ) Architecture Services et protocoles Applicatifs de l’Internet 12 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Résolution de noms Besoin Pour permettre aux être humains de retenir des adresses de machines, on leur attribue un nom. Il faut pouvoir transformer un nom de machine en adresse IP numérique Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 13 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Résolution de noms Domain Name System A l’origine résolution nom ↔ @IP : fichiers hosts comprenant les correspondances Puis création du DNS (1983) : RFC 882 & 883 puis 1034 & 1035 Maintenant de nombreuses RFC mettent à jour les spécifications d’origine Ajout de DNSSec (via les RFC 4033, 4034 et 4035) : authentification des serveurs DNS sécurisation des informations contenues dans les messages DNS Services et protocoles Applicatifs de l’Internet 14 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Domain Name System Généralités Architecture client-serveur Les clients sont appelés résolveurs Utilise TCP ou UDP au port 53 Mode non connecté fonctionnement synchrone Comptage d’octets Messages binaires Sécurité avec DNSSec Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 15 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Domain Name System Fully Qualified Domain Name www .recherche .enac machine .fr . domain Root domain Top level domain sub-domain Services et protocoles Applicatifs de l’Internet 16 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Résolution de noms Séparation des zones Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 17 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Résolution de noms Résolveurs itératifs et récursifs 2) www.enac.fr. ? a.root-servers.net. 3) fr. NS a.nic.fr. mon-fai.com. ns.mon-fai.com. 4) www.enac.fr. ? 5)enac.fr .NS bleriot.enac.fr . 8)www .enac.fr .A 195.220.159.118 a.nic.fr. 6) www.enac.fr. ? 1) www.enac.fr. ? 7)www .enac.fr .A 195.220.159.118 Hôte bleriot.enac.fr. Services et protocoles Applicatifs de l’Internet 18 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Résolution de noms Types d’enregistrements DNS (1/2) A : address record maps a hostname to a 32-bit IPv4 address. AAAA : IPv6 address record maps a hostname to a 128-bit IPv6 address. CNAME : canonical name record makes one domain name an alias of another. The aliased domain gets all the subdomains and DNS records of the original. MX : mail exchange record maps a domain name to a list of mail exchange servers for that domain. NS : name server record maps a domain name to a list of DNS servers authoritative for that domain. Delegations depend on NS records. Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 19 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Résolution de noms Types d’enregistrements DNS (2/2) PTR : pointer record maps an IPv4 address to the canonical name for that host. Setting up a PTR record for a hostname in the in-addr.arpa domain that corresponds to an IP address implements reverse DNS lookup for that address. For example (at the time of writing), www.icann.net has the IP address 192.0.34.164, but a PTR record maps 164.34.0.192.in-addr.arpa to its canonical name, referrals.icann.org. SOA : start of authority record specifies the DNS server providing authoritative information about an Internet domain, the email of the domain administrator, the domain serial number, and several timers relating to refreshing the zone. ...protocoles Applicatifs de l’Internet Services et 20 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Résolution de noms Utilitaires host <@ IP> donne le nom associé à une adresse IP #host 10.31.3.3 3.3.31.10.in-addr.arpa domain name pointer web.recherche.enac.fr. dig <Type> <Objet> Permet de faire un requête DNS quelconque Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 21 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Résolution de noms Example dig > dig MX enac.fr. ; < <> > DiG 9.3.2-P1 < <> > MX enac.fr. ;; global options: printcmd ;; Got answer: ;; -> >HEADER< <-opcode: QUERY, status: NOERROR, id: 45927 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3 ;; QUESTION SECTION: ;enac.fr. IN MX ;; ANSWER SECTION: enac.fr. 85824 IN MX 5 rsmtp-1.enac.fr. ;; AUTHORITY SECTION: enac.fr. 8223 IN NS bleriot.enac.fr. enac.fr. 8223 IN NS ader.enac.fr. ;; ADDITIONAL SECTION: rsmtp-1.enac.fr. 85824 IN A 195.220.159.98 ader.enac.fr. 8223 IN A 195.220.159.194 bleriot.enac.fr. 8223 IN A 195.220.159.66 ;; Query time: 2 msec ;; SERVER: 10.31.3.2#53(10.31.3.2) Services et protocoles Applicatifs de l’Internet 22 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Synchronisation d’horloges Besoin Synchroniser les horloges d’ordinateurs distants pour : Les systèmes de journalisation (logs) Les systèmes d’accès disque à distance Les mesures de délai ... Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 23 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Synchronisaiton d’horloges Network Time Protocol Protocole normalisé par l’IETF : NTP v3 : RFC 1305 NTP v4 en cours de normalisation (draft-ietf-ntp-ntpv4-proto-13) Système hiérarchique de clients / serveurs Fonctionnement pair à pair ou broadcast. Fonctionnement par synchronisation ponctuelle (ntpdate). Services et protocoles Applicatifs de l’Internet 24 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Network Time Protocol Généralités Architecture client/serveur Utilise UDP au port 123 Mode non connecté Fonctionnement synchrone Comptage d’octets Messages binaires Ajout possible de sécurité (authentification des serveurs et intégrité des messages) Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 25 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Network Time Protocol Architecture Services et protocoles Applicatifs de l’Internet 26 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Network Time Protocol Algorithmes délai δ aller/retour Client Serveur écart θ entre les horloges (T 2 − T 1) − (T 0 2 − T 0 1) aucun calcul (T 0 1+T 0 2) 2 (T 1+T 2) − 2 aucun calcul Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 27 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Network Time Protocol Synchronisation Si δ faible : ajustement de la fréquence de l’horloge (slewing) Si δ ≈ qq sec : ajustement de la valeur l’horloge (step) Si δ ≥ 1000s : échec Services et protocoles Applicatifs de l’Internet 28 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Network Time Protocol Modes de fonctionnement Plusieurs modes de fonctionnement : Client-Serveur (un client se synchronise sur plusieurs serveurs Symétrique Actif-Passif (synchronisation mutuelle de hôtes) Broadcast/Multicast (émission par un serveur sur un réseau local) Services et protocoles Applicatifs de l’Internet 29 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Accès Fichiers à distance Besoin Stocker les fichiers sur un serveur central Pour des raisons de sauvegarde Pour que plusieurs utilisateurs y accède Pour limiter les gros disques Il faut donc permettre un accès distant et concurrent à des parties du disque d’une machine. Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 31 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Accès Fichiers à distance Network File Sytem Protocole permettant le partage d’une arborescence de fichiers. 1984 =⇒ RFC 1094 puis RFC 1813, puis 3010 ... Actuellement : NFSv4 RFC 3530 (Avril 2003) Services et protocoles Applicatifs de l’Internet 32 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Network File Sytem Généralités Architecture client/serveur Le serveur partage une partie de son disque Le client monte une partie du disque distant Utilise les RPC (couplage fort et intégration aux noyaux des O.S.) TCP ou UDP au port 20 Intègre la sécurité Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 33 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Network file System Fonctionnalités Accès aux fichiers à distance Gestion des permissions Gestion du verrouillage des fichiers (locking) Mise en cache Gestion des différents types de stockages Services et protocoles Applicatifs de l’Internet 34 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Applicatifs d’information réseaux Généralités But : obtenir des informations de configuration : users / password groups netgroups imprimantes ... Applicatifs existants : NIS LDAP ... Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 35 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Applicatifs d’information réseaux Network Information Service Développé par SUN : Yellow Pages (yp) Pour cause de copyright renommé NIS Protocole utilisant les Remote Procedure Call entre clients et serveurs Plusieurs serveurs : un maı̂tre des esclaves qui sont synchronisés au maı̂tre Services et protocoles Applicatifs de l’Internet 36 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Lightweight Directory Access Protocol RFC 4510 : LDAPv3 Permet d’accéder à un annuaire suivant le modèle X.500 : Annuaire = Arbre contenant des entrées entrées = ensemble d’attributs + Distinguished Name (DN) Attribut = {nom;type;valeur(s)} Possibilité d’avoir des sous arbres sur différents serveurs Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 37 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire LDAP Généralités Protocole client-serveur Utilise TCP au port 389 Mode connecté Fonctionnement asynchrone (peut traiter plusieurs requêtes en même temps) Messages au format BER d’ASN.1 Sécurité avec TLS Services et protocoles Applicatifs de l’Internet 38 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Lightweight Directory Access Protocol Exemple de structure dn: uid=John Doe,ou=people ,dc=example,dc=org cn: John Doe givenName: John sn: Doe telephoneNumber: +1 555 6789 telephoneNumber: +1 555 1234 mail: [email protected] objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top dc: org dc: example ou: people ou: groups uid: John Doe Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 39 / 64 Résolution de noms Synchronisation d’horloges Accès fichiers à distance Service d’annuaire Applicatifs d’information réseaux Opérations LDAP Bind (lien) : Authentification Commencer TLS : Protection de la connexion avec TLS Rechercher une entrée Tester si une entrée contient un attribut Ajouter une entrée Effacer une entrée Modifier une entrée Modifier le DN d’une entrée Abandonner une requête Arrêt de la connexion Services et protocoles Applicatifs de l’Internet 40 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Connexion à distance Généralités But : Se connecter à distance à une machine et agir dessus Applications existantes : telnet rlogin ssh VNC (Virtual Network computing) connexion au bureau à distance Windows ... Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 41 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web Connexion à distance Telnet RFC 854 & 855 : The purpose of the TELNET Protocol is to provide a fairly general, bi-directional, eight-bit byte oriented communications facility. Its primary goal is to allow a standard method of interfacing terminal devices and terminal-oriented processes to each other. Protocole client-serveur Émule un terminal sur une machine distante (NVT) Utilise le port 23 de TCP Services et protocoles Applicatifs de l’Internet 42 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Telnet Protocole Ouverture de la connexion TCP Attachement des extrémités de la connexion à des terminaux virtuels Négociation d’options DO, DON’T, WILL, WON’T Ex : DO ECHO, WILL TERMINAL TYPE Communication Fermeture de connexion Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 43 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web Telnet Sécurité Failles de sécurité sur les serveurs Communications non cryptées Pas de système d’authentification Services et protocoles Applicatifs de l’Internet 44 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Connexion à distance Secure SHell RFC 4251 The Secure Shell (SSH) Protocol is a protocol for secure remote login and other secure network services over an insecure network. [. . . ] The SSH protocol consists of three major components: The Transport Layer Protocol provides server authentication, confidentiality, and integrity with perfect forward secrecy. The User Authentication Protocol authenticates the client to the server. The Connection Protocol multiplexes the encrypted tunnel into several logical channels. Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 45 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web SSH Architecture Services et protocoles Applicatifs de l’Internet 46 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web SSH Exemples d’utilisations Connexion à distance ssh [-X] [<user>@]<host> Permet de se connecter à distance sur la machine donnée. Le paramètre user permet de se connecter sous un autre compte. L’option -X permet de spécifier le transfert d’affichage X. garciafa@guinness: $ ssh -X garciafa@jupiler garciafa@jupiler’s password: Linux jupiler 2.6.18-5-686 #1 SMP Mon Dec 24 16:41:07 UTC 2007 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon May 10 17:50:01 2010 from guinness.recherche.enac.fr garciafa@jupiler: $ Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 47 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web SSH Exemples d’utilisations Redirection de ports (tunneling ssh) ssh -L <local port>:<remote host >:<remote port> <host> Permet de lier local port sur la machine locale au port remote port sur la machine remote host. Services et protocoles Applicatifs de l’Internet 48 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Transfert de fichiers File Transfer Protocol RFC 959 : The objectives of FTP are : to promote sharing of files (computer programs and/or data), to encourage indirect or implicit (via programs) use of remote computers, to shield a user from variations in file storage systems among hosts, and to transfer data reliably and efficiently Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 49 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web File Transfert Protocol Généralités Protocole Client-Serveur Utilise les ports 20 et 21 de TCP Mode connecté Fonctionnement synchrone (asynchrone possible) Messages texte sur canal de commande Fin de transfert détectée par coupure de connexion Pas de sécurité (authentification par mot de passe en clair) Services et protocoles Applicatifs de l’Internet 50 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web File Transfert Protocol Fonctionnement de FTP Le client ouvre une connexion de contrôle vers le serveur au port 21 Quand des données doivent être envoyées, le client (mode actif) ou le serveur (mode passif) attendent une connexion de données au port 20 Mode de transfert des données : ASCII : traduction des codes de fin de ligne Binaire : transmission bit pour bit Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 51 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web Transfert de fichiers Commandes FTP Envoie d’une commande par le client GET PUT DIR REGET ... Réponse du serveur sous la forme de trois digits Services et protocoles Applicatifs de l’Internet 52 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Transfert de fichiers Sécurité Mots de passes en clair, pas d’authentification : Utilisation de FTPS (FTP over SSL) Utilisation de SFTP (SSH FTP) Configuration des firewalls : Deux connexions par session FTP Le sens des connexions varie Services et protocoles Applicatifs de l’Internet 53 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Messagerie Généralités Deux fonctionnalités : Envoie de messages : Émission par le client Relai par les serveurs Utilisation de SMTP Récupération des messages : Réception par le client sur sa demande Messages conservés sur le serveur en attendant la récupération Utilisation de POP ou IMAP Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 55 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web Messagerie Simple Mail Transfer Protocol RFC 2821 The objective of the Simple Mail Transfer Protocol (SMTP) is to transfer mail reliably and efficiently. Architecture client-serveur Client (Émetteur) / Serveur (Récepteur) Utilise TCP au port 25 Mode connecté Fonctionnement synchrone Messages texte Pas de sécurité par défaut (TLS possible) Services et protocoles Applicatifs de l’Internet 56 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Messagerie Fonctionnement de SMTP S: C: S: C: S: C: S: C: S: C: C: C: C: C: C: C: S: C: S: 220 www.example.com ESMTP Postfix HELO mydomain.com 250 Hello mydomain.com MAIL FROM:[email protected] 250 Ok RCPT TO:[email protected] 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> Subject: test message From: [email protected] To: [email protected] Hello, This is a test. . 250 Ok: queued as 12345 QUIT 221 Bye Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 57 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web Messagerie Support des formats binaires SMTP seul supporte les transmissions ASCII (caractères de 7 bits) Ajout nécessaires pour le support de données binaires : Multipurpose Internet Mail Extension (MIME) Amélioration des Mail Transfer Agents (MTA) : Sendmail est ”8-bit clean” Services et protocoles Applicatifs de l’Internet 58 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Messagerie Post-Office Protocol RFC 1939 (POP3) Protocole client-serveur : Client : récupère les messages d’un utilisateur Serveur : Stocke les messages Utilise TCP au port 110 Possibilité de cryptage avec TLS (Transport Layer Security) Le client se connecte, s’identifie puis récupère les messages et les efface ou les laisse sur le serveur Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 59 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web Messagerie Internet MessageAccess Protocol RFC 3501 : IMAP 4 rev 1 Protocole Client-Serveur : Utilise TCP au port 143 Possibilité de se connecter à plusieurs sur une boite aux lettre Récupération partielle des mails Système de recherche sur le serveur Mais plus compliqué que POP Services et protocoles Applicatifs de l’Internet 60 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Web HyperText Transfer Protocol RFC 2616 : HTTP/1.1 Permet d’accéder à des ressources (historiquement documents HTML) sur le World Wide Web. Architecture client/serveur Utilise TCP au port 80 Pas de connexion au niveau applicatif Fonctionnement synchrone Messages au format texte et utilisation de MIME Séparation des messages par comptage d’octets Sécurité avec https (utilisation de TLS) Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 61 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web Web Requêtes GET Demande la présentation de la ressource spécifiée HEAD Idem mais seulement le header est récupéré POST Envoie des données pour traitement par la ressource PUT, DELETE, TRACE, OPTIONS, CONNECT Services et protocoles Applicatifs de l’Internet 62 / 64 Protocoles applicatifs Services applicatifs Applications du monde Internet Connexion à distance Transfert de fichiers Messagerie World Wide Web Web Unified Remote Identifier Méthode de localisation de ressources sur le réseau Cas de HTTP : Uniform Ressource Locator (URL) Structure générique : scheme : authority / path ? query # fragment ex : tel : +33 05 62 17 41 97 URL : {http | https} : // serveur [: port] / [path] [? query] [# fragment] Services et protocoles Applicatifs de l’Internet Protocoles applicatifs Services applicatifs Applications du monde Internet 63 / 64 Connexion à distance Transfert de fichiers Messagerie World Wide Web Web Connexions Transport HTTP 1.0 utilisait une connexion TCP par objet transféré : La fenêtre de congestion n’a pas le temps de s’ouvrir Peu efficace dans le cas d’un page avec beaucoup d’objets (images par ex.) HTTP 1.1 utilise l’option KeepAlive : Si elle est absente ou spécifié la connexion ne devrait pas être fermée immédiatement par le serveur (sauf pour des cas d’économie de ressources) Si NoKeepAlive est utilisé, le fonctionnement est le même qu’en HTTP 1.0 Services et protocoles Applicatifs de l’Internet 64 / 64