Encapsulation et décapsulation TCP/IP

Dans ce tutoriel nous allons voir la définition de l’encapsulation et la décapsulation et comment compresser les données sur différentes couches de la pile de protocoles TCP/IP.

Voici une petite animation simple schématisant le concept: 

Encapsulation

Le paquet est l’unité de base des informations transférées sur un réseau, consistant au minimum d’un en-tête avec les adresses des hôtes émetteur et récepteur et d’un corps avec les données à transférer. Lorsque le paquet traverse la pile de protocoles TCP/IP, les protocoles de chaque couche ajoutent ou suppriment des champs de l’en-tête de base. Lorsqu’un protocole sur l’hôte émetteur ajoute des données à l’en-tête du paquet, le processus s’appelle encapsulation de données. De plus, chaque couche a un terme différent pour le paquet modifié, comme le montre la figure suivante.

Principe basique de l’encapsulation

L’encapsulation permet de conserver les informations nécessaires de la couche pour que les équipements intermédiaires et le destinataire puisse traiter correctement le paquet.

Exemple avec l’envoi d’une carte postale:

  1. vous écrivez un message sur une carte postale
  2. vous mettez la carte postale dans une enveloppe avec l’adresse du destinataire
  3. vous donnez la carte postale à la Poste qui se charge de remettre à votre destinataire

–> Vous venez d’effectuer une encapsulation: carte postale mise dans une enveloppe

En informatique, c’est exactement pareil. Chaque couche ajoute ses informations dans « une enveloppe » qu’on appelle entête (header). La Poste représente le réseau qui va acheminer votre message.

Processus d’encapsulation:

Description:

  1. L’utilisateur entre une donnée (un site web par exemple)
  2. Cette donnée va être correctement formatée et envoyée à la couche inférieure (entête HTTP)
  3. La couche Transport (ici TCP) concatène à la donnée l’entête qui définit les paramètres de la couche en question comme par exemple le port source et port destination. Une fois l’entête ajouté, le segment TCP (entête + donnée) est envoyé à la couche inférieure
  4. La couche Réseau (ici IP) concatène au segment TCP (entête TCP + donnée) l’entête IP avec entre autre les adresses IP source et IP destination. Une fois l’entête ajouté, le paquet IP (entête IP + entête TCP + donnée) est envoyé à la couche inférieure
  5. La couche Liaison de données (ici Ethernet) concatène au paquet IP (entête IP + entête TCP + donnée) l’entête Ethernet avec entre autre les adresses MAC source et MAC destination. Une fois l’entête ajouté, la trame Ethernet (entête Ethernet + entête IP + entête TCP + donnée) est envoyé à la couche inférieure
  6. La couche Physique (ici du cuivre) transforme cette trame composée de 0 et 1 numérique en signaux électrique pour l’envoyer sur le câble. La trame quitte la carte réseau du PC

Particularité de la couche 2 lors de l’encapsulation

En recevant la donnée concaténée aux entêtes des couches supérieures, la couche liaison de donnée concatène à son tour son entête et ajoute un champ en bout de message appelé FCS – Frame Check Sequence. C’est un vérificateur d’intégrité de la trame.

Processus de désencapsulation:

Une fois la trame reçue par le destinataire, la trame va être successivement désencapsulée par les couches afin de traiter chaque entête jusqu’à transmettre la donnée initiale (la fameuse carte postale) a la couche Application.