要約

  • draft-ietf-netconf-yang-notifications-versioning-16 は、指定モジュールを正確なリビジョン日または互換性のあるセマンティック版で拘束し、状態変化時にパス関連のモジュール座標を返す仕組みを提案する。
  • YANG Library の content-id はサーバー全体をより広く見ており、直接モジュールが変わらないままインポート先が変わったことを検知できる。ただし、原因も影響も特定しない。
  • 継続判断には、状態通知からライブラリ再取得、依存関係の比較、デコーダー承認までを結ぶ証跡が要る。変更検知と互換性判定は別の仕事である。

テレメトリー運用で厄介なのは、壊れたメッセージだけではない。別のスキーマなら正しいメッセージを、古いスキーマで正しく読めたと思い込むことの方が危険だ。

YANG-Push Notification Versioning 第16版は、この思い込みに対して受領証を追加する。従来の YANG-Push は購読を設定し更新を配信できるが、購読対象モジュールのリビジョンを購読機構そのものでは伝えない。ノード更新でスキーマが変わっても、Receiver が古いモデルを使い続ける余地があった。

提案される ietf-yang-push-revision では、名前を指定したモジュールについて、YANG の厳密なリビジョン日、または要求したセマンティック版と互換性を持つ最新版を選べる。Publisher が満たせなければ、invalid-value とともに revision-unsupported、version-unsupported、incompatible-revision-and-version のいずれかを返す。拒否理由まで機械的に区別できる点が重要だ。

購読の開始と変更にも座標が付く。subscription-started と subscription-modified は、パスに関係する module、revision、任意の version、さらに yang-library-content-id を運ぶ。追跡対象モジュールのリビジョンまたは版が購読中に変われば、ドラフト上はポリシー変更であり、subscription-modified を発行しなければならない。再起動後、設定済み購読の条件を YANG Library が満たせなくなれば、subscription-terminated が必要になる。

ここまでは直接モジュールの受領証である。死角は、その下の依存関係に現れる。ドラフトの例は /ietf-interfaces:interfaces を購読し、ietf-interfaces のリビジョンと版を通知する。このモジュール自体が変われば座標も content ID も変わり得る。しかし、インポートされた ietf-yang-types だけが変わった場合、直接の ietf-interfaces は同じままである。Receiver がサーバーのスキーマ状態の変化を知る手掛かりは content ID だけだ。

content ID の役割は広いが、万能ではない。RFC 8525 の YANG Library では、特定サーバー上の現在のライブラリ情報を表す実装固有の識別子である。複数の装置で同じ意味を持つ標準ハッシュではない。値が変わっても、どのモジュールが原因か、購読パスに影響するか、デコーダーが非互換になるかは分からない。

反対に、購読と無関係なモジュールの追加でも値は動き得る。すべての変化を障害として扱えば、関係のない更新が配信停止の引き金になる。直接リビジョンが同じだからと無視すれば、依存グラフの変化を見落とす。この二つの信号は精度の違う代用品ではなく、管轄が違う。

直接座標が示すのは、選んだパスに対して Publisher が申告するモジュールの系譜である。content ID が示すのは、ライブラリ全体の受領証が前回と一致するかどうかだ。どちらも、保存クエリー、分析ロジック、下流の自動化が安全だとは保証しない。

継続可能な運用は、Publisher の識別子と対応能力から始まる。購読 ID、フィルターまたはパス、受理された制約、開始時のモジュール座標、content ID を一組で保存する。状態変化を受けたら両方の範囲を比較する。content ID が動けば、新しい YANG Library を取得し、関係する import/include の閉包を求め、デコーダーを選定または検証してから下流への配信を再開する。

バッファ済みのデータにも当時の受領証を結び付ける必要がある。後から得たスキーマで古いバイト列を黙って再解釈してはならない。デコーダー試験、保存形式の互換性、利用者の確認、自動化ポリシーは、それぞれ別の証跡である。

書き込み権限も軽視できない。購読制約は作成、変更、削除が可能であり、ドラフトは適切なアクセス制御を要求する。RFC 8341 の NACM はその標準的な枠組みだ。制約を緩められる主体は、Receiver がどのスキーマ状態を受け入れるかを変えられる。単なる監視設定ではなく、解釈契約の管理権限である。

第16版の日付は2026年9月17日。Datatracker の履歴では、9月29日までの IETF Last Call にあり、凍結した記録に telechat 日程はない。9月27日の YANG 検証はエラー、警告ともゼロと報告されたが、提出モデルが当該ツールを通ったという事実に限られる。実装の正しさや普及を示すものではない。第16版本文は今なお変更可能な Internet-Draft である。

RFC 8639 は購読通知を、RFC 8641 は YANG-Push を、RFC 7950 は YANG のリビジョンとインポートを定める。YANG Module Versioning と YANG Semantic Versioning は現在もドラフトであり、RFC 9196 は版選択の別の文脈を与える。互換ラベルだけで個別の利用者の安全を証明することはできない。

出典