Une couche d'application est une couche d'abstraction qui spécifie les protocoles de communication partagés et les méthodes d'interface utilisés par les hôtes dans un réseau de communication. Une abstraction de couche d'application est spécifiée à la fois dans la suite de protocoles Internet (TCP/IP) et dans le modèle OSI . Bien que les deux modèles utilisent le même terme pour leur couche de niveau le plus élevé respective, les définitions et les objectifs détaillés sont différents.
Suite de protocoles Internet
Dans la suite de protocoles Internet, la couche application contient les protocoles de communication et les méthodes d'interface utilisés dans les communications de processus à processus sur un réseau informatique IP ( Internet Protocol ). La couche application normalise uniquement la communication et dépend des protocoles de la couche transport sous-jacente pour établir des canaux de transfert de données d'hôte à hôte et gérer l'échange de données dans un modèle de réseau client-serveur ou peer-to-peer . Bien que la couche application TCP/IP ne décrive pas de règles ou de formats de données spécifiques que les applications doivent prendre en compte lors de la communication, la spécification originale (dans la RFC 1123) s'appuie sur le principe de robustesse et le recommande pour la conception des applications.
Modèle OSI
Dans le modèle OSI , la définition de la couche d'application a une portée plus étroite. Le modèle OSI définit la couche d'application comme étant uniquement l'interface responsable de la communication avec les applications basées sur l'hôte et les applications orientées utilisateur. OSI distingue ensuite explicitement la fonctionnalité de deux couches supplémentaires, la couche de session et la couche de présentation , en tant que niveaux distincts situés sous la couche d'application et au-dessus de la couche de transport. OSI spécifie une séparation modulaire stricte des fonctionnalités au niveau de ces couches et fournit des implémentations de protocole pour chacune. En revanche, la suite de protocoles Internet compile ces fonctions en une seule couche.
Sous-couches
À l'origine, le modèle OSI comprenait deux types de services de couche d'application avec leurs protocoles associés. Ces deux sous-couches sont l'élément de service d'application commun (CASE) et l'élément de service d'application spécifique (SASE). En général, un protocole de couche d'application est réalisé par l'utilisation de la fonctionnalité d'un certain nombre d'éléments de service d'application. Certains éléments de service d'application invoquent différentes procédures en fonction de la version du service de session disponible.
CAS
La sous-couche d'éléments de service d'application commune fournit des services pour la couche application et des services de demande à partir de la couche session. Elle fournit un support pour les services d'application communs, tels que :
- ACSE ( élément de service de contrôle d'association )
- ROSE (élément de service d'opération à distance)
- CCR (Engagement Concurrence et Récupération)
- RTSE (élément de service de transfert fiable)
SASE
La sous-couche d'élément de service d'application spécifique fournit des services spécifiques à l'application (protocoles), tels que :
- FTAM (Transfert, Accès et Gestion de Fichiers)
- VT (Terminal Virtuel)
- MOTIS (norme d'échange de texte orienté message)
- CMIP (Protocole commun d'information de gestion)
- JTM (Transfert et manipulation d'emploi)
- MMS (Spécification de messagerie industrielle)
- RDA (accès à distance à la base de données)
- DTP (traitement des transactions distribuées)
Protocoles
Le document de définition de l'IETF pour la couche application dans la suite de protocoles Internet est le RFC 1123. Il fournit un ensemble initial de protocoles qui couvrent les principaux aspects de la fonctionnalité de l' Internet primitif :
- Documents hypertextes : Protocole de transfert hypertexte (HTTP)
- Connexion à distance aux hôtes : Telnet , Secure Shell
- Transfert de fichiers : Protocole de transfert de fichiers (FTP), Protocole de transfert de fichiers trivial (TFTP)
- Transport de courrier électronique : Simple Mail Transfer Protocol (SMTP)
- Prise en charge réseau : système de noms de domaine (DNS)
- Initialisation de l'hôte : BOOTP
- Gestion d'hôte à distance : protocole SNMP ( Simple Network Management Protocol ), protocole CMOT (Common Management Information Protocol over TCP)
Exemples
Les protocoles de couche applicative notables supplémentaires incluent les suivants :
- 9P , Plan 9 du protocole de système de fichiers distribués de Bell Labs
- AFP, Protocole de dépôt d'Apple
- APPC, communication avancée de programme à programme
- AMQP, protocole avancé de mise en file d'attente de messages
- Protocole de publication Atom
- BEEP , protocole d'échange extensible en bloc
- Bitcoin
- BitTorrent
- CFDP, Protocole de distribution de fichiers cohérent
- CoAP, Protocole d'application contraint
- DDS, service de distribution de données
- DeviceNet
- DNS , services de noms de domaine
- eDonkey
- ENRP, protocole de redondance de l'espace de traitement des points de terminaison
- FastTrack (KaZaa, Grokster, iMesh)
- Doigt , Protocole d'information utilisateur
- Freenet
- FTAM , Accès et gestion des transferts de fichiers
- FTP, protocole de transfert de fichiers
- Gémeaux, protocole Gémeaux
- Gopher, protocole Gopher
- HL7, niveau de santé sept
- HTTP, protocole de transfert hypertexte
- Hypercore, anciennement dat://
- H.323 , système de communication multimédia par paquets
- IMAP , protocole d'accès aux messages Internet
- IRC, chat relais Internet
- IPFS, système de fichiers interplanétaire
- Kademlia
- LDAP, protocole d'accès aux annuaires léger
- LPD, protocole de démon d'imprimante de ligne
- MIME (S-MIME), extensions de messagerie Internet polyvalentes et MIME sécurisé
- Modbus
- Protocole MQTT
- Netconf
- NFS, système de fichiers réseau
- NIS, Service d'information sur le réseau
- NNTP, protocole de transfert de nouvelles en réseau
- NTCIP, Protocole national de communication pour les transports intelligents
- NTP, protocole de temps réseau
- OSCAR , protocole de messagerie instantanée AOL
- POP, Protocole de bureau de poste
- PNRP, protocole de résolution de noms entre pairs
- RDP, protocole de bureau à distance
- RELP, protocole fiable de journalisation des événements
- RFB, protocole de tampon de trame distant
- Rlogin , connexion à distance dans les systèmes UNIX
- RPC, appel de procédure à distance
- RTMP, protocole de messagerie en temps réel
- RTP, protocole de transport en temps réel
- RTPS , publication en temps réel, abonnement
- RTSP, protocole de diffusion en temps réel
- SAP, protocole d'annonce de session
- SDP, Protocole de description de session
- SIP, protocole d'initiation de session
- SLP, protocole de localisation de service
- SMB, bloc de messages du serveur
- SMTP, protocole simple de transfert de courrier
- SNTP, protocole de temps réseau simple
- SSH, Shell sécurisé
- SSMS, protocole de messagerie SMS sécurisée
- TCAP, partie application des capacités de transaction
- TDS, flux de données tabulaires
- Tor (réseau d'anonymat)
- Tox
- TSP, Protocole d'horodatage
- VTP, protocole de terminal virtuel
- Whois (et RWhois), protocole d'accès aux annuaires distants
- WebDAV
- WebRTC
- WebSocket
- X.400 , protocole de service de traitement de messages
- X.500 , protocole d'accès aux annuaires (DAP)
- XMPP, protocole extensible de messagerie et de présence
- 39,50 Z