要約

  • draft-ietf-roll-enrollment-priority-18 は、ルートのバージョン、緊急ビット、最低登録優先度、DODAG の概算規模を運ぶ小さな RPL オプションを定義し、中継ルーターには条件が厳しくなる方向への値の引き上げを認める。
  • 最終値 127 は Join Proxy を停止させる。しかし、ルート方針、丸められた計測、ホップごとの加算、対応機能が途切れた後の既定値、ローカル資源、安全上の事象のどれが原因かは残らない。
  • 無線上の信号は小さいままにし、ルートの表明、経路、対応機能の欠落、ローカル計算、実際のビーコン、Pledge の観測、試行の帰結を別の「登録圧力レシート」に結び付けるべきだ。

Pledge に見えるのは理由ではなく選好だ

低消費電力メッシュの縁で、新しい機器は近くのルーターが発する Enhanced Beacon を聞く。Join Proxy になれるルーターは、まだ信頼されていない機器の登録トラフィックをネットワーク内部へ中継する。小さい値ほど入口として魅力的で、最大値はプロキシ機能が利用できないことを示す。Pledge はその表示を頼りに進入口を選ぶ。

この仕組みは軽くなければならない。電池、帯域、メモリ、Neighbor Cache Entry は限られている。試行のたびに管理サービスへ問い合わせ、容量の完全な説明を取得させれば、制約環境に合わせた設計そのものを損なう。数ビットの共有状態なら、多数の機器を混雑地点からそらせる。

ただし、最後の数値を「決定」と読むのは危うい。優先度 110 を見た Pledge に分かるのは、あるプロキシが現在あまり好ましい入口ではないということだけだ。ルートが慎重な基準値を置いたのか、中継ルーターが引き上げたのか、プロキシに空き NCE がないのか、古いファームウェアで伝搬が切れたのか、侵害された構成員が値を注入したのかは見えない。

すべてを電波で公開せずとも調整は成立する。だが、最後の値だけから責任の経路を復元することはできない。

「登録」と「join」は同じ段階ではない

第 18 版は用語を慎重に分けている。制約付き join のアーキテクチャでは、新しいノードが認証を受け、ネットワーク構成員となる許可を得る過程を enrollment と呼ぶ。一方 RPL では、すでに許可されたノードが優先親を選び、DODAG の一部へ接続する行為にも join という語が使われる。草案は前者を enrollment と整理しつつ、歴史的な名称 Join Proxy は残している。

障害調査では、この区別が決定的になる。Pledge が利用可能なプロキシを発見できなかったのか、転送が通らなかったのか、CoJP の認証で止まったのか、構成員としての許可を拒まれたのか。登録済みノードが後で別の DODAG を選んだ可能性もある。すべてを「join 失敗」と記せば、どこで権限が行使されたかが消える。

提案された優先度は、6LowPAN Router が入口を提供するか、その入口をどの程度選びやすくするかを制御する。資格情報や認可判断の代わりではない。高い優先度は入口の状態を示す証拠であって、Pledge の構成員資格が拒否された証拠ではない。

3 バイトに複数の判断層が重なる

新しい RPL DIO オプションは 3 バイトである。lollipop counter として解釈される 8 ビットの Version Number、重要な更新を示す T、7 ビットの Min Priority、4 ビットの指数 Exp、4 ビットの DODAG 規模値 DODAGSz を含む。ルートがオプションを生成し、最低優先度か規模を変えるたびにバージョンを進める。登録停止など迅速な伝搬が必要なら T を立て、新版を採用したルーターに Trickle タイマーをリセットさせる。

Min Priority は小さいほど新しい子を受け入れる余力が大きい。0x7f、十進数の 127 は無限大を表し、Join Proxy を停止させる。ルートは DODAG の規模、帯域利用、メモリ、あるいは管理上の判断から基準値を決められる。

オプションがグラフを下る間、6LR は Min Priority を上げられるが下げられない。このラチェットは、制約の強い下流が上流以上の受け入れ余力を約束しないための抑制である。Join Proxy 候補は、さらに上流混雑や空き NCE などを加味し、結果を 127 で打ち切る。127 未満ならプロキシ機能を有効にし、その値を RFC 9032 の Enhanced Beacon Join Priority に反映する。

したがって、線上の値は少なくともルートの表明と下流の抑制を合成したものだ。各上昇の理由コードを運ぶ設計ではない。その簡潔さはルーティングには適しているが、誰が何のために登録を閉じたかを監査するには足りない。

概算規模を台数と断定してはならない

DODAG の規模は優先度と別に運ばれる。運用者は規模を受け入れ方針に使っても、使わなくてもよいからだ。表現値は DODAGSz * 2^Exp で、両方とも 4 ビットしかない。観測値が表現可能な段階の間に入れば、ルートは切り上げる。

何を数えているかにも境界がある。DAO の活動から規模を求める場合、数えているのは機器ではなく経路だ。この数字が負荷の目安になるのは、各ノードがほぼ同数のアドレスを広告し、ほぼ同程度のトラフィックを発生させる場合に限られる。ある機器が複数のアドレスを持ち、別の機器が一つしか持たない網では、経路数は正確な人口ではない。

「規模 384」とだけ残せば、指数と仮数、計測方法、切り上げ、観測時刻、経路数を負荷へ結び付けた仮定が失われる。後で値が変わったとき、実際に機器が増えたのか、アドレス構成が変わったのか、粗い符号化の次の段階へ移っただけなのか区別できない。

この値は DODAG の均衡や再接続の判断には役立つ。しかし、正確なノード数、均一な通信量、将来の余力を認証するものではない。

値は、名を残さない経路を上昇する

対応ルーターは、選択した親からオプションを受け取る。lollipop の順序で古い版は無視される。親から届く優先度の上昇は Trickle にとって不整合と扱われ、伝搬を速める。低下も同様に扱えるが、冗長性規則に従って遅くなる場合がある。設計は、開放より抑制を早く届ける傾向を持つ。

回復途中のネットワークを急に開くより慎重であり、運用上の理屈はある。一方で、複数のサブツリーが一時的に異なる有効版を表示し得る。観測をルートの意図と比較するには、値だけでなく Version、T、選択親、受信時刻が必要になる。

ローカルなラチェットも由来を曖昧にする。末端の 96 はルートが最初から出した 96 かもしれない。64 から一度上がったのか、複数の小さな加算が累積したのかもしれない。後続ノードの電池や NCE に余裕があっても、値を下げることはできない。数値は経路上で最も強くなった抑制を表すが、その出所は名指ししない。

因果レシートで完全なトポロジーを公開する必要はない。事象ごとのルーターダイジェストと、ルート方針、ルート容量、上流混雑、ローカルメモリ、NCE、安全上の上書きといった粗い理由分類を使える。必要なのは、どの版が経路へ入り、どこで値が上がり、どのローカル加算がビーコン値になったかという順序である。

混在ファームウェアが見えない境界を作る

草案は段階的導入の難しさを明記している。RPL には従来、これらの設定を網全体で管理するプロトコルがない。既定値の変更にはカスタムファームウェアか独自機構が必要になり得る。個別操作なしで導入したい機器にとって、どちらも高いコストだ。単一ベンダーの設備でも、更新中は機能差が生じる。

オプションを理解しないルーターは、それを使わず、転送もしない。その配下のサブツリーは、ルートの DODAG 規模と最低優先度を受け取れなくなる。対応ルーターがオプションを受け取らなかった場合、基準 Join Priority として中間値 0x40 を使い、ローカル情報で補う。

中間値は妥協であって、容量が中程度だという証明ではない。低すぎれば、本来そらすべき登録トラフィックを引き寄せる。高すぎれば、使える入口を不必要に避けたり拒んだりする。複数の非対応箇所は、受け入れと拒否が交互に現れる領域を作り得る。さらに、ルートが 127 で全体を閉じようとしても、その指示は断絶を越えられない。

レシートは、基準値がルートのオプションから来たのか、未受信時の既定値なのかを区別し、経路上の対応状況を残す必要がある。同じ 0x40 が、意図したルート方針にも、情報断絶の痕跡にも見えるからだ。

保護された制御面にも内部者はいる

オプションはレイヤー 2 で保護された RPL 制御メッセージや Secure DIO で運べる。外部者が簡単に制御面へ加わるのを防げても、登録済みの全ルーターが将来も誠実であるとは限らない。

第 18 版は二つの内部者リスクを挙げる。悪意ある構成員は最低優先度を観測し、ネットワークが最も開いている時刻を共犯者へ知らせられる。また、異なる優先度の DIO を送ることもできる。低い偽値は想定以上の Pledge を受け入れさせ、高い偽値は登録を止める。RFC 9031 の再鍵設定で侵害ノードを外すことはできるが、排除までの影響は残る。

暗号学的に正しく保護されたメッセージと、正当に認可された方針表明は同じではない。監査には、安全コンテキスト、送信元との関係、版、異常判定、隔離または再鍵設定、その経路が子孫へ影響しなくなった時刻が要る。無線フレームの機密性だけでは因果の来歴にならない。

登録圧力レシートを別に作る

レシートの起点はルートである。DODAG とルートの識別子、オプション版、T、基準 Min Priority、方針版、そして運用者が実際に立証できる入力を残す。規模については ExpDODAGSz、算出した概算、計測方法、丸め、経路数と負荷を結んだ仮定を保存する。不明なものを推測で埋めない。

経路部には、選択親の変更、受信時刻、対応機能と欠落、観測した各上昇を記す。ルーターはプライバシーに配慮したダイジェスト、理由は粗い分類でよい。ローカル部は Join Proxy 候補が参照した資源スナップショット、計算結果、機能の有効・無効、Enhanced Beacon に出した値、その有効期限を結び付ける。

Pledge 部は絞る。事象限定の識別子、観測ビーコン、選択したプロキシ、試行時刻、最後に完了した段階——発見、転送、認証、認可——を残す。機器の秘密を露出したり、公開ログを永続的なメッシュ地図にしたりしてはならない。運用方針、例外権限、再開条件、訂正経路、見直し時刻で記録を閉じる。

3 バイトのオプションを膨らませる提案ではない。低消費電力の調整には厳しい共通最小限がふさわしい。説明は運用者の証拠系に置き、導入の選択をローカルに保ちながら判断経路を検証可能にする。プロトコルの節度と制度上の説明責任は、境界を明示すれば両立する。

文書はまだ確定していない

調査時点で第 18 版は ROLL ワーキンググループの有効な Internet-Draft で、Proposed Standard を目指していた。日付は 2026 年 7 月 21 日、失効予定は 2027 年 1 月 22 日。Datatracker は “Submitted to IESG for Publication” と IESG Evaluation::Revised I-D Needed を表示し、DISCUSS が 5 件、YES または NO OBJECTION がさらに 3 件必要で、telechat 日程は未設定だった。ページ上の最終状態更新は 8 月 20 日だった。

これは「承認済み」「導入済み」という意味ではない。成熟した提案が活発な審査を受けているということだ。実装状況、ファームウェアの対応範囲、優先度分布、攻撃頻度、登録結果は、各導入主体が証拠を公開しない限り分からない。

出典