Qu’est-ce que la couche 7 ?
La couche 7 (L7), ou couche application, et le 7e et dernier niveau du modèle OSI (Open Systems Interconnection), un cadre de standardisation qui segmente les fonctions d’un système de communication en sept catégories. La couche 7 s’interface avec les applications exécutées sur un appareil hôte et leur fournit des services visant à faciliter les interactions des utilisateurs avec ces applications. L’e-mail, les transferts de fichiers ou encore la navigation web comptent parmi les opérations effectuées au niveau de cette couche.
Anatomie de la couche 7
La couche 7 (ou couche application) du modèle OSI joue un rôle essentiel dans la communication réseau. C’est elle qui fournit l’interface entre les applications et le réseau au sein duquel transitent les données. Ce faisant, elle offre un large éventail de services directement aux applications exécutées sur un appareil hôte.
Comprendre le modèle OSI
Le modèle OSI est un cadre conceptuel représentant le parcours des données au sein d’un réseau. Mis au point par l’Organisation internationale de normalisation (ISO) en 1984, il est aujourd’hui considéré comme le modèle standard des communications réseau.
Cette architecture offre une représentation systématique des processus de communication réseau, chaque couche jouant un rôle spécifique qui contribue au fonctionnement global des communications réseau. Chaque couche communique avec celle qui la suit et celle qui la précède. Les données transitent par chacune des couches du côté émetteur, puis traverse le réseau avant d’effectuer le trajet inverse du côté récepteur.
Les couches du modèle OSI
Couche 1 – Couche physique : La première couche de l’architecture OSI transmet les données en flux binaire brut via des canaux physiques (cuivre, fibre optique, ondes radio…). Elle régit certains paramètres comme le débit binaire, la puissance du signal, les connecteurs physiques, les types de câbles et la topologie réseau. Cette couche assure l’intégrité des transmissions binaires au sein du réseau.
Couche 2 – Couche de liaison de données : La couche 2 structure les bits bruts provenant de la couche physique pour créer des trames de données, et gère les communications node-to-node au moyen d’adresses physiques (adresses MAC). Sa capacité à détecter et corriger les erreurs lui permet de garantir la fiabilité des transmissions de données. Cette couche gère par ailleurs l’accès au support physique via le protocole CSMA/CD et d’autres méthodes.
Couche 3 – Couche réseau : La couche réseau assure le transfert de blocs de données de longueurs variables (des « paquets ») d’un nœud à l’autre au sein de différents réseaux. Elle assure le routage des paquets selon un schéma d’adressage logique, et gère les saturations réseau ainsi que le séquençage des paquets.
Couche 4 – Couche de transport : La couche 4 gère les communications entre les systèmes hôtes source et de destination. Elle assure la fiabilité des transmissions, grâce notamment aux protocoles TCP et UDP. Elle régule également le flux de données, vérifie les erreurs et segmente les paquets.
Couche 5 – Couche de session : La couche de session établit, gère et clôt les connexions (ou sessions) entre les applications aux deux extrémités de la communication.
Couche 6 – Couche de présentation : La couche de présentation concerne le codage des données, à savoir leur traduction dans un format standard. Les opérations de chiffrement, de décryptage et de compression de données sont effectuées à ce niveau. La couche 6 fait en sorte que les données transmises depuis la couche application d’un système puisse être lues par la couche application d’un autre système.
Couche 7 – Couche application : Dernier niveau du modèle OSI, la couche application sert d’interface pour les communications entre les utilisateurs/processus et le réseau. Elle fournit des services spécifiques à chaque application, dont la navigation web (HTTP), le transfert de fichiers ou la messagerie électronique.
Parcours des données dans l’architecture OSI
Les données parcourent l’architecture OSI lors d’un processus appelé « encapsulation » dans un sens et « désencapsulation » dans l’autre. Ce processus a lieu lorsque des données sont transmises depuis un appareil émetteur vers un appareil récepteur.
Encapsulation (acheminement des données vers le bas)
L’encapsulation démarre au niveau de la couche application (couche 7) sur l’appareil émetteur. Les données utilisateur sont d’abord converties dans un format adapté à la transmission, puis transférées vers la couche de présentation (couche 6) où elles sont traduites, compressées ou chiffrées. La couche de session (couche 5) ouvre une session qui prend fin une fois le transfert des données terminé.
La couche de transport (couche 4) reçoit les données, les divise en segments, puis ajoute un en-tête TCP ou UDP incluant des numéros de port. La couche réseau (couche 3) ajoute ensuite un en-tête IP contenant les adresses IP des appareils émetteur et récepteur. Il convertit ainsi le segment en paquet.
Au niveau de la couche de liaison de données (couche 2), le paquet de données est encapsulé pour créer une trame. Sont alors ajoutés des adresses MAC dans l’en-tête et un code FCS (Frame Check Sequence) à la fin de la trame. Pour finir, la couche physique (couche 1) convertit la trame en données binaires (bits) afin qu’elles puissent être transmises via le canal physique.
Désencapsulation (acheminement des données vers le haut)
Après avoir atteint l’appareil de destination, les données remontent l’architecture OSI dans le sens inverse. Au niveau de la couche physique, les bits reçus sont reconvertis en trames. La couche de liaison détecte les éventuelles erreurs dans le code FCS, supprime les adresses MAC de la trame et transmet le paquet à la couche réseau.
Celle-ci supprime les adresses IP du paquet pour le reconvertir en segment, et ce dernier est transmis à la couche de transport. La couche de transport s’assure que les données arrivent dans le bon ordre, accuse réception du paquet, et supprime l’en-tête TCP ou UDP.
À ce stade, les données ont retrouvé leur format initial. Elles transitent via les couches de session et de présentation, où la session prend fin, et les éventuelles traductions ou opérations de chiffrement effectuées en amont sont annulées. Dernière étape : au niveau de la couche application, les données utilisateur de départ sont transmises à l’application de destination dans un format compatible.
Le rôle de la couche 7
La couche 7 facilite les communications entre les applications et les services réseau de niveau inférieur, sans se soucier des détails de mise en œuvre sous-jacents. Sa fonction consiste à fournir des méthodes permettant aux applications d’utiliser les services réseau. Pour faire simple, la couche 7 fait office d’interprète : elle traduit les données de l’utilisateur ou de l’application en protocole standard que les autres couches du modèle OSI sont en mesure de comprendre.
Les communications de bout en bout entre différents appareils reposent sur divers protocoles, dont chacun a une fonction spécifique. Quelques exemples :
Le protocole FTAM (File Transfer Access and Management) permet aux utilisateurs d’accéder à et de gérer les fichiers stockés dans un système distant.
Le protocole SNMP (Simple Network Management Protocol) aide les administrateurs réseau à gérer, surveiller et configurer les équipements réseau.
Le protocole CMIP (Common Management Information Protocol) spécifie les procédures d’échanges d’informations sur le réseau.
Le protocole HTTP (Hypertext Transfer Protocol) permet les communications entre clients et serveurs sur le web.
Équilibrage de charge en couche 7
Les équilibreurs de charge répartissent le trafic réseau entre différents serveurs afin d’optimiser l’utilisation des ressources, de minimiser le temps de réponse et d’éviter la surcharge d’une machine particulière.
Au niveau de la couche 7, les équilibreurs de charge ajoutent une dimension supplémentaire à la distribution du trafic sur le réseau. Au niveau de la couche 4, les décisions de routage sont prises en fonction d’informations réseau (adresse IP, port TCP/UDP…). Pour leur part, les équilibreurs de charge de la couche 7 inspectent le contenu des paquets de données.
Ils peuvent analyser la charge utile (payload) du paquet réseau en tenant compte d’éléments comme les en-têtes HTTP, les cookies ou les données inclus dans le message à destination de l’application. Cela leur permet, par exemple, d’acheminer le trafic vers différents serveurs en fonction de l’URL ou du type de contenu qui fait l’objet de la requête (images, scripts, textes…).
Sécurité de couche 7
Quel que soit l’environnement (on-prem, cloud ou hybride), il est essentiel de sécuriser la couche application pour protéger les données sensibles et assurer la disponibilité des services. En effet, étant donné qu’elle communique directement avec les utilisateurs et leurs données, la couche 7 est la cible des cybercriminels déterminés à accéder aux identifiants de connexion et aux données à caractère personnel des utilisateurs. À ce niveau, les menaces les plus courantes sont les attaques de la couche application et les attaques par déni de service distribué (DDoS).
Les attaques de la couche application cherchent à exploiter les vulnérabilités inhérentes aux applications : saisies mal validées, paramètres de configuration non sécurisés, etc. Quant aux attaques DDoS de couche 7, elles visent à paralyser un serveur, un service ou un réseau en lui envoyant plus de requêtes qu’il ne peut en traiter. À la différence des attaques DDoS traditionnelles qui saturent les réseaux avec des volumes massifs de trafic, les attaques DDoS de couche 7 démarrent souvent à un rythme évoquant un comportement utilisateur normal. Elles sont donc plus difficiles à détecter.
Dans les environnements cloud-native, des outils comme Kubernetes intègrent des mécanismes spécialement conçus pour sécuriser la couche 7. Or, il n’est pas rare que ces mécanismes nécessitent des dispositifs de sécurité supplémentaires, comme des pare-feu d’applications web (WAF), des systèmes de détection des intrusions (IDS), ou encore des politiques de sécurité robustes.
Les WAF, en particulier, jouent un rôle essentiel dans la mesure où ils opèrent au niveau de la couche application. Ils sont ainsi en mesure d’analyser le contexte et de décider de bloquer ou non les requêtes en fonction du contenu du paquet. Les WAF peuvent également filtrer le trafic malveillant selon des règles définies pour les protocoles HTTP/HTTPS, offrant ainsi un contrôle plus granulaire du trafic réseau que les pare-feu réseau traditionnels.
Modèle OSI vs modèle TCP/IP
À l’instar du modèle OSI, le modèle TCP/IP spécifie la façon dont les protocoles réseau interagissent et interopèrent pour fournir des services réseau. Néanmoins, ils se différencient par leur structure, leurs niveaux d’abstraction et leur degré d’adoption.
Structure et niveaux d’abstraction
Le modèle OSI possède sept couches, dont chacune fournit un ensemble de services spécifiques et fonctionne de manière indépendante, tout en interagissant avec les couches directement attenantes. Cette architecture s’est imposée comme la norme universelle pour décrire tous les types de communications réseau.
Plus axé sur les réalités de la communication réseau, le modèle TCP/IP regroupe certaines fonctions en une seule couche, et n’en possède donc que quatre.
- Interface réseau (OSI : couche physique + couche de liaison de données)
- Internet (OSI : couche réseau)
- Transport
- Application (OSI : couche de session + couche de présentation + couche application)
Degré d’adoption
Bien que très complète, l’architecture OSI n’a jamais fait l’unanimité dans le contexte concret des implémentations réseau. Son utilisation est restée conceptuelle : elle sert essentiellement d’outil permettant de comprendre et de décrire les interactions entre les protocoles réseau, ainsi que leur fonctionnement.
De son côté, le modèle TCP/IP repose sur deux protocoles qui forment les piliers de l’Internet moderne. Plus qu’un cadre de référence, il a été conçu pour résoudre des problèmes concrets et assurer une communication efficace sur des réseaux étendus (WAN).