répéteurs actifs 1 350départements couverts 71nœuds entendus sur 7 jours 6 329messages transportés hier 12 621messages sur 7 jours 85 655paquets échangés sur 7 jours 388 851

La portée des messages

Régions et portée

Jusqu'où un message est relayé. Le réglage le moins documenté de MeshCore, celui que presque tout le monde comprend de travers.

Un canal dit à qui un message s’adresse. Une région dit jusqu’où il est relayé. Les deux mécanismes sont indépendants.

Attention au mot : une région MeshCore est une étiquette de portée géographique, sans rapport avec les régions administratives françaises.

Vous découvrez les régions ? Suivez les encadrés « En clair » : lus à la suite, ils racontent tout le mécanisme, sans une seule commande. Vous configurez un répéteur ? Les sections techniques se lisent seules, et les réglages à poser sont dans les conventions.

Le principe, en une image

Imaginez des villages reliés par des crieurs publics. Un message passe de village en village, chacun le répétant plus fort pour que le suivant l’entende.

Chaque répéteur est le crieur d’un village. Chaque compagnon est un habitant équipé d’une radio. Une région, c’est un canton : un groupe de villages qui acceptent de se relayer entre eux. Une annonce criée peut porter le tampon d’un canton.

Sur le réseauAu village
RégionUn canton
Étiquette de régionLe tampon du canton, apposé sur l’annonce
InondationUne annonce criée de village en village
Route directeUne lettre portée par des messagers, les villages de passage écrits sur l’enveloppe
Zéro sautParler par-dessus la clôture
RépéteurLe crieur public
Liste des régions du répéteurLes cantons que ce crieur accepte de servir

Le crieur applique une règle simple : il ne répète une annonce que si elle porte le tampon d’un canton qu’il sert. Une annonce sans tampon, il la répète aussi, par défaut. Une lettre, il la transmet toujours, sans même regarder le tampon.

Et cette règle ne concerne qu’un seul des deux rôles. Le crieur, c’est le répéteur : lui seul répète ce que disent les autres, donc lui seul a une liste de cantons à servir. L’habitant, c’est le compagnon : il parle et il écoute, il ne répète rien, et ce qu’il choisit, c’est le tampon qu’il appose sur ce qu’il envoie. Un salon se comporte ici comme un habitant : il garde des messages, il n’en répète aucun.

C’est pour cela que les réglages diffèrent selon l’appareil, et qu’un appareil ne porte qu’un rôle à la fois.

Au villageSur le réseauCe qu’il décide
Le crieurle répéteurles cantons qu’il sert, et le tampon de ses propres annonces
L’habitantle compagnonle tampon qu’il met sur ce qu’il envoie
Le dépôt de lettresle salonrien : il garde et rend les messages, sans jamais répéter

Deux acteurs, deux rôles

ActeurCe qu’il fait
Le répéteurdéclare la liste des régions où il se trouve
L’émetteurétiquette son message avec la portée jusqu’où il doit aller

Un répéteur relaie un message si et seulement si l’étiquette du message figure dans sa liste.

Et ce sont les compagnons qui portent les canaux, pas les répéteurs : un répéteur n’a aucun canal, il transporte des paquets sans les lire.

Comment fonctionnent les régionsLe répéteur déclare où il se trouve. L'émetteur décide jusqu'où son message doit aller.DEUX RÔLES, DEUX DÉCISIONSLe répéteur déclare où il estIl porte toutes les échelles géographiques qui le concernent.eufrfr-arafr-38*Il relaie un message si l'étiquette de ce message figure dans sa liste.Il ne lit rien, il ne filtre rien d'autre.L'émetteur décide jusqu'oùIl tague chacun de ses canaux avec une portée.#local→fr-38#fr→frC'est ici que se joue l'économie du temps d'antenne.OÙ S'ARRÊTE CHAQUE MESSAGETrois messages émis par le même nœud, avec trois portées différentes. Chaque cercle est un répéteur, avec ce qu'il porte.Message taguéfr-38reste dans le départementEfr-38R1eu fr fr-ara fr-38 +communeR2eu fr fr-ara fr-38 +communeR3eu fr fr-ara fr-26R4eu fr fr-ara fr-26R3 ne porte pas fr-38Message taguéfrtraverse la France, s'arrête aux frontièresER1R2R3R4Tous les répéteurs portent fr, donc tous relaient. Coût multiplié par le nombre de répéteurs traversés.Messagenon taguéne s'arrête nulle partER1R2R3R4›Tous les répéteurs portent la région * par défaut, qui relaie tout ce qui n'a pas d'étiquette.Le trafic non tagué va donc plus loin que le trafic tagué. C'est le contraire de ce qu'on imagine.POURQUOI UN RÉPÉTEUR PORTE LES CINQ NIVEAUXNe porter que fr-38Le répéteur coupe tout message tagué eu, fr, fr-araou d'une commune voisine, même correctement tagué.Il devient un trou dans le réseau.Personne ne comprend pourquoi les messages s'arrêtent là.Et cela ne réduit pas le trafic national : il continuede circuler chez tous ceux qui portent fr.Porter les cinqLe répéteur accepte les différents degrés de précisionque les émetteurs emploieront.Le filtrage se fait côté émetteur.C'est le tag des canaux qui préserve le temps d'antenne.Et si le trafic large devient un problème, il suffirade bloquer eu, sans toucher au trafic local.À RETENIRLe répéteur dit où il est. L'émetteur dit jusqu'où son message doit aller. Ce sont deux décisions distinctes.Un répéteur qui restreint sa liste ne réduit rien : il coupe des messages corrects et devient invisible aux autres.Ce qui préserve le réseau, c'est de taguer chaque canal à la plus petite portée qui couvre ses destinataires.Aussi local que possible, aussi loin que nécessaire.
Le répéteur déclare où il est, l'émetteur décide jusqu'où son message doit aller. Trois portées, trois issues : le message étiqueté fr-38 reste dans le département, celui étiqueté fr traverse la France, celui qui n'est pas étiqueté ne s'arrête nulle part.

Ne pas confondre trois choses

C’est la confusion la plus fréquente, et elle coûte cher : on croit avoir limité son trafic alors qu’on a seulement changé ce que le répéteur accepte de relayer.

RéglageSur quel appareilCe qu’il gouverne
region putle répéteurce qu’il accepte de relayer pour les autres. Ne change rien à ce qu’il émet
region defaultle répéteurla portée de ses propres paquets : ses annonces, ses réponses quand la portée du demandeur est inconnue
Portée du canalle compagnon, dans l’applicationla portée de vos messages sur ce canal

Trois conséquences à retenir.

Restreindre region put sur votre répéteur ne réduit pas votre propre trafic. Ça réduit le service que vous rendez aux autres. Si vous voulez moins peser sur le réseau, c’est region default et la portée de vos canaux qu’il faut regarder.

Élargir region default sur un répéteur n’améliore pas la couverture. Ça ne fait qu’envoyer ses annonces plus loin, au prix du temps d’antenne de tous les répéteurs traversés.

Un répéteur n’a pas de canal, donc pas de portée de canal. Il transporte des paquets sans les lire. La portée d’un message de canal est décidée par le compagnon qui l’émet, jamais par les répéteurs du trajet.

La région *, et le contresens qu’elle crée

Créée par défaut sur tout répéteur, * signifie : relaie tous les messages qui n’ont aucune région associée.

C’est elle qui fait tenir le réseau pendant la transition. Sans elle, quiconque n’a pas encore configuré ses canaux serait coupé sans comprendre pourquoi.

Elle produit une conséquence que personne n’attend :

Le trafic non étiqueté va plus loin que le trafic étiqueté. Il n’est arrêté par aucune frontière de région.

C’est vérifiable dans les mesures du réseau : une annonce étiquetée est recopiée 2,5 fois en moyenne, une annonce sans étiquette 5,7 fois.

Ce qui est filtré, et ce qui ne l’est jamais

Un répéteur ne regarde la région que d’un seul genre de paquet : ceux qu’il reçoit en inondation et qu’il devrait relayer.

Mode du paquetLe répéteur vérifie-t-il la région ?
Inondation étiquetéeoui : si aucune région de sa liste ne correspond, il ne relaie pas
Inondation sans étiquettetraitée comme *, relayée dans la limite de flood.max.unscoped
Route directe, étiquetée ou nonjamais
Zéro sautsans objet, rien n’est relayé

Deux conséquences surprennent souvent.

Restreindre les régions d’un répéteur ne coupe pas les échanges établis. Une conversation dont le chemin est connu passe en route directe, que la région ne contrôle pas. Ce qui est coupé, c’est la découverte.

Une région ne filtre jamais la réception. Un compagnon entend tout ce qui lui parvient. Sur un banc d’essai où tous les appareils s’entendent directement, les régions ne sont donc jamais sollicitées.

Pourquoi porter les cinq niveaux

La convention française suit le principe de la peau d’oignon : un répéteur déclare toutes les échelles géographiques où il se trouve, de la plus large à la plus fine.

NiveauCodeSource
Europeeuusage international établi
PaysfrISO 3166-1 alpha-2
Régionfr-araISO 3166-2
Départementfr-38ISO 3166-2
Communefr-38-185-grenoblecode INSEE, voir plus bas

La commune est le niveau le plus récent, et le seul qui ne vienne pas d’une norme internationale : il est construit à partir du code INSEE. C’est lui qui permet à un répéteur de quartier de s’annoncer chez lui sans faire le tour du pays.

L’imbrication existe dans le firmware mais elle est purement cosmétique : déclarer fr-38 comme enfant de fr-ara ne produit aucun héritage. Chaque étiquette doit être portée explicitement.

Un répéteur ne filtre pas pour protéger le réseau. Il accepte les différents degrés de précision que les émetteurs emploieront.

Un répéteur qui ne porterait que son département couperait tout message étiqueté fr, fr-ara, eu ou celui d’une commune voisine traversant son secteur, y compris ceux d’un voisin ayant étiqueté correctement. Il deviendrait un trou dans le réseau, sans que personne ne comprenne d’où vient le blocage.

Le filtrage utile se fait côté émetteur, en étiquetant chaque canal à la portée juste. C’est là que se joue la préservation du temps d’antenne, pas dans la liste du répéteur.

Le cas de eu

Porter eu expose au trafic européen étiqueté. C’est un coût réel. Mais l’alternative est pire : quelqu’un qui veut porter loin sans disposer de eu n’étiquette rien du tout, son message part sous *, et il va au-delà de l’Europe.

eu sert donc à séparer deux populations pour les traiter différemment.

TraficTraitement possible
Non étiquetélimité par flood.max.unscoped
Étiqueté eutoléré tant qu’il reste raisonnable, blocable d’une commande

C’est ce qui rend une crise gérable. Si tout le monde étiquette proprement, bloquer eu dégage la bande sans toucher au trafic local. Sans cette séparation, il n’y a rien à bloquer : tout est mélangé sous *.

Ce que porte un nœud du réseau

Type de nœudregion putregion default
Répéteur de quartier, classe 3eu, fr, sa région, son département, sa communesa commune
Répéteur de bassin, classe 2les mêmesson département
Dorsale, classe 1les mêmessa région
Compagnon sédentairesans objetson département
Compagnon en déplacementsans objetfr

La région par défaut s’applique aux paquets que le nœud émet lui-même : adverts, tentatives de contact par inondation, reprise de chemin. Elle réduit la portée, elle ne l’augmente pas. Sans elle, ces paquets partent sous * et ne s’arrêtent nulle part.

Elle ne suffit pourtant pas, car un advert coûte autant qu’un message et se répète indéfiniment. Le réglage qui compte autant est l’intervalle entre deux annonces inondées, fixé par la convention à 32 heures, et leur plafond de sauts, fixé à 5.

D’où vient fr-38-185-grenoble

Un nom de région communale se compose de quatre morceaux, dans cet ordre :

MorceauExempleD’où il vient
PaysfrISO 3166-1
Département29les deux premiers chiffres du code INSEE
Commune019les trois derniers chiffres du code INSEE
Nombrestle nom de la commune, en minuscules, sans accent

Le code INSEE de Brest étant 29019, sa région communale est donc fr-29-019-brest. Celui de Nancy, 54395, donne fr-54-395-nancy, et celui de Grenoble, 38185, donne fr-38-185-grenoble.

Vous n’avez pas à le deviner. Le configurateur le compose à partir de l’adresse du répéteur : vous indiquez où il se trouve, il en tire le département, le code INSEE et le nom, puis pose les commandes region put et region default correspondantes. Ce qui suit décrit ce qu’il fait, pour ceux qui veulent le faire à la main ou vérifier.

Un exemple complet

Un répéteur de bassin installé à Grenoble, classe 2 : il porte les cinq échelles et s’annonce à celle de son département.

Configuration complète des régions, répéteur de Grenoble
--- l'arbre, du plus large au plus fin ---
region put eu                        # l'Europe, sous la racine
region put fr eu                     # la France, sous l'Europe
region put fr-ara fr                 # la région administrative
region put fr-38 fr-ara              # le département
region put fr-38-185-grenoble fr-38  # la commune, code INSEE 38185

--- les régions réservées et la région hors arbre ---
region put fr-reserved-1 fr
region put fr-reserved-2 fr
region put fr-reserved-3 fr
region put emergency                 # au niveau de eu, sans parent

--- ce que ce nœud est, et ce qu'il dessert ---
region home fr-38-185-grenoble       # où il se trouve
region default fr-38                 # la portée de SES annonces

--- le trafic non étiqueté, et les annonces ---
set flood.max.unscoped 2             # le bruit lointain s'arrête
set flood.advert.interval 32         # annonce inondée, toutes les 32 h
set flood.max.advert 5               # elle s'arrête après 5 sauts

region save                          # sans ça, tout est perdu au redémarrage
reboot

Pour un répéteur de quartier, en classe 3, une seule ligne change : region default fr-38-185-grenoble, la commune au lieu du département. Pour une dorsale, en classe 1, ce serait region default fr-ara.

Vérifiez ensuite avec region, qui exporte la table, et region default, qui rend la portée en vigueur.

Limiter le trafic non étiqueté

Sur un répéteur
set flood.max.unscoped 2

Disponible depuis le firmware 1.16, cette commande rejette les messages sans région ayant déjà effectué plus que ce nombre de sauts. Sa valeur d’usine est 64 : sans réglage, le trafic non étiqueté n’est pratiquement pas limité.

C’est le levier le plus efficace contre le bruit : il coupe le trafic lointain non configuré tout en laissant passer celui des nouveaux arrivants du voisinage, qui n’ont pas encore paramétré leurs régions.

ValeurUsage
5zone peu dense, peu de trafic étranger
2valeur de la convention : répéteur ordinaire ou très entendu
1à éviter, coupe les voisins immédiats

À ne pas confondre avec le blocage de *, qui coupe intégralement le trafic non étiqueté. Celui-là ne se justifie que sur un répéteur frontalier face à un volume étranger massif.

Deux compagnons, deux régions

Un compagnon étiquette tout ce qu’il émet avec sa propre région par défaut, y compris ses réponses. Sans région par défaut, il émet tout sans étiquette. Un répéteur ou un salon, eux, répondent avec la région de la demande reçue.

Conséquence : si deux compagnons ont des régions par défaut différentes, et qu’un répéteur du trajet ne sert que l’une des deux, l’aller passe mais le retour, chemin et accusé de réception, peut être arrêté. L’émetteur ne reçoit pas d’accusé et renvoie son message pour rien. Le message est arrivé, mais personne ne le sait.

Tant que ce comportement n’évolue pas dans le firmware, la parade est de donner la même région par défaut aux compagnons qui échangent souvent, ou de choisir une échelle que tous les répéteurs du trajet portent.

Un compagnon qui se déplace

L’advert d’un compagnon porte toujours sa région par défaut. La portée qu’on choisit sur le moment dans l’application s’applique aux messages, pas aux adverts. Un compagnon réglé sur sa commune est donc introuvable dès qu’il la quitte, sauf pour ceux qui l’entendent directement.

Un exemple : un compagnon réglé sur fr-29-019-brest reste introuvable dès qu’il passe à Quimper, sauf pour ceux qui l’entendent directement.

En déplacement, passez votre compagnon en fr : c’est la seule échelle que portent tous les répéteurs, vous serez découvert partout en France.

Ce choix a un coût. Le firmware d’un compagnon n’a pas de minuterie d’advert, mais l’application qui le pilote en envoie d’elle-même : un compagnon actif s’annonce environ toutes les 83 minutes, mesuré sur le réseau français. En fr, chacune de ces annonces traverse le pays. La région par défaut étiquette aussi vos messages de canal et vos premiers messages à un contact dont le chemin est inconnu, qui traversent le pays à leur tour.

D’où deux conseils. Revenu chez vous, reprenez une échelle plus fine. Et si votre application permet de choisir une portée au moment d’envoyer, servez-vous-en pour vos messages : ce choix-là ne touche pas aux adverts.

Région par défaut du compagnonDécouvrableCoût
Sa communeseulement dans sa communele plus faible, mais introuvable dès qu’on en sort
L’échelle où l’on circulepartout où l’on circulemodéré
frpartout en Francechaque advert inonde tout le pays

Combien de régions, et de quelle taille

Les limites lues dans le code du firmware, RegionMap.h :

LimiteValeur
Régions par répéteur32, plus le joker *
Longueur d’un nom30 caractères
Taille d’une entrée36 octets : identifiant, parent, drapeaux, nom
Table complète en mémoireenviron 1,2 Ko
Clés par région privée4

La vraie limite n’est pas celle-là. Pour décider s’il relaie un paquet inondé, le répéteur recalcule un HMAC-SHA256 par région de sa liste, jusqu’à trouver une correspondance. Vingt régions, c’est jusqu’à vingt calculs par paquet.

Et le cache des clés ne tient que seize entrées. Quand il est plein, le firmware ne remplace rien : les clés des régions surnuméraires sont recalculées à chaque paquet, un SHA-256 de plus à chaque fois.

Nombre de régionsCe que ça donne
5 ou 6la convention : eu, fr, la région, le département, la commune, plus *
jusqu’à 12confortable, par exemple pour un répéteur à cheval sur deux départements
au-delà de 16le cache déborde, le coût par paquet augmente franchement
32refus d’en ajouter une de plus

Autrement dit, seize est le plafond pratique, pas trente-deux.

Deux règles de nommage

Les régions se définissent par la géographie, jamais par l’usage. Une région adrasec ou les-relais-des-copains n’a pas lieu d’être. Un canal, oui. De même, fr-54 désigne la Meurthe-et-Moselle, pas « le groupe de Nancy ».

Codes ISO, jamais les codes IATA. Ces derniers ont été employés historiquement et cet usage est abandonné. Ils subsistent dans les analyseurs de paquets, ce qui ne concerne pas la configuration des répéteurs.

Trente caractères au plus, minuscules, chiffres et tirets.

La longueur du nom ne pèse pas sur les messages. Le nom ne voyage jamais : ce qui part sur la radio est le code de transport, calculé à partir de la clé de la région. Dans le paquet, le champ fait uint16_t transport_codes[2], soit quatre octets en tout, quel que soit le nom — et ces quatre octets ne sont présents que si la route en porte, c’est-à-dire pour une inondation ou une route directe étiquetées. Un nom de trente caractères ne coûte donc rien de plus sur l’air qu’un nom de deux.

Deux précisions tout de même. La limite de trente est en octets, pas en caractères affichés : un accent en UTF-8 en compte deux, raison de plus pour s’en tenir aux noms sans accent. Et ce qui coûte du calcul, c’est le nombre de régions déclarées, pas la longueur de leurs noms : voir la section précédente.

Selon la version du firmware

VersionCe qu’il faut faire
avant 1.15.0un region allowf <nom> après chaque region put
1.15.0put active l’inondation automatiquement
1.16.0region def en une ligne, et flood.max.unscoped

Vérifiez votre version avec ver avant de recopier une procédure trouvée ailleurs.

Attention à region def. Cette commande construit l’arbre d’un trait, mais chaque nom devient l’enfant du précédent. region def eu europe fr ne crée donc pas trois régions côte à côte : il place fr sous europe, lui-même sous eu. Pour sauter ailleurs, il faut l’écrire : fr-38-185-grenoble|fr. En cas de doute, region put, une ligne par région, est sans ambiguïté.

Les régions réservées

Quatre régions sont réservées : fr-reserved-1, -2, -3, sous fr, et emergency, au niveau de eu.

Pourquoi maintenant, alors qu’elles ne servent pas encore. Une région se répand sur tous les répéteurs du pays, et se reprendre coûte cher : il faudrait que chaque opérateur reconfigure son nœud. Les réserver d’avance évite qu’un nom choisi dans son coin devienne impossible à changer, et garantit que la place existera le jour où l’usage sera décidé.

À quoi elles serviront. MeshCore France travaille sur des versions de micrologiciel offrant des réglages plus fins de régulation du trafic : priorités par région, budgets de temps d’antenne, filtrage plus sélectif que le simple plafond de sauts. Ces quatre régions servent aux essais de ces mécanismes, puis aux opérations à l’échelle du territoire que la communauté décidera de mettre en œuvre.

Rien n’est arrêté aujourd’hui : ni ce que chacune portera, ni qui pourra y émettre. Ce qui est arrêté, c’est qu’elles sont prises, et qu’on ne les utilise pas pour autre chose en attendant.

emergency n’est pas sous fr. Elle est au niveau de eu, donc un message qui la porte ne s’arrête pas aux frontières de l’arbre français, et un répéteur ne la transporte que s’il la déclare explicitement.

Son nom ne promet rien : une région n’authentifie personne, sa clé étant dérivée d’un nom public, et n’importe qui peut l’étiqueter. Elle ne créera d’obligation ni de priorité que le jour où le micrologiciel saura distinguer qui a le droit d’y émettre. D’ici là, c’est un nom mis de côté, pas un canal de secours.

Annexe : le village, en détail

Cette annexe met bout à bout tout le vocabulaire. Elle sert de traduction : à gauche ce que disent le micrologiciel et les analyseurs, au milieu l’image du village, à droite ce que ça veut dire.

Chaque répéteur est le crieur public d’un village. Il entend ce qui se dit autour de lui et le répète plus fort pour que les villages suivants l’entendent. Chaque compagnon est un habitant qui a une radio pour envoyer et recevoir.

Le lexique complet

MeshCoreDans le villageCe que ça veut dire
RégionLe cantonUn groupe de villages qui décident de se relayer entre eux
Étiquette de région (transport_codes[0])Le tampon du canton sur l’annonceLe crieur ne répète que les annonces qui portent le tampon d’un canton qu’il sert
Région par défaut d’un compagnon (default_scope)La commune inscrite sur sa carte d’identitéElle tamponne ses présentations où qu’il aille, même loin de chez lui
Région par défaut d’un répéteur (default_scope)L’adresse de la mairieElle ne change pas : un crieur ne déménage pas
Inondation (TRANSPORT_FLOOD route 0 si étiquetée, FLOOD route 1 sinon)Annonce criée de village en villageTout le monde l’entend, chaque crieur la répète une fois
Route directe (DIRECT route 2, TRANSPORT_DIRECT route 3)Lettre portée par des messagers, avec la liste des villages de passage écrite sur l’enveloppeSeuls les crieurs cités la transmettent, pas besoin de tampon
Zéro saut (DIRECT route 2, chemin vide)Parler par-dessus la clôtureSeuls les voisins immédiats entendent, personne ne répète
RépéteurLe crieur publicIl vérifie le tampon avant de répéter une annonce, jamais une lettre
Salon persistantLe panneau d’affichage de la mairieOn s’y inscrit avec un mot de passe, il garde les messages. Ce qu’il permet
Annonce sans étiquette (FLOOD route 1, sans code de transport)Annonce « libre »Répétée par défaut, sauf si le crieur a décidé de ne répéter que les annonces tamponnées
Région inconnue du répéteurTampon d’un canton que le crieur ne sert pasIl ne répète pas
Chemin de retour (PATH, type 8)« Pour me répondre, passe par tel et tel village »Ensuite on envoie des lettres au lieu de crier
Accusé de réception (ACK, type 3)L’accusé de réceptionSeulement pour les messages privés
Canal (GRP_TXT type 5, GRP_DATA type 6)Un message en langage codé crié pour une associationTout le monde l’entend, seuls les membres le comprennent, personne ne répond « reçu »
Code de transport (transport_codes[0], 2 octets)Un tampon fabriqué à partir du texte de l’annonceOn ne peut pas le découper pour le coller sur une autre annonce

Ce que fait un compagnon

Action du compagnonDans le villageTampon ?Retour ?
Advert en inondation (ADVERT, type 4)Crier « Je m’appelle X, j’habite ici » dans tout le cantonOui, toujours celui de sa carte d’identité, où qu’il soit *Non
Advert à zéro saut (ADVERT, type 4)Se présenter par-dessus la clôtureNonNon
Message à un autre compagnon, chemin inconnu (TXT_MSG, type 2)Crier un message pour une personne préciseOuiOui : l’accusé de réception et le chemin, criés avec le tampon du canton du destinataire
Message à un autre compagnon, chemin connu (TXT_MSG, type 2)Envoyer une lettre par messagersNonOui : accusé de réception par lettre
Commande CLI vers un répéteur (TXT_MSG, type 2)Donner un ordre au crieurOui si on crieOui : il répond, sans accusé de réception
Message sur un canal (GRP_TXT, type 5)Crier un message codé pour l’associationOuiNon
Données sur un canal (GRP_DATA, type 6)Pareil, ou par lettre si on connaît le cheminOui si on crieNon
Login sur un répéteur ou un salon persistant (ANON_REQ, type 7)Donner le mot de passe à la mairieOui si on crieOui : « C’est bon » ou « refusé », avec le tampon de la demande
Requête anonyme, nœud hors contacts (ANON_REQ, type 7)Demander par-dessus la clôtureNonOui
Statut, télémétrie (REQ, type 0)Demander au crieur « Comment ça va, il te reste de la voix ? »Oui si on crieOui
Découverte de chemin (REQ, type 0)Crier « Par où je passe pour te rejoindre ? »Oui, on crie toujoursOui : le chemin, puis on échange les chemins par lettre
Keep-alive (REQ, type 0)Petit mot régulier à la mairie : « Je suis toujours là »Non, c’est une lettreOui : « Bien noté »
Traceroute (TRACE, type 9)Lettre qui fait noter à chaque crieur la qualité de ce qu’il a entenduNonOui : la lettre revient avec les notes
Découverte des voisins (CONTROL, type 11)Demander par-dessus la clôture « Qui est crieur par ici ? »NonOui : les crieurs proches répondent
Partage de contact (ADVERT, type 4)Montrer la carte de visite de quelqu’un à ses voisinsTampon « à ne pas répéter »Non
Données brutes (RAW_CUSTOM, type 15)Colis spécial par messagersNonNon
Paquet brut, forgé par l’application (tout type)On écrit et tamponne soi-mêmeC’est l’application qui choisitSelon le cas

* En déplacement, passez votre compagnon en fr : c’est la seule échelle que portent tous les répéteurs, il sera découvert partout en France. Voir « Un compagnon qui se déplace », plus haut.

Comprendre le réseau, la suite