Aller au contenu
Zone Blanche Entre maille et bitume

Le mesh · Le mesh sans réseau · 06

Canaux, clés et propagation

Un canal n'est pas une fréquence, une clé ne te rend pas invisible, et il n'y a aucune table de routage. Comment un message traverse réellement un mesh.

Il reste une confusion à lever avant de pouvoir configurer quoi que ce soit sereinement : celle entre le canal, la fréquence et la clé. Trois choses différentes que le mot « canal » mélange dans la tête de tout le monde, parce qu’en radio classique un canal est une fréquence.

Ici, non.

Un canal n’est pas une fréquence

Un canal Meshtastic est un conteneur logique : un nom, une clé de chiffrement, et quelques réglages. Tous les canaux d’un module partagent la même radio et la même fréquence.

Il y en a huit, numérotés de 0 à 7. Le canal 0 est le canal principal — PRIMARY. C’est lui qui porte par défaut les positions et les télémétries, et c’est son nom qui participe au calcul du créneau de fréquence.

Le canal par défaut s’appelle LongFast et utilise une clé publique connue de tous.

Ce n’est pas un défaut de conception. C’est ce qui permet à deux inconnus de se découvrir sans s’être mis d’accord au préalable — la condition même pour qu’un réseau maillé ouvert existe. Mais il faut le savoir : sur ce canal, tout ce que tu écris est lisible par n’importe quel module à portée.

Ce que la clé fait, et ce qu’elle ne fait pas

Ce qu’elle fait : elle décide qui peut lire le contenu de tes messages et de tes positions.

Ce qu’elle ne fait pas : elle ne te rend pas invisible.

Deux nœuds aux clés différentes s’entendent quand même, se relaient mutuellement, et voient passer les métadonnées — qui parle, quand, avec quelle force de signal. Seul le contenu leur échappe.

C’est voulu, et c’est ce qui fait tenir le maillage : un inconnu peut faire suivre ton message sans jamais pouvoir le lire.

Pour un groupe privé, la configuration saine est donc : un canal secondaire avec ta propre clé, et le canal 0 public conservé. Tu restes joignable, tu continues à relayer les autres, et tes conversations restent à toi.

Comment un message voyage

Il n’y a ni table de routage, ni calcul de chemin optimal, ni élection de routeur. Meshtastic utilise une inondation contrôlée.

Quand un nœud entend un message qu’il n’a jamais vu, il le répète. Ses voisins font pareil. Le message se propage en tache d’huile jusqu’à couvrir tout le réseau atteignable.

Ça devrait provoquer une tempête. Deux garde-fous l’en empêchent.

La mémoire. Chaque nœud retient les messages déjà relayés et ne les répète pas deux fois.

Le hop limit. Chaque message porte un compteur, décrémenté à chaque relais. Arrivé à zéro, le message meurt. Par défaut il vaut 3 : ton message peut traverser trois relais, pas plus.

Le nombre de sauts est une information

C’est le point que je trouve le plus sous-estimé.

Quand tu reçois un paquet, tu peux savoir combien de relais il a traversés. Et cette valeur dit quelque chose de précis :

Zéro saut — le message est arrivé en direct. Tes deux antennes se voient. C’est une preuve de portée réelle, la seule qui vaille.

Trois sauts — quelqu’un d’autre a fait le travail. Ton correspondant peut être à quinze kilomètres derrière une colline. Ta portée directe vers lui reste totalement inconnue.

Quand tu testes une portée, ne regarde pas si le message arrive. Regarde s’il arrive à zéro saut. Sinon tu mesures le réseau des autres, pas le tien.

Les rôles

Chaque nœud a un rôle, qui décide de son comportement de relais.

RôleComportement
CLIENTÉmet, reçoit, relaie. Le bon choix par défaut.
CLIENT_MUTENe relaie pas les autres. Pour un nœud en bout de chaîne.
ROUTERRelaie en priorité. Réservé aux nœuds vraiment bien placés.
TRACKEROptimisé pour émettre sa position en économisant la batterie.

L’erreur classique consiste à mettre son nœud en ROUTER parce que ça sonne mieux. Un ROUTER mal placé — sur un bureau, au rez-de-chaussée — dégrade le réseau pour tout le monde : il s’arroge une priorité de relais qu’il est incapable d’honorer, et les messages qu’il aurait dû faire suivre se perdent.

Le rôle décrit une position géographique, pas une ambition. Si ton module n’est pas en hauteur et alimenté en permanence, laisse-le en CLIENT.

Ce qui n’est pas garanti

Un dernier point d’honnêteté : en diffusion, il n’y a aucune garantie de remise. Ton message part, et personne ne confirme.

Seul un message direct, adressé à un nœud précis, demande un accusé de réception — le destinataire répond alors par un paquet de routage qui confirme la remise ou explique l’échec.

C’est pour ça qu’un message en diffusion qui n’arrive pas n’est pas un bug. Le protocole ne l’a jamais promis.

La suite

Prochain article, le piège qui rend fou : pourquoi ta position ne bouge pas quand tu marches, alors que le GPS fonctionne parfaitement.

D’où viennent ces informations

Les valeurs techniques de cet article sont vérifiées à la source. Quand une affirmation vient d’un relevé sur mon propre matériel, c’est indiqué — elle vaut pour ma configuration, pas forcément pour la tienne.