Tunnel (réseau informatique)
Un tunnel, dans le contexte des réseaux informatiques, est une encapsulation de données d'un protocole réseau dans un autre, situé dans la même couche du modèle en couches, ou dans une couche de niveau supérieur.
Pour les articles homonymes, voir Tunnel (homonymie).
Comment ça marche ?
D'abord, le paquet est enveloppé dans un en-tête supplémentaire (additional header), c'est ce qu'on appelle l'encapsulation. Cet en-tête supplémentaire contient les informations de routage nécessaires pour envoyer le paquet encapsulé à travers l'inter-réseau intermédiaire. Cette information est très importante car les données utiles sont envoyées dans un protocole différent de celui dans lequel les données ont été créées. Ensuite, un tunnel, qui est un chemin interconnectant 2 points, est créé et le paquet est transmis au point final. À ce moment, le paquet est désencapsulé pour "retrouver sa forme initiale".
Exemples d'utilisation
Transition d'IPv4 à IPv6
Par exemple, la transition d'IPv4 à IPv6 implique la création d'un tunnel. Nous pouvons imaginer la situation où 2 nœuds IPv6 veulent communiquer mais sont connectés entre eux par des nœuds IPv4. Dans ce cas, les deux routeurs IPv4 sont considérés comme le tunnel. Ainsi, le nœud IPv6 du côté émetteur du tunnel prend le datagramme IPv6 et l'encapsule dans le champ de données d'un datagramme IPv4. Celui-ci est ensuite envoyé du côté récepteur du tunnel via les routeurs IPv4. Du côté récepteur, le nœud IPv6 extrait le datagramme IPv6 des datagrammes IPv4 qu'il vient de recevoir et l'achemine ensuite comme s'il avait reçu directement un datagramme IPv6.
En sécurité
En sécurité, on crée souvent des tunnels chiffrés, par exemple comme le fait SSH. Les données peuvent alors y circuler sans craindre d'être écoutées.
Pour des VPN
Les tunnels peuvent être utilisés pour créer des réseaux privés virtuels (VPN).
Tunnel HTTP
Le tunnel HTTP est le cas particulier qui consiste à faire passer une connexion interdite par un pare-feu (SSH par exemple) dans un protocole HTTP presque toujours autorisé. C'est particulièrement utile quand le pare-feu ne bloque pas simplement les ports associés (22 pour SSH par exemple), mais analyse aussi les protocoles utilisés.