VIGIL MESH

Documentation

Le meilleur chemin, choisi et maintenu tout seul

Une connexion VIGIL s'établit immédiatement en passant par un relais aveugle, puis court en arrière-plan vers un chemin direct entre les deux machines. Quand le direct est prêt, la session y bascule sans nouvelle poignée de main ; si le réseau change — nouvelle adresse, passage du Wi-Fi à la 5G, coupure d'un lien — la session survit et se rétablit sur le meilleur chemin disponible. Le relais, lui, ne disparaît pas : il reste en secours chaud, prêt à reprendre le trafic si le direct se dégrade.

Trois rôles se partagent le travail

Le choix du chemin s'appuie sur la même répartition des rôles que le reste du mesh, décrite en détail dans la page consacrée au réseau. On la rappelle ici parce qu'elle conditionne ce qui suit :

Le nœud

La machine elle-même. Elle chiffre et déchiffre son propre trafic de bout en bout, teste les chemins possibles vers ses pairs et décide lequel emprunter.

La vigie aveugle

Le relais. Elle transporte des octets chiffrés entre deux nœuds sans jamais les lire : c'est par elle que passe la connexion immédiate, et c'est elle qui reste en secours.

Le contrôleur

L'orchestrateur. Il distribue la carte réseau signée — identités, politique d'accès, annuaire des relais — mais ne touche jamais au contenu des flux.

Aucun de ces rôles n'a besoin d'un port entrant ouvert sur les nœuds. La page réseau mesh détaille comment ces trois rôles s'articulent ; l'essentiel ici est que la vigie relaie sans lire et que le nœud garde la main sur le choix du chemin.

Connexion immédiate, puis course vers le direct

L'ordre des opérations est délibéré : d'abord une connexion qui fonctionne tout de suite, ensuite la recherche du meilleur chemin. L'utilisateur n'attend jamais que la négociation directe aboutisse pour commencer à travailler.

  1. 1
    Établissement immédiat via le relaisDès qu'un nœud veut joindre un pair, la session s'ouvre à travers une vigie aveugle. Comme aucun des deux nœuds n'a besoin de port entrant, ce chemin est disponible même derrière deux NAT stricts. Le trafic circule, chiffré de bout en bout.
  2. 2
    Découverte des chemins directs en arrière-planEn parallèle, les deux nœuds échangent leurs adresses candidates et tentent d'établir un chemin direct — y compris par perçage de NAT. L'utilisateur ne perçoit rien : la session relayée continue de porter le trafic.
  3. 3
    Bascule vers le direct quand il est prouvéUn chemin direct n'est retenu qu'une fois qu'il transporte réellement des paquets validés. La session s'y déplace alors, sans interruption visible du flux applicatif.
  4. 4
    Repli automatique si le direct échoueSi le chemin direct ne s'établit pas ou se coupe, il ne se passe rien de fâcheux : le trafic reste — ou revient — sur le relais, qui n'a jamais cessé d'être disponible.

Ce modèle « relais d'abord, direct ensuite » explique pourquoi une connexion VIGIL semble toujours instantanée : le chemin optimal est une amélioration qui arrive par-dessus une connexion déjà fonctionnelle, jamais une condition préalable.

Migration sans nouvelle poignée de main

Une session VIGIL n'est pas liée à un couple d'adresses IP. Elle est identifiée par un identifiant de connexion propre au transport, indépendant de l'adresse et du port sous-jacents. C'est ce qui lui permet de survivre à des changements que les connexions classiques ne supportent pas.

  • Changement d'adresse IP : un ordinateur portable qui passe du Wi-Fi du bureau à la 5G garde sa session ouverte, sans reconnexion applicative.
  • Changement de réseau : quitter un site pour un autre, ou basculer d'un lien filaire à un lien mobile, ne coupe pas les flux en cours.
  • Changement de chemin : passer du relais au direct, ou l'inverse, se fait au sein de la même session — la couche applicative ne voit aucune rupture.

La migration se fait sans rejouer la poignée de main cryptographique : les clés de la session restent valides pendant qu'elle se déplace d'un chemin à l'autre. C'est cette continuité qui distingue une migration d'une simple reconnexion — un transfert de fichier, un flux vidéo ou une session distante se poursuivent au lieu de repartir de zéro.

Le relais reste en secours chaud

Passer en direct ne signifie pas fermer le relais. La vigie aveugle qui a porté la connexion initiale reste disponible en secours chaud pendant toute la durée de la session : elle n'a pas à être renégociée pour reprendre du service.

  • Si le chemin direct se dégrade — perte de paquets, latence qui grimpe, coupure d'un lien — le trafic peut repasser par le relais sans interruption perceptible.
  • Le relais transporte toujours des octets chiffrés de bout en bout : qu'il serve à l'établissement, au secours ou de façon permanente, il ne lit jamais rien.
  • Lorsque les conditions redeviennent favorables, la session peut à nouveau courir vers un chemin direct — la logique « relais d'abord, direct ensuite » se rejoue en continu.
Lire ensuiteMulticast avancé : mDNS, SSDP, DDS et ROS 2

In English

A VIGIL session connects immediately through a blind relay, then races in the background toward a direct path between the two machines. When the direct path is proven, the session moves onto it with no fresh handshake.

Sessions are not tied to an IP address, so they survive network, address and path changes — a laptop switching from Wi-Fi to 5G keeps its session alive. The relay stays as a warm standby, ready to carry traffic again if the direct path degrades.

Setup and switch-over timings are design targets relative to round-trip time, not published measurements — see the performance page for the distinction.