OPSAWG | Q. Wu, Ed. |
Internet-Draft | Huawei |
Intended status: Informational | M. Boucadair, Ed. |
Expires: September 18, 2020 | Orange |
D. Lopez | |
Telefonica I+D | |
C. Xie | |
China Telecom | |
L. Geng | |
China Mobile | |
March 17, 2020 |
A Framework for Automating Service and Network Management with YANG
draft-ietf-opsawg-model-automation-framework-02
Data models for service and network management provides a programmatic approach for representing (virtual) 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, service 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 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 perspective irrespective of the origin of a data module; it can thus accommodate even 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.
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 September 18, 2020.
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.
The service management system usually comprises service activation/provision and service operation. Current service delivery procedures, from the processing of customer's requirements and order 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:
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:
Models are key for each of these 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 even provide a service is something that is not currently documented either within the IETF or other SDOs (e.g., MEF).
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 irrespective of the origin of a data module; it can accommodate even 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.
The following terms are defined in [RFC8309][RFC8199] and are not redefined here:
The document makes use of the following terms:
As described in [RFC8199], layering of modules allows for better reusability of lower-layer modules by higher-level modules while limiting duplication of features across layers.
The 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., L3VPN), which can be mapped to network technology-specific modules at lower layers (e.g., tunnel, routing, 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, the traffic performance guarantees (one-way delay (OWD), one-way loss, ...), etc.
Figure 1 depicts the example of a VoIP service provider that relies in the connectivity services offered by a network provider. 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) `--'--'--' `--'--'--' **** (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 - Full guarantees class * Customer to SP connectivity (2) - Hose/Funnel scope connecting the local VoIP gateway to the customer access points - Full guarantees class * SP to any destination connectivity (3) - Hose/Funnel scope from the local VoIP gateway to the Internet gateway - Delay guarantees class Flow Identification * Destination IP address (SBC, SBE, DBE) * DSCP marking Traffic Isolation * VPN Routing & Forwarding * Routing rule to exclude ASes from the inter-domain paths Notifications (including feedback) * Statistics on aggregate traffic to adjust capacity * Failures * Planned maintenance operations * Triggered by thresholds
Figure 2: Sample Attributes Captured in a Service Model
Network Models are mainly network resource-facing modules and describe various aspects of a network infrastructure, including devices and their subsystems, and relevant protocols operating at the link and network layers across multiple devices (e.g., network topology and traffic-engineering tunnel modules).
Device (and function) Models usually follow a bottom-up approach and are mostly technology-specific modules used to realize a service (e.g., BGP, NAT).
Each level maintains a view of the supported YANG modules provided by low-levels (see for example, Appendix A).
Figure 3 illustrates the overall layering model.
+-----------------------------------------------------------------+ | +-----------------------+ | | | Orchestrator | Hierarchy Abstraction | | |+---------------------+| | | || Service Modeling || Service Model | | |+---------------------+| (Customer Oriented) | | | | Scope: "1:1" Pipe model | | | | Bidirectional | | |+---------------------+| +-+ BW:100M,OWD +-+ | | ||Service Orchestration|| | +---------------+ | | | |+---------------------+| +-+ +-+ | | +-----------------------+ 1. Ingress 2. Egress | | | | | | | | +-----------------------+ Network Model | | | Controller | (Operator Oriented) | | |+---------------------+| +-+ +--+ +---+ +-+ | | || Network Modeling || | | | | | | | | | | |+---------------------+| | o----o--o----o---o---o | | | |+---------------------+| +-+ +--+ +---+ +-+ | | ||network Orchestration| src dst | | |+---------------------+| L3VPN over TE | | | | Instance Name/Access Interface| | +-----------------------+ Proto Type/BW/RD,RT,..mapping | | for hop | | | | | | +-----------------------+ | | | Device | Device Model | | |+--------------------+ | | | || Device Modeling | | Interface add, BGP Peer, | | |+--------------------+ | Tunnel id, QoS/TE | | +-----------------------+ | +-----------------------------------------------------------------+
Figure 3: Layering and Representation
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 composite service activation request (e.g., delivery of a caching infrastructure over a VPN). Such modules are used to feed a decision-making intelligence to adequately accommodate customer's needs.
Such modules may also 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 DDoS attacks [I-D.ietf-dots-signal-channel][I-D.ietf-dots-data-channel].
Network Models can be derived from Service Models and used to provision, monitor, instantiate the service, and provide lifecycle management of network resources (e.g., expose network resources to customers or operators to provide service fulfillment and assurance and 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).
To operate a service, Device Models derived from Service Models 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.
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). Filters are enforced on the notifications that are communicated to Service layers. The type 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.
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 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.
High-level policies can be defined at Service or Network Models (e.g., AS Exclude in the example depicted in Figure 2). Device Models will be tweaked accordingly to provide policy-based management. Policies can also be used for 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.
The architectural considerations described in Section 3 led to the architecture described in this section and illustrated in Figure 4.
+------------------+ Service level | | ----------- V | E2E E2E E2E E2E Service -- Service --------> Service --->Service ---+ Exposure Creation ^ Optimization | Diagnosis | /Modification | | | | |Diff | V Multi-layer | | E2E | E2E Multi-domain | | Service | Service Service Mapping| +------ Assurance ---+ Decommission | ^ |<-----------------+ | Network level | | +----+ ------------ V | | Specific Specific | Service ----+---> Service ---+--+ Creation ^ Optimization | | /Modification | | | | |Diff | | | | Specific----+ | Service | | Service | Decomposing | +------Assurance ----+ | ^ | | Aggregation Device level | +------------+ ------------ V | Service Intent Fullfillment Config ------> Config ----> Performance -->Fault Provision Validate Monitoring Diagnostic
Figure 4: Service and Network Lifecycle Management
Service lifecycle management includes end to end service lifecycle management at the service level and technology specific network lifecycle management at the network level. The end-to-end service lifecycle management is technology independent service management and span across multiple administrative domain or multiple layers while technology specific service lifecycle management is technology domain specific or layer specific service lifecycle management.
A service in the context of this document (sometimes called a Network Service) is some form of connectivity between customer sites and the Internet or between customer sites across the operator's network and across the Internet.
Service exposure is used to capture services offered to customers (ordering and order handling). One typical example is that a customer can use a L3SM service model 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.
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.
Upon receiving the 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 resource that can be allocated).
In successful case, 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 underlying network infrastructure to adapt to new customer's needs and service requirements. This service modification can be issued in the same service model used by the service request.
Service optimization is a technique that gets the configuration of the network updated due to network change, incident mitigation, or new service requirements. One typical example is once the tunnel or the VPN is setup, Performance monitoring information or telemetry 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.
Operations, Administration, and Maintenance (OAM) are important networking functions for service diagnosis that allow operators to:
When the network is down, service diagnosis should be in place to pinpoint the problem and provide recommendation (or instructions) for the network recovery.
The service diagnosis information can be modelled as technology-independent Remote Procedure Call (RPC) operations for OAM protocols and technology-independent abstraction of key OAM constructs for OAM protocols [RFC8531][RFC8533]. These models can provide consistent configuration, reporting, and presentation for the OAM mechanisms used to manage the network.
Service decommission allow the customer to stop the service and remove the service from active status and release the network resource that is allocated to the service. Customer can also use the service model to withdraw the registration to a service.
Intended configuration at the device level is derived from network model at the network level or service model at the service level and represents the configuration that the system attempts to apply. Take L3SM service model as an example, to deliver a L3VPN service, we need to map L3VPN service view defined in Service model into detailed intended configuration view defined by specific configuration models for network elements, configuration information includes:
This specific configuration models can be used to configure Provider Edge (PE) and Customer Edge (CE) devices within the site, e.g., a BGP policy model can be used to establish VPN membership between sites and VPN Service Topology.
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 interface does not physically exist at this point, then configuration data appears in the <intended> status but does not appear in <operational> datastore.
When configuration is in effect in the device, <operational> 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 have the visibility to the whole network or information of the flow packets are going to take through the entire network. Therefore it becomes more difficult to operate the network without understanding the current status of the network.
The management system should subscribe to updates of a YANG datastore in all the network devices for performance monitoring purpose and build full topological visibility to the network by aggregating and filtering these operational state from different sources.
When configuration is in effect in the device, some device may be mis-configured(e.g.,device links are not consistent on both sides of the network connection), network resources be mis-allocated and services may be negatively affected without knowing what is going on in the network.
Technology-dependent nodes and RPC commands are defined in technology-specific YANG data models which can use and extend the base model described in Section 4.1.4 can be used to deal with these challenges.
These RPC commands received in the technology dependent node can be used to trigger technology specific OAM message exchange for fault verification and fault isolation,e.g., 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.
Multi-layer/Multi-domain Service Mapping allow you map end to end abstract view of the service segmented at different layer or different administrative domain into domain specific view. One example is to map service parameters in L3VPN service model into configuration parameters such as RD, RT, and VRF in L3VPN network model. Another example is to map service parameters in L3VPN service model into TE tunnel parameter (e.g.,Tunnel ID) in TE model and VN parameters (e.g., AP list, VN member) in TEAS VN model [I-D.ietf-teas-actn-vn-yang].
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 type or classified into a collection of related YANG modules based on service type and feature offered and load at the implementation time before configuration is loaded and validated.
L3SM | ^ Service | | Notifications Model | | +--------------------+----------------------------+ | +-----V- -------+ | | Orchestrator |Service Mapping| | | +-----+---------+ | | | | +--------------------+----------------------------+ L3NM | ^ Network| | L3NM Notifications Model | | L3NM Capabilities +--------------------+----------------------------+ | Controller+--------V-----------+ | | | Service Decomposing| | | +-++------------++---+ | | || || | | || || | +-------------++---------- ++--------------------+ || || || || ||BGP,QoS || || || +----------+|NI,Intf,IP |+-----------------+ +--+--+ +++---+ --+---+ +--+--+ | CE1 |------| PE1 | | PE2 | ---------+ CE2 | +-----+ +-----+ +-----+ +-----+
Figure 5: L3VPN Service Delivery Example
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:
[I-D.ogondio-opsawg-uni-topology] is used for representing, managing and controlling the User Network Interface (UNI) topology.
L3NM inherits some of data elements from the L3SM. Likewise, the L3NM 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).
| VN | Service | Model | +----------------------|--------------------------+ | Orchestrator | | | +--------V--------+ | | | Service Mapping | | | +-----------------+ | +----------------------+--------------------^-----+ TE | Telemetry Tunnel | Model Model | | +----------------------V--------------------+----+ | Controller | | | +-------------------------------------------------+ +-----+ +-----+ +-----+ +-----+ | CE1 |------| PE1 | | PE2 |---------+ CE2 | +-----+ +-----+ +-----+ +-----+
Figure 6
In reference to Figure 6, the following steps are performed to deliver the VN service within the network management automation architecture defined in this document:
+----------------+ | | | Controller | +----------------+ | | ECA | Model| ^ | |Notif | | +------------V-------------+-------+ |Device | Reconfig | +-------+ +---------+ +--+---+ | | | Event --> Event -->Event --> | | | Source| |Condition| |Action| | | +-------+ +---------+ +------+ | +--------Update------trigger-------+
Figure 7: Event-based Telemetry
In reference to Figure 7, 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:
Security considerations specific to each of the technologies and protocols listed in the document are discussed in the specification documents of each of these techniques.
(Potential) security considerations specific to this document are listed below:
There are no IANA requests or assignments included in this document.
Thanks to Joe Clark, Greg Mirsky, and Shunsuke Homma for the review.
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
[RFC7950] | Bjorklund, M., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016. |
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].
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 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].
For example:
Figure 8 depicts a set of Network models such as topology models or tunnel models:
| | Topo YANG modules | Tunnel YANG modules | ------------------------------------------------| +------------+ | | |Network Top | | +------+ +-----------+ | | Model | | |Other | | TE Tunnel | | +----+-------+ | |Tunnel| +------+----+ | | +--------+ | +------+ | | |---+Svc Topo| | +--------+-+--------+ | +--------+ | +----+---+ +---+----+ +-+-----+ | +--------+ | |MPLS-TE | |RSVP-TE | |SR TE | |---+L2 Topo | | | Tunnel | | Tunnel | |Tunnel | | +--------+ | +--------+ +--------+ +-------+ | +--------+ | |---+TE Topo | | | +--------+ | | +--------+ | +---+L3 Topo | | +--------+ |
Figure 8: Sample Resource Facing Network Models
Topology YANG module Examples:
Tunnel YANG module Examples:
Other Network Models:
+----------------+ --|Device Model | | +----------------+ | +------------------+ +---------------+ | |Logical Network | | | --| Element Mode | | Architecture | | +------------------+ | | | +----------------------+ +-------+-------+ --|Network Instance Mode | | | +----------------------+ | | +-------------------+ | --|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 | | +-------+ --|RIP | | +-------+ --|VRRP | | +-------+ --|SR/SRv6| | +-------+ --|ISIS-SR| | +-------+ --|OSPF-SR| +-------+
Figure 9: Network Element Modules Overview
Network Element models (Figure 9) 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 9 uses IETF-defined models as an example.
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) schema.
That capability does not cover design time.
The following provides an overview of some device models that can be used within a network. This list is not comprehensive.