Comment fonctionne l’encapsulation dans les réseaux ?



La manière dont les données sont encapsulées au sein des réseaux joue un rôle fondamental pour assurer une communication fluide entre l’ordinateur qui envoie l’information et celui qui la reçoit.

Parallèlement, le processus inverse, appelé désencapsulation, est tout aussi indispensable. Ces deux opérations sont menées en simultané pour garantir un échange et un acheminement corrects des données au sein d’un réseau.

Lorsqu’un utilisateur souhaite accéder à des informations sur son ordinateur, il lui suffit de taper quelques mots-clés et les résultats s’affichent presque instantanément.

Cependant, une multitude d’actions se déroulent en coulisses, et ce, à une vitesse impressionnante. Le réseau et ses différents composants sont alors pleinement sollicités pour obtenir les données demandées par l’utilisateur.

Pourtant, la majorité des gens n’ont aucune conscience des mécanismes qui opèrent en arrière-plan pour accomplir ces tâches. En réalité, les réseaux, leurs éléments constitutifs et les concepts qui y sont associés sont des rouages essentiels du quotidien pour les utilisateurs actuels.

Dans cet article, je vais m’intéresser à l’encapsulation et à la désencapsulation afin de clarifier certains concepts clés du fonctionnement des réseaux.

C’est parti !

Qu’entend-on par encapsulation et désencapsulation des données ?

L’encapsulation des données, dans le contexte des réseaux, consiste à enrichir une unité de données en lui ajoutant des informations supplémentaires au fur et à mesure qu’elle transite dans le modèle de réseau OSI ou TCP/IP, de sa source à sa destination. Cette opération vise à lui conférer des fonctionnalités additionnelles.

Concrètement, lors de l’encapsulation, des informations relatives aux protocoles sont ajoutées en en-tête ou en pied de page des données, afin d’assurer une transmission correcte. Ce processus se déroule du côté de l’expéditeur, en partant de la couche application pour aller jusqu’à la couche physique. Chaque couche reçoit ainsi les informations encapsulées de la couche précédente, y ajoute ses propres données pour une encapsulation plus poussée, puis transmet le tout à la couche suivante.

Ce processus peut comprendre des actions comme la détection d’erreurs, le séquençage des données, le contrôle de la congestion, le contrôle des flux ou encore le routage des données.

La désencapsulation des données est l’opération inverse. Elle consiste à retirer les informations qui avaient été ajoutées lors de l’encapsulation, lorsque les données voyagent de la couche physique vers la couche application, du côté du destinataire. L’objectif est de retrouver les informations initiales.

Ce processus se produit au niveau de chaque couche, en symétrie avec l’encapsulation effectuée côté expéditeur. Les informations d’en-tête et de fin qui avaient été ajoutées sont alors retirées.

Au final, les données sont encapsulées à chaque couche côté expéditeur, puis désencapsulées à la même couche côté destinataire, que ce soit dans le modèle de réseau TCP/IP ou OSI.

Qu’est-ce qu’une unité de données de protocole (PDU) ?

L’unité de données de protocole (PDU) désigne les données de contrôle qui sont ajoutées à une unité de données à chaque couche du modèle OSI ou TCP/IP pendant la transmission. Ces informations sont ajoutées soit en en-tête, soit en pied de page, ou aux deux extrémités.

Chaque couche du modèle de réseau utilise ainsi la PDU pour interagir et échanger des données avec les couches voisines. Ces PDU sont encapsulées en étant ajoutées aux données à chaque couche. Chacune de ces PDU reçoit un nom spécifique, en fonction des données qu’elle contient. La couche voisine située du côté du destinataire peut uniquement lire ces données avant qu’elles ne soient retirées et transmises à la couche suivante.

PDU dans le modèle OSI

Comme nous l’avons vu, la PDU reçoit un nom spécifique à chaque couche du modèle OSI. En fait, différentes dénominations sont utilisées pour désigner les données encapsulées dans les différentes couches, selon les modèles. Le tableau ci-dessous récapitule ces appellations :

Dans la couche application du réseau TCP/IP, ainsi que dans les couches application, présentation et session du modèle OSI, on parle simplement de « données ». Cependant, la terminologie change dans les autres couches des deux modèles.

Terme encapsulé Couches OSI Couches TCP/IP
Données Application Application
Données Présentation
Données Session
Segment Transport Transport
Paquet Réseau Internet
Trame Liaison de données Liaison de données
Bits Physique Physique

Analysons maintenant ces différents PDU plus en détails, ainsi que leur importance dans le fonctionnement des réseaux.

PDU de la couche transport

Dans la couche transport, l’unité de données de protocole est appelée « segment ». La couche crée l’en-tête, puis l’ajoute à l’unité de données. L’unité de données contient alors les informations nécessaires à l’hôte distant pour réassembler l’ensemble des données.

L’ensemble constitué d’un en-tête et de l’unité de données, au niveau de la couche transport, est donc appelé un segment, qui sera ensuite transmis à la couche suivante (couche réseau) pour la suite du traitement.

PDU de la couche réseau

La PDU de la couche réseau est appelée « paquet ». La couche réseau crée également un en-tête pour chaque segment qu’elle reçoit de la couche transport. Cet en-tête contient les informations de routage et d’adressage.

Une fois que la couche réseau a créé l’en-tête, elle l’ajoute au segment. C’est à ce stade que l’unité de données devient un paquet, qui sera alors transféré à la couche suivante.

PDU de la couche liaison de données

Dans cette couche, la PDU est appelée « trame ». La couche liaison de données reçoit le paquet de la couche précédente, puis crée un en-tête et un pied de page pour chaque paquet reçu. L’en-tête contient des informations liées à la commutation, comme l’adresse de l’ordinateur source, l’adresse de l’ordinateur destinataire, etc. Quant au pied de page, il contient des données relatives aux paquets qui seraient corrompus.

La couche liaison de données ajoute donc ces informations d’en-tête et de pied de page au paquet. L’unité de données devient alors une trame, qui sera envoyée à la couche suivante (la couche physique).

PDU de la couche physique

La PDU de la couche physique est appelée « bit ». La couche physique récupère la trame de la couche précédente, puis la convertit dans un format qui peut être transporté par un support de transmission. Un bit n’est rien d’autre que ce format.

Comment fonctionne l’encapsulation

L’encapsulation se déroule sur une unité de données ou un paquet, qui est donc délimitée par un début et une fin. Le début est marqué par l’en-tête, tandis que la fin est marquée par le pied de page. Les données qui se trouvent entre l’en-tête et le pied de page peuvent être appelées charge utile.

L’en-tête d’un paquet contient des données au sein de ses premiers octets, marquant le début du paquet et identifiant les informations transportées. Le paquet transite ensuite de l’ordinateur source vers l’ordinateur destinataire. De plus, l’en-tête contient des données spécifiques au protocole utilisé, car chaque protocole possède un format défini.

Par ailleurs, le pied de page du paquet signale à l’ordinateur destinataire la fin du paquet. Il peut contenir une valeur de contrôle d’erreur, permettant à l’appareil de vérifier qu’il a bien reçu le paquet en entier.

Voici les étapes du processus d’encapsulation :

Étape 1 : Les couches Application, Présentation et Session du modèle OSI, ou la couche Application du modèle TCP/IP, récupèrent les données de l’utilisateur sous forme de flux de données. Elles encapsulent ensuite ces données et les transmettent à la couche suivante, à savoir la couche Transport. Cela ne signifie pas pour autant qu’elles ajoutent systématiquement un en-tête ou un pied de page. Cette action est spécifique à l’application concernée, et l’ajout d’un en-tête ou d’un pied de page n’a lieu qu’en cas de nécessité.

Étape 2 : Lorsque les données parviennent à la couche Transport, dans les modèles TCP/IP et OSI, cette couche utilise le flux de données provenant des couches supérieures et le divise en plusieurs parties. Cette couche effectue l’encapsulation des données en ajoutant un en-tête spécifique à chaque unité de données, ces unités étant appelées segments. L’en-tête ajouté contient les informations de séquencement, afin que les segments puissent être réassemblés du côté du récepteur.

Étape 3 : L’unité de données, ainsi enrichie d’un en-tête, est transmise à la couche suivante, qui est la couche réseau (modèle OSI) ou la couche Internet (modèle TCP/IP). Cette couche prend les segments provenant de la couche précédente et effectue l’encapsulation en y ajoutant les informations de routage nécessaires pour assurer une bonne livraison des données. Après cette encapsulation, les données deviennent un datagramme ou un paquet.

Étape 4 : Le paquet de données transite maintenant vers la couche Liaison de données, dans le modèle TCP/IP ou OSI. Cette couche prend le paquet et l’encapsule en y ajoutant un en-tête et un pied de page. À ce stade, l’en-tête contient des informations de commutation, pour s’assurer que les données sont bien livrées au composant matériel de réception. En revanche, le pied de page contient des données relatives à la détection et l’atténuation des erreurs. À ce stade, les données deviennent une trame, qui est transmise à la couche finale.

Étape 5 : La trame de données, provenant de la couche liaison de données, parvient à la couche physique dans les modèles TCP/IP ou OSI. Cette couche l’encapsule en convertissant les données en bits ou en signaux de données.

Comment fonctionne la désencapsulation

La désencapsulation se déroule dans l’ordre inverse de l’encapsulation, c’est-à-dire de la couche physique vers la couche application, dans le modèle OSI ou TCP/IP. Toutes les informations supplémentaires ajoutées aux données lors de l’encapsulation, côté expéditeur, sont retirées durant le trajet vers le destinataire.

Voici les étapes du processus de désencapsulation :

Étape 1 : Les données encapsulées dans la couche physique, sous forme de bits ou de signaux de données, sont récupérées par la couche pour être désencapsulées. Les données redeviennent alors une trame, qui est transmise à la couche supérieure, c’est-à-dire la couche liaison de données.

Étape 2 : La couche liaison de données récupère les trames et les désencapsule. Elle vérifie également que l’en-tête de la trame a bien été commuté vers le bon matériel. Si la trame ne correspond pas à la bonne destination, elle est rejetée. Si par contre elle est correcte, la couche vérifie le pied de page du bloc de données pour obtenir des informations complémentaires.

En cas d’erreur détectée dans le pied de page ou les données, la couche demandera une nouvelle transmission des données. Si le pied de page contient les informations correctes, la couche désencapsulera alors la trame pour obtenir un datagramme ou un paquet de données, qu’elle transmettra ensuite à la couche supérieure.

Étape 3 : Le paquet de données, provenant de la couche liaison de données, transite vers la couche Internet (modèle TCP/IP) ou la couche réseau (modèle OSI). Cette couche récupère le paquet, le désencapsule et obtient alors un segment de données.

La couche vérifie l’en-tête du paquet, afin de s’assurer qu’il est bien acheminé vers la bonne destination. S’il n’est pas correctement acheminé, le paquet est rejeté. S’il contient les bonnes informations de routage, la couche le désencapsule et l’envoie à la couche supérieure, c’est-à-dire la couche Transport.

Étape 4 : Les segments de données, provenant de la couche Internet ou de la couche réseau, parviennent à la couche transport dans les modèles TCP/IP et OSI. Cette couche récupère les segments et vérifie leurs informations d’en-tête. Elle commence ensuite à réassembler les segments pour former un flux de données, qui est alors transmis à la ou les couches supérieures.

Étape 5 : Le flux de données provenant de la couche transport atteint la couche application dans le modèle TCP/IP. Dans le modèle OSI, il atteint la couche Session, puis la couche Présentation et enfin la couche Application. La ou les couches récupèrent le flux de données et le désencapsulent, tout en ne transmettant que les données spécifiques à l’application concernée à l’ordinateur ou aux applications du destinataire.

Avantages de l’encapsulation

Voici les principaux avantages de l’encapsulation dans les réseaux :

#1. Sécurité des données

L’encapsulation renforce la sécurité et la confidentialité des données, en les protégeant contre les accès non autorisés. La protection des données est primordiale dans le contexte actuel. Ainsi, l’encapsulation permet de se prémunir contre les risques en ligne tels que le vol de données ou les attaques. Elle permet également de gérer les accès, en accordant des autorisations à différents niveaux d’utilisateurs, sans complexité particulière.

#2. Fiabilité des données

L’encapsulation garantit l’intégrité des données de base, en empêchant qu’elles soient altérées par des codes clients. Elle contrôle également la visibilité des informations de base pour les objets extérieurs. Sans l’encapsulation des données, une modification, même minime, pourrait endommager le réseau.

#3. Ajout de fonctionnalités

Lors de l’encapsulation, les données sont enrichies à différentes couches. Cela ajoute de nouvelles caractéristiques et fonctionnalités pour la transmission de données entre l’expéditeur et le destinataire, au sein d’un réseau. Ces fonctionnalités peuvent être le contrôle des flux de données, le routage, la détection d’erreurs ou le séquençage des données. L’encapsulation permet ainsi d’assurer une transmission des données correcte et efficace.

#4. Communication efficace

L’encapsulation et la désencapsulation sont réalisées en simultané dans un réseau. L’encapsulation a lieu côté expéditeur, tandis que la désencapsulation est effectuée côté destinataire. Cela assure une communication plus efficace, qui est primordiale pour l’expéditeur comme pour le destinataire.

#5. Maintenance facilitée

Des erreurs peuvent survenir à tout moment, pour diverses raisons, et entraîner une interruption de la transmission de données entre les deux extrémités. L’encapsulation réalisée sur les données permet de sécuriser la connexion et d’éviter que les données ne soient falsifiées. Par conséquent, les informations de base sont protégées, ce qui réduit les risques d’erreurs et facilite la maintenance.

Conclusion

L’encapsulation et la désencapsulation des données sont des mécanismes essentiels dans le fonctionnement des réseaux. Ces techniques assurent un acheminement correct des données au sein du réseau, tout en garantissant une meilleure sécurité, confidentialité et fiabilité, ainsi qu’une communication efficace.