オンデバイスネットワーク機器管理用ソフトウェア ConfD NETCONF、SNMP、REST、CLI、WebUI の I/F を同一データモデルから自動生成

YANG-Pushとは何か?

YANG-Pushは、デバイス内のデータストア更新を通知するサービスです。ネットワークマネージャーは、通知してほしいデータストアのノードを登録することで、更新メッセージとしてデータノードの変更を受信できるようになります。この更新メッセージを継続して受信することで、ネットワークマネージャーとデバイス内のデータストアとの同期を図ることが可能になります。
通知タイミングは、一定間隔か変更ごとかを選択することができます。

YANG-Pushの概要

RFC8639で定義されているYANG-Pushには、大きく分けて2つの方式があります。

動的サブスクリプション(Dynamic Subscriptions)
ネットワークマネージャー主導の通知登録

静的サブスクリプション(Configured Subscriptions)
デバイス主導の通知登録

動的サブスクリプション方式動的サブスクリプション方式

静的サブスクリプション方式静的サブスクリプション方式

YANG-Push公開の背景

ネットワークオペレータは、ネットワークの品質保護と最適化を維持するために統計情報、パフォーマンスデータ、デバイス状態など、ネットワークの状況をなるべくリアルタイムで監視する必要があり、これは、Streaming Telemetry(単にTelemetryという場合もあります)というキーワードで注目されています。

伝統的な手法として、SNMP-Trapがその役目を担ってきましたが、SNMPはトランスポート層にUDPが用いられており、通知のロストや遅延といった仕様上の課題があります。また、監視データノードが多い場合、多数のデータノードに対して同じリクエスト/レスポンスを繰り返し行うことになり、ネットワークやコンピュータリソースへの負荷が高いことも問題となっています。

NETCONF-notification(RFC5277)の登場によって、トランスポート層がTCPに代替されるなど正確性の部分に改善が図られましたが、監視項目をデバイス側で定義しておく必要があるため、柔軟性やメーカ間のインターオペラビリティに新たな課題が生まれることになりました。

これらの課題を解決するため、IETF は、NETCONF-notification/RESTCONF-notificationをベースにした新しい通知メカニズムを策定し、RFC8639(Subscription to YANG Notifications:いわゆるYANG-Push)として公開しました。このメカニズムをNETCONFやRESTCONFにそれぞれ適用したものが、RFC8640(Dynamic Subscription to YANG Events and Datastores over NETCONF)、RFC8650(Dynamic Subscription to YANG Events and Datastores over RESTCONF)として公開されています。

YANG-Pushの通知・登録シーケンス

登録シーケンス

ネットワークマネージャーからデバイスに対して、通知してほしいデータノードを登録します。

登録シーケンス

通知シーケンス

変更の都度、ネットワークマネージャーにデータノードの値を通知します。

通知シーケンス

YANG-Pushの現時点における主な制限事項

現在対応しているサブスクリプションの種類は 、RFC8639に規定されるRPCのうち、establish-subscriptionなどを用いた動的サブスクリプションだけです。YANG-Pushの仕組みを規定したRFC8639では、トランスポート(NETCONF、RESTCONFなど)について触れておらず、トランスポートでの実現方式を規定していません。

RFC8640では、NETCONFでRFC8639をどのようにサポートするかは定義されていますが、"Dynamic Subscription to YANG Events and Datastores over NETCONF"というタイトルが示す通り、動的サブスクリプションのみを対象としています。現時点では、静的サブスクリプションがどのように動作するのかを説明するRFCは存在していません。RFC8640策定時のドラフトには静的サブスクリプションの章がありましたが、リリースされたRFCからは除外されており、今後のIETFの動向を見守る必要があります。

RFC8650(Dynamic Subscription to YANG Events and Datastores over RESTCONF)については、現在開発中となっています。

ユビキタスAIが提供するYANG-Push関連製品

ネットワーク機器管理用ソフトウェア 「ConfD」

YANG-Pushをサポートしたネットワーク機器開発ベンダー様向けのオンデバイスマネージメントソフトウェアです。「ConfD」を導入することにより、データモデルからYANG-Pushに対応したNETCONFをはじめ、5種類のインターフェース(NETCONF、RESTCONF、SNMP、CLI、WebUI)の作成を容易に行えます。