VIGIL MESH

Documentation

Un domaine de diffusion comme un switch, sur un mesh chiffré

VIGIL-MESH est un overlay L3 qui offre ce qui manque à tous les VPN L3 : la diffusion. Chaque réseau est un domaine de diffusion logique — broadcast, multicast et link-local IP atteignent tous les membres comme sur un commutateur, sans les fragilités d'un vrai L2 étendu (pas d'ARP, pas de spanning-tree, pas de MAC learning). Le multicast est chiffré de bout en bout et le relais le réplique sans pouvoir le lire.

Ce qui fonctionne comme sur un LAN

Sur un réseau local classique, vos appareils se voient tout seuls : l'imprimante s'annonce, le téléviseur apparaît, la manette trouve la partie. Cette magie ne repose pas sur de la configuration mais sur la diffusion — des paquets envoyés « à tout le monde sur le lien ». C'est précisément cette couche que les VPN L3 laissent tomber, et que VIGIL-MESH restitue à l'identique à travers le mesh chiffré.

Concrètement, les protocoles de découverte et d'annonce link-local traversent le réseau comme s'ils partageaient un même câble :

  • mDNS/Bonjour — imprimantes, Chromecast, AirPlay, partages de fichiers
  • SSDP/UPnP — téléviseurs, box multimédia, passerelles domotiques
  • WS-Discovery — caméras et périphériques ONVIF, scanners réseau
  • LLMNR et NetBIOS-NS — résolution de noms héritée des postes Windows
  • Jeux en réseau local (LAN) — découverte de parties et lobbies sur le segment local
  • UDP broadcast métier — annonces d'automates, capteurs et services propriétaires

Pour tous ces usages, le comportement est indistinguable de celui d'un L2 : une découverte lancée depuis un membre atteint les autres membres du réseau, où qu'ils soient physiquement.

Sur un LAN physiqueSur votre réseau VIGIL
✓ Découverte d'imprimantes (mDNS/Bonjour)✓ Découverte d'imprimantes (mDNS/Bonjour)
✓ Chromecast / AirPlay✓ Chromecast / AirPlay
✓ Jeux en réseau local (LAN)✓ Jeux en réseau local (LAN)
✓ Annonces UDP métier✓ Annonces UDP métier
Un switch physique équivaut à un réseau maillé : un seul lien logiqueswitch physique=un réseau = un lien logiquela découverte d'appareils traverse le mesh
Le réseau VIGIL se comporte comme un commutateur virtuel : tous les membres partagent un même domaine de diffusion, quel que soit leur emplacement.

Pourquoi VIGIL n'étire pas un vrai L2 — et pourquoi c'est un avantage

Restituer la diffusion ne veut pas dire étirer un vrai réseau L2 à travers le monde. L'overlay reste résolument L3 : chaque membre reçoit une interface TUN qui transporte des paquets IP. Ce choix n'est pas une limitation subie, c'est une décision d'ingénierie — tout ce qui rend un L2 étendu fragile est délibérément laissé de côté :

  • Pas d'ARP inondé à l'échelle du mesh, donc pas de tempête de résolution d'adresses.
  • Pas de spanning-tree, donc pas de reconvergence lente ni de boucles à casser.
  • Pas de MAC learning, donc pas de table à saturer ni de flottement d'apprentissage.

Le principe tient en une phrase : un réseau = un lien logique. VIGIL garde le meilleur du L2 — la diffusion — sans hériter des mécanismes qui font s'effondrer un domaine de collision trop grand.

Le mesh est UN lien : mDNS arrive avec TTL 255 intact

Beaucoup de protocoles link-local se protègent en exigeant un TTL de 255 à la réception : si le paquet a été routé (donc décrémenté), il est rejeté. C'est le cas des piles mDNS strictes. Un overlay qui route naïvement casse ces protocoles sans prévenir.

VIGIL traite le réseau comme un unique lien logique : le TTL link-local est transporté d'un bout à l'autre sans décrément. Un paquet mDNS émis avec TTL 255 arrive avec TTL 255. La pile réceptrice le considère comme légitimement local — parce que, du point de vue de la diffusion, il l'est.

Le multicast est chiffré, et le relais le réplique sans pouvoir le lire

Diffuser en clair à travers un relais mutualisé serait un contresens. Chaque émetteur multicast possède sa propre clé d'émetteur (sender key) : une clé symétrique ChaCha20-Poly1305 de 32 octets, propre à cet émetteur et à une époque donnée. Elle est distribuée aux membres autorisés via les sessions chiffrées de bout en bout — jamais par le relais.

La clé tourne à trois occasions : à la révocation d'un membre du groupe, au redémarrage de l'émetteur, et au plus tard toutes les 24 heures. Un membre parti ne peut donc plus déchiffrer les diffusions suivantes.

Côté relais, l'identifiant du groupe multicast n'est qu'un haché opaque (BLAKE2s). La vigie réplique le paquet vers les bons récepteurs sans savoir à quel groupe applicatif il correspond, et sans jamais accéder à son contenu.

Réplication multicast : une copie montante répliquée sans être lueA1 copie montanteBCDréplique sans lire (groupId opaque)
Fan-out chiffré : l'émetteur chiffre une fois sous sa clé d'émetteur ; la vigie duplique vers chaque récepteur sur la foi d'un identifiant de groupe haché, sans clé ni contenu.

Sans tempête, sans boucle

La diffusion est puissante mais dangereuse : mal bornée, elle dégénère en tempête de broadcast. VIGIL applique un contrôle de tempête à double étage.

  • Par émetteur : un token bucket de 200 paquets/s et 512 kbit/s, appliqué à la fois à l'émission et au fan-out.
  • Par réseau, côté vigie : un plafond global de 2 000 paquets/s répliqués, quel que soit le nombre d'émetteurs.
  • Règle d'or : un récepteur ne réémet jamais un paquet de diffusion. Aucune boucle ne peut se former.
  • Déduplication stricte sur le quadruplet (groupe, index d'émetteur, époque, compteur) : un paquet dupliqué par le maillage n'est délivré qu'une fois.

Un émetteur emballé est étranglé à sa source ; un réseau entier reste plafonné à la vigie ; et l'absence de réémission par les récepteurs interdit structurellement les boucles.

Abonnements automatiques : votre pile IP fait le travail

Vous n'avez rien à déclarer. L'agent joue le rôle de querier IGMPv3 (IPv4) et MLDv2 (IPv6) local sur l'interface TUN. Quand une application s'abonne à un groupe multicast, votre système d'exploitation l'annonce comme sur n'importe quel réseau — et l'agent le détecte.

Les abonnements sont alors propagés automatiquement dans le mesh : la diffusion n'est répliquée que vers les membres réellement intéressés. Zéro configuration, zéro liste de groupes à maintenir à la main.

Ça marche aussi hors ligne et en TCP-only

La diffusion ne dépend pas d'internet. Sur un îlot coupé du reste du monde — un site isolé, un chantier sans lien montant — le mDNS et les annonces link-local continuent de circuler entre les membres vérifiés présents sur place. La découverte locale survit à la coupure.

Et là où l'UDP est bloqué, un profil de conformité fait passer le multicast par un fan-out TCP : la diffusion reste fonctionnelle, encapsulée dans le seul transport autorisé.

Les limites, dites franchement

Le modèle de confiance est lui aussi énoncé sans détour : la garantie porte sur l'authenticité au niveau du groupe. Tout membre autorisé d'un groupe peut émettre et déchiffrer les diffusions de ce groupe — c'est exactement le modèle d'un LAN physique, où quiconque est branché au commutateur participe au même domaine de diffusion.

Questions fréquentes

VIGIL-MESH est-il un réseau L2 ?
Non. VIGIL-MESH est un overlay L3 qui ajoute une diffusion de première classe — ce que l'on peut appeler du « presque-L2 » : broadcast, multicast et link-local IP atteignent tous les membres comme sur un commutateur, mais sans les fragilités d'un vrai L2 étendu (pas d'ARP, pas de spanning-tree, pas de MAC learning).
Les imprimantes, Chromecast et la découverte d'appareils fonctionnent-ils à travers le mesh ?
Oui, exactement comme sur un LAN. Les protocoles de découverte link-local — mDNS/Bonjour, SSDP/UPnP, WS-Discovery — traversent le domaine de diffusion du réseau : une imprimante, un Chromecast ou un AirPlay annoncé d'un côté est découvert de l'autre.
Le multicast est-il chiffré ?
Oui, de bout en bout. Chaque émetteur diffuse sous une clé d'émetteur (sender key) qui tourne à la révocation d'un membre, au redémarrage de l'émetteur et au moins toutes les 24 heures. La vigie réplique les paquets vers les récepteurs sans jamais pouvoir les lire.
Et les protocoles non-IP comme PROFINET DCP ?
Ils sortent du périmètre du cœur, qui reste résolument IP. Le pont d'un segment non-IP (ARP brut, PROFINET DCP, EtherCAT) passe par un pont L2 de site optionnel installé sur un nœud passerelle — jamais par un mode du mesh lui-même.
Lire ensuiteDéployer sa vigie privée

In English

Every VIGIL network is a broadcast domain, just like a switch. Broadcast, multicast and link-local IP reach every member — without the fragility of a stretched L2 (no ARP, no spanning-tree, no MAC learning).

LAN protocols simply work across the encrypted mesh: mDNS/Bonjour printers, Chromecast and AirPlay, SSDP and WS-Discovery device discovery, LAN games and business UDP announcements.

Multicast is end-to-end encrypted with rotating sender keys. The relay replicates packets blindly, forwarding them to receivers without ever reading the content or holding the keys.