1. Introduction au modèle OSI
Aux débuts de l’informatique en réseau, aucune règle commune n’encadrait la communication entre machines. Chaque fournisseur avait sa propre solution propriétaire. Le problème était que la solution d’un fournisseur n’était pas compatible avec la solution d’un autre.
Le modèle OSI répond à ce problème en découpant la communication en sept couches.
Un modèle ouvert, publié et accepté par l’ensemble des constructeurs, permet de bâtir des réseaux compatibles entre eux.
2. Ce que le modèle OSI décrit, et ce qu’il ne décrit pas
OSI est l’abréviation d’Open Systems Interconnection, en français « interconnexion de systèmes ouverts ». Il s’agit d’un modèle de référence publié par l’ISO (Organisation internationale de normalisation) : le modèle de référence paraît en 1984 sous la cote ISO 7498, et l’édition en vigueur date de 1994, sous la cote ISO/IEC 7498-1, cosignée avec la CEI (Commission électrotechnique internationale). Ce document ne fournit aucun logiciel et aucun câble : il découpe le travail à accomplir pour faire communiquer deux machines en sept fonctions distinctes, numérotées de 1 (la plus proche du support physique) à 7 (la plus proche du programme utilisateur).
Le principe de fonctionnement tient en deux phrases. Chaque couche rend un service précis à la couche située au-dessus d’elle, et s’appuie sur le service de la couche située en dessous. Chaque couche dialogue logiquement avec la couche de même rang sur la machine d’en face, en ajoutant aux données reçues un en-tête, parfois complété d’une fin de bloc comme la somme de contrôle d’une trame Ethernet, à destination de cette couche homologue.
- Couche : un ensemble de fonctions réseau regroupées parce qu’elles traitent le même type de problème.
- Protocole : l’ensemble des règles que deux couches de même rang appliquent pour se comprendre (format des messages, ordre des échanges, valeurs autorisées).
- En-tête : les octets de contrôle ajoutés devant les données par une couche, à destination de la couche homologue.
- PDU (Protocol Data Unit, unité de données de protocole) : le nom générique de ce qu’une couche manipule. Chaque couche lui donne un nom courant : bit en couche 1, trame en couche 2, paquet en couche 3, segment (TCP) ou datagramme (UDP) en couche 4 ; au-dessus, on parle simplement de données, et de message pour la couche 7.
- Encapsulation : l’action d’envelopper les données de la couche supérieure dans une nouvelle unité, en descendant de la couche 7 vers la couche 1.
Une précision utile dès le départ : le modèle OSI est un cadre de description, pas la pile logicielle qui fait fonctionner Internet. Une pile de protocoles OSI complète a existé, elle n’a pas été retenue en pratique. Ce sont les protocoles de la famille TCP/IP qui circulent réellement sur les réseaux, et ils ne se rangent pas toujours proprement dans une case OSI. Le modèle reste enseigné et utilisé parce qu’il fournit un vocabulaire commun et une méthode de diagnostic ordonnée.
3. Les couches basses : du signal au dialogue de bout en bout
Les couches 1 à 4 acheminent les données. Elles n’interprètent pas le contenu de ce qu’elles transportent : leur travail consiste à faire arriver une suite d’octets d’un point à un autre, sans erreur détectée et dans le bon ordre lorsque le protocole choisi le garantit.
Couche 1 — Physique (Physical)
La couche physique transporte des bits, c’est-à-dire des 0 et des 1 transformés en un signal réel : une tension électrique sur du cuivre, une impulsion lumineuse dans une fibre optique, une onde radio. Son unité de données est le bit. Elle définit aussi le connecteur et son brochage, le codage du signal, la longueur maximale du support et le débit. On y trouve les câbles à paires torsadées, les connecteurs RJ45, les modules optiques enfichables, les répéteurs et les concentrateurs (hubs), qui recopient un signal sur tous leurs autres ports sans prendre aucune décision. Les normes 1000BASE-T (Ethernet sur paire torsadée) ou la partie radio de la norme IEEE 802.11 décrivent ce niveau.
Erreur fréquente à ce niveau : chercher un problème de configuration alors que le défaut est matériel. Un lien annoncé comme actif par le système d’exploitation prouve seulement qu’un signal est détecté, pas que le support est sain. Un câble pincé, un module optique sale ou une négociation de débit ratée produisent des compteurs d’erreurs qui grimpent, avec un service qui fonctionne « par moments ». La première vérification d’un réseau qui se comporte mal reste la vérification du support.
Couche 2 — Liaison de données (Data Link)
La couche liaison transporte des trames (frames) entre deux équipements reliés au même réseau local. Son unité de données est la trame. Elle introduit un adressage : l’adresse MAC (Media Access Control), codée sur 48 bits et notée en hexadécimal, inscrite dans l’interface réseau. Elle est traditionnellement découpée en deux sous-couches, MAC pour l’accès au support et LLC (Logical Link Control) pour le lien avec la couche supérieure. Les protocoles représentatifs sont Ethernet (IEEE 802.3), le Wi-Fi (IEEE 802.11) et PPP (Point-to-Point Protocol). L’équipement représentatif est le commutateur (switch), qui apprend quelle adresse MAC se trouve derrière quel port et n’envoie la trame que vers ce port ; les trames de diffusion et celles dont l’adresse de destination n’est pas encore apprise sont, elles, recopiées sur tous les autres ports. La fin de trame contient un FCS (Frame Check Sequence), une somme de contrôle : si elle ne correspond pas, la trame est jetée, elle n’est pas réparée. L’étiquette 802.1Q ajoutée dans la trame permet de faire cohabiter plusieurs réseaux virtuels (VLAN) sur un même câble.
Erreur fréquente à ce niveau : croire que l’adresse MAC de destination est celle du serveur distant. Lorsque la destination se trouve hors du réseau local, l’adresse MAC de destination est celle du routeur de sortie, la passerelle par défaut. L’adresse MAC est réécrite à chaque saut de routeur, alors que les adresses IP restent les mêmes de bout en bout, sauf traduction d’adresses. La correspondance entre adresse IP et adresse MAC est établie par le protocole ARP (Address Resolution Protocol) en IPv4, et par NDP (Neighbor Discovery Protocol) en IPv6.
# état des interfaces et de leurs adresses MAC
ip link show
# table des correspondances IP vers MAC apprises sur le réseau local
ip neigh show
Couche 3 — Réseau (Network)
La couche réseau transporte des paquets d’un réseau vers un autre : c’est le niveau du routage. Son unité de données est le paquet. Le protocole représentatif est IP (Internet Protocol), dans ses versions 4 et 6. Une machine y est identifiée par une adresse IP accompagnée d’un masque de sous-réseau, qui indique quelle partie de l’adresse désigne le réseau et quelle partie désigne la machine. Chaque machine consulte une table de routage pour décider où envoyer un paquet, et utilise sa passerelle par défaut pour tout ce qui n’est pas local. Le champ TTL (Time To Live) est décrémenté par chaque routeur traversé, ce qui évite qu’un paquet tourne indéfiniment. ICMP (Internet Control Message Protocol) sert à signaler les erreurs rencontrées par les paquets ; c’est aussi le protocole qu’emploie la commande ping, au moyen de ses messages d’écho. Les équipements représentatifs sont le routeur et le pare-feu ; les protocoles de routage OSPF (Open Shortest Path First) et BGP (Border Gateway Protocol) servent à construire automatiquement les tables de routage.
Erreur fréquente à ce niveau : tirer une conclusion trop large d’un ping. Une réponse prouve qu’un chemin existe jusqu’à la machine et qu’elle répond à ICMP ; elle ne dit rien du service applicatif. À l’inverse, une absence de réponse ne prouve pas la panne, car ICMP est souvent filtré volontairement. Seconde erreur classique : un masque de sous-réseau mal posé. La machine croit alors que la destination est sur son propre réseau, tente une résolution ARP au lieu de passer par la passerelle, et n’obtient jamais de réponse.
# adresses et masques configurés sur les interfaces
ip address show
# table de routage, dont la route par défaut
ip route show
Couche 4 — Transport
La couche transport assure le dialogue de bout en bout entre deux programmes, et non plus entre deux machines. Son unité de données s’appelle segment avec TCP et datagramme avec UDP. Elle introduit la notion de port, un numéro compris entre 0 et 65535 qui identifie le processus destinataire sur la machine : c’est ce qui permet à un même serveur d’héberger plusieurs services simultanément. TCP (Transmission Control Protocol) établit une connexion par une poignée de main en trois temps (SYN, SYN-ACK, ACK), numérote les octets, acquitte ce qui est reçu, retransmet ce qui manque, remet les données dans l’ordre et régule le débit. UDP (User Datagram Protocol) n’établit pas de connexion, ne retransmet rien et se contente d’un en-tête court : il est utilisé notamment par DNS, par la voix et la vidéo en temps réel, et sert de support au protocole QUIC.
Erreur fréquente à ce niveau : conclure d’un port ouvert que le service fonctionne. Un port qui accepte une connexion indique qu’un processus écoute et que le chemin réseau n’est pas bloqué ; l’application peut malgré tout répondre une erreur, ou ne rien répondre du tout. Autre confusion courante : prendre les numéros de port usuels pour une obligation. Un service peut écouter sur n’importe quel port libre, le numéro habituel n’est qu’une convention. Enfin, UDP n’est pas un protocole « de moindre qualité » : pour un flux temps réel, retransmettre un paquet arrivé trop tard n’a aucun intérêt, et l’absence de retransmission devient un avantage.
# ports en écoute, en TCP et en UDP, affichés en numérique (option -n : aucune résolution des noms de services)
ss -tuln
4. Les couches hautes : mise en forme et dialogue applicatif
Couche 5 — Session
La couche session ouvre, maintient, synchronise et referme le dialogue entre deux applications. Elle décide qui prend la parole, pose des points de reprise pour redémarrer un transfert interrompu sans tout recommencer, et libère les ressources à la fin de l’échange. Son unité de données est simplement désignée comme des données. Peu de protocoles s’y logent proprement ; on cite habituellement les appels de procédure à distance RPC (Remote Procedure Call) et le service de session NetBIOS. Aucun équipement réseau ne travaille spécifiquement à ce niveau.
Erreur fréquente à ce niveau : confondre la session au sens OSI avec la « session utilisateur » d’un site web, celle qui repose sur un cookie ou sur un jeton. Ce mécanisme-là est entièrement géré par l’application et relève de la couche 7. Autre écueil : vouloir absolument désigner un protocole de couche 5 dans une pile TCP/IP. Dans la pratique, les fonctions de session y sont assurées soit par TCP, soit directement par l’application.
Couche 6 — Présentation (Presentation)
La couche présentation s’occupe de la forme des données, pour que ce que l’émetteur écrit soit interprété de la même façon par le récepteur, y compris si les deux machines ne représentent pas les données de manière identique. Elle couvre l’encodage des caractères (ASCII, UTF-8), les formats de fichier tels que JPEG, les règles de sérialisation comme ASN.1 (Abstract Syntax Notation One), la compression et le chiffrement. Son unité de données est également désignée comme des données.
Erreur fréquente à ce niveau : croire que le chiffrement appartient à cette couche et à elle seule. Le chiffrement existe à plusieurs niveaux : WPA (Wi-Fi Protected Access) protège le lien radio en couche 2, IPsec (Internet Protocol Security) protège les paquets en couche 3, TLS (Transport Layer Security) protège un flux au-dessus du transport. Le classement exact de TLS dans le modèle OSI est discuté selon les auteurs, entre les couches 5, 6 et 7, parce que TLS a été conçu pour la pile TCP/IP et non pour OSI. Il est plus utile de savoir ce que TLS protège que de lui attribuer un numéro.
Couche 7 — Application
La couche application fournit aux programmes leur interface d’accès au réseau, et transporte les données utiles. Son unité de données est le message. Les protocoles représentatifs sont HTTP (HyperText Transfer Protocol) pour le web, DNS (Domain Name System) pour la traduction des noms en adresses IP, SMTP (Simple Mail Transfer Protocol) pour l’envoi de courriel, IMAP (Internet Message Access Protocol) pour sa consultation, SSH (Secure Shell) pour l’administration à distance et FTP (File Transfer Protocol) pour le transfert de fichiers.
Erreur fréquente à ce niveau : confondre la couche 7 avec le logiciel lui-même. Un navigateur n’est pas la couche 7 : la couche 7 est le protocole que ce navigateur parle, en l’occurrence HTTP. La distinction a une conséquence pratique directe. Un pare-feu dit « de couche 7 » lit le contenu du protocole applicatif, par exemple le nom d’hôte demandé ou la méthode HTTP employée, là où un filtrage de couche 4 ne voit que des adresses et des numéros de port.
5. Le trajet d’une requête HTTP à travers les sept couches
Prenons le cas d’un poste de travail qui demande une page web à un serveur distant. Avant même la requête, une première communication complète a lieu : la résolution DNS, qui traduit le nom du site en adresse IP et emprunte elle aussi les sept couches, généralement au-dessus d’UDP. Une fois l’adresse connue, la couche transport établit la connexion TCP, puis la requête part.
L’aller : l’encapsulation
- Couche 7 : le navigateur compose une requête HTTP, avec une méthode, un chemin et des en-têtes, dont l’en-tête Host qui indique le site demandé.
- Couche 6 : les caractères sont encodés selon un jeu de caractères convenu et, en HTTPS, le contenu est chiffré par TLS.
- Couche 5 : le dialogue est rattaché à la connexion en cours, qui sert de contexte à l’échange.
- Couche 4 : TCP découpe les données en segments et place devant chacun un en-tête contenant le port source, choisi librement par le système parmi les ports éphémères, le port de destination, un numéro de séquence et des indicateurs.
- Couche 3 : IP ajoute l’adresse source, l’adresse de destination et un TTL. La table de routage est consultée : la destination n’étant pas locale, le paquet est dirigé vers la passerelle par défaut.
- Couche 2 : Ethernet ajoute l’adresse MAC de l’interface locale comme source, l’adresse MAC de la passerelle comme destination — obtenue par ARP —, et clôt la trame par la somme de contrôle FCS.
- Couche 1 : la trame est convertie en signal et émise sur le support.
En chemin, chaque équipement ne remonte qu’au niveau dont il a besoin. Un commutateur lit l’en-tête de couche 2, consulte sa table d’adresses MAC et retransmet la trame sur le bon port, sans toucher au reste. Un routeur remonte jusqu’à la couche 3 : il décrémente le TTL, choisit l’interface de sortie d’après sa table de routage, puis détruit l’ancienne trame et en fabrique une nouvelle, avec de nouvelles adresses MAC adaptées au lien suivant. Les adresses IP, elles, restent inchangées, sauf lorsqu’une traduction d’adresses est appliquée. Ce cycle se répète à chaque saut jusqu’au réseau du serveur.
L’arrivée et le retour : la désencapsulation
Sur le serveur, le mouvement s’inverse et remonte de la couche 1 vers la couche 7. Le signal redevient une suite de bits. L’interface vérifie la somme de contrôle et l’adresse MAC de destination, puis retire l’en-tête Ethernet. La couche 3 vérifie que l’adresse IP de destination est bien la sienne, puis retire l’en-tête IP. TCP réordonne les segments, acquitte ce qu’il a reçu, réclame ce qui manque, et remet le flux reconstitué au processus qui écoute sur le port demandé. TLS déchiffre, puis le serveur web lit enfin la requête HTTP telle que le navigateur l’avait écrite.
La réponse suit exactement le même mécanisme en sens inverse : le serveur produit un message HTTP contenant un code de statut et le contenu demandé, ce message est encapsulé de la couche 7 vers la couche 1, avec les ports source et destination permutés, puis désencapsulé sur le poste de travail. Une capture de trafic montre ce résultat sous forme d’en-têtes emboîtés, du plus extérieur, Ethernet, au plus intérieur, HTTP.
# afficher le détail d’un échange HTTP, en-têtes compris
curl -v https://example.com
# observer les paquets échangés sur le port 443
sudo tcpdump -n -i any port 443
6. OSI et TCP/IP : deux modèles, deux usages
Le modèle TCP/IP, décrit notamment par la RFC 1122, découpe le même travail en quatre couches au lieu de sept : accès réseau, Internet, transport, application. Il a été construit à partir de protocoles qui fonctionnaient déjà, là où OSI a été conçu comme un cadre théorique préalable. La correspondance approximative entre les deux est la suivante.
- Accès réseau (TCP/IP) correspond aux couches 1 et 2 d’OSI : support physique et trames.
- Internet correspond à la couche 3 : adressage IP et routage.
- Transport correspond à la couche 4 : TCP et UDP, ports.
- Application regroupe les couches 5, 6 et 7 : session, format des données et protocole applicatif.
Dans la pratique, les deux modèles ne se concurrencent pas et servent à des choses différentes. TCP/IP décrit ce qui fonctionne réellement : ce sont ses protocoles qui sont implémentés dans les systèmes d’exploitation et les équipements. OSI fournit le vocabulaire partagé et la numérotation employée tous les jours dans les échanges professionnels et dans la documentation des constructeurs : un « commutateur de niveau 3 », un « répartiteur de charge de niveau 4 ou de niveau 7 », un « incident de couche 2 » désignent des réalités précises que l’interlocuteur comprend immédiatement. Les référentiels de certification réseau s’appuient également sur la numérotation OSI.
La correspondance a toutefois ses limites, et il est plus honnête de les nommer que de forcer le classement. TCP/IP ne sépare pas la session, la présentation et l’application. Des protocoles largement utilisés comme TLS ou QUIC n’ont pas de case OSI qui fasse consensus. Certains ouvrages enseignent d’ailleurs un modèle hybride à cinq couches, où les couches 5 à 7 d’OSI sont fusionnées en une seule couche application. Passer beaucoup de temps à trancher le numéro d’un protocole donné apporte peu ; savoir quel problème il résout apporte davantage.
7. Récapitulatif et méthode de diagnostic
- Couche 1 — Physique : bits — câble, fibre, module optique, répéteur.
- Couche 2 — Liaison de données : trames — Ethernet, Wi-Fi, adresses MAC, commutateur.
- Couche 3 — Réseau : paquets — IP, ICMP, routeur, table de routage.
- Couche 4 — Transport : segments (TCP) ou datagrammes (UDP) — ports, connexions.
- Couche 5 — Session : données — ouverture, maintien et fermeture du dialogue.
- Couche 6 — Présentation : données — encodage, formats, compression, chiffrement.
- Couche 7 — Application : messages — HTTP, DNS, SMTP, SSH, FTP.
L’intérêt principal du modèle en exploitation est de fournir un ordre de vérification. Devant un service inaccessible, la démarche consiste à remonter les couches une par une plutôt qu’à tester au hasard : chaque couche ne peut fonctionner que si celles du dessous fonctionnent déjà.
- Vérifier le support et l’état du lien : câble, port, interface active, compteurs d’erreurs.
- Vérifier le voisinage local : la machine voit-elle sa passerelle, la correspondance IP vers MAC est-elle apprise, le VLAN est-il le bon.
- Vérifier l’adressage et le routage : adresse, masque, route par défaut, réponse d’un équipement distant.
- Vérifier le transport : un processus écoute-t-il sur le port attendu, la connexion s’établit-elle, un filtrage la bloque-t-il.
- Vérifier l’application : le protocole répond-il, avec quel code de statut, quel message d’erreur, quel journal côté serveur.
8. Points de vigilance et suite du parcours
- Les frontières entre couches sont un outil de description, pas une règle physique : plusieurs protocoles utilisés quotidiennement les chevauchent.
- Une couche qui répond ne garantit jamais le fonctionnement des couches supérieures ; l’inverse est vrai, une couche supérieure qui fonctionne prouve que toutes celles du dessous fonctionnent.
- Les adresses MAC changent à chaque saut de routeur, les adresses IP restent stables de bout en bout, hors traduction d’adresses.
- Les fonctions de sécurité se retrouvent à plusieurs niveaux : filtrage par ports en couche 4, inspection du protocole en couche 7, chiffrement en couches 2, 3 ou au-dessus du transport. Nommer le niveau concerné évite les malentendus lors d’une analyse d’incident.
La suite logique de ce support consiste à approfondir les couches basses, celles qui produisent le plus d’incidents : l’adressage IP et le découpage en sous-réseaux pour la couche 3, la commutation et les VLAN pour la couche 2, puis l’observation d’une connexion TCP réelle au moyen d’une capture de trafic, afin de retrouver dans les octets les en-têtes décrits ici.
Le texte d’origine de cet article n’a pas été conservé par les archives du web : la capture de la page s’arrête avant le corps. Seule son introduction subsiste, reprise ici en ouverture. Le reste a été réécrit le 9 septembre 2026, puis relu et corrigé point par point.
