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.

Aperçu du modèle OSI et rôle de chacune des sept couches
Figure 1 : Aperçu du modèle OSI et rôle de chacune des sept couches
On peut considérer la couche 7 comme le centre de contrôle du réseau. Tout comme le cerveau contrôle le corps humain, la couche 7 assure la gestion et la coordination des communications entre différentes applications.

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.

Sécurité de couche 7 avec pare-feu d’applications web (WAF)
Figure 2 : Sécurité de couche 7 avec pare-feu d’applications web (WAF)

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.

Modèle OSI vs modèle TCP/IP
Figure 3 : Modèle OSI vs modèle TCP/IP

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.

  1. Interface réseau (OSI : couche physique + couche de liaison de données)
  2. Internet (OSI : couche réseau)
  3. Transport
  4. 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).

Couche 7 et modèle OSI : les questions fréquentes

Le flux binaire (de l’anglais « bitstream ») désigne une séquence de bits qui représente un flux continu d’informations dans un format brut binaire. Dans le contexte informatique ou de communications numériques, il peut s’agir de texte, d’images, ou de contenus audio ou vidéo. C’est l’unité fondamentale de transmission et de stockage des données. Chaque bit (ou chiffre binaire) du flux binaire peut avoir comme valeur 0 ou 1.
Il s’agit d’une méthode de détection des erreurs utilisée pour assurer l’intégrité des données au sein du réseau. Concrètement, il prend la forme d’un calcul ajouté à la fin d’une trame de données pendant la transmission. Lorsqu’il reçoit la trame, l’appareil de destination recalcule le FCS et le compare à la valeur reçue. Si les deux valeurs sont identiques, la trame est considérée comme juste et sans erreur.
Dans le modèle OSI, la sous-couche LLC fait partie de la couche liaison. Elle fournit une interface pour les protocoles de la couche réseau et la sous-couche MAC, ce qui permet à différents protocoles réseau d’opérer sur différents types de réseaux. La sous-couche LLC corrige les erreurs et contrôle le flux, et peut offrir des services comme la transmission de données orientée connexion ou sans connexion.
Il s’agit d’un protocole de multiplexage sur les réseaux utilisant IEEE 802.2 LLC. SNAP fournit un mécanisme conçu pour identifier le protocole utilisé au niveau de la couche réseau. Divers protocoles réseau peuvent ainsi être encapsulés au sein d’une unité de données LLC et transmis sur le réseau.
« Token ring » désigne un type de technologie LAN qui organise les appareils selon une topologie logique en anneaux. La communication s’opère par la transmission d’un jeton (token). Le token est un schéma spécifique de bits qui circule autour de l’anneau. L’appareil qui détient le token a l’autorisation de transmettre les données. Ensuite, le token est transmis à l’appareil qui le suit dans la séquence. En garantissant un accès ordonné au réseau, ce mécanisme de « token passing » réduit les collisions.
Non. En tant que 7e et dernière couche du modèle, elle dépend des services fournis par les couches inférieures pour assurer une communication efficace. Elle s’appuie sur la couche de session (couche 5) pour gérer les connexions entre les applications, tandis que les couches inférieures garantissent la fiabilité des transmissions de données.
Il y en a plusieurs. Les équilibreurs de charge de couche 7 assurent un contrôle plus granulaire sur le routage du trafic réseau en analysant le contenu de ce dernier. Ils peuvent également manipuler le trafic, notamment en modifiant les messages d’en-tête HTTP ou en effectuant un offload SSL. Bien que l’équilibrage de charge au niveau de la couche 7 implique davantage de traitement que sur les couches inférieures, il se prête particulièrement aux complexités des applications de nouvelle génération, en particulier dans le cloud.
La couche 7 prend en charge une grande variété de protocoles, chacun étant pensé pour des types spécifiques de communications réseau. Ainsi, le protocole HTTP est utilisé pour la navigation web, le SMTP pour la messagerie électronique, et le FTP pour les transferts de fichiers. La couche 7 garantit l’utilisation du bon protocole en fonction des besoins de chaque application.
Il s’agit d’une solution de sécurité qui filtre et surveille le trafic HTTP/HTTPS entre une application web et Internet. De par leur capacité à détecter et neutraliser les requêtes malveillantes avant que les applications et serveurs web ne les acceptent, ils assurent une protection contre les attaques au niveau de la couche application (couche 7), y compris celles de type injection SQL, scripts intersites (XSS) et DDoS.