Aller au contenu

Couches, normes et vocabulaire de paquets

Une communication réseau se décrit avec une poignée de mots : couche, protocole, encapsulation, trame, paquet, segment, datagramme, message. Ils paraissent interchangeables dans les conversations de couloir ; ils ne le sont pas, et chacun désigne un niveau précis du traitement. Cette fiche pose ce vocabulaire, montre comment il se retrouve dans une capture, situe les organismes qui écrivent les règles et sépare les trois plans d’un équipement réseau : données, contrôle et gestion.

→ Lire l’explication complète de la marmotte

Faire dialoguer deux programmes situés sur deux continents oblige à résoudre des problèmes très différents : transformer des bits en signal, faire passer ce signal d’un équipement voisin à l’autre, trouver un chemin à travers des dizaines de routeurs, remettre les données dans l’ordre, puis les présenter à l’application. Aucun protocole ne fait tout. Le découpage en couches attribue à chacune un problème, une interface avec la couche du dessus et une avec la couche du dessous. On peut alors remplacer le cuivre par de la fibre sans réécrire le navigateur, ou changer de navigateur sans toucher au câble.

Le modèle OSI (Open Systems Interconnection), publié par l’ISO (Organisation internationale de normalisation) sous la référence ISO/IEC 7498-1, compte sept couches. Le modèle TCP/IP, décrit notamment dans la RFC 1122 (1989), en compte quatre. Le premier est un modèle de référence conçu avant ses protocoles, qui n’ont guère survécu ; le second décrit après coup les protocoles qui font tourner Internet. Le réseau réel parle TCP/IP, le vocabulaire des administrateurs parle OSI : on dit « couche 2 » ou « couche 7 » en utilisant la numérotation d’un modèle dont les protocoles ont disparu. L’informatique a ses fidélités inattendues.

Couche OSINomÉquivalent TCP/IPExemples
7ApplicationApplicationHTTP, DNS, SMTP
6PrésentationApplicationencodage, compression, chiffrement TLS (selon le point de vue)
5SessionApplicationouverture et reprise de dialogue
4TransportTransportTCP, UDP, QUIC
3RéseauInternetIPv4, IPv6, ICMP
2LiaisonAccès réseauEthernet, Wi-Fi (IEEE 802.11)
1PhysiqueAccès réseaucuivre, fibre, radio

La couche physique transporte des bits sous forme de signal : tension, lumière, onde radio. Elle ne sait rien des adresses. La couche liaison fait passer une trame entre deux équipements directement reliés, sur un même segment, avec des adresses locales comme l’adresse MAC (Media Access Control) d’Ethernet. La couche réseau achemine des paquets de bout en bout à travers des routeurs, grâce aux adresses IP (Internet Protocol). La couche transport relie deux programmes, identifiés par des numéros de port, et décide si l’échange est fiable et ordonné (TCP, Transmission Control Protocol) ou non (UDP, User Datagram Protocol). La couche application porte enfin ce que l’utilisateur voulait : une page web, une requête de nom, un courriel.

Session et présentation, des repères plutôt que des couches

Section intitulée « Session et présentation, des repères plutôt que des couches »

Les couches 5 et 6 n’ont pas de protocole dédié dans la pile TCP/IP : leurs fonctions sont absorbées par les applications ou par des bibliothèques. TLS (Transport Layer Security) en est l’exemple le plus discuté : il chiffre (fonction de présentation), maintient un état de session et repose sur TCP, si bien que chaque manuel le range à un étage différent. Le débat n’a aucun intérêt opérationnel. Ce qui compte est de savoir qu’il se situe au-dessus du transport et en dessous du protocole applicatif, ce qui explique qu’un pare-feu qui filtre les ports voie passer du TLS sans rien savoir de ce qu’il contient.

À l’émission, chaque couche reçoit les données de la couche supérieure, ajoute devant elles son propre en-tête (et parfois une queue à la fin) puis passe le tout à la couche inférieure. C’est l’encapsulation. À la réception, chaque couche lit et retire son en-tête avant de transmettre le reste vers le haut : c’est la décapsulation. Un routeur intermédiaire décapsule jusqu’à la couche 3 pour lire l’adresse IP de destination, puis réencapsule le paquet dans une nouvelle trame pour le lien suivant. Les adresses MAC changent donc à chaque saut, les adresses IP restent les mêmes (sauf traduction d’adresses).

Chaque niveau donne un nom à son unité de données, la PDU (Protocol Data Unit) :

CoucheUnitéExemple
Applicationmessageune requête HTTP GET /index.html
Transportsegment (TCP) ou datagramme (UDP)segment TCP vers le port 443
Réseaupaquetpaquet IPv4 de 192.0.2.10 vers 198.51.100.20
Liaisontrametrame Ethernet avec adresses MAC source et destination
Physiquebits, symbolesimpulsions électriques ou lumineuses

La cellule désigne une unité de taille fixe, dont l’exemple classique est l’ATM (Asynchronous Transfer Mode) : 53 octets, dont 5 d’en-tête et 48 de charge utile. La taille fixe simplifiait la commutation matérielle des années 1990 ; elle subsiste dans certains réseaux d’accès et dans le vocabulaire.

Un protocole en mode connecté établit un contexte avant d’échanger des données, le maintient puis le ferme. TCP le fait avec sa poignée de main en trois temps (SYN, SYN-ACK, ACK) et garantit ordre et retransmission. Un protocole en mode non connecté envoie chaque unité indépendamment, sans négociation préalable : IP et UDP fonctionnent ainsi. Non connecté ne veut pas dire non fiable par principe ; la fiabilité peut être reconstruite au-dessus, comme le fait QUIC au-dessus d’UDP. Le détail des comportements est dans UDP, TCP et leurs comportements.

Chaque en-tête consomme de la place. La MTU (Maximum Transmission Unit) fixe la taille maximale du paquet qu’une liaison accepte : 1500 octets pour Ethernet standard. Dans ces 1500 octets, un en-tête IPv4 minimal prend 20 octets et un en-tête TCP minimal 20 de plus ; il reste 1460 octets de données applicatives, la MSS (Maximum Segment Size). Sur le fil, la trame ajoute 14 octets d’en-tête Ethernet et 4 octets de FCS (Frame Check Sequence), auxquels s’ajoutent 8 octets de préambule et 12 octets de silence obligatoire entre trames. Le calcul de rendement donne :

octets utiles = 1460
octets sur le fil = 1500 + 14 + 4 + 8 + 12 = 1538
rendement = 1460 / 1538 ≈ 94,9 %

Un lien à 1 Gbit/s transporte donc au mieux environ 949 Mbit/s de données TCP sur IPv4, avant tout tunnel ou chiffrement. Avec IPv6, dont l’en-tête fixe fait 40 octets, la MSS tombe à 1440 octets. Chaque tunnel ajoute ses propres en-têtes et rogne encore cette marge, ce que Données, signaux, latence et fiabilité chiffre plus en détail.

Un analyseur comme Wireshark affiche précisément cette pile, une ligne par couche décodée. Pour une requête web chiffrée, le panneau de détail ressemble à ceci :

Frame 412: 583 bytes on wire
Ethernet II, Src: 3c:52:82:aa:10:01, Dst: 00:1b:21:3a:4f:02
Internet Protocol Version 4, Src: 192.168.10.77, Dst: 203.0.113.80
Transmission Control Protocol, Src Port: 51544, Dst Port: 443, Seq: 1, Len: 517
Transport Layer Security

La première ligne décrit ce que la carte a reçu, la deuxième la trame (couche 2), la troisième le paquet (couche 3), la quatrième le segment (couche 4), la dernière le contenu applicatif, ici illisible puisque chiffré. Lire une capture, c’est d’abord descendre et remonter ces lignes en sachant à quelle couche chaque champ appartient. La méthode complète figure dans Captures, observabilité et diagnostic.

Ces quatre mots sont à l’origine d’une bonne part des erreurs de filtrage. Le protocole est un ensemble de règles de dialogue (HTTP, SSH, DNS). Le port est un numéro de 16 bits, de 0 à 65535, qui désigne un programme à l’écoute sur une machine pour un protocole de transport donné. Le service est le logiciel qui rend la fonction. Le socket est l’extrémité de communication qu’un programme ouvre auprès du système, caractérisée par une adresse IP, un port et un protocole de transport. Une connexion TCP est identifiée par un quintuplet : protocole, adresse et port source, adresse et port destination.

L’IANA (Internet Assigned Numbers Authority) tient le registre des ports bien connus : 22 pour SSH, 53 pour DNS, 443 pour HTTPS. Ce registre est une convention, pas une contrainte technique. Rien n’empêche un serveur SSH d’écouter sur 443, ni un tunnel de faire passer n’importe quoi sur le port 53. Une règle « autoriser le port 443 » autorise un numéro, pas le protocole HTTPS ; seul un équipement qui inspecte le contenu peut prétendre savoir ce qui circule réellement.

Une norme ouverte est publiée par un organisme, rédigée selon un processus documenté et utilisable par tous ; IEEE 802.3 pour Ethernet ou les RFC de l’IETF en sont des exemples. Une spécification peut émaner d’un consortium ou d’un industriel et rester propriétaire, même si elle est publique. Une pratique de fait (standard de facto) s’impose par l’usage sans texte formel, comme les trames de 9000 octets dites jumbo, répandues mais jamais normalisées par l’IEEE. Distinguer ces trois statuts évite de confondre interopérabilité garantie et interopérabilité espérée.

OrganismeDomaineExemples
IEEE (Institute of Electrical and Electronics Engineers)réseaux locaux et sans fil802.3 (Ethernet), 802.11 (Wi-Fi), 802.1Q (VLAN), 802.1X
IETF (Internet Engineering Task Force)protocoles d’InternetRFC 791 (IPv4), RFC 8200 (IPv6), RFC 9293 (TCP)
UIT (Union internationale des télécommunications)télécommunicationsrecommandations UIT-T de la série G (transmission), série X
ANSI (American National Standards Institute)normes nationales américainesFDDI, historiquement normalisé sous son égide
ECIA (Electronic Components Industry Association)composants électroniqueshéritière d’une partie du catalogue de l’ancienne EIA (normes de composants) ; RS-232 est passée à la TIA sous le nom TIA-232

Certaines références anciennes restent citées alors que leur organisme a changé : l’EIA (Electronic Industries Alliance) a cessé ses activités en 2011, mais le sigle survit dans des appellations comme « EIA/TIA-568 » pour le câblage, désormais maintenu par la TIA (Telecommunications Industry Association). Une documentation qui cite ces noms n’est pas fausse, elle est datée, et mérite d’être lue comme telle.

Plan de données, plan de contrôle, plan de gestion

Section intitulée « Plan de données, plan de contrôle, plan de gestion »

Un équipement réseau exerce trois activités qu’il faut savoir séparer.

Le plan de données (data plane) traite le trafic des utilisateurs : recevoir une trame, consulter une table, la réémettre sur le bon port. Il doit être rapide et s’exécute souvent dans du matériel spécialisé.

Le plan de contrôle (control plane) construit les tables que le plan de données consulte : protocoles de routage comme OSPF ou BGP, arbre couvrant, résolution d’adresses. Il décide des chemins sans transporter lui-même le trafic utile.

Le plan de gestion (management plane) sert à administrer l’équipement : accès SSH, interface web, supervision, sauvegarde de configuration. C’est par lui que passent les humains et leurs outils, et c’est donc lui qu’un intrus cherche en priorité.

Ces plans n’ont ni les mêmes risques ni les mêmes protections. Un plan de contrôle se protège en authentifiant les voisins de routage et en limitant le débit de ce qui remonte vers le processeur ; un plan de gestion se protège en l’isolant sur un réseau d’administration dédié, comme l’explique Gestion réseau, supervision et référentiels d’exploitation.

Une consultation de https://tortuetech.com produit, côté émetteur, la pile suivante, de l’intérieur vers l’extérieur :

Pile d'une requête HTTPS sur Ethernet, de l'extérieur vers l'intérieur : en-tête Ethernet de 14 octets, couche 2 ; en-tête IPv4 de 20 octets, couche 3 ; en-tête TCP de 20 octets, couche 4 ; en-tête TLS de 5 octets, au-dessus du transport ; requête HTTP chiffrée, couche 7 ; FCS de 4 octets, couche 2, qui ferme la trame.

L’exercice consiste à attribuer à chaque bloc sa couche, son unité (trame, paquet, segment, enregistrement TLS, message) et l’équipement qui le lit : le commutateur lit l’en-tête Ethernet, le routeur l’en-tête IP, le pare-feu à états les en-têtes IP et TCP, le serveur web l’ensemble. Les 5 octets de TLS correspondent à l’en-tête d’un enregistrement : type, version, longueur.

Sur une capture d’une résolution DNS, la trame contient un paquet IPv4 vers l’adresse du résolveur, qui contient un datagramme UDP vers le port 53, qui contient un message DNS de type requête. Si la réponse n’arrive jamais, la question devient : jusqu’à quelle couche l’échange a-t-il réussi ? Une trame visible mais aucune réponse IP oriente vers le routage ou un filtrage ; une réponse ICMP « port injoignable » prouve que le paquet est arrivé et que rien n’écoutait. Chaque couche franchie élimine une famille d’hypothèses.

ProtocoleCoucheUsageRisque principal
ARPliaison et réseau (charnière)associer IP et MACusurpation sur le segment local
IPv4réseauacheminementusurpation d’adresse source
UDPtransportéchanges courts, sans connexionamplification par réflexion
TCPtransportflux fiableépuisement par demandes d’ouverture
DNSapplicationrésolution de nomsempoisonnement, tunnel d’exfiltration
SSHapplicationadministrationforce brute, clé volée

ARP figure volontairement à cheval : il est transporté directement dans une trame, sans IP, mais sert la couche réseau. Le modèle n’est pas faux, il est simplement plus propre que la réalité.

Le premier piège est de prendre le modèle OSI pour une carte exacte du réel. Les tunnels empilent une couche 2 dans une couche 4 (VXLAN), une couche 3 dans une couche 3 (IP dans IP), et des protocoles comme ARP ou MPLS se logent entre deux étages. Le modèle sert à raisonner ; il n’oblige pas les protocoles à rester dans leur case.

Le deuxième piège est de confondre protocole et port. Bloquer le port 22 n’interdit pas SSH, cela interdit le port 22. Autoriser le port 53 vers Internet laisse passer tout ce qu’on voudra bien y faire passer.

Le troisième piège est de diagnostiquer sans hypothèse de couche. Devant « l’application ne marche pas », remonter méthodiquement (lien physique, adresse MAC apprise, route présente, port ouvert, réponse applicative) évite de soupçonner une faille web quand un câble est débranché, et l’inverse.

Paquet IP et trame Ethernet : la trame ne vit que sur un lien et change à chaque routeur ; le paquet traverse le réseau de bout en bout. Une adresse MAC n’a aucun sens au-delà du premier routeur.

Plan de contrôle et plan de gestion : le premier fait parler les équipements entre eux pour calculer les chemins, le second fait parler les humains et leurs outils avec les équipements. Un protocole de routage appartient au premier, une session SSH d’administration au second.

Standard ouvert et produit fournisseur : un produit peut implémenter une norme, l’étendre ou s’en écarter. Une fonction qualifiée de « compatible 802.1X » par une brochure reste à vérifier contre la norme, et contre les autres produits du réseau.

Sans ce vocabulaire partagé, un incident réseau se décrit mal et se traite de travers. Confondre port et protocole conduit à des règles de filtrage qui bloquent un numéro pendant que le service indésirable, déplacé ailleurs, continue de passer. Diagnostiquer sans hypothèse de couche fait chercher une attaque applicative là où une trame se perd, ou l’inverse, et l’on gaspille le temps précisément compté pendant un incident. Enfin, ne pas séparer plan de données, de contrôle et de gestion laisse souvent les interfaces d’administration joignables par le même chemin que le trafic des utilisateurs, ce qui offre à tout intrus du réseau une vue directe sur les consoles qui le pilotent.

Quand deux ordinateurs communiquent, le travail est découpé en couches. Chaque couche a un rôle limité et s’appuie sur celle du dessous. La couche physique transporte des signaux ; la couche liaison fait passer des données entre deux appareils voisins ; la couche réseau achemine les données d’un bout à l’autre à travers plusieurs équipements ; la couche transport organise l’échange entre deux programmes ; la couche application porte le message utile, par exemple une page web. Deux modèles décrivent ce découpage, l’un en sept couches, l’autre plus simple ; ce sont des repères pour raisonner, pas une carte exacte de la réalité. À l’envoi, chaque couche ajoute devant les données un en-tête contenant ses propres informations : c’est l’encapsulation. À la réception, chaque couche retire son en-tête : c’est la décapsulation. Les unités portent des noms différents selon la couche : trame pour la liaison, paquet pour le réseau, segment ou datagramme pour le transport, message pour l’application. Les en-têtes prennent de la place, et la taille maximale d’une unité limite ce qu’on peut transporter d’un coup. Un port est un numéro qui désigne un programme sur une machine ; il ne dit pas à lui seul quel protocole est utilisé. On distingue enfin le trafic des utilisateurs, les échanges qui décident des chemins, et les accès servant à administrer les équipements. Des organismes de normalisation écrivent les règles communes.

À lire aussi

  • Ethernet, trames et commutation localeExpliquer Ethernet comme base des réseaux locaux modernes : trame, adressage MAC, apprentissage, diffusion, commutation et limites d’un réseau plat.
  • Résolution locale, ICMP, MTU et multicastExpliquer les protocoles qui rendent IP utilisable localement et diagnostiquable : ARP, Neighbor Discovery, ICMP, ICMPv6, MTU, fragmentation, multicast et IGMP.
  • Suivre un flux de bout en boutApprendre à raconter un échange complet depuis une action utilisateur jusqu’au service distant, en distinguant nom, adresse, chemin, transport, chiffrement et réponse applicative.
  • MPLS, GMPLS, SD-WAN et overlays opérateursExpliquer les architectures WAN et opérateurs au-delà d’IP routé : labels, circuits virtuels, transport optique, overlays, SD-WAN et technologies héritées.

Pages voisines

: les deux pages se citent l’une l’autre.