Mr. B. Benaissa Centre universitaire Nâama
Dans ce chapitre, nous allons examiner le rôle de la couche application. Nous découvrirons également comment les applications, les services et les protocoles de la couche application permettent une communication fiable via les réseaux de données.
Couche application La couche application est la plus proche de l'utilisateur final. C'est elle qui sert d'interface entre les applications que nous utilisons pour communiquer et le réseau sous-jacent via lequel nos messages sont transmis. Les protocoles de couche application sont utilisés pour échanger des données entre les programmes s'exécutant sur les hôtes source et de destination. Les protocoles de couche application les plus connus sont HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), TFTP (Trivial File Transfer Protocol), IMAP(Internet Message Access Protocol) DNS (Domain Name System).
Couche présentation La couche présentation remplit trois fonctions principales : Elle met en forme ou présente les données provenant du périphérique source dans un format compatible pour la réception par le périphérique de destination. Elle compresse les données de sorte que celles-ci puissent être décompressées par le périphérique de destination. Chiffrement des données en vue de leur transmission et déchiffrement des données reçues par le périphérique de destination. La couche présentation met en forme les données pour la couche application et elle définit les normes des formats de fichiers. QuickTime et MPEG (Motion Picture Experts Group) comptent parmi les normes de vidéo les plus courantes. Les formats d'images GIF (Graphics Interchange Format), JPEG (Joint Photographic Experts Group) et PNG (Portable Network Graphics). GIF et JPEG sont des normes de compression et de codage pour les images graphiques. Le format PNG a été conçu pour pallier certaines des limitations du format GIF et pour le remplacer par la suite.
Couches session Les fonctions de la couche session créent et gèrent les dialogues entre les applications source et de destination. La couche session traite l'échange des informations pour commencer et maintenir un dialogue et pour redémarrer les sessions interrompues ou inactives pendant une longue période.
Protocoles de couche application TCP/IP Tandis que le modèle OSI sépare les fonctions application, présentation et session, les applications TCP/IP les plus connues et les plus répandues intègrent les fonctionnalités des trois couches. Les protocoles d'application TCP/IP spécifient les informations de format et de contrôle nécessaires à un grand nombre de fonctions courantes de communication via Internet. Voici certains de ces protocoles TCP/IP : DNS (Domain Name System) : Traduit les adresses Internet (URL) en adresses IP. Telnet : Permettre un accès distant aux serveurs et aux périphériques réseau. SMTP (Simple Mail Transfer Protocol) : Transmet les e-mails et leurs pièces jointes. DHCP (Dynamic Host Configuration Protocol) : Attribuer une adresse IP, un masque de sous-réseau, une passerelle par défaut et des adresses de serveur DNS à un hôte. HTTP (Hypertext Transfer Protocol) : Transférer les fichiers qui constituent les pages du Web. FTP (File Transfer Protocol) : protocole utilisé pour le transfert interactif de fichiers entre des systèmes. TFTP (Trivial File Transfer Protocol) : Transfert actif de fichiers sans connexion. BOOTP (Bootstrap Protocol): Précurseur du DHCP. Utilisé pour obtenir des informations d'adresse IP lors du démarrage. POP (Post Office Protocol) : Utilisé par les clients de messagerie pour récupérer des e-mails à partir d'un serveur distant. IMAP (Internet Message Access Protocol) : autre protocole de récupération des e-mails.
Exercice
Réponse
Réseaux P2P Interaction des protocoles d'application avec les appli. des utilisateurs finaux Dans un réseau P2P, au moins deux ordinateurs sont connectés via un réseau et peuvent partager des ressources (telles que des imprimantes et des fichiers) sans disposer de serveur dédié. Chaque périphérique final connecté («peer» ou «homologue») peut opérer en tant que serveur ou en tant que client. Les réseaux P2P décentralisent les ressources sur un réseau. Au lieu d'être stockées sur des serveurs dédiés, les données à partager peuvent se situer n'importe où et sur n'importe quel périphérique connecté.
Applications peer to peer (P2P) Une application P2P permet à un périphérique - d'agir à la fois en tant que client et serveur - Les rôles de client et de serveur sont définis en fonction de chaque requête. Cependant, les applications P2P nécessitent que chaque périphérique final fournisse une interface utilisateur et exécute un service en arrièreplan. Les applications P2P peuvent être utilisées sur des réseaux P2P, des réseaux client/serveur et via Internet.
Applications P2P courantes Avec les applications P2P, chaque ordinateur du réseau exécutant l'application peut servir de client ou de serveur pour les autres ordinateurs du réseau exécutant l'application. Voici certaines des applications P2P courantes : edonkey emule Shareaza BitTorrent Bitcoin LionShare Certaines applications P2P sont basées sur le protocole Gnutella. Elles permettent aux utilisateurs de partager des fichiers stockés sur leurs disques durs avec d'autres personnes De nombreuses applications clientes permettent d'accéder au réseau Gnutella, notamment BearShare, Gnucleus, LimeWire, Morpheus, WinMX et XoloX.
Modèle client-serveur Dans le modèle client-serveur, le périphérique qui demande les informations est appelé «client» et celui qui répond à la requête est appelé «serveur». Les protocoles de couche application décrivent le format des requêtes et des réponses entre clients et serveurs. Outre le transfert de données proprement dit, cet échange peut également nécessiter l'authentification de l'utilisateur et l'identification des fichiers de données à transférer. Bien que les données soient généralement décrites comme étant transmises du serveur au client, certaines données sont toujours transmises du client au serveur. Le flux de données peut être égal dans les deux sens ou même plus important dans le sens client vers serveur le téléchargement de données d'un client vers un serveur est dit «ascendant» et le téléchargement de données d'un serveur vers un client est dit «descendant».
Protocoles de couche application courants HTTP et HTML Lorsqu'une adresse Web (ou URL pour Uniform Resource Locator) est saisie dans un navigateur Web, ce dernier établit une connexion avec le service Web s'exécutant sur le serveur à l'aide du protocole HTTP. L'URL et l'uri (Uniform Resource Identifier) sont les noms que la plupart des utilisateurs associent aux adresses Web.
HTTP et HTTPS Le protocole HTTP est utilisé à travers le Web pour le transfert des données et constitue l'un des protocoles d'application les plus utilisés. Au départ, il a été développé simplement pour publier et récupérer des pages HTML, mais la flexibilité de ce protocole en a fait une application indispensable dans les systèmes informatiques distribués et de collaboration.
Les protocoles SMTP, POP et IMAP
Les protocoles SMTP Le protocole SMTP (Simple Mail Transfer Protocol) permet de transférer les e-mails de manière fiable et efficace. Pour que les applications SMTP fonctionnent, le message doit être correctement formaté et les processus SMTP doivent être exécutés à la fois sur le client et sur le serveur. Le serveur de messagerie de destination peut ne pas être en ligne, ou peut être occupé, lors de l'envoi des messages. Par conséquent, le protocole SMTP met le message en attente pour envoi ultérieur. Régulièrement, le serveur vérifie si des messages se trouvent dans la file d'attente et essaie de les renvoyer. À l'issue d'une durée donnée, si le message n'est toujours pas transmis, il est renvoyé à son expéditeur comme non délivrable.
Les protocoles POP Le protocole POP (Post Office Protocol) permet à un ordinateur de récupérer des e-mails à partir d'un serveur de messagerie. Avec POP, l'e-mail est téléchargé du serveur au client, puis supprimé du serveur. Le protocole POP ne stocke pas les messages Le protocole POP3 convient à un FAI puisqu'il lui évite d'avoir à gérer de grandes quantités de stockage sur leurs serveurs de messagerie.
IMAP (Internet Message Access Protocol) Le protocole de messagerie IMAP décrit une autre méthode de récupération des messages électroniques. Toutefois, contrairement au protocole POP, lorsque l'utilisateur se connecte à un serveur IMAP, des copies des messages sont téléchargées vers l'application cliente. Les messages originaux sont conservés sur le serveur jusqu'à ce qu'ils soient supprimés manuellement. Les utilisateurs affichent des copies des messages dans leur logiciel de messagerie. Pour un FAI, le protocole IMAP peut ne pas être le choix idéal. Le protocole POP3 convient à un FAI puisqu'il lui évite d'avoir à gérer de grandes quantités de stockage sur leurs serveurs de messagerie.
Services d'adressage IP Domain Name Service (service de noms de domaines) On ne peut retenir des IP des hôtes ou serveurs distants. Pour cette raison, des noms de domaine ont été créés. Le protocole DNS permet la résolution de nom pour ces réseaux. Le protocole DNS utilise un ensemble distribué de serveurs pour convertir les noms associés à l IP. La commande ipconfig /displaydns affiche toutes les entrées DNS mises en cache sur un système Windows.
Format du message DNS
nslookup Le protocole DNS est un service client/serveur. Les autres services utilisent un client qui est une application (par exemple, un navigateur Web ou un client de messagerie) tandis que le client DNS s'exécute lui-même en tant que service. Lorsque la commande nslookup est exécutée, le serveur DNS par défaut configuré pour votre hôte s'affiche. Dans cet exemple, le serveur DNS est: resolver8.level3.net et possède l'adresse 4.2.2.6 Le nom d'un hôte ou d'un domaine peut être saisi dans l'invite nslookup. Lorsque vous avez terminé, saisissez exit pour quitter l'utilitaire nslookup.
Protocole DHCP (Dynamic Host Configuration Protocol) adressage dynamique Le service fourni par le protocole DHCP permet aux périphériques d'un réseau d'obtenir d'un serveur DHCP des adresses IP, des masques de sous-réseau, de la passerelle et d'autres paramètres de configuration réseau IP.
Acheminement de messages via les réseaux L'explosion massive des applications s'explique principalement par l'intelligence de l'approche par couches du traitement des données à travers un réseau. Plus précisément, le fait de séparer le rôle de la couche application et le rôle du transport des données permet la modification des protocoles de couche application et le développement de nouvelles applications, sans que le développeur ne doivent se soucier des mécanismes de transmission des données sur le réseau. D'autres couches et donc d'autres développeurs s'en chargent. La première étape consiste à créer des données au niveau de la couche application du périphérique final source d'origine. Une fois que la requête du client Web, appelée HTTP GET, est établie, ces données sont ensuite codées, compressées et chiffrées si nécessaire. Cette étape relève du protocole de la couche application du modèle TCP/IP, mais elle comprend la fonctionnalité décrite par les couches application, présentation et session du modèle OSI. La couche application transmet ces données sous forme de flux vers la couche transport.
Acheminement des données jusqu'au périphérique final Ensuite, les identifiants d'adresse sont ajoutés aux segments. Le rôle de la couche réseau consiste à ajouter l'adressage qui permet la transmission des données depuis l'hôte à l'origine des données jusqu'à l'hôte qui les utilise. Pour remplir cette mission, la couche réseau encapsule chaque segment dans un en-tête de paquet IP. L'en-tête de paquet IP contient l'adresse IP des périphériques source et de destination. (L'adresse IP du périphérique de destination est généralement déterminée par un processus d'application précédent, appelé service de noms de domaine). La combinaison des adresses IP source et de destination avec les numéros des ports sources et de destination est appelée une interface de connexion (ou socket). L'interface de connexion sert à identifier le serveur et le service demandés par le client.
Acheminement des données à travers l'inter-réseau Préparation au transport Une fois que l'adressage IP est ajouté, le paquet est transmis à la couche d'accès au réseau pour la génération des données sur les supports. Pour ce faire, la couche d'accès au réseau doit d'abord préparer le paquet à la transmission en le plaçant dans une trame comportant un en-tête et une fin. Cette trame contient l'adresse physique de l'hôte source, ainsi que l'adresse physique du tronçon suivant vers la destination finale. Cette opération correspond au rôle de la couche 2 (couche liaison de données) du modèle OSI. La couche 2 est chargée de la livraison des messages sur un réseau local unique. L'adresse de couche 2 est unique sur le réseau local et représente l'adresse du périphérique final sur le support physique. Dans un réseau local qui utilise Ethernet, cette adresse est appelée adresse MAC (Media Access Control). Une fois que la couche d'accès au réseau a préparé la trame à l'aide des adresses sources et de destination, elle convertit la trame en bits, puis en impulsions électriques ou signaux lumineux envoyés sur les supports du réseau.
Acheminement des données à travers l'inter-réseau Transport des données Les données sont acheminées via l'inter-réseau, qui se compose de supports et de périphériques intermédiaires. Lorsque le message encapsulé est transmis sur le réseau, il peut traverser plusieurs supports et des types de réseau différents. La couche d'accès au réseau spécifie les techniques permettant de placer la trame sur chaque support et de la récupérer. Ces techniques sont des méthodes de contrôle d'accès aux supports. Si l'hôte de destination se trouve sur le même réseau que l'hôte source, le paquet est acheminé entre les deux hôtes sur le support local sans nécessiter de routeur. Cependant, si l'hôte de destination et l'hôte source ne se trouvent pas sur le même réseau, le paquet peut être transporté sur plusieurs réseaux, sur différents types de supports et à travers plusieurs routeurs. Lors de leur acheminement sur le réseau, les informations contenues dans la trame ne sont pas modifiées. À la limite de chaque réseau local, un périphérique réseau intermédiaire, généralement un routeur, désencapsule la trame pour lire l'adresse hôte de destination contenue dans l'en-tête du paquet. Les routeurs utilisent la partie d'identificateur de réseau de cette adresse pour déterminer le chemin à utiliser afin d'atteindre l'hôte de destination. Une fois le chemin déterminé, le routeur encapsule le paquet dans une nouvelle trame et l'envoie au tronçon suivant vers le périphérique final de destination.
Acheminement des données jusqu'à l'application adéquate Enfin, le périphérique final de destination reçoit la trame. Celle-ci passe alors à travers la pile de protocoles qui dés-encapsule les données et les réassemble. Les données traversent toutes les couches : couche d'accès au réseau, puis couche réseau, puis couche transport et enfin couche application où elles peuvent être traitées. Mais comment le périphérique peut-il être sûr que le processus d'application approprié est identifié? Au niveau de la couche transport, les informations contenues dans l'en-tête de l'unité de données de protocole identifient le processus ou le service spécifique exécuté sur le périphérique hôte de destination qui traitera les données. Les hôtes, qu'il s'agisse de clients ou de serveurs sur Internet, peuvent exécuter simultanément plusieurs applications réseau. Chaque application ou service est représenté(e) au niveau de la couche 4 par un numéro de port. Un dialogue unique entre des périphériques est identifié par une paire de numéros de port source et de destination de la couche 4, qui représentent les deux applications qui communiquent. Lors de la réception des données sur l'hôte, le numéro de port est examiné pour déterminer quel processus ou application constitue la destination correcte des données.
Résumé La couche application accède directement aux processus sous-jacents qui gèrent et permettent la communication entre les utilisateurs connectés au réseau. Cette couche sert de source et de destination des communications via les réseaux de données. Les applications, les protocoles et les services de la couche application permettent aux utilisateurs d'interagir avec le réseau de données de manière cohérente et efficace. Les applications sont des programmes informatiques avec lesquels les utilisateurs interagissent et qui lancent le processus de transfert de données à la demande des utilisateurs. Les services sont des programmes s'exécutant en tâche de fond qui assurent la connexion entre la couche application et les couches inférieures du modèle de réseau. Les protocoles fournissent une structure de règles et de processus convenus grâce auxquels les services s'exécutant sur un périphérique particulier peuvent envoyer et recevoir des données de divers périphériques réseau.
Résumé (suite) L'acheminement de données via le réseau peut être demandée à un serveur par un client ou d'un périphérique à un autre dans un schéma P2P où la relation client/serveur est établie selon le périphérique qui, à ce moment, est la source ou la destination. Des messages sont échangés entre les services de la couche application au niveau de chaque périphérique final selon les spécifications de protocole pour établir et utiliser ces relations. Des protocoles tels que HTTP, par exemple, prennent en charge l'envoi de pages Web vers des périphériques finaux. Les protocoles SMTP et POP prennent en charge l'envoi et la réception d'e-mails. Les protocoles SMB et FTP permettent aux utilisateurs de partager des fichiers. Les applications peer-to-peer (P2P) permettent aux particuliers de partager facilement et de manière fluide des éléments multimédias de manière distribuée. Le protocole DNS convertit en adresses numériques utilisables par le réseau les noms humainement compréhensibles et utilisés pour faire référence aux ressources réseau. Tous ces éléments collaborent, au niveau de la couche application. La couche application permet aux utilisateurs de travailler et de jouer sur Internet.
Fin Prochain cours : Terminologie réseaux