> For the complete documentation index, see [llms.txt](https://sansong.gitbook.io/cyber/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sansong.gitbook.io/cyber/reseau/tunnel.md).

# Tunnel

Un tunnel réseau sert à transporter des paquets sur un réseau qui utilisent un protocole qui n'est pas supporté par ce réseau. La technique: encapsuler les paquets non supportés dans des paquets légitimes.

{% hint style="success" %}
Quand on parle d'encapsulation ça veut dire envelopper un paquet dans un autre
{% endhint %}

Une bonne analogie est une voiture embarquée sur un ferry. On peut voir la voiture comme un paquet sur le réseau *route* et le ferry comme un paquet sur le réseau *mer*. La voiture ne peut pas circuler sur la mer mais on peut l'embarquer sur le ferry pour lui permettre de traverser ce réseau !

Les protocoles peuvent ne pas être supportés pour différentes raisons, par exemple être bloqués par un pare-feu.

**Comment les paquets sont encapsulés ?**

Les paquets ont 2 parties:

* en-tête
* charge utile ou *payload* (les données)

L'en-tête et le payload du paquet encapsulé sont intégrés au payload du paquet encapsulant. Ainsi, le paquet encapsulé devient une partie du paquet encapsulant, tout en conservant son propre contenu. Cela permet de transmettre le paquet encapsulé à travers différents réseaux tout en maintenant les informations nécessaires pour le faire parvenir à sa destination finale.
