Aller au contenu principal
Vexaro MeshGlossaireTraversée de NAT

Qu'est-ce que la traversée de NAT ?

La plupart des appareils ne disposent pas de leur propre adresse internet publique ; ils se trouvent derrière une traduction d'adresses réseau (NAT) sur un routeur, qui partage une seule adresse publique entre de nombreux appareils internes. C'est parfait pour contacter des serveurs, mais cela signifie que deux appareils de ce type ne peuvent pas simplement se joindre directement. La traversée de NAT regroupe les techniques qui leur permettent malgré tout d'établir une connexion directe.

En bref

La traversée de NAT désigne l'ensemble des techniques qui permettent à deux appareils situés derrière des routeurs (NAT) d'établir une connexion directe, alors même qu'aucun des deux ne dispose d'une adresse publique que l'autre pourrait joindre.

Comment fonctionne la traversée de NAT

  • 01

    Un service de coordination (de signalisation) aide les deux pairs à découvrir l'adresse et le port sous lesquels chacun est visible de l'extérieur, c'est-à-dire la façon dont le monde les perçoit à travers leurs NAT.

  • 02

    STUN est un moyen courant pour un pair de découvrir sa propre adresse et son propre port publics tels qu'ils sont vus depuis l'extérieur de son NAT.

  • 03

    Munis de ces informations, les pairs tentent un « perçage de NAT » (hole punching) : tous deux envoient simultanément des paquets l'un vers l'autre, de sorte que chaque NAT ouvre un chemin pour le trafic de l'autre.

  • 04

    Lorsqu'un chemin direct ne peut pas être ouvert (certains NAT stricts le bloquent), un relais (souvent appelé TURN) peut acheminer le trafic en repli, au prix d'un saut supplémentaire.

Le perçage de NAT en UDP, étape par étape

Dans un déroulement type, chaque pair contacte un serveur de signalisation et, via STUN, découvre l'adresse et le port publics que présente son NAT. Le serveur communique le candidat externe de chaque pair à l'autre. Les deux pairs envoient alors des paquets vers l'adresse externe de l'autre à peu près simultanément. Le premier paquet sortant de chaque côté amène son NAT à créer un mappage temporaire dans l'attente d'une réponse ; lorsque le paquet de l'autre côté arrive, il correspond à ce mappage et passe. Une fois que quelques paquets ont circulé dans chaque sens, un chemin direct et bidirectionnel est ouvert, et le tunnel chiffré l'emprunte.

Quand un relais est nécessaire

Le perçage de NAT réussit pour la plupart des types de NAT, mais certains (les NAT dits symétriques, ou les pare-feu d'entreprise stricts) attribuent des ports imprévisibles ou bloquent la tentative, si bien qu'aucun chemin direct ne peut se former. Le repli est alors un relais : un serveur que les deux pairs peuvent atteindre et qui achemine leur trafic. Dans un système bien conçu, le relais se contente de retransmettre des paquets déjà chiffrés qu'il ne peut pas lire ; il ajoute de la latence et un saut, mais ne voit pas les données. Un bon réseau maillé ne recourt aux relais qu'en dernier ressort, lorsqu'un tunnel direct est impossible.

Lien avec Vexaro Mesh (en développement)

Vexaro Mesh, actuellement en développement, est conçu avec la traversée de NAT intégrée : les pairs derrière un NAT se connectent directement partout où le réseau le permet, et via un relais seulement là où il ne le permet pas. Les passerelles sont conçues pour monter des tunnels chiffrés sur n'importe quel lien, sans redirection de ports ni adresses publiques, ce qui garde courts les chemins de site à site.

Voir les fonctions prévues

Questions fréquentes

Pourquoi deux appareils situés derrière un NAT ne peuvent-ils pas simplement se connecter directement ?
Parce qu'aucun des deux ne possède d'adresse publique que l'autre puisse joindre, et que leurs routeurs rejettent par défaut le trafic entrant non sollicité. La traversée de NAT contourne ce problème en faisant initier la connexion par les deux côtés en même temps (perçage de NAT), après qu'un service de signalisation a indiqué à chacun comment l'autre apparaît de l'extérieur, de sorte que chaque routeur ouvre un chemin pour les paquets de l'autre.
La traversée de NAT nécessite-t-elle d'ouvrir des ports sur mon pare-feu ?
Généralement non. Tout l'intérêt de techniques comme le perçage de NAT est d'établir la connectivité sans redirection manuelle de ports : les pairs créent eux-mêmes les correspondances temporaires nécessaires en initiant du trafic sortant. Les systèmes qui s'appuient dessus sont conçus pour fonctionner derrière un NAT sans redirection de ports ni adresses publiques, et Vexaro Mesh est conçu pour se passer des deux.

Suivez la construction de Vexaro Mesh.

Vexaro Mesh est en développement. Parlez-nous de vos sites et nous vous contacterons au sujet de l'accès anticipé.