Résumé
draft-ietf-roll-enrollment-priority-18définit une option RPL compacte avec version de la racine, bit d’urgence, priorité minimale d’enrôlement et taille approximative du DODAG ; les routeurs intermédiaires peuvent rendre la priorité moins favorable.- La valeur 127 désactive Join Proxy, sans indiquer si la cause vient d’une politique de racine, d’une mesure arrondie, d’un ajout sur le chemin, du défaut après une coupure de capacité ou d’une ressource locale.
- Un reçu de pression d’enrôlement doit préserver le message de la racine, le chemin, les lacunes de firmware, le calcul local, le beacon observé et l’étape exacte où la tentative s’est arrêtée.
Le Pledge lit une préférence, pas un motif
À la périphérie d’un réseau à faible puissance, un nouvel appareil écoute les Enhanced Beacons de plusieurs routeurs. Ceux qui jouent le rôle de Join Proxy peuvent acheminer son trafic d’enrôlement vers le réseau qui ne lui fait pas encore confiance. Une valeur basse rend une entrée plus attirante ; la valeur maximale signifie que cette fonction n’est plus offerte.
Le signal doit rester léger. Batterie, bande passante, mémoire et Neighbor Cache Entries sont rares. Demander une explication complète à un service de gestion avant chaque essai serait incompatible avec le milieu. Quelques bits peuvent détourner des milliers de Pledges d’une zone congestionnée.
Mais la valeur finale n’est pas le dossier de la décision. Une priorité de 110 peut venir d’un minimum prudent imposé par la racine, d’un incrément d’un routeur, d’une pénurie de NCE au proxy, d’une option perdue à cause d’un ancien firmware ou d’un nœud compromis. Le Pledge observe l’effet sans connaître la chaîne causale. Le protocole peut fonctionner ainsi ; l’audit, lui, a besoin d’un autre objet.
Deux opérations portent encore le mot join
La révision 18 distingue soigneusement les sens. Dans l’architecture 6TiSCH, un nouveau nœud s’authentifie et obtient l’autorisation de devenir membre : le projet appelle cette étape enrollment. Dans RPL, un nœud déjà autorisé « rejoint » aussi un DODAG lorsqu’il choisit son parent. Le terme historique Join Proxy conserve néanmoins le premier sens.
Une enquête doit donc séparer découverte, forwarding par le proxy, authentification CoJP, autorisation d’adhésion et sélection ultérieure d’un parent. L’absence d’un beacon attirant ne prouve pas qu’une autorité a refusé l’appareil. Inversement, un proxy disponible ne garantit pas que les credentials ou la politique d’adhésion l’accepteront.
La priorité décrit la disponibilité d’une entrée et son attractivité. Ce n’est ni un verdict d’identité ni une décision d’autorisation. Employer « échec de join » pour toutes les étapes supprime le point où la responsabilité a réellement agi.
Trois octets, plusieurs autorités
L’option DIO comporte un Version Number de huit bits interprété comme lollipop counter, un bit T, un Min Priority de sept bits, un exposant de quatre bits et une valeur DODAG Size de quatre bits. La racine produit l’option. Toute modification de la taille ou du minimum avance la version. Pour une fermeture urgente, T=1 amène le routeur qui adopte la nouvelle version à réinitialiser son timer Trickle.
Plus le nombre est bas, plus le DODAG paraît capable d’accueillir de nouveaux enfants. 0x7f, soit 127, vaut infini et coupe Join Proxy. La racine peut dériver son minimum de la taille, de l’occupation de bande passante, de sa mémoire ou d’un choix administratif.
En descendant, un 6LR peut augmenter le minimum, jamais le diminuer. Un proxy potentiel ajoute encore ses propres considérations, comme la congestion amont et le nombre de NCE libres, puis limite le résultat à 127. Tant que la valeur reste inférieure, la fonction devrait être active et le nombre alimente la priorité du beacon définie dans RFC 9032.
Cette progression protège le réseau : un segment contraint ne promet pas davantage que son amont. Elle efface aussi la cause. Deux chemins peuvent annoncer 96 après des calculs très différents. Le signal agrège la retenue la plus forte ; il ne signe pas son origine.
Une taille arrondie n’est pas une population exacte
La taille du DODAG est transmise séparément, car la politique peut choisir de la relier ou non à la priorité. Elle vaut DODAGSz * 2^Exp et doit être arrondie vers le haut entre deux valeurs représentables.
Lorsque la racine l’infère des DAO, elle compte des routes et non des nœuds. Elle n’approche la charge que si les appareils annoncent à peu près le même nombre d’adresses et produisent un trafic comparable. Une variation du nombre de routes peut donc déplacer la valeur sans arrivée équivalente d’appareils.
Un historique qui conserve seulement « taille 384 » perd l’exposant, la valeur brute, l’origine de la mesure, l’arrondi, l’heure et l’hypothèse de charge. La donnée doit rester présentée comme l’approximation utile qu’elle est, pas comme un recensement.
La propagation favorise la prudence
Chaque routeur adopte l’option du parent choisi et ignore une version plus ancienne selon l’ordre lollipop. Une augmentation de priorité est incohérente au sens de Trickle et accélère la diffusion. Une diminution peut être traitée ainsi, ou attendre le rythme normal. Fermer rapidement et rouvrir prudemment peut être un bon choix, mais plusieurs sous-arbres peuvent temporairement afficher des versions différentes.
Pour comparer une observation au souhait de la racine, il faut donc Version, bit T, parent et instant de réception. La valeur seule ne révèle ni son âge ni le trajet. Un reçu peut employer des condensats éphémères de routeurs et des classes de motif—politique racine, capacité, congestion amont, mémoire, NCE, sécurité—sans publier toute la topologie.
Un ancien firmware coupe plus qu’un champ
Le projet reconnaît la difficulté du déploiement progressif. L’écosystème RPL ne dispose pas historiquement d’un protocole de gestion de ces réglages. Modifier un défaut peut nécessiter firmware ou mécanisme propriétaire, en tension avec le zero-touch.
Un 6LR ancien ne comprend ni ne retransmet l’option. Tout le sous-arbre situé derrière perd la vue globale et décide avec ses ressources locales. Un routeur compatible qui ne reçoit aucune option prend 0x40, le milieu, comme base.
Cette valeur n’atteste pas une capacité moyenne. Trop basse, elle attire du trafic alors qu’il faudrait le repousser. Trop haute, elle peut détourner ou refuser l’enrôlement. Plusieurs ruptures peuvent créer des cycles d’ouverture et de fermeture. Surtout, une commande 127 de la racine ne traverse pas la lacune.
Le reçu doit donc nommer l’origine du minimum : option reçue ou défaut d’absence. Il doit également conserver la capacité observée sur le chemin. Sans cela, 0x40 peut passer pour une politique délibérée alors qu’il signale une interruption d’information.
Le chiffrement ne rend pas tous les routeurs honnêtes
Les DIO peuvent être protégés au niveau 2 ou par les méthodes Secure DIO. Un extérieur ne peut alors pas se joindre simplement au plan de contrôle. Un membre déjà enrôlé et compromis reste toutefois capable de lire le minimum et d’indiquer à un complice le moment propice pour envoyer du trafic malveillant.
Il peut aussi diffuser un autre nombre. Trop bas, il attire plus de Pledges que prévu ; trop haut, il bloque le processus. Le re-keying de RFC 9031 permet à l’opérateur d’exclure un tel nœud, mais la période d’influence doit rester visible.
Une trame correctement protégée n’est donc pas automatiquement une expression autorisée de la politique. Le contexte de sécurité, la source, l’anomalie, la quarantaine et l’instant où le chemin cesse d’influencer ses descendants appartiennent au dossier causal.
Un reçu séparé pour expliquer la pression
Le reçu commence par DODAG, racine, version, T, minimum de base et version de politique. Pour la taille, il garde Exp, DODAGSz, approximation calculée, méthode, arrondi et hypothèse reliant routes et charge. Une donnée inconnue reste inconnue.
Le trajet ajoute parent choisi, réception, support de capacité, ruptures et incréments observés avec motifs grossiers. La partie locale garde l’instantané des ressources, le résultat calculé, l’état de Join Proxy, la priorité annoncée et son expiration. La partie Pledge utilise un identifiant limité à l’événement, le beacon choisi, l’heure et la dernière phase atteinte. Aucun secret ni identifiant durable inutile ne doit devenir public.
Enfin viennent politique opérateur, exception, autorité de fermeture et de réouverture, correction et réexamen. Ces champs n’ont pas à entrer dans l’option de trois octets. La spécification commune peut rester minimale ; les futurs choix locaux restent locaux ; le chemin qui a réellement produit le refus demeure contrôlable.
Au moment de la recherche, la révision 18 était un Internet-Draft actif du groupe ROLL, destiné au statut Proposed Standard, daté du 21 juillet 2026 et expirant le 22 janvier 2027. Datatracker indiquait « Submitted to IESG for Publication » et IESG Evaluation::Revised I-D Needed, cinq DISCUSS, trois positions supplémentaires nécessaires et aucune téléconférence. Cela montre un texte mûr encore en révision, pas un déploiement établi.
Sources
- Fiche Datatracker actuelle
- Controlling Network Enrollment in RPL networks, révision 18
- Mandat du groupe ROLL
- RFC 9031 : Constrained Join Protocol
- RFC 9032 : éléments d’enrôlement 6TiSCH
- RFC 6550 : RPL
- RFC 6206 : algorithme Trickle
- RFC 7416 : menaces de sécurité RPL
- RFC 9898 : considérations Neighbor Discovery
- RFC 4861 : IPv6 Neighbor Discovery
- Heng Lu : The Policy Mirror
- Heng Lu : Minimum Initial Specification, Localized Future Decision, Voluntary Adoption
- Heng Lu : On Why BTW Media Exists
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance
