[要約] RFC 9375は、ネットワークおよびVPNサービスのパフォーマンスモニタリングのためのYANGデータモデルを定義し、ネットワークのパフォーマンスを管理することを目的としています。

Internet Engineering Task Force (IETF)                        B. Wu, Ed.
Request for Comments: 9375                                    Q. Wu, Ed.
Category: Standards Track                                         Huawei
ISSN: 2070-1721                                        M. Boucadair, Ed.
                                                                  Orange
                                                     O. Gonzalez de Dios
                                                              Telefonica
                                                                  B. Wen
                                                                 Comcast
                                                              April 2023
        
A YANG Data Model for Network and VPN Service Performance Monitoring
ネットワークおよびVPNサービスのパフォーマンス監視のためのYangデータモデル
Abstract
概要

The data model for network topologies defined in RFC 8345 introduces vertical layering relationships between networks that can be augmented to cover network and service topologies. This document defines a YANG module for performance monitoring (PM) of both underlay networks and overlay VPN services that can be used to monitor and manage network performance on the topology of both layers.

RFC 8345で定義されているネットワークトポロジのデータモデルは、ネットワークとサービストポロジをカバーするために増強できるネットワーク間の垂直レイヤー関係を導入します。このドキュメントでは、両方のレイヤーのトポロジのネットワークパフォーマンスを監視および管理するために使用できるアンダーレイネットワークとオーバーレイVPNサービスの両方のパフォーマンス監視(PM)のYangモジュールを定義します。

Status of This Memo
本文書の位置付け

This is an Internet Standards Track document.

これは、インターネット標準トラックドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.

このドキュメントは、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表しています。公開レビューを受けており、インターネットエンジニアリングステアリンググループ(IESG)からの出版が承認されています。インターネット標準の詳細については、RFC 7841のセクション2で入手できます。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9375.

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、https://www.rfc-editor.org/info/rfc9375で取得できます。

著作権表示

Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(c)2023 IETF Trustおよび文書著者として特定された人。無断転載を禁じます。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.

このドキュメントは、BCP 78およびIETFドキュメント(https://trustee.ietf.org/license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、セクション4.Eで説明されている法的規定のセクション4.Eで説明されており、修正されたBSDライセンスで説明されているように保証なしで提供されるように、改訂されたBSDライセンステキストを含める必要があります。

Table of Contents
目次
   1.  Introduction
   2.  Terminology
     2.1.  Acronyms
   3.  Network and VPN Service Performance Monitoring Model Usage
     3.1.  Collecting Data via the Pub/Sub Mechanism
     3.2.  Collecting Data On Demand
   4.  Description of the YANG Data Model
     4.1.  Layering Relationship between Multiple Layers of Topology
     4.2.  Network-Level Performance Monitoring Augmentation
     4.3.  Node-Level Performance Monitoring Augmentation
     4.4.  Performance Monitoring Augmentation at Link and Termination
           Point Level
   5.  Network and VPN Service Performance Monitoring YANG Module
   6.  Security Considerations
   7.  IANA Considerations
   8.  References
     8.1.  Normative References
     8.2.  Informative References
   Appendix A.  Illustrative Examples
     A.1.  Example of VPN Performance Subscription
     A.2.  Example of VPN Performance Snapshot
     A.3.  Example of Percentile Monitoring
   Acknowledgements
   Contributors
   Authors' Addresses
        
1. Introduction
1. はじめに

[RFC8969] describes a framework for automating service and network management with YANG [RFC7950] data models. It states that the performance measurement telemetry model should be tied to the services (such as a Layer 3 VPN or Layer 2 VPN) or to the network models to monitor the overall network performance and the Service Level Agreements (SLAs).

[RFC8969]は、Yang [RFC7950]データモデルでサービスとネットワーク管理を自動化するためのフレームワークを説明しています。パフォーマンス測定テレメトリモデルは、サービス全体(レイヤー3 VPNまたはレイヤー2 VPNなど)またはネットワークモデル全体とネットワークパフォーマンスとサービスレベル契約(SLA)を監視する必要があると述べています。

The performance of VPN services is associated with the performance changes of the underlay networks that carry VPN services. For example, link delay between Provider Edge (PE) and Provider (P) devices and packet loss status on Layer 2 and Layer 3 interfaces connecting PEs and Customer Edge (CE) devices directly impact VPN service performance. Additionally, the integration of Layer 2 / Layer 3 VPN performance and network performance data enables the orchestrator to monitor consistently. Therefore, this document defines a YANG module for both network and VPN service performance monitoring (PM). The module can be used to monitor and manage network performance on the topology level or the service topology between VPN sites.

VPNサービスのパフォーマンスは、VPNサービスを運ぶアンダーレイネットワークのパフォーマンスの変更に関連しています。たとえば、PES 2と顧客エッジ(CE)デバイスを接続するレイヤー2とレイヤー3インターフェイスのプロバイダーエッジ(PE)とプロバイダー(P)デバイスとパケット損失ステータス間のリンク遅延。さらに、レイヤー2 /レイヤー3 VPNパフォーマンスとネットワークパフォーマンスデータの統合により、オーケストレーターは一貫して監視できます。したがって、このドキュメントでは、ネットワークとVPNサービスの両方のパフォーマンス監視(PM)のYangモジュールを定義します。モジュールを使用して、トポロジーレベルまたはVPNサイト間のサービストポロジを監視および管理できます。

The base model specified in Section 5 can be extended to include technology-specific details, e.g., adding Explicit Congestion Notification (ECN) statistics for Layer 3 networks or VPN services to support performance-sensitive applications.

セクション5で指定されているベースモデルは、テクノロジー固有の詳細を含めるように拡張できます。たとえば、レイヤー3ネットワークまたはVPNサービスの明示的なうっ血通知(ECN)統計を追加して、パフォーマンスに敏感なアプリケーションをサポートします。

This document does not introduce new metrics for network performance or mechanisms for measuring network performance, but it uses the existing mechanisms and statistics to monitor the performance of the network and the services.

このドキュメントでは、ネットワークのパフォーマンスやネットワークパフォーマンスを測定するためのメカニズムのための新しいメトリックを導入するものではありませんが、既存のメカニズムと統計を使用して、ネットワークとサービスのパフォーマンスを監視します。

The YANG module defined in this document is designed as an augmentation to the network topology YANG data model defined in [RFC8345] and draws on relevant YANG types defined in [RFC6991], [RFC8345], [RFC8532], and [RFC9181].

このドキュメントで定義されているYangモジュールは、[RFC8345]で定義されたネットワークトポロジーYangデータモデルへの増強として設計され、[RFC6991]、[RFC8345]、[RFC8532]、[RFC9181]で定義された関連するYangタイプに基づいています。

Appendix A provides a set of examples to illustrate the use of the module.

付録Aでは、モジュールの使用を示す一連の例を示します。

2. Terminology
2. 用語

The following terms are defined in [RFC7950] and are used in this specification:

次の用語は[RFC7950]で定義されており、この仕様で使用されます。

* augment

* 増強増やす増やし増える付け加える付け足す付け加え付け合わせる殖える殖やす継ぎ足す

* data model

* データ・モデル

* data node

* データノード

The terminology for describing YANG data models is found in [RFC7950].

Yangデータモデルを記述するための用語は[RFC7950]にあります。

The tree diagrams used in this document follow the notation defined in [RFC8340].

このドキュメントで使用されているツリー図は、[RFC8340]で定義されている表記に従います。

2.1. Acronyms
2.1. 頭字語

The following acronyms are used in the document:

次の頭字語がドキュメントで使用されています。

CE

ce

Customer Edge, as defined in [RFC4026]

[RFC4026]で定義されている顧客エッジ

L2VPN

L2VPN

Layer 2 Virtual Private Network, as defined in [RFC4026]

[RFC4026]で定義されているレイヤー2仮想プライベートネットワーク

L3VPN

L3VPN

Layer 3 Virtual Private Network, as defined in [RFC4026]

[RFC4026]で定義されているように、レイヤー3仮想プライベートネットワーク

L2NM

L2NM

L2VPN Network Model

L2VPNネットワークモデル

L3NM

l3nm

L3VPN Network Model

L3VPNネットワークモデル

MPLS

MPLS

Multiprotocol Label Switching

マルチプロトコルラベルスイッチング

OAM

OAM

Operations, Administration, and Maintenance

運用、管理、およびメンテナンス

OSPF

OSPF

Open Shortest Path First

最初に最短パスを開きます

OWAMP

OWAMP

One-Way Active Measurement Protocol, as defined in [RFC4656]

[RFC4656]で定義されている一元配置アクティブ測定プロトコル

P

p

Provider router, as defined in [RFC4026]

[RFC4026]で定義されているプロバイダールーター

PE

PE

Provider Edge, as defined in [RFC4026]

[RFC4026]で定義されているプロバイダーエッジ

PM

PM

Performance Monitoring

パフォーマンス監視

SLA

SLA

Service Level Agreement

サービスレベル契約

TP

TP

Termination Point, as defined in [RFC8345], Section 4.2

[RFC8345]で定義されている終了点、セクション4.2

TWAMP

Twamp

Two-Way Active Measurement Protocol, as defined in [RFC5357]

[RFC5357]で定義されている双方向アクティブ測定プロトコル

VPLS

VPL

Virtual Private LAN Service, as defined in [RFC4026]

[RFC4026]で定義されている仮想プライベートLANサービス

VPN

vpn

Virtual Private Network

仮想プライベートネットワーク

3. Network and VPN Service Performance Monitoring Model Usage
3. ネットワークおよびVPNサービスパフォーマンス監視モデルの使用

Models are key for automating network management operations (Section 3 of [RFC8969]). Particularly, together with service and network models, performance measurement telemetry models are needed to monitor network performance to meet specific service requirements (typically captured in an SLA).

モデルは、ネットワーク管理操作を自動化するための鍵です([RFC8969]のセクション3)。特に、サービスモデルとネットワークモデルとともに、特定のサービス要件を満たすためにネットワークパフォーマンスを監視するには、パフォーマンス測定テレメトリモデルが必要です(通常はSLAでキャプチャされます)。

                            +---------------+
                            |   Customer    |
                            +-------+-------+
                                    |
            Customer Service Models |
                                    |
                            +-------+---------+
                            |    Service      |
                            |  Orchestrator   |
                            +------+-+--------+
                                   | |
            Network Service Models | | Network and VPN Service PM Models
                                   | |
                            +------+-+--------+
                            |     Network     |
                            |   Controller    |
                            +-------+---------+
                                    |
            +-----------------------+------------------------+
                                  Network
        

Figure 1: An Example Architecture with a Service Orchestrator

図1:サービスオーケストレーターを備えたアーキテクチャの例

The network and VPN service PM model can be used to expose operational performance information to the layer above, e.g., to an orchestrator or other Business Support System (BSS) / Operational Support System (OSS) client application, via standard network management APIs. Figure 1 shows an example usage in a layered model architecture as described in [RFC8309].

ネットワークおよびVPNサービスPMモデルを使用して、標準ネットワーク管理APIを介して、オーケストレーターまたはその他のビジネスサポートシステム(BSS) /オペレーショナルサポートシステム(OSS)クライアントアプリケーションなど、上記のレイヤーに運用パフォーマンス情報を公開できます。図1は、[RFC8309]で説明されているように、階層化されたモデルアーキテクチャの使用例を示しています。

Before using the model, the controller needs to establish topology visibility of the network and VPN. For example, the controller can use network information from [RFC8345] and [YANG-SAP] or VPN information from the L3VPN Network Model (L3NM) [RFC9182] and the L2VPN Network Model (L2NM) [RFC9291]. Then the controller derives network or VPN performance data by aggregating (and filtering) lower-level data collected via monitoring counters of the devices involved.

モデルを使用する前に、コントローラーはネットワークとVPNのトポロジの可視性を確立する必要があります。たとえば、コントローラーは[RFC8345]および[YANG-SAP]のネットワーク情報またはL3VPNネットワークモデル(L3NM)[RFC9182]およびL2VPNネットワークモデル(L2NM)[RFC9291]からのVPN情報を使用できます。次に、コントローラーは、関係するデバイスの監視カウンターを介して収集された低レベルのデータを集約(およびフィルタリング)することにより、ネットワークまたはVPNパフォーマンスデータを導き出します。

The network or VPN performance data can be based on different sources. For example, the performance monitoring data per link in the underlying networks can be collected using a network performance measurement method such as the One-Way Active Measurement Protocol (OWAMP) [RFC4656], Two-Way Active Measurement Protocol (TWAMP) [RFC5357], Simple Two-way Active Measurement Protocol (STAMP) [RFC8762], Multiprotocol Label Switching (MPLS) Loss and Delay Measurement [RFC6374], or In situ OAM (IOAM) [RFC9197]. The performance monitoring information reflecting the quality of the network or VPN service (e.g., network performance data between source node and destination node in the networks or between VPN sites) can be computed and aggregated, for example, using the information from the Traffic Engineering Database (TED) [RFC7471] [RFC8570] [RFC8571] or Large-Scale Measurement Platform (LMAP) [RFC8194].

ネットワークまたはVPNパフォーマンスデータは、さまざまなソースに基づいています。たとえば、基礎となるネットワークのリンクごとのパフォーマンス監視データは、一方向アクティブ測定プロトコル(OWAMP)[RFC4656]、双方向アクティブ測定プロトコル(TWAMP)[RFC5357]などのネットワークパフォーマンス測定方法を使用して収集できます。、シンプルな双方向活性測定プロトコル(スタンプ)[RFC8762]、マルチプロトコルラベルスイッチング(MPLS)損失および遅延測定[RFC6374]、またはIn situ OAM(IOAM)[RFC9197]。ネットワークまたはVPNサービスの品質を反映したパフォーマンス監視情報(たとえば、ネットワークまたはVPNサイト間のソースノードと宛先ノード間のネットワークパフォーマンスデータなど)は、たとえばトラフィックエンジニアリングデータベースの情報を使用して計算および集約できます。(TED)[RFC7471] [RFC8570] [RFC8571]または大規模測定プラットフォーム(LMAP)[RFC8194]。

The measurement and report intervals that are associated with these performance data usually depend on the configuration of the specific measurement method or collection method or various combinations. This document defines network-wide measurement intervals to align measurement requirements for networks or VPN services.

これらのパフォーマンスデータに関連付けられている測定およびレポート間隔は、通常、特定の測定方法または収集方法の構成またはさまざまな組み合わせに依存します。このドキュメントは、ネットワークまたはVPNサービスの測定要件を調整するためのネットワーク全体の測定間隔を定義します。

3.1. Collecting Data via the Pub/Sub Mechanism
3.1. PUB/サブメカニズムを介してデータを収集します

Some applications, such as service-assurance applications, which must maintain a continuous view of operational data and state, can use the subscription model specified in [RFC8641] to subscribe to the specific network performance data or VPN service performance data they are interested in, at the data source. For example, network or VPN topology updates may be obtained through on-change notifications [RFC8641]. For dynamic PM data (e.g., VPN Routing and Forwarding (VRF) routes or Media Access Control (MAC) entries, link metrics, and interface metrics), various notifications can be specified to obtain more complete data. A periodic notification [RFC8641] can be specified to obtain real-time performance data. For devices/ controllers that maintain historical performance data for a period of time, a replay notification (see [RFC5277] or [RFC8639]) can be used to obtain the historical data. And alarm notifications [RFC8632] can be specified to get alarms for the metrics that exceed or fall below the performance threshold.

運用データと状態の継続的なビューを維持する必要があるサービス保険アプリケーションなどの一部のアプリケーションは、[RFC8641]で指定されたサブスクリプションモデルを使用して、特定のネットワークパフォーマンスデータまたは関心のあるVPNサービスパフォーマンスデータを購読できます。データソースで。たとえば、ネットワークまたはVPNトポロジの更新は、変更中の通知[RFC8641]を介して取得できます。動的なPMデータ(VPNルーティングと転送(VRF)ルートまたはメディアアクセス制御(MAC)エントリ、リンクメトリック、およびインターフェイスメトリック)の場合、より完全なデータを取得するためにさまざまな通知を指定できます。リアルタイムのパフォーマンスデータを取得するために、定期的な通知[RFC8641]を指定できます。一定期間履歴パフォーマンスデータを維持するデバイス/コントローラーの場合、リプレイ通知([RFC5277]または[RFC8639]を参照)を使用して履歴データを取得できます。アラーム通知[RFC8632]を指定して、パフォーマンスのしきい値を超えるまたは下回るメトリックのアラームを取得できます。

The data source can then use the network and VPN service performance monitoring model defined in this document and the YANG-Push data model [RFC8641] to distribute specific telemetry data to target recipients.

データソースは、このドキュメントで定義されているネットワークおよびVPNサービスパフォーマンス監視モデルを使用し、Yang-Pushデータモデル[RFC8641]で特定のテレメトリデータをターゲット受信者に配布できます。

3.2. Collecting Data On Demand
3.2. 需要のあるデータを収集します

To obtain a snapshot of performance data from a network topology or a VPN service topology, service-assurance applications may retrieve information using the network and VPN service PM model through a Network Configuration Protocol (NETCONF) [RFC6241] or a RESTCONF [RFC8040] interface. For example, a specified "link-id" of a VPN can be used as a filter in a RESTCONF GET request to retrieve per-link VPN PM data.

ネットワークトポロジまたはVPNサービストポロジからパフォーマンスデータのスナップショットを取得するために、サービスアシュアランスアプリケーションは、ネットワーク構成プロトコル(NetConf)[RFC6241]またはRestConf [RFC8040]インターフェースを介してネットワークおよびVPNサービスPMモデルを使用して情報を取得できます。。たとえば、VPNの指定された「Link-ID」は、リンクごとのVPN PMデータを取得するためのRESTCONF GETリクエストのフィルターとして使用できます。

4. Description of the YANG Data Model
4. Yangデータモデルの説明

This document defines the "ietf-network-vpn-pm" YANG module, which is an augmentation to the "ietf-network" and "ietf-network-topology" YANG modules.

このドキュメントでは、「IETF-Network-VPN-PM」Yangモジュールを定義します。これは、「IETFネットワーク」および「IETFネットワークトポロジー」Yangモジュールの増強です。

4.1. Layering Relationship between Multiple Layers of Topology
4.1. トポロジーの複数の層間のレイヤー関係

[RFC8345] defines a YANG data model for network/service topologies and inventories. The service topology described in [RFC8345] includes the abstract topology for a service layer above Layer 1 (L1), Layer 2 (L2), and Layer 3 (L3) underlay topologies. This service topology has the generic topology elements of node, link, and termination point. One typical example of a service topology is described in Figure 3 of [RFC8345]: two VPN service topologies instantiated over a common L3 topology. Each VPN service topology is mapped onto a subset of nodes from the L3 topology.

[RFC8345]は、ネットワーク/サービストポロジとインベントリのYangデータモデルを定義します。[RFC8345]で説明されているサービストポロジには、レイヤー1(L1)、レイヤー2(L2)、およびレイヤー3(L3)の下部トポロジーの上のサービスレイヤーの抽象トポロジーが含まれています。このサービストポロジには、ノード、リンク、終端ポイントの汎用トポロジ要素があります。サービストポロジの典型的な例の1つについては、[RFC8345]の図3に記載されています。2つのVPNサービストポロジーが一般的なL3トポロジについてインスタンス化しました。各VPNサービストポロジーは、L3トポロジのノードのサブセットにマッピングされます。

Figure 2 illustrates an example of a topology hierarchy that maps between the VPN service topology and an underlying Layer 3 network topology.

図2は、VPNサービストポロジと基礎となるレイヤー3ネットワークトポロジの間にマッピングするトポロジ階層の例を示しています。

                        VPN 1                       VPN 2
             +------------------------+   +------------------------+
            /                        /   /                        /
           / S1C_[VN3]..........    /   /                        /
          /         \          :   /   / S2A_[VN1]____[VN3]_S2B /
         /           \         :  /   /        *        *      /
        /             \        :............ * ....     *     /
       / S1B_[VN2]____[VN1]_S1A /   /       *     :     *    /
      +---------:-------:------+   +-------*------:-----*---+
                :        :      * * *  * *        :     *
                :         :   *                   :     *
      Site-1A   :  +-------:-*--------------------:-----*-----+ Site-1C
        [CE1]___:_/_______[N1]___________________[N2]___*____/__[CE3]
                :/       / / \             _____//      *   /
      [CE5]_____:_______/ /    \     _____/     /     *    /
    Site-2A    /:        /       \  /          /    *     /
              / :                [N5]         /   *      /
             /   :     /       __/ \__       /  *       /
            /     :   /    ___/       \__   / *        /
   Site-1B /       : / ___/              \ /*         /  Site-2B
   [CE2]__/________[N4]__________________[N3]________/____[CE4]
         /                                          /
        +------------------------------------------+
                                      L3 Topology

      Legend:
         N:   Node
         VN:  VPN Node
         S:   Site
         CE:  Customer Edge
         __   Link within a network layer
         :    Mapping between VPN 1 service topology and L3 topology
         *    Mapping between VPN 2 service topology and L3 topology
        

Figure 2: Example of Topology Mapping between VPN Service Topology and an Underlying Network

図2:VPNサービストポロジと基礎となるネットワーク間のトポロジマッピングの例

As shown in Figure 2, two VPN services topologies are built on top of one underlying Layer 3 network:

図2に示すように、2つのVPNサービストポロジーは、1つの基礎となるレイヤー3ネットワークの上に構築されています。

VPN 1:

VPN 1:

This service topology supports Hub-and-Spoke communications for "customer 1", connecting the customer's access at three sites: Site-1A, Site-1B, and Site-1C. These sites are connected to nodes that are mapped to node 1 (N1), node 2 (N2), and node 4 (N4) in the underlying Layer 3 network. Site-1A plays the role of Hub while Site-1B and Site-1C are configured as Spokes.

このサービストポロジは、「Customer 1」のハブアンドスポークコミュニケーションをサポートし、サイト1A、Site-1B、およびSite-1Cの3つのサイトで顧客のアクセスを接続します。これらのサイトは、基礎となるレイヤー3ネットワークのノード1(N1)、ノード2(N2)、およびノード4(N4)にマッピングされたノードに接続されています。サイト1Aはハブの役割を果たし、サイト1Bとサイト1Cはスポークとして構成されています。

VPN 2:

VPN 2:

This service topology supports any-to-any communications for "customer 2", connecting the customer's access at two sites: Site-2A and Site-2B. These sites are connected to nodes that are mapped to node 1 (N1) and node 3 (N3) in the underlying Layer 3 network. Site-2A and Site-2B have an "any-to-any" role.

このサービストポロジは、「Customer 2」のいずれかの通信をサポートし、2つのサイトで顧客のアクセスをサイト2AとSITE-2Bで接続します。これらのサイトは、基礎となるレイヤー3ネットワークのノード1(N1)およびノード3(N3)にマッピングされたノードに接続されています。サイト-2Aとサイト2Bには、「任意の」役割があります。

Based on the association between VPN service topologies and underlying network topologies, the Network and VPN Service PM YANG module extends the performance status of the underlay networks and VPN services. For example, the module can provide link PM statistics and port statistics of an underlay network, e.g., Layer 1, Layer 2, Layer 3, and OSPF networks. It can also provide VPN PM statistics, which can be further split into PM for the VPN tunnel and PM at the VPN PE access node, as illustrated in the following diagram.

VPNサービストポロジと基礎となるネットワークトポロジとの関連に基づいて、ネットワークおよびVPNサービスPM Yangモジュールは、アンダーレイネットワークとVPNサービスのパフォーマンスステータスを拡張します。たとえば、モジュールは、アンダーレイネットワークのリンクPM統計とポート統計、例えばレイヤー1、レイヤー2、レイヤー3、およびOSPFネットワークを提供できます。また、次の図に示すように、VPN PM統計を提供することもできます。

          +-----------------------------------------------------+
          |                                                     |
          |                      VPN2 Link                      |
          |              |<-------------------->|               |
          |              |                      |               |
          |      VPN2+---+---+              +---+---+VPN2       |
          |       TP1| VN1   |  Tunnel PM   |  VN3  |TP2        |
          |       ---+ PE A  |==============|  PE B +----       |
          |vpn-access+-------+              +-------+ vpn-access|
          |-interface|                              | -interface|
          |          |##############################|           |
          |          |inter-vpn-access-interface PM |           |
          |                                                     |
          +-----------------------------------------------------+
          |                                                     |
          |                                                     |
   +----+ |        TP+-----+ Link  +---+ Link  +-----+TP        | +----+
   | CE4+-+----------+ N1  +-------+-N2+-------+  N3 +----------+-+CE5 |
   +----+ |       1-1+-----+1-2 2-1+---+2-2 3-1+-----+3-2       | +----+
          |                                                     |
          |                                                     |
          +-----------------------------------------------------+

          Legend:
            N:  node
            VN: VPN Node
            TP: Termination Point
            -:  Link
        

Figure 3: An Example of VPN PM

図3:VPN PMの例

Figure 3 illustrates an example of VPN PM and two VPN PM measurement methods including the VPN tunnel PM and the inter-VPN-access interface PM. VPN PM can also provide statistics on VPN access interfaces, the number of current VRF routes, or L2VPN MAC entry of a VPN node.

図3は、VPNトンネルPMおよびVPN-Access Interface PMを含むVPN PMと2つのVPN PM測定方法の例を示しています。VPN PMは、VPNアクセスインターフェイス、現在のVRFルートの数、またはVPNノードのL2VPN MACエントリに関する統計を提供することもできます。

4.2. Network-Level Performance Monitoring Augmentation
4.2. ネットワークレベルのパフォーマンス監視の増強

The module described below can be used for performance monitoring for both the underlay networks and the VPN services, which would be separate entries in the network list [RFC8345]. The differences are as follows:

以下に説明するモジュールは、ネットワークリスト[RFC8345]の個別のエントリとなるアンダーレイネットワークとVPNサービスの両方のパフォーマンス監視に使用できます。違いは次のとおりです。

* When the "service" presence container is absent, then it indicates performance monitoring of the network itself.

* 「サービス」プレゼンスコンテナがない場合、ネットワーク自体のパフォーマンス監視が示されます。

* When the "service" presence container is present, then it indicates performance monitoring of the VPN service specified by the "service-type" leaf, e.g., L3VPN or Virtual Private LAN Service (VPLS). The values are taken from [RFC9181]. When a network topology instance contains the L3VPN or other L2VPN network types, it represents a VPN instance that can perform performance monitoring.

* 「サービス」プレゼンスコンテナが存在する場合、「サービスタイプ」リーフ、例えばL3VPNまたは仮想プライベートLANサービス(VPLS)で指定されたVPNサービスのパフォーマンス監視を示します。値は[RFC9181]から取得されます。ネットワークトポロジインスタンスにL3VPNまたは他のL2VPNネットワークタイプが含まれる場合、パフォーマンス監視を実行できるVPNインスタンスを表します。

The YANG tree in Figure 4 is a part of the "ietf-network-vpn-pm" tree. It defines the following set of network-level attributes:

図4のヤンの木は、「IETF-Network-VPN-PM」ツリーの一部です。次のネットワークレベル属性のセットを定義します。

"vpn-id":

「VPN-ID」:

Refers to an identifier of VPN service defined in [RFC9181]. This identifier is used to correlate the performance status with the network service configuration.

[RFC9181]で定義されているVPNサービスの識別子を指します。この識別子は、パフォーマンスステータスをネットワークサービスの構成と相関させるために使用されます。

"vpn-service-topology":

「VPN-Service-Topology」:

Indicates the type of VPN service topology. This model supports "any-to-any", "hub-spoke" (where Hubs can exchange traffic), and "hub-spoke-disjoint" (where Hubs cannot exchange traffic), which are taken from [RFC9181]. These VPN service topology types can be used to describe how VPN sites communicate with each other.

VPNサービストポロジのタイプを示します。このモデルは、[rfc9181]から取られた「ハブがトラフィックを交換できる」(ハブがトラフィックを交換できる場所)、および「ハブがトラフィックを交換できない場所)(ハブがトラフィックを交換できる場所)(hubspoke-disjoint」(hub spoke-disjoint」をサポートしています。これらのVPNサービストポロジタイプを使用して、VPNサイトが互いに通信する方法を説明できます。

   module: ietf-network-vpn-pm
     augment /nw:networks/nw:network/nw:network-types:
       +--rw service!
          +--rw service-type            identityref
          +--rw vpn-id?                 vpn-common:vpn-id
          +--rw vpn-service-topology?   identityref
        

Figure 4: Network-Level YANG Tree

図4:ネットワークレベルのヤンツリー

4.3. Node-Level Performance Monitoring Augmentation
4.3. ノードレベルのパフォーマンス監視の増強

The YANG tree in Figure 5 is the node part of the "ietf-network-vpn-pm" tree.

図5のヤンの木は、「IETF-Network-VPN-PM」ツリーのノード部分です。

For network performance monitoring, the module defines the following attributes:

ネットワークパフォーマンスの監視の場合、モジュールは次の属性を定義します。

"node-type":

「ノードタイプ」:

Indicates the device type of the PE, P device, or Autonomous System Border Router (ASBR) as defined in [RFC4026] and [RFC4364] so that the performance metric between any two nodes that each have a specific node type can be reported.

[RFC4026]および[RFC4364]で定義されているように、PE、Pデバイス、または自律システムの境界ルーター(ASBR)のデバイスタイプを示し、それぞれに特定のノードタイプを持つ任意の2つのノード間のパフォーマンスメトリックを報告できます。

"entry-summary":

「エントリーサマリー」:

Lists a set of IPv4 statistics, IPv6 statistics, and MAC statistics. The detailed statistics are specified separately.

IPv4統計、IPv6統計、およびMAC統計のセットをリストします。詳細な統計は個別に指定されています。

For VPN service topology, the module defines one attribute:

VPNサービストポロジの場合、モジュールは1つの属性を定義します。

"role":

"役割":

Defines the role in a particular VPN service topology. The roles are taken from [RFC9181] (e.g., "any-to-any-role", "spoke-role", and "hub-role").

特定のVPNサービストポロジにおける役割を定義します。役割は[RFC9181](たとえば、「任意のロール」、「スポークロール」、「ハブロール」)から取得されます。

     augment /nw:networks/nw:network/nw:node:
       +--rw node-type?       identityref
       +--ro entry-summary
          +--ro ipv4-num
          |  +--ro maximum-routes?        uint32
          |  +--ro total-active-routes?   uint32
          +--ro ipv6-num
          |  +--ro maximum-routes?        uint32
          |  +--ro total-active-routes?   uint32
          +--ro mac-num
             +--ro maximum-mac-entries?        uint32
             +--ro total-active-mac-entries?   uint32
     augment /nw:networks/nw:network/nw:node:
       +--rw role?   identityref
        

Figure 5: Node-Level YANG Tree

図5:ノードレベルのヤンツリー

4.4. リンクでのパフォーマンス監視の増強と終了ポイントレベル

The YANG tree in Figure 6 is the link and termination point (TP) part of the "ietf-network-vpn-pm" tree.

図6のヤンの木は、「IETF-Network-VPN-PM」ツリーのリンクと終端ポイント(TP)の部分です。

The "links" are classified into two types: topology link (defined in [RFC8345]) and abstract link of a VPN between PEs (defined in this module).

「リンク」は、トポロジーリンク([RFC8345]で定義)とPE間のVPNの抽象リンク(このモジュールで定義)の2つのタイプに分類されます。

The performance data of a link is a collection of counters and gauges that report the performance status. All these metrics are defined as unidirectional metrics.

リンクのパフォーマンスデータは、パフォーマンスステータスを報告するカウンターとゲージのコレクションです。これらのすべてのメトリックは、単方向のメトリックとして定義されます。

     augment /nw:networks/nw:network/nt:link:
       +--rw perf-mon
          +--rw low-percentile?            percentile
          +--rw intermediate-percentile?   percentile
          +--rw high-percentile?           percentile
          +--rw measurement-interval?      uint32
          +--ro pm* [pm-type]
          |  +--ro pm-type          identityref
          |  +--ro pm-attributes
          |     +--ro start-time?                     yang:date-and-time
          |     +--ro end-time?                       yang:date-and-time
          |     +--ro pm-source?                      identityref
          |     +--ro one-way-pm-statistics
          |     |  +--ro loss-statistics
          |     |  |  +--ro packet-loss-count?   yang:counter64
          |     |  |  +--ro loss-ratio?          percentage
          |     |  +--ro delay-statistics
          |     |  |  +--ro unit-value?                     identityref
          |     |  |  +--ro min-delay-value?                yang:gauge64
          |     |  |  +--ro max-delay-value?                yang:gauge64
          |     |  |  +--ro low-delay-percentile?           yang:gauge64
          |     |  |  +--ro intermediate-delay-percentile?  yang:gauge64
          |     |  |  +--ro high-delay-percentile?          yang:gauge64
          |     |  +--ro jitter-statistics
          |     |     +--ro unit-value?                     identityref
          |     |     +--ro min-jitter-value?               yang:gauge64
          |     |     +--ro max-jitter-value?               yang:gauge64
          |     |     +--ro low-jitter-percentile?          yang:gauge64
          |     |     +--ro intermediate-jitter-percentile? yang:gauge64
          |     |     +--ro high-jitter-percentile?         yang:gauge64
          |     +--ro one-way-pm-statistics-per-class* [class-id]
          |        +--ro class-id             string
          |        +--ro loss-statistics
          |        |  +--ro packet-loss-count?   yang:counter64
          |        |  +--ro loss-ratio?          percentage
          |        +--ro delay-statistics
          |        |  +--ro unit-value?                     identityref
          |        |  +--ro min-delay-value?                yang:gauge64
          |        |  +--ro max-delay-value?                yang:gauge64
          |        |  +--ro low-delay-percentile?           yang:gauge64
          |        |  +--ro intermediate-delay-percentile?  yang:gauge64
          |        |  +--ro high-delay-percentile?          yang:gauge64
          |        +--ro jitter-statistics
          |           +--ro unit-value?                     identityref
          |           +--ro min-jitter-value?               yang:gauge64
          |           +--ro max-jitter-value?               yang:gauge64
          |           +--ro low-jitter-percentile?          yang:gauge64
          |           +--ro intermediate-jitter-percentile? yang:gauge64
          |           +--ro high-jitter-percentile?         yang:gauge64
          +--rw vpn-pm-type
             +--rw inter-vpn-access-interface
             |  +--rw inter-vpn-access-interface?   empty
             +--rw vpn-tunnel!
                +--ro vpn-tunnel-type?   identityref
     augment /nw:networks/nw:network/nw:node/nt:termination-point:
       +--ro pm-statistics
          +--ro last-updated?               yang:date-and-time
          +--ro inbound-octets?             yang:counter64
          +--ro inbound-unicast?            yang:counter64
          +--ro inbound-broadcast?          yang:counter64
          +--ro inbound-multicast?          yang:counter64
          +--ro inbound-discards?           yang:counter64
          +--ro inbound-errors?             yang:counter64
          +--ro inbound-unknown-protocol?   yang:counter64
          +--ro outbound-octets?            yang:counter64
          +--ro outbound-unicast?           yang:counter64
          +--ro outbound-broadcast?         yang:counter64
          +--ro outbound-multicast?         yang:counter64
          +--ro outbound-discards?          yang:counter64
          +--ro outbound-errors?            yang:counter64
          +--ro vpn-network-access* [network-access-id]
             +--ro network-access-id           vpn-common:vpn-id
             +--ro last-updated?               yang:date-and-time
             +--ro inbound-octets?             yang:counter64
             +--ro inbound-unicast?            yang:counter64
             +--ro inbound-broadcast?          yang:counter64
             +--ro inbound-multicast?          yang:counter64
             +--ro inbound-discards?           yang:counter64
             +--ro inbound-errors?             yang:counter64
             +--ro inbound-unknown-protocol?   yang:counter64
             +--ro outbound-octets?            yang:counter64
             +--ro outbound-unicast?           yang:counter64
             +--ro outbound-broadcast?         yang:counter64
             +--ro outbound-multicast?         yang:counter64
             +--ro outbound-discards?          yang:counter64
             +--ro outbound-errors?            yang:counter64
        

Figure 6: Link and Termination Point YANG Subtree

図6:リンクおよび終端ポイントヤンサブツリー

For the data nodes of "link" depicted in Figure 6, the YANG module defines the following minimal set of link-level performance attributes:

図6に示す「リンク」のデータノードの場合、Yangモジュールは、次の最小リンクレベルのパフォーマンス属性のセットを定義しています。

Percentile parameters:

パーセンタイルパラメーター:

The module supports reporting delay and jitter metrics with percentile values. There are three percentile values for configuring various percentile reporting levels. By default, low percentile (10th percentile), intermediate percentile (50th percentile), and high percentile (90th percentile) are used. Configuring a percentile to 0.000 indicates the client is not interested in receiving a particular percentile. If all percentile nodes are configured to 0.000, it represents that no percentile-related nodes will be reported for a given performance metric (e.g., one-way delay and one-way delay variation) and only peak/min values will be reported. For example, a client can inform the server that it is interested in receiving only high percentiles. Then for a given link at a given "start-time", "end-time", and "measurement-interval", the "high-delay-percentile" and "high-jitter-percentile" will be reported. An example to illustrate the use of percentiles is provided in Appendix A.3.

このモジュールは、パーセンタイル値を持つレポート遅延およびジッターメトリックをサポートしています。さまざまなパーセンタイルレポートレベルを構成するための3つのパーセンタイル値があります。デフォルトでは、低パーセンタイル(10パーセンタイル)、中間パーセンタイル(50パーセンタイル)、および高パーセンタイル(90パーセンタイル)が使用されます。パーセンタイルを0.000に構成することは、クライアントが特定のパーセンタイルを受信することに関心がないことを示します。すべてのパーセンタイルノードが0.000に構成されている場合、特定のパフォーマンスメトリック(例えば、一元配置遅延および一元遅延変動)についてパーセンタイル関連ノードが報告されないことを表し、ピーク/min値のみが報告されます。たとえば、クライアントは、高いパーセンタイルのみを受信することに関心があることをサーバーに通知できます。次に、指定された「開始時」、「終了時」、および「測定間インターバル」での特定のリンクの場合、「ハイデレイパーマセントリ」と「ハイジッターペルセントリ」が報告されます。パーセンタイルの使用を説明する例は、付録A.3に記載されています。

Measurement interval ("measurement-interval"):

測定間隔( "測定間インターバル"):

Specifies the performance measurement interval, in seconds.

秒単位でパフォーマンス測定間隔を指定します。

Start time ("start-time"):

開始時間( "Start-Time"):

Indicates the start time of the performance measurement for link statistics.

リンク統計のパフォーマンス測定の開始時間を示します。

End time ("end-time"):

終了時間( "終了時間"):

Indicates the end time of the performance measurement for link statistics.

リンク統計のパフォーマンス測定の終了時間を示します。

PM source ("pm-source"):

PMソース( "PM-Source"):

Indicates the performance monitoring source. The data for the topology link can be based, e.g., on BGP - Link State (BGP-LS) [RFC8571]. The statistics of the VPN abstract links can be collected based upon VPN OAM mechanisms, e.g., OAM mechanisms referenced in [RFC9182] or Ethernet service OAM [ITU-T-Y-1731] referenced in [RFC9291]. Alternatively, the data can be based upon the underlay technology OAM mechanisms, e.g., Generic Routing Encapsulation (GRE) tunnel OAM.

パフォーマンス監視ソースを示します。トポロジリンクのデータは、たとえばBGP -Link State(BGP -LS)[RFC8571]に基づいています。VPN抽象リンクの統計は、[RFC9182]または[RFC9291]で参照されているイーサネットサービスOAM [ITU-T-Y-1731]で参照されているOAMメカニズムなど、VPN OAMメカニズムに基づいて収集できます。あるいは、データは、汎用ルーティングカプセル化(GRE)トンネルOAMなど、アンダーレイテクノロジーOAMメカニズムに基づいています。

Loss statistics:

損失統計:

A set of one-way loss statistics attributes that are used to measure end-to-end loss between VPN sites or between any two network nodes. The exact loss value or the loss percentage can be reported.

VPNサイト間または2つのネットワークノード間でエンドツーエンドの損失を測定するために使用される一方向損失統計属性のセット。正確な損失値または損失率を報告できます。

Delay statistics:

遅延統計:

A set of one-way delay statistics attributes that are used to measure end-to-end latency between VPN sites or between any two network nodes. The peak/min values or percentile values can be reported.

VPNサイト間または2つのネットワークノード間でエンドツーエンドのレイテンシを測定するために使用される一元配置遅延統計属性のセット。ピーク/min値またはパーセンタイル値を報告できます。

Jitter statistics:

ジッター統計:

A set of one-way IP Packet Delay Variation [RFC3393] statistics attributes that are used to measure end-to-end jitter between VPN sites or between any two network nodes. The peak/min values or percentile values can be reported.

VPNサイト間または任意の2つのネットワークノード間でエンドツーエンドジッターを測定するために使用される一方向IPパケット遅延バリエーション[RFC3393]統計属性のセット。ピーク/min値またはパーセンタイル値を報告できます。

PM statistics per class:

クラスごとのPM統計:

"one-way-pm-statistics-per-class" lists performance measurement statistics for the topology link or the abstract link between VPN PEs with given "class-id" names. The list is defined separately from "one-way-pm-statistics", which is used to collect generic metrics for unspecified "class-id" names.

「一元配置-PMステータスあたりのクラス」には、トポロジーリンクのパフォーマンス測定統計、または指定された「クラスID」名を使用したVPN PES間の抽象リンクがリストされています。このリストは、「一元配置-PM統計」とは別に定義されています。これは、不特定の「クラスID」名の一般的なメトリックを収集するために使用されます。

VPN PM type ("vpn-pm-type"):

VPN PMタイプ( "vpn-pm-type"):

Indicates the VPN performance type, which can be "inter-vpn-access-interface" PM or "vpn-tunnel" PM. These two methods are common VPN measurement methods. The "inter-VPN-access-interface" PM is used to monitor the performance of logical point-to-point VPN connections between source and destination VPN access interfaces. And the "vpn-tunnel" PM is used to monitor the performance of VPN tunnels. The "inter-VPN-access-interface" PM includes PE-PE monitoring. Therefore, usually only one of the two methods is used. The "inter-VPN-access-interface" PM is defined as an empty leaf, which is not bound to a specific VPN access interface. The source or destination VPN access interface of the measurement can be augmented as needed.

VPNパフォーマンスタイプを示します。これは、「inter-vpn-access-interface」pmまたは「vpn-tunnel」PMです。これらの2つの方法は、一般的なVPN測定方法です。「inter-vpn-access-interface」PMは、ソースと宛先VPNアクセスインターフェイス間の論理ポイントツーポイントVPN接続のパフォーマンスを監視するために使用されます。「VPN-Tunnel」PMは、VPNトンネルのパフォーマンスを監視するために使用されます。「inter-vpn-access-interface」PMには、PE-PEモニタリングが含まれます。したがって、通常、2つの方法のうち1つだけが使用されます。「inter-vpn-access-interface」pmは、特定のVPNアクセスインターフェイスにバインドされていない空の葉として定義されます。測定のソースまたは宛先VPNアクセスインターフェイスは、必要に応じて拡張できます。

VPN tunnel type ("vpn-tunnel-type"):

VPNトンネルタイプ( "VPN-Tunnel-Type"):

Indicates the abstract link protocol-type of a VPN, such as GRE or IP-in-IP. The leaf refers to an identifier of the "underlay-transport" defined in [RFC9181], which describes the transport technology that carries the traffic of the VPN service. In the case of multiple types of tunnels between a single pair of VPN nodes, a separate link for each type of tunnel can be created.

GREやIP-in-IPなど、VPNの抽象リンクプロトコルタイプを示します。葉は、[RFC9181]で定義されている「アンダーレイトランスポート」の識別子を指します。これは、VPNサービスのトラフィックを運ぶ輸送技術を説明しています。VPNノードの単一ペア間の複数のタイプのトンネルの場合、各タイプのトンネルの個別のリンクを作成できます。

For the data nodes of "termination-point" depicted in Figure 6, the module defines the following minimal set of statistics:

図6に示す「終了点」のデータノードについて、モジュールは次の最小限の統計セットを定義します。

Last updated time ("last-updated"):

最終更新時間( "最後のアップデート"):

Indicates the date and time when the counters were last updated.

カウンターが最後に更新された日付と時刻を示します。

Inbound statistics:

インバウンド統計:

A set of inbound statistics attributes that are used to measure the inbound statistics of the termination point, such as received packets, received packets with errors, etc.

受信したパケット、エラーなどの受信パケットなど、終端ポイントのインバウンド統計を測定するために使用されるインバウンド統計属性のセット。

Outbound statistics:

アウトバウンド統計:

A set of outbound statistics attributes that are used to measure the outbound statistics of the termination point, such as sent packets, packets that could not be sent due to errors, etc.

送信されたパケット、エラーのために送信できないパケットなど、終了点のアウトバウンド統計を測定するために使用されるアウトバウンド統計属性のセット。

VPN network access ("vpn-network-access"):

VPNネットワークアクセス( "VPN-Network-Access"):

Lists counters of the VPN network access defined in the L3NM [RFC9182] or the L2NM [RFC9291]. When multiple VPN network accesses are created using the same physical port, finer-grained metrics can be monitored. If a TP is associated with only a single VPN, this list is not required.

L3NM [RFC9182]またはL2NM [RFC9291]で定義されているVPNネットワークアクセスのカウンターをリストします。同じ物理ポートを使用して複数のVPNネットワークアクセスが作成されると、細かい粒子メトリックを監視できます。TPが単一のVPNのみに関連付けられている場合、このリストは必要ありません。

5. Network and VPN Service Performance Monitoring YANG Module
5. ネットワークおよびVPNサービスパフォーマンス監視Yangモジュール

The "ietf-network-vpn-pm" YANG module uses types defined in [RFC6991], [RFC8345], [RFC8532], and [RFC9181].

「IETF-Network-VPN-PM」Yangモジュールは、[RFC6991]、[RFC8345]、[RFC8532]、および[RFC9181]で定義されたタイプを使用します。

   module ietf-network-vpn-pm {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-network-vpn-pm";
     prefix nvp;

     import ietf-yang-types {
       prefix yang;
       reference
         "RFC 6991: Common YANG Data Types";
     }
     import ietf-vpn-common {
       prefix vpn-common;
       reference
         "RFC 9181: A Common YANG Data Model for Layer 2 and
              Layer 3 VPNs";
     }
     import ietf-network {
       prefix nw;
       reference
         "RFC 8345: A YANG Data Model for Network
              Topologies, Section 6.1";
     }
     import ietf-network-topology {
       prefix nt;
       reference
         "RFC 8345: A YANG Data Model for Network
              Topologies, Section 6.2";
     }
     import ietf-lime-time-types {
       prefix lime;
       reference
         "RFC 8532: Generic YANG Data Model for the Management of
              Operations, Administration, and Maintenance (OAM)
              Protocols That Use Connectionless Communications";
     }

     organization
       "IETF OPSAWG (Operations and Management Area Working Group)";
     contact
       "WG Web:   <https://datatracker.ietf.org/wg/opsawg/>
        WG List:  <mailto:opsawg@ietf.org>

        Editor: Bo Wu
             <lana.wubo@huawei.com>

        Editor: Mohamed Boucadair
             <mohamed.boucadair@orange.com>

        Editor: Qin Wu
             <bill.wu@huawei.com>

        Author: Oscar Gonzalez de Dios
             <oscar.gonzalezdedios@telefonica.com>

        Author: Bin Wen
             <bin_wen@comcast.com>";
     description
       "This YANG module defines a model for network and VPN service
        performance monitoring (PM).

        Copyright (c) 2023 IETF Trust and the persons identified as
        authors of the code.  All rights reserved.

        Redistribution and use in source and binary forms, with or
        without modification, is permitted pursuant to, and subject
        to the license terms contained in, the Revised BSD License
        set forth in Section 4.c of the IETF Trust's Legal Provisions
        Relating to IETF Documents
        (https://trustee.ietf.org/license-info).

        This version of this YANG module is part of RFC 9375
        (https://www.rfc-editor.org/info/rfc9375); see the RFC itself
        for full legal notices.";

     revision 2023-03-20 {
       description
         "Initial revision.";
       reference
         "RFC 9375: A YANG Data Model for Network and VPN Service
              Performance Monitoring";
     }

     identity node-type {
       description
         "Base identity for node type";
     }

     identity pe {
       base node-type;
       description
         "Provider Edge (PE) node type.  A PE is the device or set
          of devices at the edge of the provider network with the
          functionality that is needed to interface with the
          customer.";
     }

     identity p {
       base node-type;
       description
         "Provider router node type.  That is, a router
          in the core network that does not have interfaces
          directly toward a customer.";
     }

     identity asbr {
       base node-type;
       description
         "Autonomous System Border Router (ASBR) node type.";
       reference
         "RFC 4364: BGP/MPLS IP Virtual Private Networks (VPNs)";
     }

     identity pm-source-type {
       description
         "Base identity from which specific performance monitoring
          mechanism types are derived.";
     }

     identity pm-source-bgpls {
       base pm-source-type;
       description
         "Indicates BGP-LS as the performance monitoring metric
          source.";
       reference
         "RFC 8571: BGP - Link State (BGP-LS) Advertisement of
              IGP Traffic Engineering Performance Metric
              Extensions";
     }

     identity pm-source-owamp {
       base pm-source-type;
       description
         "Indicates the One-Way Active Measurement Protocol (OWAMP)
          as the performance monitoring metric source.";
       reference
         "RFC 4656: A One-way Active Measurement Protocol (OWAMP)";
     }

     identity pm-source-twamp {
       base pm-source-type;
       description
         "Indicates the Two-Way Active Measurement Protocol (TWAMP)
          as the performance monitoring metric source.";
       reference
         "RFC 5357: A Two-Way Active Measurement Protocol (TWAMP)";
     }

     identity pm-source-stamp {
       base pm-source-type;
       description
         "Indicates the Simple Two-way Active Measurement Protocol
          (STAMP) as the performance monitoring metric source.";
       reference
         "RFC 8762: Simple Two-Way Active Measurement Protocol";
     }

     identity pm-source-y-1731 {
       base pm-source-type;
       description
         "Indicates Ethernet OAM Y.1731 as the performance monitoring
          metric source.";
       reference
         "ITU-T Y.1731: Operations, administration and
                maintenance (OAM) functions and mechanisms
                for Ethernet-based networks";
     }

     identity pm-source-ioam {
       base pm-source-type;
       description
         "Indicates In Situ Operations, Administration, and Maintenance
          (IOAM) as the performance monitoring metric source.";
       reference
         "RFC 9197: Data Fields for In Situ Operations, Administration,
              and Maintenance (IOAM)";
     }

     identity pm-type {
       description
         "Base identity for the PM type.";
     }

     identity pm-type-network-link {
       base pm-type;
       description
         "Indicates that the PM type is for the link in
          the network topology.";
     }

     identity pm-type-vpn-inter-access {
       base pm-type;
       description
         "Indicates that the PM type is for logical point-to-point VPN
          connections between source and destination VPN access
          interfaces.";
     }

     identity pm-type-vpn-tunnel {
       base pm-type;
       description
         "Indicates that the PM type is for VPN tunnels.";
     }

     typedef percentage {
       type decimal64 {
         fraction-digits 5;
         range "0..100";
       }
       description
         "Percentage to 5 decimal places.";
     }

     typedef percentile {
       type decimal64 {
         fraction-digits 3;
         range "0..100";
       }
       description
         "The percentile is a value between 0 and 100 to 3
          decimal places, e.g., 10.000, 99.900, and 99.990.
          For example, for a given one-way delay measurement,
          if the percentile is set to 95.000 and the 95th percentile
          one-way delay is 2 milliseconds, then the 95 percent of
          the sample value is less than or equal to 2 milliseconds.";
     }

     grouping entry-summary {
       description
         "Entry summary grouping used for network topology
          augmentation.";
       container entry-summary {
         config false;
         description
           "Container for VPN or network entry summary.";
         container ipv4-num {
           leaf maximum-routes {
             type uint32;
             description
               "Indicates the maximum number of IPv4 routes
                for the VPN or network.";
           }
           leaf total-active-routes {
             type uint32;
             description
               "Indicates total active IPv4 routes
                for the VPN or network.";
           }
           description
             "IPv4-specific parameters.";
         }
         container ipv6-num {
           leaf maximum-routes {
             type uint32;
             description
               "Indicates the maximum number of IPv6 routes
                for the VPN or network.";
           }
           leaf total-active-routes {
             type uint32;
             description
               "Indicates total active IPv6 routes
                for the VPN or network.";
           }
           description
             "IPv6-specific parameters.";
         }
         container mac-num {
           leaf maximum-mac-entries {
             type uint32;
             description
               "Indicates the maximum number of MAC entries
                for the VPN or network.";
           }
           leaf total-active-mac-entries {
             type uint32;
             description
               "Indicates the total active MAC entries
                for the VPN or network.";
           }
           description
             "MAC statistics.";
         }
       }
     }

     grouping link-loss-statistics {
       description
         "Grouping for per-link error statistics.";
       container loss-statistics {
         description
           "One-way link loss summarized information.";
         reference
           "RFC 4656: A One-way Active Measurement Protocol (OWAMP)
            ITU-T Y.1731: Operations, administration and
                  maintenance (OAM) functions and mechanisms
                  for Ethernet-based networks";
         leaf packet-loss-count {
           type yang:counter64;
           description
             "Total number of lost packets.";
         }
         leaf loss-ratio {
           type percentage;
           description
             "Loss ratio of the packets.  Expressed as percentage
              of packets lost with respect to packets sent.";
         }
       }
     }

     grouping link-delay-statistics {
       description
         "Grouping for per-link delay statistics.";
       container delay-statistics {
         description
           "One-way link delay summarized information.";
         reference
           "RFC 4656: A One-way Active Measurement Protocol (OWAMP)
            ITU-T Y.1731: Operations, administration and
                  maintenance (OAM) functions and mechanisms
                  for Ethernet-based networks";
         leaf unit-value {
           type identityref {
             base lime:time-unit-type;
           }
           default "lime:milliseconds";
           description
             "Time units, where the options are hours, minutes, seconds,
              milliseconds, microseconds, and nanoseconds.";
         }
         leaf min-delay-value {
           type yang:gauge64;
           description
             "Minimum observed one-way delay.";
         }
         leaf max-delay-value {
           type yang:gauge64;
           description
             "Maximum observed one-way delay.";
         }
         leaf low-delay-percentile {
           type yang:gauge64;
           description
             "Low percentile of observed one-way delay with
              specific measurement method.";
         }
         leaf intermediate-delay-percentile {
           type yang:gauge64;
           description
             "Intermediate percentile of observed one-way delay with
              specific measurement method.";
         }
         leaf high-delay-percentile {
           type yang:gauge64;
           description
             "High percentile of observed one-way delay with
              specific measurement method.";
         }
       }
     }

     grouping link-jitter-statistics {
       description
         "Grouping for per-link jitter statistics.";
       container jitter-statistics {
         description
           "One-way link jitter summarized information.";
         reference
           "RFC 3393: IP Packet Delay Variation Metric
                for IP Performance Metrics (IPPM)
            RFC 4656: A One-way Active Measurement Protocol (OWAMP)
            ITU-T Y.1731: Operations, administration and
                  maintenance (OAM) functions and mechanisms
                  for Ethernet-based networks";
         leaf unit-value {
           type identityref {
             base lime:time-unit-type;
           }
           default "lime:milliseconds";
           description
             "Time units, where the options are hours, minutes, seconds,
              milliseconds, microseconds, and nanoseconds.";
         }
         leaf min-jitter-value {
           type yang:gauge64;
           description
             "Minimum observed one-way jitter.";
         }
         leaf max-jitter-value {
           type yang:gauge64;
           description
             "Maximum observed one-way jitter.";
         }
         leaf low-jitter-percentile {
           type yang:gauge64;
           description
             "Low percentile of observed one-way jitter.";
         }
         leaf intermediate-jitter-percentile {
           type yang:gauge64;
           description
             "Intermediate percentile of observed one-way jitter.";
         }
         leaf high-jitter-percentile {
           type yang:gauge64;
           description
             "High percentile of observed one-way jitter.";
         }
       }
     }

     grouping tp-svc-telemetry {
       leaf last-updated {
         type yang:date-and-time;
         config false;
         description
           "Indicates the date and time when the counters were
            last updated.";
       }
       leaf inbound-octets {
         type yang:counter64;
         description
           "The total number of octets received on the
            interface, including framing characters.";
       }
       leaf inbound-unicast {
         type yang:counter64;
         description
           "The total number of inbound unicast packets.";
       }
       leaf inbound-broadcast {
         type yang:counter64;
         description
           "The total number of inbound broadcast packets.";
       }
       leaf inbound-multicast {
         type yang:counter64;
         description
           "The total number of inbound multicast packets.";
       }
       leaf inbound-discards {
         type yang:counter64;
         description
           "The number of inbound packets that were discarded
            even though no errors had been detected.  Possible
            reasons for discarding such a packet could be to
            free up buffer space, not enough buffer for too
            much data, etc.";
       }
       leaf inbound-errors {
         type yang:counter64;
         description
           "The number of inbound packets that contained errors.";
       }
       leaf inbound-unknown-protocol {
         type yang:counter64;
         description
           "The number of packets received via the interface
            that were discarded because of an unknown or
            unsupported protocol.";
       }
       leaf outbound-octets {
         type yang:counter64;
         description
           "The total number of octets transmitted out of the
            interface, including framing characters.";
       }
       leaf outbound-unicast {
         type yang:counter64;
         description
           "The total number of outbound unicast packets.";
       }
       leaf outbound-broadcast {
         type yang:counter64;
         description
           "The total number of outbound broadcast packets.";
       }
       leaf outbound-multicast {
         type yang:counter64;
         description
           "The total number of outbound multicast packets.";
       }
       leaf outbound-discards {
         type yang:counter64;
         description
           "The number of outbound packets that were discarded
            even though no errors had been detected to
            prevent their transmission.  Possible reasons
            for discarding such a packet could be to free
            up buffer space, not enough buffer for too
            much data, etc.";
       }
       leaf outbound-errors {
         type yang:counter64;
         description
           "The number of outbound packets that contained errors.";
       }
       description
         "Grouping for interface service telemetry.";
     }

     augment "/nw:networks/nw:network/nw:network-types" {
       description
         "Defines the service topologies types.";
       container service {
         presence "Presence of the container indicates performance
                   monitoring of the VPN service, and absence of
                   the container indicates performance monitoring
                   of the network itself.";
         description
           "Container for VPN service.";
         leaf service-type {
           type identityref {
             base vpn-common:service-type;
           }
           mandatory true;
           description
             "This indicates the network service type,
              e.g., L3VPN and VPLS.";
         }
         leaf vpn-id {
           type vpn-common:vpn-id;
           description
             "VPN identifier.";
         }
         leaf vpn-service-topology {
           type identityref {
             base vpn-common:vpn-topology;
           }
           description
             "VPN service topology, e.g., hub-spoke, any-to-any,
              and hub-spoke-disjoint.";
         }
       }
     }

     augment "/nw:networks/nw:network/nw:node" {
       description
         "Augments the network node with other general attributes.";
       leaf node-type {
         type identityref {
           base node-type;
         }
         description
           "Node type, e.g., PE, P, and ASBR.";
       }
       uses entry-summary;
     }

     augment "/nw:networks/nw:network/nw:node" {
       when '../nw:network-types/nvp:service' {
         description
           "Augments for VPN service PM.";
       }
       description
         "Augments the network node with VPN service attributes.";
       leaf role {
         type identityref {
           base vpn-common:role;
         }
         default "vpn-common:any-to-any-role";
         description
           "Role of the node in the VPN service topology.";
       }
     }

     augment "/nw:networks/nw:network/nt:link" {
       description
         "Augments the network topology link with performance
          monitoring attributes.";
       container perf-mon {
         description
           "Container for PM attributes.";
         leaf low-percentile {
           type percentile;
           default "10.000";
           description
             "Low percentile to report.  Setting low-percentile
              to 0.000 indicates the client is not interested
              in receiving low percentile.";
         }
         leaf intermediate-percentile {
           type percentile;
           default "50.000";
           description
             "Intermediate percentile to report.  Setting
              intermediate-percentile to 0.000 indicates the client
              is not interested in receiving intermediate percentile.";
         }
         leaf high-percentile {
           type percentile;
           default "95.000";
           description
             "High percentile to report.  Setting high-percentile
              to 0.000 indicates the client is not interested in
              receiving high percentile.";
         }
         leaf measurement-interval {
           type uint32 {
             range "1..max";
           }
           units "seconds";
           default "60";
           description
             "Indicates the time interval to perform PM
              measurement over.";
         }
         list pm {
           key "pm-type";
           config false;
           description
             "The list of PM based on PM type.";
           leaf pm-type {
             type identityref {
               base pm-type;
             }
             config false;
             description
               "The PM type of the measured PM attributes.";
           }
           container pm-attributes {
             description
               "Container for PM attributes.";
             leaf start-time {
               type yang:date-and-time;
               config false;
               description
                 "The date and time the measurement last started.";
             }
             leaf end-time {
               type yang:date-and-time;
               config false;
               description
                 "The date and time the measurement last ended.";
             }
             leaf pm-source {
               type identityref {
                 base pm-source-type;
               }
               config false;
               description
                 "The OAM tool used to collect the PM data.";
             }
             container one-way-pm-statistics {
               config false;
               description
                 "Container for link telemetry attributes.";
               uses link-loss-statistics;
               uses link-delay-statistics;
               uses link-jitter-statistics;
             }
             list one-way-pm-statistics-per-class {
               key "class-id";
               config false;
               description
                 "The list of PM data based on class of service.";
               leaf class-id {
                 type string;
                 description
                   "The class-id is used to identify the class
                    of service.  This identifier is internal
                    to the administration.";
               }
               uses link-loss-statistics;
               uses link-delay-statistics;
               uses link-jitter-statistics;
             }
           }
         }
       }
     }

     augment "/nw:networks/nw:network/nt:link/perf-mon" {
       when '../../nw:network-types/nvp:service' {
         description
           "Augments for VPN service PM.";
       }
       description
         "Augments the network topology link with VPN service
          performance monitoring attributes.";
       container vpn-pm-type {
         description
           "The VPN PM type of this logical point-to-point
            unidirectional VPN link.";
         container inter-vpn-access-interface {
           description
             "Indicates inter-vpn-access-interface PM, which is used
              to monitor the performance of logical point-to-point
              VPN connections between source and destination VPN
              access interfaces.";
           leaf inter-vpn-access-interface {
             type empty;
             description
               "This is a placeholder for inter-vpn-access-interface PM,
                which is not bound to a specific VPN access interface.
                The source or destination VPN access interface
                of the measurement can be augmented as needed.";
           }
         }
         container vpn-tunnel {
           presence "Enables VPN tunnel PM";
           description
             "Indicates VPN tunnel PM, which is used to monitor
              the performance of VPN tunnels.";
           leaf vpn-tunnel-type {
             type identityref {
               base vpn-common:protocol-type;
             }
             config false;
             description
               "The leaf indicates the VPN tunnel type, e.g.,
                Generic Routing Encapsulation (GRE) and Generic
                Network Virtualization Encapsulation (Geneve).";
           }
         }
       }
     }

     augment "/nw:networks/nw:network/nw:node/nt:termination-point" {
       description
         "Augments the network topology termination point with
          performance monitoring attributes.";
       container pm-statistics {
         config false;
         description
           "Container for termination point PM attributes.";
         uses tp-svc-telemetry;
       }
     }

     augment "/nw:networks/nw:network/nw:node"
           + "/nt:termination-point/pm-statistics" {
       when '../../../nw:network-types/nvp:service' {
         description
           "Augments for VPN service PM.";
       }
       description
         "Augments the network topology termination-point with
          VPN service performance monitoring attributes.";
       list vpn-network-access {
         key "network-access-id";
         description
           "The list of PM based on VPN network accesses.";
         leaf network-access-id {
           type vpn-common:vpn-id;
           description
             "The reference to an identifier for the VPN network
              access.";
         }
         uses tp-svc-telemetry;
       }
     }
   }
        
6. Security Considerations
6. セキュリティに関する考慮事項

The YANG module specified in this document defines a schema for data that is designed to be accessed via network management protocols such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS [RFC8446].

このドキュメントで指定されたYangモジュールは、NetConf [RFC6241]やRestConf [RFC8040]などのネットワーク管理プロトコルを介してアクセスするように設計されたデータのスキーマを定義しています。最低のネットコン層は安全な輸送層であり、実装から実装の安全な輸送は安全なシェル(SSH)[RFC6242]です。最も低いRESTCONF層はHTTPSであり、実装対象の安全な輸送はTLS [RFC8446]です。

The Network Configuration Access Control Model (NACM) [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.

ネットワーク構成アクセス制御モデル(NACM)[RFC8341]は、利用可能なすべてのNetConfまたはRestConfプロトコル操作とコンテンツの事前に設定されたサブセットに特定のNetConfまたはRestConfユーザーのアクセスを制限する手段を提供します。

There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default). These data nodes may be considered sensitive or vulnerable in some network environments. Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations. These write operations can lead to inaccurate or incomplete network measurements that can impact the visibility and decisions this data would be used to inform. Unauthorized write access to the following subtrees could have the following impacts:

このYangモジュールには、書き込み可能/クリエーション/削除可能な(つまり、デフォルトである構成真実)と定義されている多くのデータノードがあります。これらのデータノードは、一部のネットワーク環境で敏感または脆弱と見なされる場合があります。適切な保護なしにこれらのデータノードに操作を書き込む(例:編集config)は、ネットワーク操作に悪影響を与える可能性があります。これらの書き込み操作は、このデータが通知するために使用される可視性と決定に影響を与える可能性のあるネットワーク測定の不正確または不完全なネットワーク測定につながる可能性があります。次のサブツリーへの不正な書き込みアクセスは、次の影響を与える可能性があります。

    +============+======================+============================+
    | Access     | Node                 | Potential Impact           |
    +============+======================+============================+
    | /nw:networks/nw:network/nw:network-types                       |
    +============+======================+============================+
    | write      | service type         | disable VPN PM             |
    +------------+----------------------+----------------------------+
    | write      | VPN identifier       | disable VPN PM             |
    +------------+----------------------+----------------------------+
    | write      | VPN service topology | render data unusable       |
    +============+======================+============================+
    | /nw:networks/nw:network/nw:node                                |
    +============+======================+============================+
    | write      | node type            | render data unusable       |
    +------------+----------------------+----------------------------+
    | write      | VPN topology role    | render data unusable       |
    +============+======================+============================+
    | /nw:networks/nw:network/nw:link/nvp:perf-mon                   |
    +============+======================+============================+
    | write      | percentile           | impact reporting cadence   |
    +------------+----------------------+----------------------------+
    | write      | measurement interval | impact monitoring fidelity |
    +------------+----------------------+----------------------------+
    | write      | vpn-pm-type          | impact monitoring fidelity |
    +------------+----------------------+----------------------------+
        

Table 1: Write Operation Sensitivity Impact

表1:操作感度の影響を書き込みます

Some of the readable data nodes in this YANG module may be considered sensitive or vulnerable in some network environments. It is thus important to control read access (e.g., via get, get-config, or notification) to these data nodes. When using, the trade-off between confidentiality and proper monitoring of performance needs to be considered. Unauthorized access to the following subtrees could have the following impacts:

このYangモジュールの読み取り可能なデータノードの一部は、一部のネットワーク環境で敏感または脆弱と見なされる場合があります。したがって、これらのデータノードへの読み取りアクセス(GET、GetConfig、または通知を介して)を制御することが重要です。使用する場合、機密性とパフォーマンスの適切な監視とのトレードオフを考慮する必要があります。次のサブツリーへの不正アクセスには、次の影響があります。

"/nw:networks/nw:network/nw:node":

"/nw:Networks/nw:network/nw:node":

Unauthorized read access to this subtree can disclose the operational state information of underlay network instances or VPN instances.

このサブツリーへの不正な読み取りアクセスは、アンダーレイネットワークインスタンスまたはVPNインスタンスの運用状態情報を開示できます。

"/nw:networks/nw:network/nt:link/nvp:perf-mon/nvp:one-way-pm-statistics":

"/nw:Networks/nw:network/nt:link/nvp:perf-mon/nvp:片道pm統計":

Unauthorized read access to this subtree can disclose the operational state information of underlay network links or VPN abstract links.

このサブツリーへの不正な読み取りアクセスは、アンダーレイネットワークリンクまたはVPN抽象リンクの運用状態情報を開示できます。

"/nw:networks/nw:network/nw:node/nt:termination-point/nvp:pm-statistics":

"/nw:Networks/nw:network/nw:node/nt:exemination-point/nvp:pm-statistics":

Unauthorized read access to this subtree can disclose the operational state information of underlay network termination points or VPN network accesses.

このサブツリーへの不正な読み取りアクセスは、アンダーレイネットワーク終了ポイントまたはVPNネットワークアクセスの運用状態情報を開示できます。

This YANG module does not define any Remote Procedure Call (RPC) operations and actions.

このYangモジュールは、リモート手順コール(RPC)操作とアクションを定義していません。

7. IANA Considerations
7. IANAの考慮事項

IANA has registered the following URI in the "ns" subregistry within the "IETF XML Registry" [RFC3688]:

IANAは、「IETF XMLレジストリ」[RFC3688]内の「NS」サブレジストリに次のURIを登録しました。

URI:

URI:

urn:ietf:params:xml:ns:yang:ietf-network-vpn-pm

urn:ietf:params:xml:ns:yang:ietf-network-vpn-pm

Registrant Contact:

登録者の連絡先:

The IESG.

IESG。

XML:

XML:

N/A; the requested URI is an XML namespace.

n/a;要求されたURIはXMLネームスペースです。

IANA has registered the following YANG module in the "YANG Module Names" subregistry [RFC6020] within the "YANG Parameters" registry.

IANAは、「Yangパラメーター」レジストリ内で「Yangモジュール名」サブレジストリ[RFC6020]に次のYangモジュールを登録しています。

Name:

名前:

ietf-network-vpn-pm

ietf-network-vpn-pm

Namespace:

名前空間:

urn:ietf:params:xml:ns:yang:ietf-network-vpn-pm

urn:ietf:params:xml:ns:yang:ietf-network-vpn-pm

Maintained by IANA:

IANAによって維持されています:

N

n

Prefix:

プレフィックス:

nvp

NVP

Reference:

参照:

RFC 9375

RFC 9375

8. References
8. 参考文献
8.1. Normative References
8.1. 引用文献
   [RFC3393]  Demichelis, C. and P. Chimento, "IP Packet Delay Variation
              Metric for IP Performance Metrics (IPPM)", RFC 3393,
              DOI 10.17487/RFC3393, November 2002,
              <https://www.rfc-editor.org/info/rfc3393>.
        
   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.
        
   [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
              Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February
              2006, <https://www.rfc-editor.org/info/rfc4364>.
        
   [RFC4656]  Shalunov, S., Teitelbaum, B., Karp, A., Boote, J., and M.
              Zekauskas, "A One-way Active Measurement Protocol
              (OWAMP)", RFC 4656, DOI 10.17487/RFC4656, September 2006,
              <https://www.rfc-editor.org/info/rfc4656>.
        
   [RFC5357]  Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J.
              Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)",
              RFC 5357, DOI 10.17487/RFC5357, October 2008,
              <https://www.rfc-editor.org/info/rfc5357>.
        
   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/info/rfc6020>.
        
   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A. Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
              <https://www.rfc-editor.org/info/rfc6241>.
        
   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
              <https://www.rfc-editor.org/info/rfc6242>.
        
   [RFC6374]  Frost, D. and S. Bryant, "Packet Loss and Delay
              Measurement for MPLS Networks", RFC 6374,
              DOI 10.17487/RFC6374, September 2011,
              <https://www.rfc-editor.org/info/rfc6374>.
        
   [RFC6991]  Schoenwaelder, J., Ed., "Common YANG Data Types",
              RFC 6991, DOI 10.17487/RFC6991, July 2013,
              <https://www.rfc-editor.org/info/rfc6991>.
        
   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 2016,
              <https://www.rfc-editor.org/info/rfc7950>.
        
   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/info/rfc8040>.
        
   [RFC8340]  Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
              BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
              <https://www.rfc-editor.org/info/rfc8340>.
        
   [RFC8341]  Bierman, A. and M. Bjorklund, "Network Configuration
              Access Control Model", STD 91, RFC 8341,
              DOI 10.17487/RFC8341, March 2018,
              <https://www.rfc-editor.org/info/rfc8341>.
        
   [RFC8345]  Clemm, A., Medved, J., Varga, R., Bahadur, N.,
              Ananthakrishnan, H., and X. Liu, "A YANG Data Model for
              Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March
              2018, <https://www.rfc-editor.org/info/rfc8345>.
        
   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.
        
   [RFC8532]  Kumar, D., Wang, Z., Wu, Q., Ed., Rahman, R., and S.
              Raghavan, "Generic YANG Data Model for the Management of
              Operations, Administration, and Maintenance (OAM)
              Protocols That Use Connectionless Communications",
              RFC 8532, DOI 10.17487/RFC8532, April 2019,
              <https://www.rfc-editor.org/info/rfc8532>.
        
   [RFC8571]  Ginsberg, L., Ed., Previdi, S., Wu, Q., Tantsura, J., and
              C. Filsfils, "BGP - Link State (BGP-LS) Advertisement of
              IGP Traffic Engineering Performance Metric Extensions",
              RFC 8571, DOI 10.17487/RFC8571, March 2019,
              <https://www.rfc-editor.org/info/rfc8571>.
        
   [RFC8641]  Clemm, A. and E. Voit, "Subscription to YANG Notifications
              for Datastore Updates", RFC 8641, DOI 10.17487/RFC8641,
              September 2019, <https://www.rfc-editor.org/info/rfc8641>.
        
   [RFC8762]  Mirsky, G., Jun, G., Nydell, H., and R. Foote, "Simple
              Two-Way Active Measurement Protocol", RFC 8762,
              DOI 10.17487/RFC8762, March 2020,
              <https://www.rfc-editor.org/info/rfc8762>.
        
   [RFC9181]  Barguil, S., Gonzalez de Dios, O., Ed., Boucadair, M.,
              Ed., and Q. Wu, "A Common YANG Data Model for Layer 2 and
              Layer 3 VPNs", RFC 9181, DOI 10.17487/RFC9181, February
              2022, <https://www.rfc-editor.org/info/rfc9181>.
        
8.2. Informative References
8.2. 参考引用
   [ITU-T-Y-1731]
              ITU-T, "Operations, administration and maintenance (OAM)
              functions and mechanisms for Ethernet-based networks",
              ITU-T Recommendation G.8013/Y.1731, August 2015,
              <https://www.itu.int/rec/T-REC-Y.1731/en>.
        
   [RFC4026]  Andersson, L. and T. Madsen, "Provider Provisioned Virtual
              Private Network (VPN) Terminology", RFC 4026,
              DOI 10.17487/RFC4026, March 2005,
              <https://www.rfc-editor.org/info/rfc4026>.
        
   [RFC5277]  Chisholm, S. and H. Trevino, "NETCONF Event
              Notifications", RFC 5277, DOI 10.17487/RFC5277, July 2008,
              <https://www.rfc-editor.org/info/rfc5277>.
        
   [RFC7471]  Giacalone, S., Ward, D., Drake, J., Atlas, A., and S.
              Previdi, "OSPF Traffic Engineering (TE) Metric
              Extensions", RFC 7471, DOI 10.17487/RFC7471, March 2015,
              <https://www.rfc-editor.org/info/rfc7471>.
        
   [RFC8194]  Schoenwaelder, J. and V. Bajpai, "A YANG Data Model for
              LMAP Measurement Agents", RFC 8194, DOI 10.17487/RFC8194,
              August 2017, <https://www.rfc-editor.org/info/rfc8194>.
        
   [RFC8309]  Wu, Q., Liu, W., and A. Farrel, "Service Models
              Explained", RFC 8309, DOI 10.17487/RFC8309, January 2018,
              <https://www.rfc-editor.org/info/rfc8309>.
        
   [RFC8570]  Ginsberg, L., Ed., Previdi, S., Ed., Giacalone, S., Ward,
              D., Drake, J., and Q. Wu, "IS-IS Traffic Engineering (TE)
              Metric Extensions", RFC 8570, DOI 10.17487/RFC8570, March
              2019, <https://www.rfc-editor.org/info/rfc8570>.
        
   [RFC8632]  Vallin, S. and M. Bjorklund, "A YANG Data Model for Alarm
              Management", RFC 8632, DOI 10.17487/RFC8632, September
              2019, <https://www.rfc-editor.org/info/rfc8632>.
        
   [RFC8639]  Voit, E., Clemm, A., Gonzalez Prieto, A., Nilsen-Nygaard,
              E., and A. Tripathy, "Subscription to YANG Notifications",
              RFC 8639, DOI 10.17487/RFC8639, September 2019,
              <https://www.rfc-editor.org/info/rfc8639>.
        
   [RFC8969]  Wu, Q., Ed., Boucadair, M., Ed., Lopez, D., Xie, C., and
              L. Geng, "A Framework for Automating Service and Network
              Management with YANG", RFC 8969, DOI 10.17487/RFC8969,
              January 2021, <https://www.rfc-editor.org/info/rfc8969>.
        
   [RFC9182]  Barguil, S., Gonzalez de Dios, O., Ed., Boucadair, M.,
              Ed., Munoz, L., and A. Aguado, "A YANG Network Data Model
              for Layer 3 VPNs", RFC 9182, DOI 10.17487/RFC9182,
              February 2022, <https://www.rfc-editor.org/info/rfc9182>.
        
   [RFC9197]  Brockners, F., Ed., Bhandari, S., Ed., and T. Mizrahi,
              Ed., "Data Fields for In Situ Operations, Administration,
              and Maintenance (IOAM)", RFC 9197, DOI 10.17487/RFC9197,
              May 2022, <https://www.rfc-editor.org/info/rfc9197>.
        
   [RFC9291]  Boucadair, M., Ed., Gonzalez de Dios, O., Ed., Barguil,
              S., and L. Munoz, "A YANG Network Data Model for Layer 2
              VPNs", RFC 9291, DOI 10.17487/RFC9291, September 2022,
              <https://www.rfc-editor.org/info/rfc9291>.
        
   [YANG-SAP] Boucadair, M., Ed., Gonzalez de Dios, O., Barguil, S., Wu,
              Q., and V. Lopez, "A YANG Network Model for Service
              Attachment Points (SAPs)", Work in Progress, Internet-
              Draft, draft-ietf-opsawg-sap-15, 18 January 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-opsawg-
              sap-15>.
        
Appendix A. Illustrative Examples
付録A. 実例
A.1. Example of VPN Performance Subscription
A.1. VPNパフォーマンスサブスクリプションの例

The example shown in Figure 7 illustrates how a client subscribes to the performance monitoring information between nodes ("node-id") A and B in the L3 network topology. The performance monitoring parameter that the client is interested in is end-to-end loss.

図7に示す例は、クライアントがL3ネットワークトポロジのノード(「ノードID」)AとB間のパフォーマンス監視情報をどのようにサブスクライブするかを示しています。クライアントが関心を持っているパフォーマンス監視パラメーターは、エンドツーエンドの損失です。

   ============== NOTE: '\' line wrapping per RFC 8792 ===============

   POST /restconf/operations/ietf-subscribed-notifications:establish-\
                                      subscription
   Host: example.com
   Content-Type: application/yang-data+json

   {
     "ietf-subscribed-notifications:input": {
       "stream-subtree-filter": {
         "ietf-network:networks": {
           "network": {
             "network-id": "example:VPN1",
             "ietf-network-vpn-pm:service": {
               "service-type": "ietf-vpn-common:l3vpn"
             },
             "node": [
               {
                 "node-id": "example:A",
                 "ietf-network-vpn-pm:node-type": "pe",
                 "termination-point": [
                   {
                     "tp-id": "example:1-0-1"
                   }
                 ]
               },
               {
                 "node-id": "example:B",
                 "ietf-network-vpn-pm:node-type": "pe",
                 "termination-point": [
                   {
                     "tp-id": "example:2-0-1"
                   }
                 ]
               }
             ],
             "ietf-network-topology:link": [
               {
                 "link-id": "example:A-B",
                 "source": {
                   "source-node": "example:A"
                 },
                 "destination": {
                   "dest-node": "example:B"
                 },
                 "ietf-network-vpn-pm:perf-mon": {
                   "pm": [
                     {
                       "pm-type": "pm-type-vpn-tunnel",
                       "pm-attributes": {
                         "one-way-pm-statistics": {
                           "loss-statistics": {
                             "packet-loss-count": {}
                           }
                         }
                       }
                     }
                   ],
                   "vpn-pm-type": {
                     "vpn-tunnel": {
                       "vpn-tunnel-type": "ietf-vpn-common:gre"
                     }
                   }
                 }
               }
             ]
           }
         },
         "ietf-yang-push:periodic": {
           "period": "500"
         }
       }
     }
   }
        

Figure 7: Example of Pub/Sub Retrieval

図7:パブ/サブ検索の例

A.2. Example of VPN Performance Snapshot
A.2. VPNパフォーマンススナップショットの例

The example depicted in Figure 8 illustrates a VPN PM instance message body of a RESTCONF request to fetch the performance data of the link and TP that belongs to "VPN1".

図8に示す例は、「VPN1」に属するリンクとTPのパフォーマンスデータを取得するために、RESTCONFリクエストのVPN PMインスタンスメッセージ本文を示しています。

   {
     "ietf-network:networks": {
       "network": {
         "network-id": "example:VPN1",
         "node": [
           {
             "node-id": "example:A",
             "ietf-network-vpn-pm:node-type": "pe",
             "termination-point": [
               {
                 "tp-id": "example:1-0-1",
                 "ietf-network-vpn-pm:pm-statistics": {
                   "inbound-octets": "100",
                   "outbound-octets": "150"
                 }
               }
             ]
           },
           {
             "node-id": "example:B",
             "ietf-network-vpn-pm:node-type": "pe",
             "termination-point": [
               {
                 "tp-id": "example:2-0-1",
                 "ietf-network-vpn-pm:pm-statistics": {
                   "inbound-octets": "150",
                   "outbound-octets": "100"
                 }
               }
             ]
           }
         ],
         "ietf-network-topology:link": [
           {
             "link-id": "example:A-B",
             "source": {
               "source-node": "example:A"
             },
             "destination": {
               "dest-node": "example:B"
             },
             "ietf-network-pm:perf-mon": {
               "pm": [
                 {
                   "pm-type": "pm-type-vpn-tunnel",
                   "pm-attributes": {
                     "one-way-pm-statistics": {
                       "loss-statistics": {
                         "packet-loss-count": "120"
                       }
                     }
                   }
                 }
               ],
               "vpn-pm-type": {
                 "vpn-tunnel": {
                   "vpn-tunnel-type": "ietf-vpn-common:gre"
                 }
               }
             }
           }
         ]
       }
     }
   }
        

Figure 8: Example of VPN PM

図8:VPN PMの例

A.3. Example of Percentile Monitoring
A.3. パーセンタイル監視の例

This is an example of percentile measurement data that could be returned for link "example:A-B" between "example:A" and "example:B".

これは、「例:a-b」の間のリンク「例:a-b」のリンクに返すことができるパーセンタイル測定データの例です。

   {
     "ietf-network-topology:link": [
       {
         "link-id": "example:A-B",
         "source": {
           "source-node": "example:A"
         },
         "destination": {
           "dest-node": "example:B"
         },
         "ietf-network-vpn-pm:perf-mon": {
           "low-percentile": "20.000",
           "intermediate-percentile": "50.000",
           "high-percentile": "90.000",
           "pm": [
             {
               "pm-type": "pm-type-vpn-inter-access",
               "pm-attributes": {
                 "one-way-pm-statistics": {
                   "delay-statistics": {
                     "unit-value": "ietf-lime-time-types:milliseconds",
                     "min-delay-value": "43",
                     "max-delay-value": "99",
                     "low-delay-percentile": "64",
                     "intermediate-delay-percentile": "77",
                     "high-delay-percentile": "98"
                   }
                 }
               }
             }
           ],
           "vpn-pm-type": {
             "inter-vpn-access-interface": {
               "inter-vpn-access-interface": [null]
             }
           }
         }
       }
     ]
   }
        

Figure 9: Example of VPN PM with Percentile Value

図9:パーセンタイル値を持つVPN PMの例

Acknowledgements
謝辞

Thanks to Joe Clarke, Adrian Farrel, Tom Petch, Greg Mirsky, Roque Gagliano, Erez Segev, and Dhruv Dhody for reviewing and providing important input to this document.

Joe Clarke、Adrian Farrel、Tom Petch、Greg Mirsky、Roque Gagliano、Erez Segev、およびDhruv Dhodyに感謝し、このドキュメントに重要な情報をレビューして提供してくれました。

This work is partially supported by the European Commission under Horizon 2020 Secured autonomic traffic management for a Tera of SDN flows (Teraflow) project (grant agreement number 101015857).

この作業は、SDNフローのTERA(Teraflow)プロジェクト(助成金契約番号101015857)のために、Horizon 2020の欧州委員会によって一部サポートされています。

Contributors
貢献者

The following authors contributed significantly to this document:

次の著者は、この文書に大きく貢献しました。

   Michale Wang
   Huawei
   Email: wangzitao@huawei.com
        
   Roni Even
   Huawei
   Email: ron.even.tlv@gmail.com
        
   Change Liu
   China Unicom
   Email: liuc131@chinaunicom.cn
        
   Honglei Xu
   China Telecom
   Email: xuhl6@chinatelecom.cn
        
Authors' Addresses
著者のアドレス
   Bo Wu (editor)
   Huawei
   Yuhua District
   101 Software Avenue
   Nanjing
   Jiangsu, 210012
   China
   Email: lana.wubo@huawei.com
        
   Qin Wu (editor)
   Huawei
   Yuhua District
   101 Software Avenue
   Nanjing
   Jiangsu, 210012
   China
   Email: bill.wu@huawei.com
        
   Mohamed Boucadair (editor)
   Orange
   Rennes 35000
   France
   Email: mohamed.boucadair@orange.com
        
   Oscar Gonzalez de Dios
   Telefonica
   Madrid
   Spain
   Email: oscar.gonzalezdedios@telefonica.com
        
   Bin Wen
   Comcast
   Email: bin_wen@comcast.com