--- 1/draft-ietf-opsawg-model-automation-framework-03.txt 2020-06-14 23:13:11.208859740 -0700 +++ 2/draft-ietf-opsawg-model-automation-framework-04.txt 2020-06-14 23:13:11.288861773 -0700 @@ -1,157 +1,150 @@ OPSAWG Q. Wu, Ed. Internet-Draft Huawei Intended status: Informational M. Boucadair, Ed. -Expires: November 29, 2020 Orange +Expires: December 16, 2020 Orange D. Lopez Telefonica I+D C. Xie China Telecom L. Geng China Mobile - May 28, 2020 + June 14, 2020 A Framework for Automating Service and Network Management with YANG - draft-ietf-opsawg-model-automation-framework-03 + draft-ietf-opsawg-model-automation-framework-04 Abstract - Data models for service and network management provides a - programmatic approach for representing services or networks and - deriving (1) configuration information that will be communicated to - network and service components that are used to build and deliver the - service and (2) state information that will be monitored and tracked. - Indeed, data models can be used during various phases of the service - and network management life cycle, such as service instantiation, - provisioning, optimization, monitoring, diagnostic, and assurance. - Also, data models are instrumental in the automation of network - management. They also provide closed-loop control for the sake of + Data models provide a programmatic approach to represent services and + networks. Concretely, they can be used to derive configuration + information for network and service components, and state information + that will be monitored and tracked. Data models can be used during + the service and network management life cycle, such as service + instantiation, provisioning, optimization, monitoring, diagnostic, + and assurance. Data models are also instrumental in the automation + of network management, and they can provide closed-loop control for adaptive and deterministic service creation, delivery, and maintenance. This document describes an architecture for service and network management automation that takes advantage of YANG modeling - technologies. This architecture is drawn from a network provider + technologies. This architecture is drawn from a Network Operator perspective irrespective of the origin of a data module; it can thus accommodate modules that are developed outside the IETF. - The document aims in particular to exemplify an approach that - specifies the journey from technology-agnostic services to - technology-specific actions. - Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on November 29, 2020. + This Internet-Draft will expire on December 16, 2020. Copyright Notice Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved. 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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 - 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 3. Architectural Concepts and Goals . . . . . . . . . . . . . . 5 - 3.1. Data Models: Layering and Representation . . . . . . . . 5 - 3.2. Automation of Service Delivery Procedures . . . . . . . . 8 - 3.3. Service Fullfillment Automation . . . . . . . . . . . . . 9 - 3.4. YANG Modules Integration . . . . . . . . . . . . . . . . 9 - 4. Functional Bocks and Interactions . . . . . . . . . . . . . . 10 - 4.1. Service Lifecycle Management Procedure . . . . . . . . . 11 - 4.1.1. Service Exposure . . . . . . . . . . . . . . . . . . 12 - 4.1.2. Service Creation/Modification . . . . . . . . . . . . 12 - 4.1.3. Service Optimization . . . . . . . . . . . . . . . . 12 - 4.1.4. Service Diagnosis . . . . . . . . . . . . . . . . . . 13 - 4.1.5. Service Decommission . . . . . . . . . . . . . . . . 13 - 4.2. Service Fullfillment Management Procedure . . . . . . . . 13 - 4.2.1. Intended Configuration Provision . . . . . . . . . . 14 - 4.2.2. Configuration Validation . . . . . . . . . . . . . . 14 - 4.2.3. Performance Monitoring/Model-driven Telemetry . . . . 15 - 4.2.4. Fault Diagnostic . . . . . . . . . . . . . . . . . . 15 - 4.3. Multi-layer/Multi-domain Service Mapping . . . . . . . . 15 - 4.4. Service Decomposing . . . . . . . . . . . . . . . . . . . 16 - - 5. YANG Data Model Integration Examples . . . . . . . . . . . . 16 - 5.1. L3VPN Service Delivery . . . . . . . . . . . . . . . . . 16 - 5.2. VN Lifecycle Management . . . . . . . . . . . . . . . . . 18 - 5.3. Event-based Telemetry in the Device Self Management . . . 19 - 6. Security Considerations . . . . . . . . . . . . . . . . . . . 20 - 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 - 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 - 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 21 - 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 - 10.1. Normative References . . . . . . . . . . . . . . . . . . 22 - 10.2. Informative References . . . . . . . . . . . . . . . . . 23 - Appendix A. Layered YANG Modules Examples Overview . . . . . . . 30 - A.1. Service Models: Definition and Samples . . . . . . . . . 30 - A.2. Network Models: Samples . . . . . . . . . . . . . . . . . 30 - A.3. Device Models: Samples . . . . . . . . . . . . . . . . . 33 - A.3.1. Model Composition . . . . . . . . . . . . . . . . . . 34 - A.3.2. Device Models: Samples . . . . . . . . . . . . . . . 35 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38 + 2. Terminology and Acronyms . . . . . . . . . . . . . . . . . . 5 + 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 + 2.2. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 5 + 3. Architectural Concepts and Goals . . . . . . . . . . . . . . 6 + 3.1. Data Models: Layering and Representation . . . . . . . . 6 + 3.2. Automation of Service Delivery Procedures . . . . . . . . 9 + 3.3. Service Fullfillment Automation . . . . . . . . . . . . . 10 + 3.4. YANG Modules Integration . . . . . . . . . . . . . . . . 10 + 4. Functional Bocks and Interactions . . . . . . . . . . . . . . 11 + 4.1. Service Lifecycle Management Procedure . . . . . . . . . 12 + 4.1.1. Service Exposure . . . . . . . . . . . . . . . . . . 13 + 4.1.2. Service Creation/Modification . . . . . . . . . . . . 13 + 4.1.3. Service Optimization . . . . . . . . . . . . . . . . 13 + 4.1.4. Service Diagnosis . . . . . . . . . . . . . . . . . . 14 + 4.1.5. Service Decommission . . . . . . . . . . . . . . . . 14 + 4.2. Service Fullfillment Management Procedure . . . . . . . . 14 + 4.2.1. Intended Configuration Provision . . . . . . . . . . 15 + 4.2.2. Configuration Validation . . . . . . . . . . . . . . 15 + 4.2.3. Performance Monitoring/Model-driven Telemetry . . . . 16 + 4.2.4. Fault Diagnostic . . . . . . . . . . . . . . . . . . 16 + 4.3. Multi-Layer/Multi-Domain Service Mapping . . . . . . . . 16 + 4.4. Service Decomposing . . . . . . . . . . . . . . . . . . . 17 + 5. YANG Data Model Integration Examples . . . . . . . . . . . . 17 + 5.1. L2VPN/L3VPN Service Delivery . . . . . . . . . . . . . . 17 + 5.2. VN Lifecycle Management . . . . . . . . . . . . . . . . . 19 + 5.3. Event-based Telemetry in the Device Self Management . . . 20 + 6. Security Considerations . . . . . . . . . . . . . . . . . . . 21 + 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 + 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 + 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 22 + 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 + 10.1. Normative References . . . . . . . . . . . . . . . . . . 23 + 10.2. Informative References . . . . . . . . . . . . . . . . . 24 + Appendix A. Layered YANG Modules Examples Overview . . . . . . . 32 + A.1. Service Models: Definition and Samples . . . . . . . . . 32 + A.2. Network Models: Samples . . . . . . . . . . . . . . . . . 32 + A.3. Device Models: Samples . . . . . . . . . . . . . . . . . 35 + A.3.1. Model Composition . . . . . . . . . . . . . . . . . . 37 + A.3.2. Device Models: Samples . . . . . . . . . . . . . . . 37 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 40 1. Introduction Service management systems usually comprise service activation/ provision and service operation. Current service delivery - procedures, from the processing of customer's requirements and order + procedures, from the processing of customer's requirements and orders to service delivery and operation, typically assume the manipulation of data sequentially into multiple OSS/BSS applications that may be managed by different departments within the service provider's organization (e.g., billing factory, design factory, network - operation center, etc.). In addition, many of these applications - have been developed in-house over the years and operating in a silo - mode: + operation center). In addition, many of these applications have been + developed in-house over the years and operate in a silo mode: o The lack of standard data input/output (i.e., data model) raises many challenges in system integration and often results in manual configuration tasks. o Service fulfillment systems might have a limited visibility on the network state and therefore have slow response to network changes. Software Defined Networking (SDN) becomes crucial to address these - challenges. SDN techniques [RFC7149] are meant to automate the - overall service delivery procedures and typically rely upon - (standard) data models that are used to not only reflect service - providers'savoir-faire but also to dynamically instantiate and - enforce a set of (service-inferred) policies that best accommodate - what has been (contractually) defined (and possibly negotiated) with - the customer. [RFC7149] provides a first tentative to rationalize - that service provider's view on the SDN space by identifying concrete - technical domains that need to be considered and for which solutions - can be provided: + challenges. SDN techniques are meant to automate the overall service + delivery procedures and typically rely upon standard data models. + These models are used to not only reflect service providers' savoir- + faire, but also to dynamically instantiate and enforce a set of + service-inferred policies that best accommodate what has been defined + and possibly negotiated with the customer. [RFC7149] provides a + first tentative attempt to rationalize that service provider's view + on the SDN space by identifying concrete technical domains that need + to be considered and for which solutions can be provided: o Techniques for the dynamic discovery of topology, devices, and capabilities, along with relevant information and data models that are meant to precisely document such topology, devices, and their capabilities. o Techniques for exposing network services [RFC8309] and their characteristics. o Techniques used by service-derived dynamic resource allocation and @@ -162,46 +155,48 @@ efficiently a given policy (or a set thereof) is enforced from a service fulfillment and assurance perspectives. Models are key for each of the aforementioned four technical items. Service and network management automation is an important step to improve the agility of network operations. Models are also important to ease integrating multi-vendor solutions. YANG [RFC7950] module developers have taken both top-down and bottom- up approaches to develop modules [RFC8199] and to establish a mapping - between a network technology and customer requirements on the top or - abstracting common construct from various network technologies on the - bottom. At the time of writing this document (2020), there are many - data models including configuration and service models that have been - specified or are being specified by the IETF. They cover many of the - networking protocols and techniques. However, how these models work - together to configure a device, manage a set of devices involved in a - service, or provide a service is something that is not currently - documented either within the IETF or other Standards Developing - Organizations (SDOs) (e.g., MEF). + between a network technology and customer requirements at the top or + abstracting common constructs from various network technologies at + the bottom. At the time of writing this document (2020), there are + many data models including configuration and service models that have + been specified or are being specified by the IETF. They cover many + of the networking protocols and techniques. However, how these + models work together to configure a device, manage a set of devices + involved in a service, or provide a service is something that is not + currently documented either within the IETF or other Standards + Development Organizations (SDOs). This document describes an architectural framework for service and network management automation (Section 3) that takes advantage of YANG modeling technologies and investigates how different layer YANG data models interact with each other (e.g., service mapping, model composing) in the context of service delivery and fulfillment (Section 4). - This framework is drawn from a network provider perspective + This framework is drawn from a Network Operator perspective irrespective of the origin of a data module; it can accommodate modules that are developed outside the IETF. The document identifies a list of use cases to exemplify the proposed approach (Section 5), but it does not claim nor aim to be exhaustive. -2. Terminology +2. Terminology and Acronyms + +2.1. Terminology The following terms are defined in [RFC8309][RFC8199] and are not redefined here: o Network Operator o Customer o Service @@ -209,97 +204,134 @@ o Service Model o Network Element Module In addition, the document makes use of the following terms: Network Model: Describes a network level abstraction (or a subset of aspects of a network infrastructure), including devices and their subsystems, and relevant protocols operating at the link and - network layers across multiple devices. It can be used by a - network operator to allocate resources (e.g., tunnel resource, - topology resource) for the service or schedule resources to meet - the service requirements defined in a Service Model. + network layers across multiple devices. This model corresponds to + the Network Configuration Model discussed in [RFC8309]. - Device Model: Refers to the Network Element YANG data module - described in [RFC8199]. Device Models are also used to refer to - model a function embedded in a device (e.g., Network Address - Translation (NAT) [RFC8512], Access Control Lists (ACLs) - [RFC8519]). + It can be used by a Network Operator to allocate resources (e.g., + tunnel resource, topology resource) for the service or schedule + resources to meet the service requirements defined in a Service + Model. + + Device Model: Refers to the Network Element YANG data model + described in [RFC8199] or the Device Configuration Model discussed + in [RFC8309]. + + Device Models are also used to refer to model a function embedded + in a device (e.g., Network Address Translation (NAT) [RFC8512], + Access Control Lists (ACLs) [RFC8519]). + +2.2. Acronyms + + The following acronyms are used in the document: + + ACL Access Control List + CE Customer Edge + ECA Event Condition Action + L2VPN Layer 2 Virtual Private Network + L3VPN Layer 3 Virtual Private Network + NAT Network Address Translation + OAM Operations, Administration, and Maintenance + OWD One-Way Delay + PE Provider Edge + QoS Quality of Service + RD Route Distinguisher + RT Route Target + SDN Software Defined Networking + TE Traffic Engineering + VN Virtual Network + VPN Virtual Private Network + VRF Virtual Routing and Forwarding 3. Architectural Concepts and Goals 3.1. Data Models: Layering and Representation As described in Section 2 of [RFC8199], layering of modules allows for better reusability of lower-layer modules by higher-level modules while limiting duplication of features across layers. Data models can be classified into Service, Network, and Device Models. Different Service Models may rely on the same set of Network and/or Device Models. Service Models traditionally follow top-down approach and are mostly customer-facing YANG modules providing a common model construct for higher level network services (e.g., Layer 3 Virtual Private Network - (L3VPN)), which can be mapped to network technology-specific modules - at lower layers (e.g., tunnel, routing, Quality of Service (QoS), - security). For example, the service level can be used to + (L3VPN)). Such modules can be mapped to network technology-specific + modules at lower layers (e.g., tunnel, routing, Quality of Service + (QoS), security). For example, the service level can be used to characterise the network service(s) to be ensured between service - nodes (ingress/egress) such as the communication scope (pipe, hose, - funnel, ...), the directionality (inbound/outbound), the traffic - performance guarantees (one-way delay (OWD), one-way loss, ...), etc. + nodes (ingress/egress) such as: - Figure 1 depicts the example of a VoIP service provider that relies - upon connectivity services offered by a Network Operator. These - connectivity services can be captured in a YANG Service Module that - reflects the service attributes that are shown in Figure 2. This - example follows the IP Connectivity Provisioning Profile template - defined in [RFC7297]. + o the communication scope (pipe, hose, funnel, ...), + o the directionality (inbound/outbound), + o the traffic performance guarantees (One-Way Delay (OWD) [RFC7679], + One-Way Loss [RFC7680], ...), + o link capacity [RFC5136][I-D.ietf-ippm-capacity-metric-method], + o etc. + + Figure 1 depicts the example of a VoIP service that relies upon + connectivity services offered by a Network Operator. In this + example, the VoIP service is offered to the Network Operator's + customers by Service Provider (SP1). In order to provide global VoIP + reachability, SP1 service site interconnects with other Service + Providers service sites typically by interconnecting Session Border + Elements (SBEs) and Data Border Elements (DBEs) [RFC5486][RFC6406]. + For other VoIP destinations, sessions are forwarded over the + Internet. These connectivity services can be captured in a YANG + Service Module that reflects the service attributes that are shown in + Figure 2. This example follows the IP Connectivity Provisioning + Profile template defined in [RFC7297]. ,--,--,--. ,--,--,--. ,-' SP1 `-. ,-' SP2 `-. ( Service Site ) ( Service Site ) `-. ,-' `-. ,-' `--'--'--' `--'--'--' x | o * * | (2)x | o * * | ,x-,--o-*-. (1) ,--,*-,--. ,-' x o * * * * * * * * * `-. ( x o +----( Internet ) User---(x x x o o o o o o o o o o o o o o o o o o - `-. Provider ,-' `-. ,-' (3) + `-. ,-' `-. ,-' (3) `--'--'--' `--'--'--' + Network Operator **** (1) Inter-SP connectivity xxxx (2) Customer to SP connectivity oooo (3) SP to any destination connectivity Figure 1: An Example of Service Connectivty Components Connectivity: Scope and Guarantees - * Inter-SP connectivity (1) - - Pipe scope from the local to the remote VoIP gateway + (1) Inter-SP connectivity + - Pipe scope from the local to the remote SBE/DBE - Full guarantees class - * Customer to SP connectivity (2) - - Hose/Funnel scope connecting the local VoIP gateway + (2) Customer to SP connectivity + - Hose/Funnel scope connecting the local SBE/DBE to the customer access points - Full guarantees class - * SP to any destination connectivity (3) - - Hose/Funnel scope from the local VoIP gateway to the + (3) SP to any destination connectivity + - Hose/Funnel scope from the local SBE/DBE to the Internet gateway - Delay guarantees class Flow Identification - * Destination IP address - (Session Border Element (SBE), Data Border Element (DBE)) - [RFC5486] + * Destination IP address (SBE, DBE) * DSCP marking Traffic Isolation * VPN Routing & Forwarding * Routing rule to exclude some ASes from the inter-domain paths Notifications (including feedback) * Statistics on aggregate traffic to adjust capacity * Failures * Planned maintenance operations @@ -325,108 +357,110 @@ "Controller" elements. +-----------------------------------------------------------------+ | +-----------------------+ | | | Orchestrator | Hierarchy Abstraction | | |+---------------------+| | | || Service Modeling || Service Model | | |+---------------------+| (Customer Oriented) | | | | Scope: "1:1" Pipe model | | | | Bidirectional | - | |+---------------------+| +-+ BW:100M,OWD +-+ | - | ||Service Orchestration|| | +---------------+ | | + | |+---------------------+| +-+ Capacity,OWD +-+ | + | ||Service Orchestration|| | +----------------+ | | | |+---------------------+| +-+ +-+ | | +-----------------------+ 1. Ingress 2. Egress | | | | | | | | +-----------------------+ Network Model | | | Controller | (Operator Oriented) | | |+---------------------+| +-+ +--+ +---+ +-+ | | || Network Modeling || | | | | | | | | | | |+---------------------+| | o----o--o----o---o---o | | | |+---------------------+| +-+ +--+ +---+ +-+ | - | ||network Orchestration| src dst | + | ||Network Orchestration|| src dst | | |+---------------------+| L3VPN over TE | | | | Instance Name/Access Interface | - | +-----------------------+ Proto Type/BW/RD,RT/etc. mapping| - | for hop | + | +-----------------------+ Protocol Type/Capacity/RD/RT/... | + | mapping for hop | | | | | | +-----------------------+ | | | Device | Device Model | | |+--------------------+ | | | || Device Modeling | | Interface add, BGP Peer, | - | |+--------------------+ | Tunnel id, QoS/TE | + | |+--------------------+ | Tunnel ID, QoS/TE, ... | | +-----------------------+ | +-----------------------------------------------------------------+ Figure 3: Layering and Representation 3.2. Automation of Service Delivery Procedures - Service Models can be used by an operator to expose its services to - its customers. Exposing such models allows to automate the - activation of service orders and thus the service delivery. One or - more monolithic Service Models can be used in the context of a + Service Models can be used by a Network Operator to expose its + services to its customers. Exposing such models allows to automate + the activation of service orders and thus the service delivery. One + or more monolithic Service Models can be used in the context of a composite service activation request (e.g., delivery of a caching infrastructure over a VPN). Such models are used to feed a decision- making intelligence to adequately accommodate customer's needs. Also, such models may be used jointly with services that require dynamic invocation. An example is provided by the service modules defined by the DOTS WG to dynamically trigger requests to handle - Distributed Denial-of-Service (DDoS) attacks - [I-D.ietf-dots-data-channel]. + Distributed Denial-of-Service (DDoS) attacks [RFC8783]. Network Models can be derived from Service Models and used to provision, monitor, instantiate the service, and provide lifecycle management of network resources. Doing so is meant to: - o expose network resources to customers (including other operators) - to provide service fulfillment and assurance + o expose network resources to customers (including other Network + Operators) to provide service fulfillment and assurance - o allow customers (or operators) to dynamically adjust the network - resources based on service requirements as described in Service - Models (e.g., Figure 2) and the current network performance - information described in the telemetry modules. + o allow customers (or Network Operators) to dynamically adjust the + network resources based on service requirements as described in + Service Models (e.g., Figure 2) and the current network + performance information described in the telemetry modules. 3.3. Service Fullfillment Automation - To operate a service, Device Models derived from Service Models and/ - or Network Models can be used to provision each involved network - function/device with the proper configuration information, and - operate the network based on service requirements as described in the - Service Model(s) and local operational guidelines. + To operate a service, the settings of the parameters in the Device + Models are derived from Service Models and/or Network Models and are + used to: + + o Provision each involved network function/device with the proper + configuration information. + + o Operate the network based on service requirements as described in + the Service Model(s) and local operational guidelines. In addition, the operational state including configuration that is in effect together with statistics should be exposed to upper layers to - provide better network visibility (and assess to what extent the - derived low level modules are consistent with the upper level - inputs). + provide better network visibility and assess to what extent the + derived low level modules are consistent with the upper level inputs. Filters are enforced on the notifications that are communicated to - Service layers. The type (and frequency) of notifications may be + Service layers. The type and frequency of notifications may be agreed in the Service Model. Note that it is important to correlate telemetry data with configuration data to be used for closed loops at the different stages of service delivery, from resource allocation to service operation, in particular. 3.4. YANG Modules Integration To support top-down service delivery, YANG modules at different levels or at the same level need to be integrated together for proper service delivery (including, proper network setup). For example, the service parameters captured in Service Models need to be decomposed - into a set of (configuration/notification) parameters that may be + into a set of configuration/notification parameters that may be specific to one or more technologies; these technology-specific parameters are grouped together to define technology-specific device level models or network level models. In addition, these technology-specific Device or Network Models can be further integrated with each other using the schema mount mechanism [RFC8528] to provision each involved network function/ device or each involved administrative domain to support newly added module or features. A collection of Device Models integrated together can be loaded and validated during the implementation time. @@ -438,52 +472,53 @@ telemetry automation, e.g., policies that contain conditions can trigger the generation and pushing of new telemetry data. Performance measurement telemetry can be used to provide service assurance at Service and/or Network levels. Performance measurement telemetry model can tie with Service or Network Models to monitor network performance or Service Level Agreement. 4. Functional Bocks and Interactions - The architectural considerations described in Section 3 led to the + The architectural considerations described in Section 3 lead to the architecture described in this section and illustrated in Figure 4. +------------------+ + ................. | | Service level | | - ----------- V | + V | E2E E2E E2E E2E - Service -- Service --------> Service --->Service ---+ - Exposure Creation ^ Optimization | Diagnosis | + Service --> Service ---------> Service -----> Service -----+ + Exposure Creation ^ Optimization ^ Diagnosis | /Modification | | | | |Diff | V Multi-layer | | E2E | E2E Multi-domain | | Service | Service - Service Mapping| +------ Assurance ---+ Decommission + Service Mapping| +------ Assurance --+ Decommission | ^ - |<-----------------+ | - Network level | | +----+ - ------------ V | | + ................. |<-----------------+ | + Network level | | +-------+ + V | | Specific Specific | - Service ----+---> Service ---+--+ + Service --------> Service <--+ | Creation ^ Optimization | | /Modification | | | | |Diff | | - | | Specific----+ | + | | Specific --+ | Service | | Service | - Decomposing | +------Assurance ----+ + Decomposing | +----- Assurance ----+ | ^ - | | Aggregation + ................. | | Aggregation Device level | +------------+ - ------------ V | - Service Intent - Fullfillment Config ------> Config ----> Performance -->Fault + V | + Service Intent | + Fulfillment Config ----> Config ----> Performance ----> Fault Provision Validate Monitoring Diagnostic Figure 4: Service and Network Lifecycle Management 4.1. Service Lifecycle Management Procedure Service lifecycle management includes end-to-end service lifecycle management at the service level and technology specific network lifecycle management at the network level. @@ -504,52 +539,53 @@ (ordering and order handling). One typical example is that a customer can use a L3VPN Service Model (L3SM) to request L3VPN service by providing the abstract technical characterization of the intended service between customer sites. Service Model catalogs can be created along to expose the various services and the information needed to invoke/order a given service. 4.1.2. Service Creation/Modification - A customer is (usually) unaware of the technology that the network - operator has available to deliver the service, so the customer does + A customer is usually unaware of the technology that the Network + Operator has available to deliver the service, so the customer does not make requests specific to the underlying technology but is limited to making requests specific to the service that is to be - delivered. This service request can be issued using the Service - Model. + delivered. This service request can be issued using a Service Model. - Upon receiving a service request, the service orchestrator/management - system should first verify whether the service requirements in the - service request can be met (i.e., whether there is sufficient - resources that can be allocated with the requested guarantees). + Upon receiving a service request, and assuming that appropriate + authentication and authorization checks have been made, the service + orchestrator/management system should verify whether the service + requirements in the service request can be met (i.e., whether there + is sufficient resources that can be allocated with the requested + guarantees). If the request is accepted, the service orchestrator/management system maps such service request to its view. This view can be described as a technology specific network model or a set of technology specific Device Models and this mapping may include a choice of which networks and technologies to use depending on which service features have been requested. In addition, a customer may require to change the underlying network infrastructure to adapt to new customer's needs and service requirements. This service modification can be issued following the same Service Model used by the service request. 4.1.3. Service Optimization Service optimization is a technique that gets the configuration of the network updated due to network changes, incidents mitigation, or new service requirements. One typical example is once a tunnel or a VPN is setup, Performance monitoring information or telemetry - information per tunnel (or per VPN) can be collected and feed into - the management system. If the network performance doesn't meet the + information per tunnel (or per VPN) can be collected and fed into the + management system. If the network performance doesn't meet the service requirements, the management system can create new VPN policies capturing network service requirements and populate them into the network. Both network performance information and policies can be modelled using YANG. With Policy-based management, self-configuration and self-optimization behavior can be specified and implemented. 4.1.4. Service Diagnosis @@ -588,22 +624,22 @@ Intended configuration at the device level is derived from Network Models at the network level or Service Model at the service level and represents the configuration that the system attempts to apply. Take L3SM as a Service Model example to deliver a L3VPN service, we need to map the L3VPN service view defined in the Service Model into detailed intended configuration view defined by specific configuration models for network elements, configuration information includes: - o VPN Routing and Forwarding (VRF) definition, including VPN policy - expression + o Virtual Routing and Forwarding (VRF) definition, including VPN + policy expression o Physical Interface(s) o IP layer (IPv4, IPv6) o QoS features such as classification, profiles, etc. o Routing protocols: support of configuration of all protocols listed in a service request, as well as routing policies associated with those protocols. @@ -617,21 +653,21 @@ These specific configuration models can be used to configure Provider Edge (PE) and Customer Edge (CE) devices within a site, e.g., a BGP policy model can be used to establish VPN membership between sites and VPN Service Topology. 4.2.2. Configuration Validation Configuration validation is used to validate intended configuration and ensure the configuration take effect. - For example, a customer creates an interface "et-0/0/0" but the + For example, a customer creates an interface "eth-0/0/0" but the interface does not physically exist at this point, then configuration data appears in the status but does not appear in datastore. 4.2.3. Performance Monitoring/Model-driven Telemetry When configuration is in effect in the device, datastore holds the complete operational state of the device including learned, system, default configuration, and system state. However, the configurations and state of a particular device does not @@ -657,246 +693,258 @@ technology-specific YANG data models which can use and extend the base model described in Section 4.1.4 to deal with these issues. These RPC commands received in the technology-dependent node can be used to trigger technology-specific OAM message exchanges for fault verification and fault isolation For example, TRILL Multicast Tree Verification (MTV) RPC command [I-D.ietf-trill-yang-oam] can be used to trigger Multi-Destination Tree Verification Message defined in [RFC7455] to verify TRILL distribution tree integrity. -4.3. Multi-layer/Multi-domain Service Mapping +4.3. Multi-Layer/Multi-Domain Service Mapping Multi-layer/Multi-domain Service Mapping allows to map an end-to-end abstract view of the service segmented at different layers or different administrative domains into domain-specific view. One example is to map service parameters in L3VPN service model into configuration parameters such as Route Distinguisher (RD), Route Target (RT), and VRF in L3VPN network model. Another example is to map service parameters in L3VPN service model into Traffic Engineered (TE) tunnel parameter (e.g., Tunnel ID) in TE model and Virtual Network (VN) parameters (e.g., Access Point (AP) - list, VN members) in Traffic Engineering Architecture and Signaling - (TEAS) VN model [I-D.ietf-teas-actn-vn-yang]. + list, VN members) in the YANG data model for VN operation + [I-D.ietf-teas-actn-vn-yang]. 4.4. Service Decomposing Service Decomposing allows to decompose service model at the service level or network model at the network level into a set of device/ function models at the device level. These Device Models may be tied to specific device types or classified into a collection of related YANG modules based on service types and features offered, and load at the implementation time before configuration is loaded and validated. 5. YANG Data Model Integration Examples The following subsections provides some data models integration examples. -5.1. L3VPN Service Delivery +5.1. L2VPN/L3VPN Service Delivery In reference to Figure 5, the following steps are performed to deliver the L3VPN service within the network management automation architecture defined in this document: 1. The Customer requests to create two sites (as per service creation operation in Section 4.2.1) relying upon a L3SM Service - model with each having one network access connectivity: + model with each having one network access connectivity, for + example: - * Site A: Network-Access A, Bandwidth=20M, for class "foo", - guaranteed-bw-percent = 10, One-Way-Delay=70 msec + * Site A: Network-Access A, Link Capacity = 20 Mbps, for class + "foo", guaranteed-capacity-percent = 10, average-One-Way-Delay + = 70 ms. - * Site B: Network-Access B, Bandwidth=30M, for class "foo1", - guaranteed-bw-percent = 15, One-Way-Delay=60 msec + * Site B: Network-Access B, Link Capacity = 30 Mbps, for class + "foo1", guaranteed-capacity-percent = 15, average-One-Way- + Delay = 60 ms. 2. The Orchestrator extracts the service parameters from the L3SM model. Then, it uses them as input to translate ("service mapping operation" in Section 4.4) them into an orchestrated configuration of network elements (e.g., RD, RT, VRF) that are - part of the L3NM network model. + part of the L3VPN Network YANG Model specified in + [I-D.ietf-opsawg-l3sm-l3nm]. 3. The Controller takes orchestrated configuration parameters in the L3NM network model and translates them into orchestrated ("service decomposing operation" in ) configuration of network elements that are part of, e.g., BGP, QoS, Network Instance model, IP management, and interface models. [I-D.ogondio-opsawg-uni-topology] can be used for representing, managing, and controlling the User Network Interface (UNI) topology. L3SM | Service | Model | - +--------------------+----------------------------+ - | +-----V- -------+ | - | Orchestrator |Service Mapping| | - | +-----+---------+ | - | | | - +--------------------+----------------------------+ - L3NM | - Network| - Model | - +--------------------+----------------------------+ - | Controller+--------V-----------+ | + +----------------------+--------------------------+ + | +--------V--------+ | + | | Service Mapping | | + | +--------+--------+ | + | Orchestrator | | + +----------------------+--------------------------+ + L3NM | ^ UNI Topology Model + Network| | + Model | | + +----------------------+--------------------------+ + | +----------V-----------+ | | | Service Decomposing| | - | +-++------------++---+ | - | || || | + | +---++--------------++-+ | | || || | - +-------------++---------- ++--------------------+ - || || - || || - ||BGP,QoS || + | Controller || || | + +---------------++--------------++----------------+ || || - +----------+|NI,Intf,IP |+-----------------+ - +--+--+ +++---+ --+---+ +--+--+ - | CE1 |------| PE1 | | PE2 | ---------+ CE2 | + || BGP, || + || QoS, || + || Interface, || + +------------+| NI, |+--------------+ + | | IP | | + +--+--+ +--+--+ +--+--+ +--+--+ + | CE1 +-------+ PE1 | | PE2 +---------+ CE2 | +-----+ +-----+ +-----+ +-----+ - Legend: - Intf: Interface - Figure 5: L3VPN Service Delivery Example (Current) L3NM inherits some of data elements from the L3SM. Nevertheless, the L3NM does not expose some information to the above layer such as the capabilities of an underlying network (which can be used to drive service order handling) or notifications (to notify subscribers about specific events or degradations as per agreed SLAs). Some of this information can be provided using, e.g., [I-D.www-bess-yang-vpn-service-pm]. A target overall model is depicted in Figure 6. L3SM | ^ Service | | Notifications Model | | - +--------------------+----------------------------+ - | +-----V---------+ | - | Orchestrator |Service Mapping| | - | +-----+---------+ | - | | | - +--------------------+----------------------------+ - L3NM | ^ + +----------------------+--------------------------+ + | +--------V--------+ | + | | Service Mapping | | + | +--------+--------+ | + | Orchestrator | | + +----------------------+--------------------------+ + L3NM | ^ UNI Topology Model Network| | L3NM Notifications Model | | L3NM Capabilities - +--------------------+----------------------------+ - | Controller+--------V-----------+ | + +----------------------+--------------------------+ + | +----------V-----------+ | | | Service Decomposing| | - | +-++------------++---+ | - | || || | + | +---++--------------++-+ | | || || | - +-------------++---------- ++--------------------+ - || || - || || - ||BGP,QoS || + | Controller || || | + +---------------++--------------++----------------+ || || - +----------+|NI,Intf,IP |+-----------------+ - +--+--+ +++---+ --+---+ +--+--+ - | CE1 |------| PE1 | | PE2 | ---------+ CE2 | + || BGP, || + || QoS, || + || Interface, || + +------------+| NI, |+--------------+ + | | IP | | + +--+--+ +--+--+ +--+--+ +--+--+ + | CE1 +-------+ PE1 | | PE2 +---------+ CE2 | +-----+ +-----+ +-----+ +-----+ - Legend: - Intf: Interface Figure 6: L3VPN Service Delivery Example (Target) + Note that a similar analysis can be performed for Layer 2 VPNs + (L2VPNs). A L2VPN Service Model (L2SM) is defined in [RFC8466], + while the L2VPN Network YANG Model (L2NM) is specified in + [I-D.barguil-opsawg-l2sm-l2nm]. + 5.2. VN Lifecycle Management In reference to Figure 7, the following steps are performed to deliver the VN service within the network management automation architecture defined in this document: 1. Customer requests (service exposure operation in Section 4.1.1) to create 'VN' based on Access point, association between VN and Access point, VN member defined in the VN YANG module. 2. The orchestrator creates the single abstract node topology based on the information captured in an VN YANG module. 3. The Customer exchanges connectivity-matrix on abstract node and explicit path using TE topology model with the orchestrator. This information can be used to instantiate VN and setup tunnels between source and destination endpoints (service creation operation in Section 4.1.2). - 4. The telemetry model which augments the TEAS VN model and - corresponding TE tunnel model can be used to subscribe to - performance measurement data and notify all the parameter changes - and network performance change related to VN topology or Tunnel + 4. The telemetry model which augments the VN model and corresponding + TE tunnel model can be used to subscribe to performance + measurement data and notify all the parameter changes and network + performance change related to VN topology or Tunnel [I-D.ietf-teas-actn-pm-telemetry-autonomics] and provide service assurance (service optimization operation in Section 4.1.3). | VN | Service | Model | +----------------------|--------------------------+ | Orchestrator | | | +--------V--------+ | | | Service Mapping | | | +-----------------+ | +----------------------+--------------------^-----+ TE | Telemetry Tunnel | Model Model | | - +----------------------V--------------------+----+ + +----------------------V--------------------+-----+ | Controller | | | +-------------------------------------------------+ +-----+ +-----+ +-----+ +-----+ - | CE1 |------| PE1 | | PE2 |---------+ CE2 | + | CE1 +------+ PE1 | | PE2 +------+ CE2 | +-----+ +-----+ +-----+ +-----+ Figure 7: A VN Service Delivery Example 5.3. Event-based Telemetry in the Device Self Management In reference to Figure 8, the following steps are performed to - monitor state changes of managed objects or resource in the device - and provide device self management within the network management - automation architecture defined in this document: + monitor state changes of managed objects or resources in a network + device and provide device self-management within the network + management automation architecture defined in this document: 1. To control which state a network device should be in or is allowed to be in at any given time, a set of conditions and actions are defined and correlated with network events (e.g., - allow the NETCONF server send updates only when the value exceeds - a certain threshold for the first time but not again until the - threshold is cleared), which constitute an event-driven policy or - network control logic in the controller. + allow the NETCONF server to send updates only when the value + exceeds a certain threshold for the first time, but not again + until the threshold is cleared), which constitute ECA policy or + an event-driven policy control logic that can be executed on the + device (e.g., [I-D.wwx-netmod-event-yang]). - 2. The controller pushes ECA policy to the network device and - delegate network control logic to the network device. + 2. To provide rapid autonomic response that can exhibit self- + management properties, the controller pushes the ECA policy to + the network device and delegates network control logic to the + network device. - 3. The network device generates ECA script from ECA model and - execute ECA script or network control logic based on Event. - Event based notification or telemetry can be triggered if a - certain condition is satisfied (model-driven telemetry operation - in Section 4.2.3). + 3. The network device uses the ECA model to subscribe to the event + source, e.g., an event stream or datastore state data conveyed to + the server via YANG Push subscription, monitors state parameters, + and takes simple and instant actions when associated event + condition on state parameters is met. ECA notifications can be + generated as the result of actions based on event stream + subscription or datastore subscription (model-driven telemetry + operation discussed in Section 4.2.3). +----------------+ + | <----+ + | Controller | | + +-------+--------+ | | | - | Controller | - +-------+--------+ - | - | - ECA | - Model| ^ - | |Notification | | - +------------V-------------+-------+ - |Device | Reconfiguration + ECA | | ECA + Model | | Notification + | | + | | + +------------V-------------+-----+ + |Device | | | +-------+ +---------+ +--+---+ | | | Event +-> Event +->Event | | | | Source| |Condition| |Action| | | +-------+ +---------+ +------+ | - +--------Update------trigger-------+ + +--------------------------------+ Figure 8: Event-based Telemetry 6. Security Considerations The YANG modules cited in this document define schema for data that are 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 @@ -910,60 +958,57 @@ Security considerations specific to each of the technologies and protocols listed in the document are discussed in the specification documents of each of these protocols. Security considerations specific to this document are listed below: o Create forwarding loops by mis-configuring the underlying network. o Leak sensitive information: special care should be considered when - translating between the various layers introduced in the document. + translating between the various layers in Section 4 or when + aggregating data retrieved from various sources. The Network + Operator must enforce means to protect privacy-related information + included in cutsomer-facing models. o Some Service Models may include a traffic isolation clause, appropriate technology-specific actions must be enforced to avoid that traffic is accessible to non-authorized parties. 7. IANA Considerations There are no IANA requests or assignments included in this document. 8. Acknowledgements - Thanks to Joe Clark, Greg Mirsky, and Shunsuke Homma for the review. + Thanks to Joe Clark, Greg Mirsky, Shunsuke Homma, Brian Carpenter, + and Adrian Farrel for the review. 9. Contributors Christian Jacquenet Orange Rennes, 35000 France Email: Christian.jacquenet@orange.com Luis Miguel Contreras Murillo Telifonica Email: luismiguel.contrerasmurillo@telefonica.com Oscar Gonzalez de Dios Telefonica Madrid ES Email: oscar.gonzalezdedios@telefonica.com - Chongfeng Xie - China Telecom - Beijing - China - - Email: xiechf.bri@chinatelecom.cn - Weiqiang Cheng China Mobile Email: chengweiqiang@chinamobile.com Young Lee Sung Kyun Kwan University Email: younglee.tx@gmail.com @@ -992,97 +1037,112 @@ Access Control Model", STD 91, RFC 8341, DOI 10.17487/RFC8341, March 2018, . [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, . 10.2. Informative References + [I-D.barguil-opsawg-l2sm-l2nm] + Barguil, S., Dios, O., Boucadair, M., Munoz, L., Jalil, + L., and J. Ma, "A Layer 2 VPN Network YANG Model", draft- + barguil-opsawg-l2sm-l2nm-02 (work in progress), May 2020. + [I-D.ietf-bess-evpn-yang] Brissette, P., Shah, H., Hussain, I., Tiruveedhula, K., and J. Rabadan, "Yang Data Model for EVPN", draft-ietf- bess-evpn-yang-07 (work in progress), March 2019. [I-D.ietf-bess-l2vpn-yang] Shah, H., Brissette, P., Chen, I., Hussain, I., Wen, B., and K. Tiruveedhula, "YANG Data Model for MPLS-based L2VPN", draft-ietf-bess-l2vpn-yang-10 (work in progress), July 2019. [I-D.ietf-bess-l3vpn-yang] Jain, D., Patel, K., Brissette, P., Li, Z., Zhuang, S., Liu, X., Haas, J., Esale, S., and B. Wen, "Yang Data Model for BGP/MPLS L3 VPNs", draft-ietf-bess-l3vpn-yang-04 (work in progress), October 2018. + [I-D.ietf-bess-mvpn-yang] + Liu, Y., Guo, F., Litkowski, S., Liu, X., Kebler, R., and + M. Sivakumar, "Yang Data Model for Multicast in MPLS/BGP + IP VPNs", draft-ietf-bess-mvpn-yang-02 (work in progress), + December 2019. + [I-D.ietf-bfd-yang] Rahman, R., Zheng, L., Jethanandani, M., Pallagatti, S., and G. Mirsky, "YANG Data Model for Bidirectional Forwarding Detection (BFD)", draft-ietf-bfd-yang-17 (work in progress), August 2018. - [I-D.ietf-dots-data-channel] - Boucadair, M. and T. Reddy.K, "Distributed Denial-of- - Service Open Threat Signaling (DOTS) Data Channel - Specification", draft-ietf-dots-data-channel-31 (work in - progress), July 2019. - [I-D.ietf-i2rs-yang-l2-network-topology] Dong, J., Wei, X., WU, Q., Boucadair, M., and A. Liu, "A YANG Data Model for Layer-2 Network Topologies", draft- ietf-i2rs-yang-l2-network-topology-13 (work in progress), March 2020. [I-D.ietf-idr-bgp-model] Jethanandani, M., Patel, K., Hares, S., and J. Haas, "BGP YANG Model for Service Provider Networks", draft-ietf-idr- bgp-model-08 (work in progress), February 2020. + [I-D.ietf-ippm-capacity-metric-method] + Morton, A., Geib, R., and L. Ciavattone, "Metrics and + Methods for IP Capacity", draft-ietf-ippm-capacity-metric- + method-01 (work in progress), March 2020. + [I-D.ietf-ippm-stamp-yang] Mirsky, G., Xiao, M., and W. Luo, "Simple Two-way Active Measurement Protocol (STAMP) Data Model", draft-ietf-ippm- stamp-yang-05 (work in progress), October 2019. [I-D.ietf-ippm-twamp-yang] Civil, R., Morton, A., Rahman, R., Jethanandani, M., and K. Pentikousis, "Two-Way Active Measurement Protocol (TWAMP) Data Model", draft-ietf-ippm-twamp-yang-13 (work in progress), July 2018. [I-D.ietf-mpls-base-yang] Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A YANG Data Model for MPLS Base", draft-ietf-mpls-base- yang-14 (work in progress), March 2020. + [I-D.ietf-opsawg-l3sm-l3nm] + Barguil, S., Dios, O., Boucadair, M., Munoz, L., and A. + Aguado, "A Layer 3 VPN Network YANG Model", draft-ietf- + opsawg-l3sm-l3nm-03 (work in progress), April 2020. + [I-D.ietf-pim-igmp-mld-snooping-yang] Zhao, H., Liu, X., Liu, Y., Sivakumar, M., and A. Peter, "A Yang Data Model for IGMP and MLD Snooping", draft-ietf- - pim-igmp-mld-snooping-yang-10 (work in progress), May + pim-igmp-mld-snooping-yang-12 (work in progress), May 2020. [I-D.ietf-pim-yang] Liu, X., McAllister, P., Peter, A., Sivakumar, M., Liu, Y., and f. hu, "A YANG Data Model for Protocol Independent Multicast (PIM)", draft-ietf-pim-yang-17 (work in progress), May 2018. [I-D.ietf-rtgwg-device-model] Lindem, A., Berger, L., Bogdanovic, D., and C. Hopps, "Network Device YANG Logical Organization", draft-ietf- rtgwg-device-model-02 (work in progress), March 2017. [I-D.ietf-rtgwg-policy-model] Qu, Y., Tantsura, J., Lindem, A., and X. Liu, "A YANG Data Model for Routing Policy Management", draft-ietf-rtgwg- - policy-model-11 (work in progress), May 2020. + policy-model-15 (work in progress), June 2020. [I-D.ietf-rtgwg-qos-model] Choudhary, A., Jethanandani, M., Strahle, N., Aries, E., and I. Chen, "YANG Model for QoS", draft-ietf-rtgwg-qos- model-01 (work in progress), April 2020. [I-D.ietf-spring-sr-yang] Litkowski, S., Qu, Y., Lindem, A., Sarkar, P., and J. Tantsura, "YANG Data Model for Segment Routing", draft- ietf-spring-sr-yang-15 (work in progress), January 2020. @@ -1101,22 +1161,22 @@ progress), March 2020. [I-D.ietf-teas-actn-vn-yang] Lee, Y., Dhody, D., Ceccarelli, D., Bryskin, I., and B. Yoon, "A Yang Data Model for VN Operation", draft-ietf- teas-actn-vn-yang-08 (work in progress), March 2020. [I-D.ietf-teas-yang-path-computation] Busi, I., Belotti, S., Lopezalvarez, V., Sharma, A., and Y. Shi, "Yang model for requesting Path Computation", - draft-ietf-teas-yang-path-computation-08 (work in - progress), December 2019. + draft-ietf-teas-yang-path-computation-09 (work in + progress), June 2020. [I-D.ietf-teas-yang-rsvp-te] Beeram, V., Saad, T., Gandhi, R., Liu, X., Bryskin, I., and H. Shah, "A YANG Data Model for RSVP-TE Protocol", draft-ietf-teas-yang-rsvp-te-08 (work in progress), March 2020. [I-D.ietf-teas-yang-te] Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, "A YANG Data Model for Traffic Engineering Tunnels and @@ -1140,48 +1200,62 @@ Model for User-Network Interface (UNI) Topologies", draft- ogondio-opsawg-uni-topology-01 (work in progress), April 2020. [I-D.www-bess-yang-vpn-service-pm] WU, Q., Boucadair, M., Dios, O., Wen, B., Liu, C., and H. Xu, "A YANG Model for Network and VPN Service Performance Monitoring", draft-www-bess-yang-vpn-service-pm-06 (work in progress), April 2020. + [I-D.wwx-netmod-event-yang] + Birkholz, H., WU, Q., Bryskin, I., Liu, X., and B. Claise, + "A YANG Data model for ECA Policy Management", draft-wwx- + netmod-event-yang-07 (work in progress), May 2020. + [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 2006, . [RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer 2 Virtual Private Networks (L2VPNs)", RFC 4664, DOI 10.17487/RFC4664, September 2006, . [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007, . [RFC4762] Lasserre, M., Ed. and V. Kompella, Ed., "Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling", RFC 4762, DOI 10.17487/RFC4762, January 2007, . + [RFC5136] Chimento, P. and J. Ishac, "Defining Network Capacity", + RFC 5136, DOI 10.17487/RFC5136, February 2008, + . + [RFC5486] Malas, D., Ed. and D. Meyer, Ed., "Session Peering for Multimedia Interconnect (SPEERMINT) Terminology", RFC 5486, DOI 10.17487/RFC5486, March 2009, . [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, . + [RFC6406] Malas, D., Ed. and J. Livingood, Ed., "Session PEERing for + Multimedia INTerconnect (SPEERMINT) Architecture", + RFC 6406, DOI 10.17487/RFC6406, November 2011, + . + [RFC7149] Boucadair, M. and C. Jacquenet, "Software-Defined Networking: A Perspective from within a Service Provider Environment", RFC 7149, DOI 10.17487/RFC7149, March 2014, . [RFC7276] Mizrahi, T., Sprecher, N., Bellagamba, E., and Y. Weingarten, "An Overview of Operations, Administration, and Maintenance (OAM) Tools", RFC 7276, DOI 10.17487/RFC7276, June 2014, . @@ -1190,20 +1264,30 @@ Connectivity Provisioning Profile (CPP)", RFC 7297, DOI 10.17487/RFC7297, July 2014, . [RFC7455] Senevirathne, T., Finn, N., Salam, S., Kumar, D., Eastlake 3rd, D., Aldrin, S., and Y. Li, "Transparent Interconnection of Lots of Links (TRILL): Fault Management", RFC 7455, DOI 10.17487/RFC7455, March 2015, . + [RFC7679] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, + Ed., "A One-Way Delay Metric for IP Performance Metrics + (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January + 2016, . + + [RFC7680] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, + Ed., "A One-Way Loss Metric for IP Performance Metrics + (IPPM)", STD 82, RFC 7680, DOI 10.17487/RFC7680, January + 2016, . + [RFC8077] Martini, L., Ed. and G. Heron, Ed., "Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP)", STD 84, RFC 8077, DOI 10.17487/RFC8077, February 2017, . [RFC8194] Schoenwaelder, J. and V. Bajpai, "A YANG Data Model for LMAP Measurement Agents", RFC 8194, DOI 10.17487/RFC8194, August 2017, . [RFC8199] Bogdanovic, D., Claise, B., and C. Moberg, "YANG Module @@ -1292,85 +1376,107 @@ Raghavan, "A YANG Data Model for Retrieval Methods for the Management of Operations, Administration, and Maintenance (OAM) Protocols That Use Connectionless Communications", RFC 8533, DOI 10.17487/RFC8533, April 2019, . [RFC8632] Vallin, S. and M. Bjorklund, "A YANG Data Model for Alarm Management", RFC 8632, DOI 10.17487/RFC8632, September 2019, . + [RFC8652] Liu, X., Guo, F., Sivakumar, M., McAllister, P., and A. + Peter, "A YANG Data Model for the Internet Group + Management Protocol (IGMP) and Multicast Listener + Discovery (MLD)", RFC 8652, DOI 10.17487/RFC8652, November + 2019, . + [RFC8675] Boucadair, M., Farrer, I., and R. Asati, "A YANG Data Model for Tunnel Interface Types", RFC 8675, DOI 10.17487/RFC8675, November 2019, . [RFC8676] Farrer, I., Ed. and M. Boucadair, Ed., "YANG Modules for IPv4-in-IPv6 Address plus Port (A+P) Softwires", RFC 8676, DOI 10.17487/RFC8676, November 2019, . + [RFC8783] Boucadair, M., Ed. and T. Reddy.K, Ed., "Distributed + Denial-of-Service Open Threat Signaling (DOTS) Data + Channel Specification", RFC 8783, DOI 10.17487/RFC8783, + May 2020, . + Appendix A. Layered YANG Modules Examples Overview + This appendix lists a set of data models that can be used for the + delivery of connectivity services. These models can be classified as + Service, Network, or Device Models. + It is not the intent of this appendix to provide an inventory of tools and mechanisms used in specific network and service management domains; such inventory can be found in documents such as [RFC7276]. A.1. Service Models: Definition and Samples As described in [RFC8309], the service is "some form of connectivity between customer sites and the Internet and/or between customer sites - across the network operator's network and across the Internet". More + across the Network Operator's network and across the Internet". More concretely, an IP connectivity service can be defined as the IP transfer capability characterized by a (Source Nets, Destination Nets, Guarantees, Scope) tuple where "Source Nets" is a group of unicast IP addresses, "Destination Nets" is a group of IP unicast and/or multicast addresses, and "Guarantees" reflects the guarantees - (expressed in terms of Quality Of Service (QoS), performance, and - availability, for example) to properly forward traffic to the said - "Destination" [RFC7297]. + (expressed in terms of QoS, performance, and availability, for + example) to properly forward traffic to the said "Destination" + [RFC7297]. For example: o The L3SM model [RFC8299] defines the L3VPN service ordered by a - customer from a network operator. + customer from a Network Operator. o The L2SM model [RFC8466] defines the L2VPN service ordered by a - customer from a network operator. + customer from a Network Operator. o The Virtual Network (VN) model [I-D.ietf-teas-actn-vn-yang] provides a YANG data model applicable to any mode of VN operation. + L2SM and L3SM are customer service models as per [RFC8309]. + A.2. Network Models: Samples - Figure 9 depicts a set of Network Models such as topology models or - tunnel models: + L2NM [I-D.barguil-opsawg-l2sm-l2nm] and L3NM + [I-D.ietf-opsawg-l3sm-l3nm] are examples of YANG Network Models. - Topology | Tunnel | - YANG modules | YANG modules | - ---------------------+-------------------------------| - +------------+ | | - |Network Topo| | +------+ +-----------+ | - | Model | | |Other | | TE Tunnel | | - +----+-------+ | |Tunnel| +----+------+ | - | +--------+ | +------+ | | - |---+Svc Topo| | +----------+---------+ | - | +--------+ | | | | | - | +--------+ |+----+---+ +----+---+ +---+---+| - |---+L2 Topo | ||MPLS-TE | |RSVP-TE | |SR TE || - | +--------+ || Tunnel | | Tunnel | |Tunnel || - | +--------+ |+--------+ +--------+ +-------+| - |---+TE Topo | | | - | +--------+ | | + Figure 9 depicts a set of additional Network Models such as topology + and tunnel models: + + +-------------------------------+-------------------------------+ + | Topology YANG modules | Tunnel YANG modules | + +-------------------------------+-------------------------------+ + | +------------+ | | + | |Network Topo| | +------+ +-----------+ | + | | Model | | |Other | | TE Tunnel | | + | +----+-------+ | |Tunnel| +----+------+ | + | | +--------+ | +------+ | | + | +---+Svc Topo| | +----------+---------+ | + | | +--------+ | | | | | + | | +--------+ |+----+---+ +----+---+ +---+---+| + | +---+L2 Topo | ||MPLS-TE | |RSVP-TE | | SR-TE || + | | +--------+ || Tunnel | | Tunnel | |Tunnel || + | | +--------+ |+--------+ +--------+ +-------+| + | +---+TE Topo | | | + | | +--------+ | | + | | +--------+ | | + | +---+L3 Topo | | | | +--------+ | | - +---+L3 Topo | | | - +--------+ | | + +-------------------------------+-------------------------------+ + Legend: Topo: Topology Svc: Service Figure 9: Sample Resource Facing Network Models Examples of topology YANG modules are listed below: o Network Topology Models: [RFC8345] defines a base model for network topology and inventories. Network topology data include @@ -1378,53 +1484,53 @@ o TE Topology Models: [I-D.ietf-teas-yang-te-topo] defines a data model for representing and manipulating TE topologies. This module is extended from network topology model defined in [RFC8345] with TE topologies specifics. This model contains technology-agnostic TE Topology building blocks that can be augmented and used by other technology-specific TE topology models. - o L3 Topology Models + o Layer 3 Topology Models: [RFC8346] defines a data model for representing and manipulating Layer 3 topologies. This model is extended from the network - topology model defined in [RFC8345] with L3 topologies specifics. + topology model defined in [RFC8345] with Layer 3 topologies + specifics. - o L2 Topology Models + o Layer 2 Topology Models: [I-D.ietf-i2rs-yang-l2-network-topology] defines a data model for - representing and manipulating L2 topologies. This model is + representing and manipulating Layer 2 topologies. This model is extended from the network topology model defined in [RFC8345] with Layer 2 topologies specifics. Examples of tunnel YANG modules are provided below: o Tunnel identities to ease manipulating extensions to specific tunnels [RFC8675]. o TE Tunnel Model: [I-D.ietf-teas-yang-te] defines a YANG module for the configuration and management of TE interfaces, tunnels, and LSPs. - o SR TE Tunnel Model: + o Segment Routing (SR) Traffic Engineering (TE) Tunnel Model: [I-D.ietf-teas-yang-te] augments the TE generic and MPLS-TE - model(s) and defines a YANG module for Segment Routing (SR) TE - specific data. + model(s) and defines a YANG module for SR-TE specific data. - o MPLS TE Model: + o MPLS-TE Model: [I-D.ietf-teas-yang-te] augments the TE generic and MPLS-TE - model(s) and defines a YANG module for MPLS TE configurations, + model(s) and defines a YANG module for MPLS-TE configurations, state, RPC and notifications. o RSVP-TE MPLS Model: [I-D.ietf-teas-yang-rsvp-te] augments the RSVP-TE generic module with parameters to configure and manage signaling of MPLS RSVP-TE LSPs. Other sample Network Models are listed hereafter: @@ -1465,57 +1571,65 @@ basic framework, its elements, and interfaces. A.3. Device Models: Samples Network Element models (Figure 10) are used to describe how a service can be implemented by activating and tweaking a set of functions (enabled in one or multiple devices, or hosted in cloud infrastructures) that are involved in the service delivery. Figure 10 uses IETF-defined models as an example. - +----------------------+ - +-| Device Model | - | +----------------------+ - | +----------------------+ + +------------------------+ + +-+ Device Model | + | +------------------------+ + | +------------------------+ +---------------+ | | Logical Network | - | | +-| Element Model | - | Architecture | | +----------------------+ - | | | +----------------------+ - +-------+-------+ +-|Network Instance Model| - | | +----------------------+ - | | +----------------------+ - | +-| Routing Type Model | - | +----------------------+ - +-------+----------+----+--------+------------+-----------+-------+ + | | +-+ Element Model | + | Architecture | | +------------------------+ + | | | +------------------------+ + +-------+-------+ +-+ Network Instance Model | + | | +------------------------+ + | | +------------------------+ + | +-+ Routing Type Model | + | +------------------------+ + +-------+----------+----+------+------------+-----------+------+ | | | | | | | - +-+-+ +---+---+ +----+----+ +-+-+ +-----+---+ +---+-+ | + +-+-+ +---+---+ +----+----+ +--+--+ +----+----+ +--+--+ | |ACL| |Routing| |Transport| |OAM| |Multicast| | PM | Others - +---+ |-------+ +---------+ +---+ +---------+ +-----+ - | +-------+ | +----------+ | +-------+ | +-----+ | +-----+ - +-|Core | +-|MPLS Basic| +-|BFD | +-|IGMP | +-|TWAMP| - | |Routing| | +----------+ | +-------+ | |/MLD | | +-----+ - | +-------+ +-|MPLS LDP | +-|LSP Ping | +-----+ +-|OWAMP| - +-|BGP | | +----------+ | +-------+ +-|PIM | | +-----+ - | +-------+ +-|MPLS Static +-|MPLS-TP| | +-----+ +-|LMAP | - +-|ISIS | +----------+ +-------+ +-|MVPN | +-----+ - | +-------+ +-----+ - +-|OSPF | + +---+ +-+-----+ +----+----+ +--+--+ +-----+---+ +--+--+ + | +-------+ | +------+ | +--------+ | +-----+ | +-----+ + +-+Core | +-+ MPLS | +-+ BFD | +-+IGMP | +-+TWAMP| + | |Routing| | | Base | | +--------+ | |/MLD | | +-----+ + | +-------+ | +------+ | +--------+ | +-----+ | +-----+ + | +-------+ | +------+ +-+LSP Ping| | +-----+ +-+OWAMP| + +-+ BGP | +-+ MPLS | | +--------+ +-+ PIM | | +-----+ + | +-------+ | | LDP | | +--------+ | +-----+ | +-----+ + | +-------+ | +------+ +-+MPLS-TP | | +-----+ +-+LMAP | + +-+ ISIS | | +------+ +--------+ +-+ MVPN| +-----+ + | +-------+ +-+ MPLS | +-----+ + | +-------+ |Static| + +-+ OSPF | +------+ | +-------+ - +-|RIP | | +-------+ - +-|VRRP | + +-+ RIP | | +-------+ - +-|SR/SRv6| | +-------+ - +-|ISIS-SR| + +-+ VRRP | | +-------+ - +-|OSPF-SR| + | +-------+ + +-+SR/SRv6| + | +-------+ + | +-------+ + +-+ISIS-SR| + | +-------+ + | +-------+ + +-+OSPF-SR| +-------+ Figure 10: Network Element Modules Overview A.3.1. Model Composition o Device Model [I-D.ietf-rtgwg-device-model] presents an approach for organizing YANG modules in a comprehensive logical structure that may be used @@ -1531,22 +1645,22 @@ used to manage the logical resource partitioning that may be present on a network device. Examples of common industry terms for logical resource partitioning are Logical Systems or Logical Routers. o Network Instance Model [RFC8529] defines a network instance module. This module can be used to manage the virtual resource partitioning that may be present on a network device. Examples of common industry terms - for virtual resource partitioning are Virtual Routing and - Forwarding (VRF) instances and Virtual Switch Instances (VSIs). + for virtual resource partitioning are VRF instances and Virtual + Switch Instances (VSIs). A.3.1.1. Schema Mount Modularity and extensibility were among the leading design principles of the YANG data modeling language. As a result, the same YANG module can be combined with various sets of other modules and thus form a data model that is tailored to meet the requirements of a specific use case. [RFC8528] defines a mechanism, denoted schema mount, that allows for mounting one data model consisting of any number of YANG modules at a specified location of another (parent) @@ -1561,64 +1675,71 @@ BGP: [I-D.ietf-idr-bgp-model] defines a YANG module for configuring and managing BGP, including protocol, policy, and operational aspects based on data center, carrier, and content provider operational requirements. MPLS: [I-D.ietf-mpls-base-yang] defines a base model for MPLS which serves as a base framework for configuring and managing an MPLS switching subsystem. It is expected that other MPLS technology YANG modules (e.g., MPLS LSP Static, - LDP or RSVP-TE models) will augment the MPLS base YANG + LDP, or RSVP-TE models) will augment the MPLS base YANG module. QoS: [I-D.ietf-rtgwg-qos-model] describes a YANG module of Differentiated Services for configuration and operations. ACL: Access Control List (ACL) is one of the basic elements used to configure device forwarding behavior. It is used in many networking technologies such as Policy Based Routing, Firewalls, etc. [RFC8519] describes a data model of ACL basic building blocks. NAT: For the sake of network automation and the need for programming Network Address Translation (NAT) function in particular, a data model for configuring and managing the - NAT is essential. [RFC8512] defines a YANG module for the - NAT function covering a variety of NAT flavors such as - Network Address Translation from IPv4 to IPv4 (NAT44), - Network Address and Protocol Translation from IPv6 Clients - to IPv4 Servers (NAT64), customer-side translator (CLAT), - Stateless IP/ICMP Translation (SIIT), Explicit Address - Mappings (EAM) for SIIT, IPv6-to-IPv6 Network Prefix - Translation (NPTv6), and Destination NAT. [RFC8513] - specifies a DS-Lite YANG module. + NAT is essential. + + [RFC8512] defines a YANG module for the NAT function + covering a variety of NAT flavors such as Network Address + Translation from IPv4 to IPv4 (NAT44), Network Address and + Protocol Translation from IPv6 Clients to IPv4 Servers + (NAT64), customer-side translator (CLAT), Stateless IP/ + ICMP Translation (SIIT), Explicit Address Mappings (EAM) + for SIIT, IPv6-to-IPv6 Network Prefix Translation (NPTv6), + and Destination NAT. + + [RFC8513] specifies a DS-Lite YANG module. Stateless Address Sharing: [RFC8676] specifies a YANG module for A+P address sharing, including Lightweight 4over6, Mapping of Address and Port with Encapsulation (MAP-E), and Mapping of Address and Port using Translation (MAP-T) softwire mechanisms. Multicast: [I-D.ietf-pim-yang] defines a YANG module that can be used to configure and manage Protocol Independent Multicast (PIM) devices. - RFC8652 defines a YANG module that can be used to + [RFC8652] defines a YANG module that can be used to configure and manage Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) devices. [I-D.ietf-pim-igmp-mld-snooping-yang] defines a YANG module that can be used to configure and manage Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping devices. + [I-D.ietf-bess-mvpn-yang] defines a YANG data model to + configure and manage Multicast in MPLS/BGP IP VPNs + (MVPNs). + EVPN: [I-D.ietf-bess-evpn-yang] defines a YANG module for Ethernet VPN services. The model is agnostic of the underlay. It applies to MPLS as well as to VxLAN encapsulation. The module is also agnostic to the services, including E-LAN, E-LINE, and E-TREE services. L3VPN: [I-D.ietf-bess-l3vpn-yang] defines a YANG module that can be used to configure and manage BGP L3VPNs [RFC4364]. It contains VRF specific parameters as well as BGP specific parameters applicable for L3VPNs. @@ -1646,23 +1767,21 @@ SR/SRv6: [I-D.ietf-spring-sr-yang] a YANG module for segment routing configuration and operation. Core Routing: [RFC8349] defines the core routing data model, which is intended as a basis for future data model development covering more-sophisticated routing systems. It is expected that other Routing technology YANG modules (e.g., VRRP, RIP, ISIS, OSPF models) will augment the Core Routing base YANG module. - PM: - - [I-D.ietf-ippm-twamp-yang] defines a data model for client + PM: [I-D.ietf-ippm-twamp-yang] defines a data model for client and server implementations of the Two-Way Active Measurement Protocol (TWAMP). [I-D.ietf-ippm-stamp-yang] defines the data model for implementations of Session-Sender and Session-Reflector for Simple Two-way Active Measurement Protocol (STAMP) mode using YANG. [RFC8194] defines a data model for Large-Scale Measurement Platforms (LMAPs). @@ -1688,16 +1807,15 @@ Telefonica I+D Spain Email: diego.r.lopez@telefonica.com Chongfeng Xie China Telecom Beijing China - Email: xiechf.bri@chinatelecom.cn - + Email: xiechf@chinatelecom.cn Liang Geng China Mobile Email: gengliang@chinamobile.com