draft-ietf-opsawg-model-automation-framework-02.txt | draft-ietf-opsawg-model-automation-framework-03.txt | |||
---|---|---|---|---|
OPSAWG Q. Wu, Ed. | OPSAWG Q. Wu, Ed. | |||
Internet-Draft Huawei | Internet-Draft Huawei | |||
Intended status: Informational M. Boucadair, Ed. | Intended status: Informational M. Boucadair, Ed. | |||
Expires: September 18, 2020 Orange | Expires: November 29, 2020 Orange | |||
D. Lopez | D. Lopez | |||
Telefonica I+D | Telefonica I+D | |||
C. Xie | C. Xie | |||
China Telecom | China Telecom | |||
L. Geng | L. Geng | |||
China Mobile | China Mobile | |||
March 17, 2020 | May 28, 2020 | |||
A Framework for Automating Service and Network Management with YANG | A Framework for Automating Service and Network Management with YANG | |||
draft-ietf-opsawg-model-automation-framework-02 | draft-ietf-opsawg-model-automation-framework-03 | |||
Abstract | Abstract | |||
Data models for service and network management provides a | Data models for service and network management provides a | |||
programmatic approach for representing (virtual) services or networks | programmatic approach for representing services or networks and | |||
and deriving (1) configuration information that will be communicated | deriving (1) configuration information that will be communicated to | |||
to network and service components that are used to build and deliver | network and service components that are used to build and deliver the | |||
the service and (2) state information that will be monitored and | service and (2) state information that will be monitored and tracked. | |||
tracked. Indeed, data models can be used during various phases of | Indeed, data models can be used during various phases of the service | |||
the service and network management life cycle, such as service | and network management life cycle, such as service instantiation, | |||
instantiation, service provisioning, optimization, monitoring, | provisioning, optimization, monitoring, diagnostic, and assurance. | |||
diagnostic, and assurance. Also, data models are instrumental in the | Also, data models are instrumental in the automation of network | |||
automation of network management. They also provide closed-loop | management. They also provide closed-loop control for the sake of | |||
control for the sake of adaptive and deterministic service creation, | adaptive and deterministic service creation, delivery, and | |||
delivery, and maintenance. | maintenance. | |||
This document describes an architecture for service and network | This document describes an architecture for service and network | |||
management automation that takes advantage of YANG modeling | 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 provider | |||
perspective irrespective of the origin of a data module; it can thus | perspective irrespective of the origin of a data module; it can thus | |||
accommodate even modules that are developed outside the IETF. | accommodate modules that are developed outside the IETF. | |||
The document aims in particular to exemplify an approach that | The document aims in particular to exemplify an approach that | |||
specifies the journey from technology-agnostic services to | specifies the journey from technology-agnostic services to | |||
technology-specific actions. | technology-specific actions. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on September 18, 2020. | This Internet-Draft will expire on November 29, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
3. Architectural Concepts & Goals . . . . . . . . . . . . . . . 5 | 3. Architectural Concepts and Goals . . . . . . . . . . . . . . 5 | |||
3.1. Data Models: Layering and Representation . . . . . . . . 5 | 3.1. Data Models: Layering and Representation . . . . . . . . 5 | |||
3.2. Automation of Service Delivery Procedures . . . . . . . . 8 | 3.2. Automation of Service Delivery Procedures . . . . . . . . 8 | |||
3.3. Service Fullfillment Automation . . . . . . . . . . . . . 9 | 3.3. Service Fullfillment Automation . . . . . . . . . . . . . 9 | |||
3.4. YANG Modules Integration . . . . . . . . . . . . . . . . 9 | 3.4. YANG Modules Integration . . . . . . . . . . . . . . . . 9 | |||
4. Functional Bocks and Interactions . . . . . . . . . . . . . . 10 | 4. Functional Bocks and Interactions . . . . . . . . . . . . . . 10 | |||
4.1. Service Lifecycle Management Procedure . . . . . . . . . 11 | 4.1. Service Lifecycle Management Procedure . . . . . . . . . 11 | |||
4.1.1. Service Exposure . . . . . . . . . . . . . . . . . . 11 | 4.1.1. Service Exposure . . . . . . . . . . . . . . . . . . 12 | |||
4.1.2. Service Creation/Modification . . . . . . . . . . . . 12 | 4.1.2. Service Creation/Modification . . . . . . . . . . . . 12 | |||
4.1.3. Service Optimization . . . . . . . . . . . . . . . . 12 | 4.1.3. Service Optimization . . . . . . . . . . . . . . . . 12 | |||
4.1.4. Service Diagnosis . . . . . . . . . . . . . . . . . . 13 | 4.1.4. Service Diagnosis . . . . . . . . . . . . . . . . . . 13 | |||
4.1.5. Service Decommission . . . . . . . . . . . . . . . . 13 | 4.1.5. Service Decommission . . . . . . . . . . . . . . . . 13 | |||
4.2. Service Fullfillment Management Procedure . . . . . . . . 13 | 4.2. Service Fullfillment Management Procedure . . . . . . . . 13 | |||
4.2.1. Intended Configuration Provision . . . . . . . . . . 13 | 4.2.1. Intended Configuration Provision . . . . . . . . . . 14 | |||
4.2.2. Configuration Validation . . . . . . . . . . . . . . 14 | 4.2.2. Configuration Validation . . . . . . . . . . . . . . 14 | |||
4.2.3. Performance Monitoring/Model-driven Telemetry . . . . 14 | 4.2.3. Performance Monitoring/Model-driven Telemetry . . . . 15 | |||
4.2.4. Fault Diagnostic . . . . . . . . . . . . . . . . . . 15 | 4.2.4. Fault Diagnostic . . . . . . . . . . . . . . . . . . 15 | |||
4.3. Multi-layer/Multi-domain Service Mapping . . . . . . . . 15 | 4.3. Multi-layer/Multi-domain Service Mapping . . . . . . . . 15 | |||
4.4. Service Decomposing . . . . . . . . . . . . . . . . . . . 15 | 4.4. Service Decomposing . . . . . . . . . . . . . . . . . . . 16 | |||
5. YANG Data Model Integration Examples . . . . . . . . . . . . 16 | 5. YANG Data Model Integration Examples . . . . . . . . . . . . 16 | |||
5.1. L3VPN Service Delivery . . . . . . . . . . . . . . . . . 16 | 5.1. L3VPN Service Delivery . . . . . . . . . . . . . . . . . 16 | |||
5.2. VN Lifecycle Management . . . . . . . . . . . . . . . . . 17 | 5.2. VN Lifecycle Management . . . . . . . . . . . . . . . . . 18 | |||
5.3. Event-based Telemetry in the Device Self Management . . . 18 | 5.3. Event-based Telemetry in the Device Self Management . . . 19 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | |||
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 | 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | |||
9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 20 | 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 20 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 22 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 21 | 10.2. Informative References . . . . . . . . . . . . . . . . . 23 | |||
Appendix A. Layered YANG Modules Examples Overview . . . . . . . 27 | Appendix A. Layered YANG Modules Examples Overview . . . . . . . 30 | |||
A.1. Service Models: Definition and Samples . . . . . . . . . 27 | A.1. Service Models: Definition and Samples . . . . . . . . . 30 | |||
A.2. Network Models: Samples . . . . . . . . . . . . . . . . . 28 | A.2. Network Models: Samples . . . . . . . . . . . . . . . . . 30 | |||
A.3. Device Models: Samples . . . . . . . . . . . . . . . . . 30 | A.3. Device Models: Samples . . . . . . . . . . . . . . . . . 33 | |||
A.3.1. Model Composition . . . . . . . . . . . . . . . . . . 31 | A.3.1. Model Composition . . . . . . . . . . . . . . . . . . 34 | |||
A.3.2. Device Models: Samples . . . . . . . . . . . . . . . 32 | A.3.2. Device Models: Samples . . . . . . . . . . . . . . . 35 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
1. Introduction | 1. Introduction | |||
The service management system usually comprises service activation/ | Service management systems usually comprise service activation/ | |||
provision and service operation. Current service delivery | 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 order | |||
to service delivery and operation, typically assume the manipulation | to service delivery and operation, typically assume the manipulation | |||
of data sequentially into multiple OSS/BSS applications that may be | of data sequentially into multiple OSS/BSS applications that may be | |||
managed by different departments within the service provider's | managed by different departments within the service provider's | |||
organization (e.g., billing factory, design factory, network | organization (e.g., billing factory, design factory, network | |||
operation center, etc.). In addition, many of these applications | operation center, etc.). In addition, many of these applications | |||
have been developed in-house over the years and operating in a silo | have been developed in-house over the years and operating in a silo | |||
mode: | mode: | |||
o The lack of standard data input/output (i.e., data model) also | o The lack of standard data input/output (i.e., data model) raises | |||
raises many challenges in system integration and often results in | many challenges in system integration and often results in manual | |||
manual configuration tasks. | configuration tasks. | |||
o Secondly, many current service fulfillment system might have a | o Service fulfillment systems might have a limited visibility on the | |||
limited visibility on the network state and therefore have slow | network state and therefore have slow response to network changes. | |||
response to the network changes. | ||||
Software Defined Networking (SDN) becomes crucial to address these | Software Defined Networking (SDN) becomes crucial to address these | |||
challenges. SDN techniques [RFC7149] are meant to automate the | challenges. SDN techniques [RFC7149] are meant to automate the | |||
overall service delivery procedures and typically rely upon | overall service delivery procedures and typically rely upon | |||
(standard) data models that are used to not only reflect service | (standard) data models that are used to not only reflect service | |||
providers'savoir-faire but also to dynamically instantiate and | providers'savoir-faire but also to dynamically instantiate and | |||
enforce a set of (service-inferred) policies that best accommodate | enforce a set of (service-inferred) policies that best accommodate | |||
what has been (contractually) defined (and possibly negotiated) with | what has been (contractually) defined (and possibly negotiated) with | |||
the customer. [RFC7149] provides a first tentative to rationalize | the customer. [RFC7149] provides a first tentative to rationalize | |||
that service provider's view on the SDN space by identifying concrete | that service provider's view on the SDN space by identifying concrete | |||
skipping to change at page 4, line 22 ¶ | skipping to change at page 4, line 21 ¶ | |||
o Techniques for exposing network services [RFC8309] and their | o Techniques for exposing network services [RFC8309] and their | |||
characteristics. | characteristics. | |||
o Techniques used by service-derived dynamic resource allocation and | o Techniques used by service-derived dynamic resource allocation and | |||
policy enforcement schemes, so that networks can be programmed | policy enforcement schemes, so that networks can be programmed | |||
accordingly. | accordingly. | |||
o Dynamic feedback mechanisms that are meant to assess how | o Dynamic feedback mechanisms that are meant to assess how | |||
efficiently a given policy (or a set thereof) is enforced from a | efficiently a given policy (or a set thereof) is enforced from a | |||
service fulfillment and assurance perspective. | service fulfillment and assurance perspectives. | |||
Models are key for each of these technical items. Service and | Models are key for each of the aforementioned four technical items. | |||
network management automation is an important step to improve the | Service and network management automation is an important step to | |||
agility of network operations. Models are also important to ease | improve the agility of network operations. Models are also important | |||
integrating multi-vendor solutions. | to ease integrating multi-vendor solutions. | |||
YANG ([RFC7950]) module developers have taken both top-down and | YANG [RFC7950] module developers have taken both top-down and bottom- | |||
bottom-up approaches to develop modules [RFC8199] and to establish a | up approaches to develop modules [RFC8199] and to establish a mapping | |||
mapping between a network technology and customer requirements on the | between a network technology and customer requirements on the top or | |||
top or abstracting common construct from various network technologies | abstracting common construct from various network technologies on the | |||
on the bottom. At the time of writing this document (2020), there | bottom. At the time of writing this document (2020), there are many | |||
are many data models including configuration and service models that | data models including configuration and service models that have been | |||
have been specified or are being specified by the IETF. They cover | specified or are being specified by the IETF. They cover many of the | |||
many of the networking protocols and techniques. However, how these | networking protocols and techniques. However, how these models work | |||
models work together to configure a device, manage a set of devices | together to configure a device, manage a set of devices involved in a | |||
involved in a service, or even provide a service is something that is | service, or provide a service is something that is not currently | |||
not currently documented either within the IETF or other SDOs (e.g., | documented either within the IETF or other Standards Developing | |||
MEF). | Organizations (SDOs) (e.g., MEF). | |||
This document describes an architectural framework for service and | This document describes an architectural framework for service and | |||
network management automation (Section 3) that takes advantage of | network management automation (Section 3) that takes advantage of | |||
YANG modeling technologies and investigates how different layer YANG | YANG modeling technologies and investigates how different layer YANG | |||
data models interact with each other (e.g., service mapping, model | data models interact with each other (e.g., service mapping, model | |||
composing) in the context of service delivery and fulfillment | composing) in the context of service delivery and fulfillment | |||
(Section 4). | (Section 4). | |||
This framework is drawn from a network provider perspective | This framework is drawn from a network provider perspective | |||
irrespective of the origin of a data module; it can accommodate even | irrespective of the origin of a data module; it can accommodate | |||
modules that are developed outside the IETF. | modules that are developed outside the IETF. | |||
The document identifies a list of use cases to exemplify the proposed | 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. | approach (Section 5), but it does not claim nor aim to be exhaustive. | |||
2. Terminology | 2. Terminology | |||
The following terms are defined in [RFC8309][RFC8199] and are not | The following terms are defined in [RFC8309][RFC8199] and are not | |||
redefined here: | redefined here: | |||
skipping to change at page 5, line 25 ¶ | skipping to change at page 5, line 25 ¶ | |||
o Customer | o Customer | |||
o Service | o Service | |||
o Data Model | o Data Model | |||
o Service Model | o Service Model | |||
o Network Element Module | o Network Element Module | |||
The document makes use of the following terms: | In addition, the document makes use of the following terms: | |||
Network Model: Describes a network level abstraction (or a subset of | Network Model: Describes a network level abstraction (or a subset of | |||
aspects of a network infrastructure), including devices and their | aspects of a network infrastructure), including devices and their | |||
subsystems, and relevant protocols operating at the link and | subsystems, and relevant protocols operating at the link and | |||
network layers across multiple devices. It can be used by a | network layers across multiple devices. It can be used by a | |||
network operator to allocate the resource (e.g., tunnel resource, | network operator to allocate resources (e.g., tunnel resource, | |||
topology resource) for the service or schedule the resource to | topology resource) for the service or schedule resources to meet | |||
meet the service requirements defined in a Service Model. | the service requirements defined in a Service Model. | |||
Device Model: Refers to the Network Element YANG data module | Device Model: Refers to the Network Element YANG data module | |||
described in [RFC8199]. Device Model is also used to refer to | described in [RFC8199]. Device Models are also used to refer to | |||
model a function embedded in a device (e.g., NAT [RFC8512], ACL | model a function embedded in a device (e.g., Network Address | |||
Translation (NAT) [RFC8512], Access Control Lists (ACLs) | ||||
[RFC8519]). | [RFC8519]). | |||
3. Architectural Concepts & Goals | 3. Architectural Concepts and Goals | |||
3.1. Data Models: Layering and Representation | 3.1. Data Models: Layering and Representation | |||
As described in [RFC8199], layering of modules allows for better | As described in Section 2 of [RFC8199], layering of modules allows | |||
reusability of lower-layer modules by higher-level modules while | for better reusability of lower-layer modules by higher-level modules | |||
limiting duplication of features across layers. | while limiting duplication of features across layers. | |||
The data models can be classified into Service, Network, and Device | Data models can be classified into Service, Network, and Device | |||
Models. Different Service Models may rely on the same set of Network | Models. Different Service Models may rely on the same set of Network | |||
and/or Device Models. | and/or Device Models. | |||
Service Models traditionally follow top down approach and are mostly | Service Models traditionally follow top-down approach and are mostly | |||
customer-facing YANG modules providing a common model construct for | customer-facing YANG modules providing a common model construct for | |||
higher level network services (e.g., L3VPN), which can be mapped to | higher level network services (e.g., Layer 3 Virtual Private Network | |||
network technology-specific modules at lower layers (e.g., tunnel, | (L3VPN)), which can be mapped to network technology-specific modules | |||
routing, QoS, security). For example, the service level can be used | at lower layers (e.g., tunnel, routing, Quality of Service (QoS), | |||
to characterise the network service(s) to be ensured between service | 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, | nodes (ingress/egress) such as the communication scope (pipe, hose, | |||
funnel, ...), the directionality, the traffic performance guarantees | funnel, ...), the directionality (inbound/outbound), the traffic | |||
(one-way delay (OWD), one-way loss, ...), etc. | performance guarantees (one-way delay (OWD), one-way loss, ...), etc. | |||
Figure 1 depicts the example of a VoIP service provider that relies | Figure 1 depicts the example of a VoIP service provider that relies | |||
in the connectivity services offered by a network provider. These | upon connectivity services offered by a Network Operator. These | |||
connectivity services can be captured in a YANG Service Module that | connectivity services can be captured in a YANG Service Module that | |||
reflects the service attributes that are shown in Figure 2. This | reflects the service attributes that are shown in Figure 2. This | |||
example follows the IP Connectivity Provisioning Profile template | example follows the IP Connectivity Provisioning Profile template | |||
defined in [RFC7297]. | defined in [RFC7297]. | |||
,--,--,--. ,--,--,--. | ,--,--,--. ,--,--,--. | |||
,-' SP1 `-. ,-' SP2 `-. | ,-' SP1 `-. ,-' SP2 `-. | |||
( Service Site ) ( Service Site ) | ( Service Site ) ( Service Site ) | |||
`-. ,-' `-. ,-' | `-. ,-' `-. ,-' | |||
`--'--'--' `--'--'--' | `--'--'--' `--'--'--' | |||
x | o * * | | x | o * * | | |||
(2)x | o * * | | (2)x | o * * | | |||
,x-,--o-*-. (1) ,--,*-,--. | ,x-,--o-*-. (1) ,--,*-,--. | |||
,-' x o * * * * * * * * * `-. | ,-' x o * * * * * * * * * `-. | |||
( x o +----( Internet ) | ( 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 | User---(x x x o o o o o o o o o o o o o o o o o o | |||
`-. Provider ,-' `-. ,-' (3) | `-. Provider ,-' `-. ,-' (3) | |||
`--'--'--' `--'--'--' | `--'--'--' `--'--'--' | |||
**** (1) Inter-SP connectivity | **** (1) Inter-SP connectivity | |||
xxxx (2) Customer to SP connectivity | xxxx (2) Customer to SP connectivity | |||
oooo (3) SP to any destination connectivity | oooo (3) SP to any destination connectivity | |||
Figure 1: An Example of Service Connectivty Components | Figure 1: An Example of Service Connectivty Components | |||
Connectivity: Scope and Guarantees | Connectivity: Scope and Guarantees | |||
* inter-SP connectivity (1) | * Inter-SP connectivity (1) | |||
- Pipe scope from the local to the remote VoIP gateway | - Pipe scope from the local to the remote VoIP gateway | |||
- Full guarantees class | - Full guarantees class | |||
* Customer to SP connectivity (2) | * Customer to SP connectivity (2) | |||
- Hose/Funnel scope connecting the local VoIP gateway | - Hose/Funnel scope connecting the local VoIP gateway | |||
to the customer access points | to the customer access points | |||
- Full guarantees class | - Full guarantees class | |||
* SP to any destination connectivity (3) | * SP to any destination connectivity (3) | |||
- Hose/Funnel scope from the local VoIP gateway to the | - Hose/Funnel scope from the local VoIP gateway to the | |||
Internet gateway | Internet gateway | |||
- Delay guarantees class | - Delay guarantees class | |||
Flow Identification | Flow Identification | |||
* Destination IP address (SBC, SBE, DBE) | * Destination IP address | |||
(Session Border Element (SBE), Data Border Element (DBE)) | ||||
[RFC5486] | ||||
* DSCP marking | * DSCP marking | |||
Traffic Isolation | Traffic Isolation | |||
* VPN | * VPN | |||
Routing & Forwarding | Routing & Forwarding | |||
* Routing rule to exclude ASes from the inter-domain paths | * Routing rule to exclude some ASes from the inter-domain | |||
paths | ||||
Notifications (including feedback) | Notifications (including feedback) | |||
* Statistics on aggregate traffic to adjust capacity | * Statistics on aggregate traffic to adjust capacity | |||
* Failures | * Failures | |||
* Planned maintenance operations | * Planned maintenance operations | |||
* Triggered by thresholds | * Triggered by thresholds | |||
Figure 2: Sample Attributes Captured in a Service Model | Figure 2: Sample Attributes Captured in a Service Model | |||
Network Models are mainly network resource-facing modules and | Network Models are mainly network resource-facing modules; they | |||
describe various aspects of a network infrastructure, including | describe various aspects of a network infrastructure, including | |||
devices and their subsystems, and relevant protocols operating at the | devices and their subsystems, and relevant protocols operating at the | |||
link and network layers across multiple devices (e.g., network | link and network layers across multiple devices (e.g., network | |||
topology and traffic-engineering tunnel modules). | topology and traffic-engineering tunnel modules). | |||
Device (and function) Models usually follow a bottom-up approach and | Device (and function) Models usually follow a bottom-up approach and | |||
are mostly technology-specific modules used to realize a service | are mostly technology-specific modules used to realize a service | |||
(e.g., BGP, NAT). | (e.g., BGP, NAT). | |||
Each level maintains a view of the supported YANG modules provided by | Each level maintains a view of the supported YANG modules provided by | |||
low-levels (see for example, Appendix A). | low-levels (see for example, Appendix A). | |||
Figure 3 illustrates the overall layering model. | Figure 3 illustrates the overall layering model. The reader may | |||
refer to Section 4 of [RFC8309] for an overview of "Orchestrator" and | ||||
"Controller" elements. | ||||
+-----------------------------------------------------------------+ | +-----------------------------------------------------------------+ | |||
| +-----------------------+ | | | +-----------------------+ | | |||
| | Orchestrator | Hierarchy Abstraction | | | | Orchestrator | Hierarchy Abstraction | | |||
| |+---------------------+| | | | |+---------------------+| | | |||
| || Service Modeling || Service Model | | | || Service Modeling || Service Model | | |||
| |+---------------------+| (Customer Oriented) | | | |+---------------------+| (Customer Oriented) | | |||
| | | Scope: "1:1" Pipe model | | | | | Scope: "1:1" Pipe model | | |||
| | | Bidirectional | | | | | Bidirectional | | |||
| |+---------------------+| +-+ BW:100M,OWD +-+ | | | |+---------------------+| +-+ BW:100M,OWD +-+ | | |||
skipping to change at page 8, line 28 ¶ | skipping to change at page 8, line 28 ¶ | |||
| | | | | | |||
| | | | | | |||
| +-----------------------+ Network Model | | | +-----------------------+ Network Model | | |||
| | Controller | (Operator Oriented) | | | | Controller | (Operator Oriented) | | |||
| |+---------------------+| +-+ +--+ +---+ +-+ | | | |+---------------------+| +-+ +--+ +---+ +-+ | | |||
| || Network Modeling || | | | | | | | | | | | || Network Modeling || | | | | | | | | | | |||
| |+---------------------+| | o----o--o----o---o---o | | | | |+---------------------+| | o----o--o----o---o---o | | | |||
| |+---------------------+| +-+ +--+ +---+ +-+ | | | |+---------------------+| +-+ +--+ +---+ +-+ | | |||
| ||network Orchestration| src dst | | | ||network Orchestration| src dst | | |||
| |+---------------------+| L3VPN over TE | | | |+---------------------+| L3VPN over TE | | |||
| | | Instance Name/Access Interface| | | | | Instance Name/Access Interface | | |||
| +-----------------------+ Proto Type/BW/RD,RT,..mapping | | | +-----------------------+ Proto Type/BW/RD,RT/etc. mapping| | |||
| for hop | | | for hop | | |||
| | | | | | |||
| | | | | | |||
| +-----------------------+ | | | +-----------------------+ | | |||
| | Device | Device Model | | | | Device | Device Model | | |||
| |+--------------------+ | | | | |+--------------------+ | | | |||
| || Device Modeling | | Interface add, BGP Peer, | | | || Device Modeling | | Interface add, BGP Peer, | | |||
| |+--------------------+ | Tunnel id, QoS/TE | | | |+--------------------+ | Tunnel id, QoS/TE | | |||
| +-----------------------+ | | | +-----------------------+ | | |||
+-----------------------------------------------------------------+ | +-----------------------------------------------------------------+ | |||
Figure 3: Layering and Representation | Figure 3: Layering and Representation | |||
3.2. Automation of Service Delivery Procedures | 3.2. Automation of Service Delivery Procedures | |||
Service Models can be used by an operator to expose its services to | Service Models can be used by an operator to expose its services to | |||
its customers. Exposing such models allows to automate the | its customers. Exposing such models allows to automate the | |||
activation of service orders and thus the service delivery. One or | activation of service orders and thus the service delivery. One or | |||
more monolithic Service Models can be used in the context of a | more monolithic Service Models can be used in the context of a | |||
composite service activation request (e.g., delivery of a caching | composite service activation request (e.g., delivery of a caching | |||
infrastructure over a VPN). Such modules are used to feed a | infrastructure over a VPN). Such models are used to feed a decision- | |||
decision-making intelligence to adequately accommodate customer's | making intelligence to adequately accommodate customer's needs. | |||
needs. | ||||
Such modules may also be used jointly with services that require | Also, such models may be used jointly with services that require | |||
dynamic invocation. An example is provided by the service modules | dynamic invocation. An example is provided by the service modules | |||
defined by the DOTS WG to dynamically trigger requests to handle DDoS | defined by the DOTS WG to dynamically trigger requests to handle | |||
attacks [I-D.ietf-dots-signal-channel][I-D.ietf-dots-data-channel]. | Distributed Denial-of-Service (DDoS) attacks | |||
[I-D.ietf-dots-data-channel]. | ||||
Network Models can be derived from Service Models and used to | Network Models can be derived from Service Models and used to | |||
provision, monitor, instantiate the service, and provide lifecycle | provision, monitor, instantiate the service, and provide lifecycle | |||
management of network resources (e.g., expose network resources to | management of network resources. Doing so is meant to: | |||
customers or operators to provide service fulfillment and assurance | ||||
and allow customers or operators to dynamically adjust the network | o expose network resources to customers (including other operators) | |||
resources based on service requirements as described in Service | to provide service fulfillment and assurance | |||
Models (e.g., Figure 2) and the current network performance | ||||
information described in the telemetry modules). | 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. | ||||
3.3. Service Fullfillment Automation | 3.3. Service Fullfillment Automation | |||
To operate a service, Device Models derived from Service Models or | To operate a service, Device Models derived from Service Models and/ | |||
Network Models can be used to provision each involved network | or Network Models can be used to provision each involved network | |||
function/device with the proper configuration information, and | function/device with the proper configuration information, and | |||
operate the network based on service requirements as described in the | operate the network based on service requirements as described in the | |||
Service Model(s) and local operational guidelines. | Service Model(s) and local operational guidelines. | |||
In addition, the operational state including configuration that is in | In addition, the operational state including configuration that is in | |||
effect together with statistics should be exposed to upper layers to | effect together with statistics should be exposed to upper layers to | |||
provide better network visibility (and assess to what extent the | provide better network visibility (and assess to what extent the | |||
derived low level modules are consistent with the upper level | derived low level modules are consistent with the upper level | |||
inputs). Filters are enforced on the notifications that are | inputs). | |||
communicated to Service layers. The type of notifications may be | ||||
Filters are enforced on the notifications that are communicated to | ||||
Service layers. The type (and frequency) of notifications may be | ||||
agreed in the Service Model. | agreed in the Service Model. | |||
Note that it is important to correlate telemetry data with | Note that it is important to correlate telemetry data with | |||
configuration data to be used for closed loops at the different | configuration data to be used for closed loops at the different | |||
stages of service delivery, from resource allocation to service | stages of service delivery, from resource allocation to service | |||
operation, in particular. | operation, in particular. | |||
3.4. YANG Modules Integration | 3.4. YANG Modules Integration | |||
To support top-down service delivery, YANG modules at different | To support top-down service delivery, YANG modules at different | |||
skipping to change at page 10, line 10 ¶ | skipping to change at page 10, line 16 ¶ | |||
level models or network level models. | level models or network level models. | |||
In addition, these technology-specific Device or Network Models can | In addition, these technology-specific Device or Network Models can | |||
be further integrated with each other using the schema mount | be further integrated with each other using the schema mount | |||
mechanism [RFC8528] to provision each involved network function/ | mechanism [RFC8528] to provision each involved network function/ | |||
device or each involved administrative domain to support newly added | device or each involved administrative domain to support newly added | |||
module or features. A collection of Device Models integrated | module or features. A collection of Device Models integrated | |||
together can be loaded and validated during the implementation time. | together can be loaded and validated during the implementation time. | |||
High-level policies can be defined at Service or Network Models | High-level policies can be defined at Service or Network Models | |||
(e.g., AS Exclude in the example depicted in Figure 2). Device | (e.g., "Autonomous System Number (ASN) Exclude" in the example | |||
Models will be tweaked accordingly to provide policy-based | depicted in Figure 2). Device Models will be tweaked accordingly to | |||
management. Policies can also be used for telemetry automation, | provide policy-based management. Policies can also be used for | |||
e.g., policies that contain conditions can trigger the generation and | telemetry automation, e.g., policies that contain conditions can | |||
pushing of new telemetry data. | trigger the generation and pushing of new telemetry data. | |||
Performance measurement telemetry can be used to provide service | Performance measurement telemetry can be used to provide service | |||
assurance at Service and/or Network levels. Performance measurement | assurance at Service and/or Network levels. Performance measurement | |||
telemetry model can tie with Service or Network Models to monitor | telemetry model can tie with Service or Network Models to monitor | |||
network performance or Service Level Agreement. | network performance or Service Level Agreement. | |||
4. Functional Bocks and Interactions | 4. Functional Bocks and Interactions | |||
The architectural considerations described in Section 3 led to the | The architectural considerations described in Section 3 led to the | |||
architecture described in this section and illustrated in Figure 4. | architecture described in this section and illustrated in Figure 4. | |||
+------------------+ | +------------------+ | |||
Service level | | | Service level | | | |||
----------- V | | ----------- V | | |||
E2E E2E E2E E2E | E2E E2E E2E E2E | |||
Service -- Service --------> Service --->Service ---+ | Service -- Service --------> Service --->Service ---+ | |||
Exposure Creation ^ Optimization | Diagnosis | | Exposure Creation ^ Optimization | Diagnosis | | |||
/Modification | | | | /Modification | | | | |||
| |Diff | V | | |Diff | V | |||
Multi-layer | | E2E | E2E | Multi-layer | | E2E | E2E | |||
Multi-domain | | Service | Service | Multi-domain | | Service | Service | |||
Service Mapping| +------ Assurance ---+ Decommission | Service Mapping| +------ Assurance ---+ Decommission | |||
| ^ | | ^ | |||
|<-----------------+ | | |<-----------------+ | | |||
Network level | | +----+ | Network level | | +----+ | |||
------------ V | | | ------------ V | | | |||
Specific Specific | | Specific Specific | | |||
Service ----+---> Service ---+--+ | Service ----+---> Service ---+--+ | |||
Creation ^ Optimization | | | Creation ^ Optimization | | | |||
/Modification | | | | /Modification | | | | |||
skipping to change at page 11, line 40 ¶ | skipping to change at page 11, line 40 ¶ | |||
Device level | +------------+ | Device level | +------------+ | |||
------------ V | | ------------ V | | |||
Service Intent | Service Intent | |||
Fullfillment Config ------> Config ----> Performance -->Fault | Fullfillment Config ------> Config ----> Performance -->Fault | |||
Provision Validate Monitoring Diagnostic | Provision Validate Monitoring Diagnostic | |||
Figure 4: Service and Network Lifecycle Management | Figure 4: Service and Network Lifecycle Management | |||
4.1. Service Lifecycle Management Procedure | 4.1. Service Lifecycle Management Procedure | |||
Service lifecycle management includes end to end service lifecycle | Service lifecycle management includes end-to-end service lifecycle | |||
management at the service level and technology specific network | management at the service level and technology specific network | |||
lifecycle management at the network level. The end-to-end service | lifecycle management at the network level. | |||
lifecycle management is technology independent service management and | ||||
span across multiple administrative domain or multiple layers while | The end-to-end service lifecycle management is technology-independent | |||
technology specific service lifecycle management is technology domain | service management and spans across multiple administrative domain or | |||
specific or layer specific service lifecycle management. | multiple layers while technology specific service lifecycle | |||
management is technology domain specific or layer specific service | ||||
lifecycle management. | ||||
4.1.1. Service Exposure | 4.1.1. Service Exposure | |||
A service in the context of this document (sometimes called a Network | A service in the context of this document (sometimes called, Network | |||
Service) is some form of connectivity between customer sites and the | Service) is some form of connectivity between customer sites and the | |||
Internet or between customer sites across the operator's network and | Internet or between customer sites across the operator's network and | |||
across the Internet. | across the Internet. | |||
Service exposure is used to capture services offered to customers | Service exposure is used to capture services offered to customers | |||
(ordering and order handling). One typical example is that a | (ordering and order handling). One typical example is that a | |||
customer can use a L3SM service model to request L3VPN service by | customer can use a L3VPN Service Model (L3SM) to request L3VPN | |||
providing the abstract technical characterization of the intended | service by providing the abstract technical characterization of the | |||
service between customer sites. | intended service between customer sites. | |||
Service model catalogs can be created along to expose the various | Service Model catalogs can be created along to expose the various | |||
services and the information needed to invoke/order a given service. | services and the information needed to invoke/order a given service. | |||
4.1.2. Service Creation/Modification | 4.1.2. Service Creation/Modification | |||
A customer is (usually) unaware of the technology that the network | A customer is (usually) unaware of the technology that the network | |||
operator has available to deliver the service, so the customer does | operator has available to deliver the service, so the customer does | |||
not make requests specific to the underlying technology but is | not make requests specific to the underlying technology but is | |||
limited to making requests specific to the service that is to be | limited to making requests specific to the service that is to be | |||
delivered. This service request can be issued using the service | delivered. This service request can be issued using the Service | |||
model. | Model. | |||
Upon receiving the service request, the service orchestrator/ | Upon receiving a service request, the service orchestrator/management | |||
management system should first verify whether the service | system should first verify whether the service requirements in the | |||
requirements in the service request can be met (i.e., whether there | service request can be met (i.e., whether there is sufficient | |||
is sufficient resource that can be allocated). | resources that can be allocated with the requested guarantees). | |||
In successful case, the service orchestrator/management system maps | If the request is accepted, the service orchestrator/management | |||
such service request to its view. This view can be described as a | system maps such service request to its view. This view can be | |||
technology specific network model or a set of technology specific | described as a technology specific network model or a set of | |||
device models and this mapping may include a choice of which networks | technology specific Device Models and this mapping may include a | |||
and technologies to use depending on which service features have been | choice of which networks and technologies to use depending on which | |||
requested. | service features have been requested. | |||
In addition, a customer may require to change underlying network | In addition, a customer may require to change the underlying network | |||
infrastructure to adapt to new customer's needs and service | infrastructure to adapt to new customer's needs and service | |||
requirements. This service modification can be issued in the same | requirements. This service modification can be issued following the | |||
service model used by the service request. | same Service Model used by the service request. | |||
4.1.3. Service Optimization | 4.1.3. Service Optimization | |||
Service optimization is a technique that gets the configuration of | Service optimization is a technique that gets the configuration of | |||
the network updated due to network change, incident mitigation, or | the network updated due to network changes, incidents mitigation, or | |||
new service requirements. One typical example is once the tunnel or | new service requirements. One typical example is once a tunnel or a | |||
the VPN is setup, Performance monitoring information or telemetry | VPN is setup, Performance monitoring information or telemetry | |||
information per tunnel or per VPN can be collected and fed into the | information per tunnel (or per VPN) can be collected and feed into | |||
management system, if the network performance doesn't meet the | the management system. If the network performance doesn't meet the | |||
service requirements, the management system can create new VPN | service requirements, the management system can create new VPN | |||
policies capturing network service requirements and populate them | policies capturing network service requirements and populate them | |||
into the network. | into the network. | |||
Both network performance information and policies can be modelled | Both network performance information and policies can be modelled | |||
using YANG. With Policy-based management, self-configuration and | using YANG. With Policy-based management, self-configuration and | |||
self-optimization behavior can be specified and implemented. | self-optimization behavior can be specified and implemented. | |||
4.1.4. Service Diagnosis | 4.1.4. Service Diagnosis | |||
Operations, Administration, and Maintenance (OAM) are important | Operations, Administration, and Maintenance (OAM) are important | |||
networking functions for service diagnosis that allow operators to: | networking functions for service diagnosis that allow Network | |||
Operators to: | ||||
o monitor network communications (i.e., reachability verification | o monitor network communications (i.e., reachability verification | |||
and Continuity Check) | and Continuity Check) | |||
o troubleshoot failures (i.e., fault verification and localization) | o troubleshoot failures (i.e., fault verification and localization) | |||
o monitor service-level agreements and performance (i.e., | o monitor service-level agreements and performance (i.e., | |||
performance management) | performance management) | |||
When the network is down, service diagnosis should be in place to | When the network is down, service diagnosis should be in place to | |||
pinpoint the problem and provide recommendation (or instructions) for | pinpoint the problem and provide recommendations (or instructions) | |||
the network recovery. | for the network recovery. | |||
The service diagnosis information can be modelled as technology- | The service diagnosis information can be modelled as technology- | |||
independent Remote Procedure Call (RPC) operations for OAM protocols | independent Remote Procedure Call (RPC) operations for OAM protocols | |||
and technology-independent abstraction of key OAM constructs for OAM | and technology-independent abstraction of key OAM constructs for OAM | |||
protocols [RFC8531][RFC8533]. These models can provide consistent | protocols [RFC8531][RFC8533]. These models can be used to provide | |||
configuration, reporting, and presentation for the OAM mechanisms | consistent configuration, reporting, and presentation for the OAM | |||
used to manage the network. | mechanisms used to manage the network. | |||
4.1.5. Service Decommission | 4.1.5. Service Decommission | |||
Service decommission allow the customer to stop the service and | Service decommission allows a customer to stop the service by | |||
remove the service from active status and release the network | removing the service from active status and thus releasing the | |||
resource that is allocated to the service. Customer can also use the | network resources that were allocated to the service. Customers can | |||
service model to withdraw the registration to a service. | also use the Service Model to withdraw the registration to a service. | |||
4.2. Service Fullfillment Management Procedure | 4.2. Service Fullfillment Management Procedure | |||
4.2.1. Intended Configuration Provision | 4.2.1. Intended Configuration Provision | |||
Intended configuration at the device level is derived from network | Intended configuration at the device level is derived from Network | |||
model at the network level or service model at the service level and | Models at the network level or Service Model at the service level and | |||
represents the configuration that the system attempts to apply. Take | represents the configuration that the system attempts to apply. Take | |||
L3SM service model as an example, to deliver a L3VPN service, we need | L3SM as a Service Model example to deliver a L3VPN service, we need | |||
to map L3VPN service view defined in Service model into detailed | to map the L3VPN service view defined in the Service Model into | |||
intended configuration view defined by specific configuration models | detailed intended configuration view defined by specific | |||
for network elements, configuration information includes: | configuration models for network elements, configuration information | |||
includes: | ||||
o VRF definition, including VPN Policy expression | o VPN Routing and Forwarding (VRF) definition, including VPN policy | |||
expression | ||||
o Physical Interface | o Physical Interface(s) | |||
o IP layer (IPv4, IPv6) | o IP layer (IPv4, IPv6) | |||
o QoS features such as classification, profiles, etc. | o QoS features such as classification, profiles, etc. | |||
o Routing protocols: support of configuration of all protocols | o Routing protocols: support of configuration of all protocols | |||
listed in the document, as well as routing policies associated | listed in a service request, as well as routing policies | |||
with those protocols. | associated with those protocols. | |||
o Multicast Support | o Multicast support | |||
o Address sharing | o Address sharing (e.g., NAT) | |||
o Security function | o Security | |||
This specific configuration models can be used to configure Provider | These specific configuration models can be used to configure Provider | |||
Edge (PE) and Customer Edge (CE) devices within the site, e.g., a BGP | 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 | policy model can be used to establish VPN membership between sites | |||
and VPN Service Topology. | and VPN Service Topology. | |||
4.2.2. Configuration Validation | 4.2.2. Configuration Validation | |||
Configuration validation is used to validate intended configuration | Configuration validation is used to validate intended configuration | |||
and ensure the configuration take effect. For example, a customer | and ensure the configuration take effect. | |||
creates an interface "et-0/0/0" but the interface does not physically | ||||
exist at this point, then configuration data appears in the | For example, a customer creates an interface "et-0/0/0" but the | |||
<intended> status but does not appear in <operational> datastore. | interface does not physically exist at this point, then configuration | |||
data appears in the <intended> status but does not appear in | ||||
<operational> datastore. | ||||
4.2.3. Performance Monitoring/Model-driven Telemetry | 4.2.3. Performance Monitoring/Model-driven Telemetry | |||
When configuration is in effect in the device, <operational> | When configuration is in effect in the device, <operational> | |||
datastore holds the complete operational state of the device | datastore holds the complete operational state of the device | |||
including learned, system, default configuration and system state. | including learned, system, default configuration, and system state. | |||
However the configurations and state of a particular device does not | However, the configurations and state of a particular device does not | |||
have the visibility to the whole network or information of the flow | have the visibility to the whole network or information of the flow | |||
packets are going to take through the entire network. Therefore it | packets are going to take through the entire network. Therefore it | |||
becomes more difficult to operate the network without understanding | becomes more difficult to operate the network without understanding | |||
the current status of the network. | the current status of the network. | |||
The management system should subscribe to updates of a YANG datastore | The management system should subscribe to updates of a YANG datastore | |||
in all the network devices for performance monitoring purpose and | in all the network devices for performance monitoring purpose and | |||
build full topological visibility to the network by aggregating and | build a full topological visibility of the network by aggregating | |||
filtering these operational state from different sources. | (and filtering) these operational state from different sources. | |||
4.2.4. Fault Diagnostic | 4.2.4. Fault Diagnostic | |||
When configuration is in effect in the device, some device may be | When configuration is in effect in the device, some devices may be | |||
mis-configured(e.g.,device links are not consistent on both sides of | mis-configured (e.g.,device links are not consistent in both sides of | |||
the network connection), network resources be mis-allocated and | the network connection), network resources be mis-allocated and | |||
services may be negatively affected without knowing what is going on | services may be negatively affected without knowing what is going on | |||
in the network. | in the network. | |||
Technology-dependent nodes and RPC commands are defined in | Technology-dependent nodes and RPC commands are defined in | |||
technology-specific YANG data models which can use and extend the | 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 | base model described in Section 4.1.4 to deal with these issues. | |||
challenges. | ||||
These RPC commands received in the technology dependent node can be | These RPC commands received in the technology-dependent node can be | |||
used to trigger technology specific OAM message exchange for fault | used to trigger technology-specific OAM message exchanges for fault | |||
verification and fault isolation,e.g., TRILL Multicast Tree | verification and fault isolation For example, TRILL Multicast Tree | |||
Verification (MTV) RPC command [I-D.ietf-trill-yang-oam] can be used | Verification (MTV) RPC command [I-D.ietf-trill-yang-oam] can be used | |||
to trigger Multi-Destination Tree Verification Message defined in | to trigger Multi-Destination Tree Verification Message defined in | |||
[RFC7455] to verify TRILL distribution tree integrity. | [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 allow you map end to end | Multi-layer/Multi-domain Service Mapping allows to map an end-to-end | |||
abstract view of the service segmented at different layer or | abstract view of the service segmented at different layers or | |||
different administrative domain into domain specific view. One | different administrative domains into domain-specific view. | |||
example is to map service parameters in L3VPN service model into | ||||
configuration parameters such as RD, RT, and VRF in L3VPN network | One example is to map service parameters in L3VPN service model into | |||
model. Another example is to map service parameters in L3VPN service | configuration parameters such as Route Distinguisher (RD), Route | |||
model into TE tunnel parameter (e.g.,Tunnel ID) in TE model and VN | Target (RT), and VRF in L3VPN network model. | |||
parameters (e.g., AP list, VN member) in TEAS VN model | ||||
[I-D.ietf-teas-actn-vn-yang]. | 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]. | ||||
4.4. Service Decomposing | 4.4. Service Decomposing | |||
Service Decomposing allows to decompose service model at the service | Service Decomposing allows to decompose service model at the service | |||
level or network model at the network level into a set of device/ | 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 | function models at the device level. These Device Models may be tied | |||
to specific device type or classified into a collection of related | to specific device types or classified into a collection of related | |||
YANG modules based on service type and feature offered and load at | YANG modules based on service types and features offered, and load at | |||
the implementation time before configuration is loaded and validated. | the implementation time before configuration is loaded and validated. | |||
5. YANG Data Model Integration Examples | 5. YANG Data Model Integration Examples | |||
5.1. L3VPN Service Delivery | The following subsections provides some data models integration | |||
examples. | ||||
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 | 5.1. L3VPN Service Delivery | |||
In reference to Figure 5, the following steps are performed to | In reference to Figure 5, the following steps are performed to | |||
deliver the L3VPN service within the network management automation | deliver the L3VPN service within the network management automation | |||
architecture defined in this document: | architecture defined in this document: | |||
1. The Customer requests to create two sites (as per service | 1. The Customer requests to create two sites (as per service | |||
creation operation in Section 4.2.1) relying upon a L3SM 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: | |||
Site A: Network-Access A, Bandwidth=20M, for class "foo", | * Site A: Network-Access A, Bandwidth=20M, for class "foo", | |||
guaranteed-bw-percent = 10, One-Way-Delay=70 msec | guaranteed-bw-percent = 10, One-Way-Delay=70 msec | |||
Site B: Network-Access B, Bandwidth=30M, for class "foo1", | * Site B: Network-Access B, Bandwidth=30M, for class "foo1", | |||
guaranteed-bw-percent = 15, One-Way-Delay=60 msec | guaranteed-bw-percent = 15, One-Way-Delay=60 msec | |||
2. The Orchestrator extracts the service parameters from the L3SM | 2. The Orchestrator extracts the service parameters from the L3SM | |||
model. Then, it uses them as input to translate ("service | model. Then, it uses them as input to translate ("service | |||
mapping operation" in Section 4.4) them into an orchestrated | mapping operation" in Section 4.4) them into an orchestrated | |||
configuration of network elements (e.g., RD, RT, VRF) that are | configuration of network elements (e.g., RD, RT, VRF) that are | |||
part of the L3NM network model. | part of the L3NM network model. | |||
3. The Controller takes orchestrated configuration parameters in the | 3. The Controller takes orchestrated configuration parameters in the | |||
L3NM network model and translates them into orchestrated | L3NM network model and translates them into orchestrated | |||
("service decomposing operation" in ) configuration of network | ("service decomposing operation" in ) configuration of network | |||
elements that are part of, e.g, BGP, QoS, Network Instance model, | elements that are part of, e.g., BGP, QoS, Network Instance | |||
IP management, and interface models. | model, IP management, and interface models. | |||
[I-D.ogondio-opsawg-uni-topology] is used for representing, managing | [I-D.ogondio-opsawg-uni-topology] can be used for representing, | |||
and controlling the User Network Interface (UNI) topology. | managing, and controlling the User Network Interface (UNI) topology. | |||
L3NM inherits some of data elements from the L3SM. Likewise, the | L3SM | | |||
L3NM expose some information to the above layer such as the | Service | | |||
Model | | ||||
+--------------------+----------------------------+ | ||||
| +-----V- -------+ | | ||||
| Orchestrator |Service Mapping| | | ||||
| +-----+---------+ | | ||||
| | | | ||||
+--------------------+----------------------------+ | ||||
L3NM | | ||||
Network| | ||||
Model | | ||||
+--------------------+----------------------------+ | ||||
| Controller+--------V-----------+ | | ||||
| | Service Decomposing| | | ||||
| +-++------------++---+ | | ||||
| || || | | ||||
| || || | | ||||
+-------------++---------- ++--------------------+ | ||||
|| || | ||||
|| || | ||||
||BGP,QoS || | ||||
|| || | ||||
+----------+|NI,Intf,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 | capabilities of an underlying network (which can be used to drive | |||
service order handling) or notifications (to notify subscribers about | service order handling) or notifications (to notify subscribers about | |||
specific events or degradations as per agreed SLAs). | specific events or degradations as per agreed SLAs). Some of this | |||
information can be provided using, e.g., | ||||
5.2. VN Lifecycle Management | [I-D.www-bess-yang-vpn-service-pm]. A target overall model is | |||
depicted in Figure 6. | ||||
| | L3SM | ^ | |||
VN | | Service | | Notifications | |||
Service | | Model | | | |||
Model | | +--------------------+----------------------------+ | |||
+----------------------|--------------------------+ | | +-----V---------+ | | |||
| Orchestrator | | | | Orchestrator |Service Mapping| | | |||
| +--------V--------+ | | | +-----+---------+ | | |||
| | Service Mapping | | | | | | | |||
| +-----------------+ | | +--------------------+----------------------------+ | |||
+----------------------+--------------------^-----+ | L3NM | ^ | |||
TE | Telemetry | Network| | L3NM Notifications | |||
Tunnel | Model | Model | | L3NM Capabilities | |||
Model | | | +--------------------+----------------------------+ | |||
+----------------------V--------------------+----+ | | Controller+--------V-----------+ | | |||
| Controller | | | | Service Decomposing| | | |||
| | | | +-++------------++---+ | | |||
+-------------------------------------------------+ | | || || | | |||
| || || | | ||||
+-------------++---------- ++--------------------+ | ||||
|| || | ||||
|| || | ||||
||BGP,QoS || | ||||
|| || | ||||
+----------+|NI,Intf,IP |+-----------------+ | ||||
+--+--+ +++---+ --+---+ +--+--+ | ||||
| CE1 |------| PE1 | | PE2 | ---------+ CE2 | | ||||
+-----+ +-----+ +-----+ +-----+ | ||||
Legend: | ||||
Intf: Interface | ||||
+-----+ +-----+ +-----+ +-----+ | Figure 6: L3VPN Service Delivery Example (Target) | |||
| CE1 |------| PE1 | | PE2 |---------+ CE2 | | ||||
+-----+ +-----+ +-----+ +-----+ | ||||
Figure 6 | 5.2. VN Lifecycle Management | |||
In reference to Figure 6, the following steps are performed to | In reference to Figure 7, the following steps are performed to | |||
deliver the VN service within the network management automation | deliver the VN service within the network management automation | |||
architecture defined in this document: | architecture defined in this document: | |||
1. Customer requests (service exposure operation in Section 4.1.1) | 1. Customer requests (service exposure operation in Section 4.1.1) | |||
to create 'VN' based on Access point, association between VN and | to create 'VN' based on Access point, association between VN and | |||
Access point, VN member defined in the VN YANG module. | Access point, VN member defined in the VN YANG module. | |||
2. The orchestrator creates the single abstract node topology based | 2. The orchestrator creates the single abstract node topology based | |||
on the information captured in an VN YANG module. | on the information captured in an VN YANG module. | |||
3. The Customer exchanges connectivity-matrix on abstract node and | 3. The Customer exchanges connectivity-matrix on abstract node and | |||
explicit path using TE topology model with the orchestrator. | explicit path using TE topology model with the orchestrator. | |||
This information can be used to instantiate VN and setup tunnels | This information can be used to instantiate VN and setup tunnels | |||
between source and destination endpoints (service creation | between source and destination endpoints (service creation | |||
operation in Section 4.1.2). | operation in Section 4.1.2). | |||
4. The telemetry model which augments the TEAS VN model and | 4. The telemetry model which augments the TEAS VN model and | |||
corresponding TE Tunnel model can be used to subscribe to | corresponding TE tunnel model can be used to subscribe to | |||
performance measurement data and notify all the parameter changes | performance measurement data and notify all the parameter changes | |||
and network performance change related to VN topology or Tunnel | and network performance change related to VN topology or Tunnel | |||
[I-D.ietf-teas-actn-pm-telemetry-autonomics] and provide service | [I-D.ietf-teas-actn-pm-telemetry-autonomics] and provide service | |||
assurance (service optimization operation in Section 4.1.3). | assurance (service optimization operation in Section 4.1.3). | |||
5.3. Event-based Telemetry in the Device Self Management | | | |||
VN | | ||||
Service | | ||||
Model | | ||||
+----------------------|--------------------------+ | ||||
| Orchestrator | | | ||||
| +--------V--------+ | | ||||
| | Service Mapping | | | ||||
| +-----------------+ | | ||||
+----------------------+--------------------^-----+ | ||||
TE | Telemetry | ||||
Tunnel | Model | ||||
Model | | | ||||
+----------------------V--------------------+----+ | ||||
| Controller | | ||||
| | | ||||
+-------------------------------------------------+ | ||||
+----------------+ | +-----+ +-----+ +-----+ +-----+ | |||
| | | | CE1 |------| PE1 | | PE2 |---------+ CE2 | | |||
| Controller | | +-----+ +-----+ +-----+ +-----+ | |||
+----------------+ | ||||
| | ||||
| | ||||
ECA | | ||||
Model| ^ | ||||
| |Notif | ||||
| | | ||||
+------------V-------------+-------+ | ||||
|Device | Reconfig | ||||
| +-------+ +---------+ +--+---+ | | ||||
| | Event --> Event -->Event --> | | ||||
| | Source| |Condition| |Action| | | ||||
| +-------+ +---------+ +------+ | | ||||
+--------Update------trigger-------+ | ||||
Figure 7: Event-based Telemetry | Figure 7: A VN Service Delivery Example | |||
In reference to Figure 7, the following steps are performed to | 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 | monitor state changes of managed objects or resource in the device | |||
and provide device self management within the network management | and provide device self management within the network management | |||
automation architecture defined in this document: | automation architecture defined in this document: | |||
1. To control which state a network device should be in or is | 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 | allowed to be in at any given time, a set of conditions and | |||
actions are defined and correlated with network events (e.g., | actions are defined and correlated with network events (e.g., | |||
allow the NETCONF server send updates only when the value exceeds | allow the NETCONF server send updates only when the value exceeds | |||
a certain threshold for the first time but not again until the | a certain threshold for the first time but not again until the | |||
threshold is cleared), which constitute an event-driven policy or | threshold is cleared), which constitute an event-driven policy or | |||
network control logic in the controller. | network control logic in the controller. | |||
2. The controller pushes ECA policy to the network device and | 2. The controller pushes ECA policy to the network device and | |||
delegate network control logic to the network device. | delegate network control logic to the network device. | |||
3. The network device generates ECA script from ECA model and | 3. The network device generates ECA script from ECA model and | |||
execute ECA script or network control logic based on Event. | execute ECA script or network control logic based on Event. | |||
Event based notification or telemetry can be triggered if a | Event based notification or telemetry can be triggered if a | |||
certain condition is satisfied (model driven telemetry operation | certain condition is satisfied (model-driven telemetry operation | |||
in Section 4.2.3). | in Section 4.2.3). | |||
+----------------+ | ||||
| | | ||||
| Controller | | ||||
+-------+--------+ | ||||
| | ||||
| | ||||
ECA | | ||||
Model| ^ | ||||
| |Notification | ||||
| | | ||||
+------------V-------------+-------+ | ||||
|Device | Reconfiguration | ||||
| +-------+ +---------+ +--+---+ | | ||||
| | Event +-> Event +->Event | | | ||||
| | Source| |Condition| |Action| | | ||||
| +-------+ +---------+ +------+ | | ||||
+--------Update------trigger-------+ | ||||
Figure 8: Event-based Telemetry | ||||
6. Security Considerations | 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 | ||||
is HTTPS, and the mandatory-to-implement secure transport is TLS | ||||
[RFC8446]. | ||||
The NETCONF access control model [RFC8341] provides the means to | ||||
restrict access for particular NETCONF or RESTCONF users to a | ||||
preconfigured subset of all available NETCONF or RESTCONF protocol | ||||
operations and content. | ||||
Security considerations specific to each of the technologies and | Security considerations specific to each of the technologies and | |||
protocols listed in the document are discussed in the specification | protocols listed in the document are discussed in the specification | |||
documents of each of these techniques. | documents of each of these protocols. | |||
(Potential) security considerations specific to this document are | Security considerations specific to this document are listed below: | |||
listed below: | ||||
o Create forwarding loops by mis-configuring the underlying network. | o Create forwarding loops by mis-configuring the underlying network. | |||
o Leak sensitive information: special care should be considered when | o Leak sensitive information: special care should be considered when | |||
translating between the various layers introduced in the document. | translating between the various layers introduced in the document. | |||
o Some Service Models may include a traffic isolation clause, | o Some Service Models may include a traffic isolation clause, | |||
appropriate technology-specific actions must be enforced to avoid | appropriate technology-specific actions must be enforced to avoid | |||
that traffic is accessible to non-authorized parties. | that traffic is accessible to non-authorized parties. | |||
skipping to change at page 20, line 46 ¶ | skipping to change at page 22, line 43 ¶ | |||
Young Lee | Young Lee | |||
Sung Kyun Kwan University | Sung Kyun Kwan University | |||
Email: younglee.tx@gmail.com | Email: younglee.tx@gmail.com | |||
10. References | 10. References | |||
10.1. Normative References | 10.1. Normative References | |||
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | ||||
and A. Bierman, Ed., "Network Configuration Protocol | ||||
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | ||||
<https://www.rfc-editor.org/info/rfc6241>. | ||||
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | ||||
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | ||||
<https://www.rfc-editor.org/info/rfc6242>. | ||||
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | |||
RFC 7950, DOI 10.17487/RFC7950, August 2016, | RFC 7950, DOI 10.17487/RFC7950, August 2016, | |||
<https://www.rfc-editor.org/info/rfc7950>. | <https://www.rfc-editor.org/info/rfc7950>. | |||
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | ||||
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | ||||
<https://www.rfc-editor.org/info/rfc8040>. | ||||
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | ||||
Access Control Model", STD 91, RFC 8341, | ||||
DOI 10.17487/RFC8341, March 2018, | ||||
<https://www.rfc-editor.org/info/rfc8341>. | ||||
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | ||||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | ||||
<https://www.rfc-editor.org/info/rfc8446>. | ||||
10.2. Informative References | 10.2. Informative References | |||
[I-D.ietf-bess-evpn-yang] | [I-D.ietf-bess-evpn-yang] | |||
Brissette, P., Shah, H., Hussain, I., Tiruveedhula, K., | Brissette, P., Shah, H., Hussain, I., Tiruveedhula, K., | |||
and J. Rabadan, "Yang Data Model for EVPN", draft-ietf- | and J. Rabadan, "Yang Data Model for EVPN", draft-ietf- | |||
bess-evpn-yang-07 (work in progress), March 2019. | bess-evpn-yang-07 (work in progress), March 2019. | |||
[I-D.ietf-bess-l2vpn-yang] | [I-D.ietf-bess-l2vpn-yang] | |||
Shah, H., Brissette, P., Chen, I., Hussain, I., Wen, B., | Shah, H., Brissette, P., Chen, I., Hussain, I., Wen, B., | |||
and K. Tiruveedhula, "YANG Data Model for MPLS-based | and K. Tiruveedhula, "YANG Data Model for MPLS-based | |||
skipping to change at page 21, line 36 ¶ | skipping to change at page 24, line 5 ¶ | |||
and G. Mirsky, "YANG Data Model for Bidirectional | and G. Mirsky, "YANG Data Model for Bidirectional | |||
Forwarding Detection (BFD)", draft-ietf-bfd-yang-17 (work | Forwarding Detection (BFD)", draft-ietf-bfd-yang-17 (work | |||
in progress), August 2018. | in progress), August 2018. | |||
[I-D.ietf-dots-data-channel] | [I-D.ietf-dots-data-channel] | |||
Boucadair, M. and T. Reddy.K, "Distributed Denial-of- | Boucadair, M. and T. Reddy.K, "Distributed Denial-of- | |||
Service Open Threat Signaling (DOTS) Data Channel | Service Open Threat Signaling (DOTS) Data Channel | |||
Specification", draft-ietf-dots-data-channel-31 (work in | Specification", draft-ietf-dots-data-channel-31 (work in | |||
progress), July 2019. | progress), July 2019. | |||
[I-D.ietf-dots-signal-channel] | ||||
Reddy.K, T., Boucadair, M., Patil, P., Mortensen, A., and | ||||
N. Teague, "Distributed Denial-of-Service Open Threat | ||||
Signaling (DOTS) Signal Channel Specification", draft- | ||||
ietf-dots-signal-channel-41 (work in progress), January | ||||
2020. | ||||
[I-D.ietf-i2rs-yang-l2-network-topology] | [I-D.ietf-i2rs-yang-l2-network-topology] | |||
Dong, J., Wei, X., WU, Q., Boucadair, M., and A. Liu, "A | Dong, J., Wei, X., WU, Q., Boucadair, M., and A. Liu, "A | |||
YANG Data Model for Layer-2 Network Topologies", draft- | YANG Data Model for Layer-2 Network Topologies", draft- | |||
ietf-i2rs-yang-l2-network-topology-13 (work in progress), | ietf-i2rs-yang-l2-network-topology-13 (work in progress), | |||
March 2020. | March 2020. | |||
[I-D.ietf-idr-bgp-model] | [I-D.ietf-idr-bgp-model] | |||
Jethanandani, M., Patel, K., Hares, S., and J. Haas, "BGP | Jethanandani, M., Patel, K., Hares, S., and J. Haas, "BGP | |||
YANG Model for Service Provider Networks", draft-ietf-idr- | YANG Model for Service Provider Networks", draft-ietf-idr- | |||
bgp-model-08 (work in progress), February 2020. | bgp-model-08 (work in progress), February 2020. | |||
skipping to change at page 22, line 24 ¶ | skipping to change at page 24, line 35 ¶ | |||
in progress), July 2018. | in progress), July 2018. | |||
[I-D.ietf-mpls-base-yang] | [I-D.ietf-mpls-base-yang] | |||
Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A | Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A | |||
YANG Data Model for MPLS Base", draft-ietf-mpls-base- | YANG Data Model for MPLS Base", draft-ietf-mpls-base- | |||
yang-14 (work in progress), March 2020. | yang-14 (work in progress), March 2020. | |||
[I-D.ietf-pim-igmp-mld-snooping-yang] | [I-D.ietf-pim-igmp-mld-snooping-yang] | |||
Zhao, H., Liu, X., Liu, Y., Sivakumar, M., and A. Peter, | Zhao, H., Liu, X., Liu, Y., Sivakumar, M., and A. Peter, | |||
"A Yang Data Model for IGMP and MLD Snooping", draft-ietf- | "A Yang Data Model for IGMP and MLD Snooping", draft-ietf- | |||
pim-igmp-mld-snooping-yang-09 (work in progress), January | pim-igmp-mld-snooping-yang-10 (work in progress), May | |||
2020. | 2020. | |||
[I-D.ietf-pim-yang] | [I-D.ietf-pim-yang] | |||
Liu, X., McAllister, P., Peter, A., Sivakumar, M., Liu, | Liu, X., McAllister, P., Peter, A., Sivakumar, M., Liu, | |||
Y., and f. hu, "A YANG Data Model for Protocol Independent | Y., and f. hu, "A YANG Data Model for Protocol Independent | |||
Multicast (PIM)", draft-ietf-pim-yang-17 (work in | Multicast (PIM)", draft-ietf-pim-yang-17 (work in | |||
progress), May 2018. | progress), May 2018. | |||
[I-D.ietf-rtgwg-device-model] | [I-D.ietf-rtgwg-device-model] | |||
Lindem, A., Berger, L., Bogdanovic, D., and C. Hopps, | Lindem, A., Berger, L., Bogdanovic, D., and C. Hopps, | |||
"Network Device YANG Logical Organization", draft-ietf- | "Network Device YANG Logical Organization", draft-ietf- | |||
rtgwg-device-model-02 (work in progress), March 2017. | rtgwg-device-model-02 (work in progress), March 2017. | |||
[I-D.ietf-rtgwg-policy-model] | [I-D.ietf-rtgwg-policy-model] | |||
Qu, Y., Tantsura, J., Lindem, A., and X. Liu, "A YANG Data | Qu, Y., Tantsura, J., Lindem, A., and X. Liu, "A YANG Data | |||
Model for Routing Policy Management", draft-ietf-rtgwg- | Model for Routing Policy Management", draft-ietf-rtgwg- | |||
policy-model-09 (work in progress), March 2020. | policy-model-11 (work in progress), May 2020. | |||
[I-D.ietf-rtgwg-qos-model] | [I-D.ietf-rtgwg-qos-model] | |||
Choudhary, A., Jethanandani, M., Strahle, N., Aries, E., | Choudhary, A., Jethanandani, M., Strahle, N., Aries, E., | |||
and I. Chen, "YANG Model for QoS", draft-ietf-rtgwg-qos- | and I. Chen, "YANG Model for QoS", draft-ietf-rtgwg-qos- | |||
model-00 (work in progress), October 2019. | model-01 (work in progress), April 2020. | |||
[I-D.ietf-spring-sr-yang] | [I-D.ietf-spring-sr-yang] | |||
Litkowski, S., Qu, Y., Lindem, A., Sarkar, P., and J. | Litkowski, S., Qu, Y., Lindem, A., Sarkar, P., and J. | |||
Tantsura, "YANG Data Model for Segment Routing", draft- | Tantsura, "YANG Data Model for Segment Routing", draft- | |||
ietf-spring-sr-yang-15 (work in progress), January 2020. | ietf-spring-sr-yang-15 (work in progress), January 2020. | |||
[I-D.ietf-supa-generic-policy-data-model] | [I-D.ietf-supa-generic-policy-data-model] | |||
Halpern, J. and J. Strassner, "Generic Policy Data Model | Halpern, J. and J. Strassner, "Generic Policy Data Model | |||
for Simplified Use of Policy Abstractions (SUPA)", draft- | for Simplified Use of Policy Abstractions (SUPA)", draft- | |||
ietf-supa-generic-policy-data-model-04 (work in progress), | ietf-supa-generic-policy-data-model-04 (work in progress), | |||
skipping to change at page 24, line 8 ¶ | skipping to change at page 26, line 20 ¶ | |||
[I-D.ietf-trill-yang-oam] | [I-D.ietf-trill-yang-oam] | |||
Kumar, D., Senevirathne, T., Finn, N., Salam, S., Xia, L., | Kumar, D., Senevirathne, T., Finn, N., Salam, S., Xia, L., | |||
and H. Weiguo, "YANG Data Model for TRILL Operations, | and H. Weiguo, "YANG Data Model for TRILL Operations, | |||
Administration, and Maintenance (OAM)", draft-ietf-trill- | Administration, and Maintenance (OAM)", draft-ietf-trill- | |||
yang-oam-05 (work in progress), March 2017. | yang-oam-05 (work in progress), March 2017. | |||
[I-D.ogondio-opsawg-uni-topology] | [I-D.ogondio-opsawg-uni-topology] | |||
Dios, O., Barguil, S., WU, Q., and M. Boucadair, "A YANG | Dios, O., Barguil, S., WU, Q., and M. Boucadair, "A YANG | |||
Model for User-Network Interface (UNI) Topologies", draft- | Model for User-Network Interface (UNI) Topologies", draft- | |||
ogondio-opsawg-uni-topology-00 (work in progress), | ogondio-opsawg-uni-topology-01 (work in progress), April | |||
November 2019. | 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. | ||||
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | |||
Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | |||
2006, <https://www.rfc-editor.org/info/rfc4364>. | 2006, <https://www.rfc-editor.org/info/rfc4364>. | |||
[RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer | [RFC4664] Andersson, L., Ed. and E. Rosen, Ed., "Framework for Layer | |||
2 Virtual Private Networks (L2VPNs)", RFC 4664, | 2 Virtual Private Networks (L2VPNs)", RFC 4664, | |||
DOI 10.17487/RFC4664, September 2006, | DOI 10.17487/RFC4664, September 2006, | |||
<https://www.rfc-editor.org/info/rfc4664>. | <https://www.rfc-editor.org/info/rfc4664>. | |||
[RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private | [RFC4761] Kompella, K., Ed. and Y. Rekhter, Ed., "Virtual Private | |||
LAN Service (VPLS) Using BGP for Auto-Discovery and | LAN Service (VPLS) Using BGP for Auto-Discovery and | |||
Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007, | Signaling", RFC 4761, DOI 10.17487/RFC4761, January 2007, | |||
<https://www.rfc-editor.org/info/rfc4761>. | <https://www.rfc-editor.org/info/rfc4761>. | |||
[RFC4762] Lasserre, M., Ed. and V. Kompella, Ed., "Virtual Private | [RFC4762] Lasserre, M., Ed. and V. Kompella, Ed., "Virtual Private | |||
LAN Service (VPLS) Using Label Distribution Protocol (LDP) | LAN Service (VPLS) Using Label Distribution Protocol (LDP) | |||
Signaling", RFC 4762, DOI 10.17487/RFC4762, January 2007, | Signaling", RFC 4762, DOI 10.17487/RFC4762, January 2007, | |||
<https://www.rfc-editor.org/info/rfc4762>. | <https://www.rfc-editor.org/info/rfc4762>. | |||
[RFC5486] Malas, D., Ed. and D. Meyer, Ed., "Session Peering for | ||||
Multimedia Interconnect (SPEERMINT) Terminology", | ||||
RFC 5486, DOI 10.17487/RFC5486, March 2009, | ||||
<https://www.rfc-editor.org/info/rfc5486>. | ||||
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection | |||
(BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, | |||
<https://www.rfc-editor.org/info/rfc5880>. | <https://www.rfc-editor.org/info/rfc5880>. | |||
[RFC7149] Boucadair, M. and C. Jacquenet, "Software-Defined | [RFC7149] Boucadair, M. and C. Jacquenet, "Software-Defined | |||
Networking: A Perspective from within a Service Provider | Networking: A Perspective from within a Service Provider | |||
Environment", RFC 7149, DOI 10.17487/RFC7149, March 2014, | Environment", RFC 7149, DOI 10.17487/RFC7149, March 2014, | |||
<https://www.rfc-editor.org/info/rfc7149>. | <https://www.rfc-editor.org/info/rfc7149>. | |||
[RFC7276] Mizrahi, T., Sprecher, N., Bellagamba, E., and Y. | [RFC7276] Mizrahi, T., Sprecher, N., Bellagamba, E., and Y. | |||
skipping to change at page 27, line 12 ¶ | skipping to change at page 29, line 35 ¶ | |||
RFC 8532, DOI 10.17487/RFC8532, April 2019, | RFC 8532, DOI 10.17487/RFC8532, April 2019, | |||
<https://www.rfc-editor.org/info/rfc8532>. | <https://www.rfc-editor.org/info/rfc8532>. | |||
[RFC8533] Kumar, D., Wang, M., Wu, Q., Ed., Rahman, R., and S. | [RFC8533] Kumar, D., Wang, M., Wu, Q., Ed., Rahman, R., and S. | |||
Raghavan, "A YANG Data Model for Retrieval Methods for the | Raghavan, "A YANG Data Model for Retrieval Methods for the | |||
Management of Operations, Administration, and Maintenance | Management of Operations, Administration, and Maintenance | |||
(OAM) Protocols That Use Connectionless Communications", | (OAM) Protocols That Use Connectionless Communications", | |||
RFC 8533, DOI 10.17487/RFC8533, April 2019, | RFC 8533, DOI 10.17487/RFC8533, April 2019, | |||
<https://www.rfc-editor.org/info/rfc8533>. | <https://www.rfc-editor.org/info/rfc8533>. | |||
[RFC8632] Vallin, S. and M. Bjorklund, "A YANG Data Model for Alarm | ||||
Management", RFC 8632, DOI 10.17487/RFC8632, September | ||||
2019, <https://www.rfc-editor.org/info/rfc8632>. | ||||
[RFC8675] Boucadair, M., Farrer, I., and R. Asati, "A YANG Data | [RFC8675] Boucadair, M., Farrer, I., and R. Asati, "A YANG Data | |||
Model for Tunnel Interface Types", RFC 8675, | Model for Tunnel Interface Types", RFC 8675, | |||
DOI 10.17487/RFC8675, November 2019, | DOI 10.17487/RFC8675, November 2019, | |||
<https://www.rfc-editor.org/info/rfc8675>. | <https://www.rfc-editor.org/info/rfc8675>. | |||
[RFC8676] Farrer, I., Ed. and M. Boucadair, Ed., "YANG Modules for | [RFC8676] Farrer, I., Ed. and M. Boucadair, Ed., "YANG Modules for | |||
IPv4-in-IPv6 Address plus Port (A+P) Softwires", RFC 8676, | IPv4-in-IPv6 Address plus Port (A+P) Softwires", RFC 8676, | |||
DOI 10.17487/RFC8676, November 2019, | DOI 10.17487/RFC8676, November 2019, | |||
<https://www.rfc-editor.org/info/rfc8676>. | <https://www.rfc-editor.org/info/rfc8676>. | |||
skipping to change at page 28, line 7 ¶ | skipping to change at page 30, line 38 ¶ | |||
customer from a network operator. | customer from a network operator. | |||
o The L2SM model [RFC8466] defines the L2VPN service ordered by a | 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] | 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. | provides a YANG data model applicable to any mode of VN operation. | |||
A.2. Network Models: Samples | A.2. Network Models: Samples | |||
Figure 8 depicts a set of Network models such as topology models or | Figure 9 depicts a set of Network Models such as topology models or | |||
tunnel models: | tunnel models: | |||
| | | Topology | Tunnel | | |||
Topo YANG modules | Tunnel YANG modules | | YANG modules | YANG modules | | |||
------------------------------------------------| | ---------------------+-------------------------------| | |||
+------------+ | | | +------------+ | | | |||
|Network Top | | +------+ +-----------+ | | |Network Topo| | +------+ +-----------+ | | |||
| Model | | |Other | | TE Tunnel | | | | Model | | |Other | | TE Tunnel | | | |||
+----+-------+ | |Tunnel| +------+----+ | | +----+-------+ | |Tunnel| +----+------+ | | |||
| +--------+ | +------+ | | | | +--------+ | +------+ | | | |||
|---+Svc Topo| | +--------+-+--------+ | |---+Svc Topo| | +----------+---------+ | | |||
| +--------+ | +----+---+ +---+----+ +-+-----+ | | +--------+ | | | | | | |||
| +--------+ | |MPLS-TE | |RSVP-TE | |SR TE | | | +--------+ |+----+---+ +----+---+ +---+---+| | |||
|---+L2 Topo | | | Tunnel | | Tunnel | |Tunnel | | |---+L2 Topo | ||MPLS-TE | |RSVP-TE | |SR TE || | |||
| +--------+ | +--------+ +--------+ +-------+ | | +--------+ || Tunnel | | Tunnel | |Tunnel || | |||
| +--------+ | | | +--------+ |+--------+ +--------+ +-------+| | |||
|---+TE Topo | | | |---+TE Topo | | | | |||
| +--------+ | | | +--------+ | | | |||
| +--------+ | | | +--------+ | | | |||
+---+L3 Topo | | | +---+L3 Topo | | | | |||
+--------+ | | +--------+ | | | |||
Legend: | ||||
Topo: Topology | ||||
Svc: Service | ||||
Figure 8: Sample Resource Facing Network Models | Figure 9: Sample Resource Facing Network Models | |||
Topology YANG module Examples: | Examples of topology YANG modules are listed below: | |||
o Network Topology Models: [RFC8345] defines a base model for | o Network Topology Models: [RFC8345] defines a base model for | |||
network topology and inventories. Network topology data include | network topology and inventories. Network topology data include | |||
link resource, node resource, and terminate-point resources. | link resource, node resource, and terminate-point resources. | |||
o TE Topology Models: [I-D.ietf-teas-yang-te-topo] defines a data | o TE Topology Models: [I-D.ietf-teas-yang-te-topo] defines a data | |||
model for representing and manipulating TE topologies. | model for representing and manipulating TE topologies. | |||
This module is extended from network topology model defined in | This module is extended from network topology model defined in | |||
[RFC8345] with TE topologies specifics. This model contains | [RFC8345] with TE topologies specifics. This model contains | |||
technology-agnostic TE Topology building blocks that can be | technology-agnostic TE Topology building blocks that can be | |||
augmented and used by other technology-specific TE Topology | augmented and used by other technology-specific TE topology | |||
models. | models. | |||
o L3 Topology Models | o L3 Topology Models | |||
[RFC8346] defines a data model for representing and manipulating | [RFC8346] defines a data model for representing and manipulating | |||
Layer 3 topologies. This model is extended from the network | 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 L3 topologies specifics. | |||
o L2 Topology Models | o L2 Topology Models | |||
[I-D.ietf-i2rs-yang-l2-network-topology] defines a data model for | [I-D.ietf-i2rs-yang-l2-network-topology] defines a data model for | |||
representing and manipulating L2 topologies. This model is | representing and manipulating L2 topologies. This model is | |||
extended from the network topology model defined in [RFC8345] with | extended from the network topology model defined in [RFC8345] with | |||
Layer 2 topologies specifics. | Layer 2 topologies specifics. | |||
Tunnel YANG module Examples: | Examples of tunnel YANG modules are provided below: | |||
o Tunnel identities to ease manipulating extensions to specific | o Tunnel identities to ease manipulating extensions to specific | |||
tunnels [RFC8675]. | tunnels [RFC8675]. | |||
o TE Tunnel Model: | o TE Tunnel Model: | |||
[I-D.ietf-teas-yang-te] defines a YANG module for the | [I-D.ietf-teas-yang-te] defines a YANG module for the | |||
configuration and management of TE interfaces, tunnels, and LSPs. | configuration and management of TE interfaces, tunnels, and LSPs. | |||
o SR TE Tunnel Model: | o SR TE Tunnel Model: | |||
skipping to change at page 29, line 40 ¶ | skipping to change at page 32, line 38 ¶ | |||
[I-D.ietf-teas-yang-te] augments the TE generic and MPLS-TE | [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. | state, RPC and notifications. | |||
o RSVP-TE MPLS Model: | o RSVP-TE MPLS Model: | |||
[I-D.ietf-teas-yang-rsvp-te] augments the RSVP-TE generic module | [I-D.ietf-teas-yang-rsvp-te] augments the RSVP-TE generic module | |||
with parameters to configure and manage signaling of MPLS RSVP-TE | with parameters to configure and manage signaling of MPLS RSVP-TE | |||
LSPs. | LSPs. | |||
Other Network Models: | Other sample Network Models are listed hereafter: | |||
o Path Computation API Model: | o Path Computation API Model: | |||
[I-D.ietf-teas-yang-path-computation] YANG module for a stateless | [I-D.ietf-teas-yang-path-computation] YANG module for a stateless | |||
RPC which complements the stateful solution defined in | RPC which complements the stateful solution defined in | |||
[I-D.ietf-teas-yang-te]. | [I-D.ietf-teas-yang-te]. | |||
o OAM Models (including Fault Management (FM) and Performance | o OAM Models (including Fault Management (FM) and Performance | |||
Monitoring): | Monitoring): | |||
[RFC8532] defines a base YANG module for the management of OAM | [RFC8532] defines a base YANG module for the management of OAM | |||
protocols that use Connectionless Communications. [RFC8533] | protocols that use Connectionless Communications. [RFC8533] | |||
defines a retrieval method YANG module for connectionless OAM | defines a retrieval method YANG module for connectionless OAM | |||
protocols. [RFC8531] defines a base YANG module for connection | protocols. [RFC8531] defines a base YANG module for connection | |||
oriented OAM protocols. These three models are intended to | oriented OAM protocols. These three models are intended to | |||
provide consistent reporting, configuration, and representation | provide consistent reporting, configuration, and representation | |||
for connection-less OAM and Connection oriented OAM separately. | for connection-less OAM and Connection oriented OAM separately. | |||
Alarm monitoring is a fundamental part of monitoring the network. | Alarm monitoring is a fundamental part of monitoring the network. | |||
Raw alarms from devices do not always tell the status of the | Raw alarms from devices do not always tell the status of the | |||
network services or necessarily point to the root cause. RFC8632 | network services or necessarily point to the root cause. | |||
defines a YANG module for alarm management. | [RFC8632] defines a YANG module for alarm management. | |||
o Generic Policy Model: | o Generic Policy Model: | |||
The Simplified Use of Policy Abstractions (SUPA) policy-based | The Simplified Use of Policy Abstractions (SUPA) policy-based | |||
management framework [RFC8328] defines base YANG modules | management framework [RFC8328] defines base YANG modules | |||
[I-D.ietf-supa-generic-policy-data-model] to encode policy. These | [I-D.ietf-supa-generic-policy-data-model] to encode policy. These | |||
models point to other device-, technology-, and service-specific | models point to other device-, technology-, and service-specific | |||
YANG modules. Policy rules within an operator's environment can | YANG modules. Policy rules within an operator's environment can | |||
be used to express high-level, possibly network-wide, policies to | be used to express high-level, possibly network-wide, policies to | |||
a network management function (within a controller, an | a network management function (within a controller, an | |||
orchestrator, or a network element). The network management | orchestrator, or a network element). The network management | |||
function can then control the configuration and/or monitoring of | function can then control the configuration and/or monitoring of | |||
network elements and services. This document describes the SUPA | network elements and services. This document describes the SUPA | |||
basic framework, its elements, and interfaces. | basic framework, its elements, and interfaces. | |||
A.3. Device Models: Samples | A.3. Device Models: Samples | |||
Network Element models (Figure 9) are used to describe how a service | Network Element models (Figure 10) are used to describe how a service | |||
can be implemented by activating and tweaking a set of functions | can be implemented by activating and tweaking a set of functions | |||
(enabled in one or multiple devices, or hosted in cloud | (enabled in one or multiple devices, or hosted in cloud | |||
infrastructures) that are involved in the service delivery. Figure 9 | infrastructures) that are involved in the service delivery. | |||
uses IETF-defined models as an example. | Figure 10 uses IETF-defined models as an example. | |||
+----------------+ | +----------------------+ | |||
--|Device Model | | +-| Device Model | | |||
| +----------------+ | | +----------------------+ | |||
| +------------------+ | | +----------------------+ | |||
+---------------+ | |Logical Network | | +---------------+ | | Logical Network | | |||
| | --| Element Mode | | | | +-| Element Model | | |||
| Architecture | | +------------------+ | | Architecture | | +----------------------+ | |||
| | | +----------------------+ | | | | +----------------------+ | |||
+-------+-------+ --|Network Instance Mode | | +-------+-------+ +-|Network Instance Model| | |||
| | +----------------------+ | | | +----------------------+ | |||
| | +-------------------+ | | | +----------------------+ | |||
| --|Routing Type Model | | | +-| Routing Type Model | | |||
| +-------------------+ | | +----------------------+ | |||
+-------+----------+----+------+------------+-----------+-------+ | +-------+----------+----+--------+------------+-----------+-------+ | |||
| | | | | | | | | | | | | | | | |||
+-+-+ +---+---+ +--+------+ +-+-+ +-----+---+ +---+-+ | | +-+-+ +---+---+ +----+----+ +-+-+ +-----+---+ +---+-+ | | |||
|ACL| |Routing| |Transport| |OAM| |Multicast| | PM | Others | |ACL| |Routing| |Transport| |OAM| |Multicast| | PM | Others | |||
+---+ |-------+ +---------+ +---+ +---------+ +-----+ | +---+ |-------+ +---------+ +---+ +---------+ +-----+ | |||
| +-------+ +----------+ +-------+ +-----+ +-----+ | | +-------+ | +----------+ | +-------+ | +-----+ | +-----+ | |||
--|Core | |MPLS Basic| |BFD | |IGMP | |TWAMP| | +-|Core | +-|MPLS Basic| +-|BFD | +-|IGMP | +-|TWAMP| | |||
| |Routing| +----------+ +-------+ |/MLD | +-----+ | | |Routing| | +----------+ | +-------+ | |/MLD | | +-----+ | |||
| +-------+ |MPLS LDP | |LSP Ping +-----+ |OWAMP| | | +-------+ +-|MPLS LDP | +-|LSP Ping | +-----+ +-|OWAMP| | |||
--|BGP | +----------+ +-------+ |PIM | +-----+ | +-|BGP | | +----------+ | +-------+ +-|PIM | | +-----+ | |||
| +-------+ |MPLS Static |MPLS-TP| +-----+ |LMAP | | | +-------+ +-|MPLS Static +-|MPLS-TP| | +-----+ +-|LMAP | | |||
--|ISIS | +----------+ +-------+ |MVPN | +-----+ | +-|ISIS | +----------+ +-------+ +-|MVPN | +-----+ | |||
| +-------+ +-----+ | | +-------+ +-----+ | |||
--|OSPF | | +-|OSPF | | |||
| +-------+ | | +-------+ | |||
--|RIP | | +-|RIP | | |||
| +-------+ | | +-------+ | |||
--|VRRP | | +-|VRRP | | |||
| +-------+ | | +-------+ | |||
--|SR/SRv6| | +-|SR/SRv6| | |||
| +-------+ | | +-------+ | |||
--|ISIS-SR| | +-|ISIS-SR| | |||
| +-------+ | | +-------+ | |||
--|OSPF-SR| | +-|OSPF-SR| | |||
+-------+ | +-------+ | |||
Figure 9: Network Element Modules Overview | Figure 10: Network Element Modules Overview | |||
A.3.1. Model Composition | A.3.1. Model Composition | |||
o Device Model | o Device Model | |||
[I-D.ietf-rtgwg-device-model] presents an approach for organizing | [I-D.ietf-rtgwg-device-model] presents an approach for organizing | |||
YANG modules in a comprehensive logical structure that may be used | YANG modules in a comprehensive logical structure that may be used | |||
to configure and operate network devices. The structure is itself | to configure and operate network devices. The structure is itself | |||
represented as an example YANG module, with all of the related | represented as an example YANG module, with all of the related | |||
component models logically organized in a way that is | component models logically organized in a way that is | |||
skipping to change at page 32, line 40 ¶ | skipping to change at page 35, line 40 ¶ | |||
form a data model that is tailored to meet the requirements of a | form a data model that is tailored to meet the requirements of a | |||
specific use case. [RFC8528] defines a mechanism, denoted schema | specific use case. [RFC8528] defines a mechanism, denoted schema | |||
mount, that allows for mounting one data model consisting of any | mount, that allows for mounting one data model consisting of any | |||
number of YANG modules at a specified location of another (parent) | number of YANG modules at a specified location of another (parent) | |||
schema. | schema. | |||
That capability does not cover design time. | That capability does not cover design time. | |||
A.3.2. Device Models: Samples | A.3.2. Device Models: Samples | |||
The following provides an overview of some device models that can be | The following provides an overview of some Device Models that can be | |||
used within a network. This list is not comprehensive. | used within a network. This list is not comprehensive. | |||
BGP: [I-D.ietf-idr-bgp-model] defines a YANG module for | BGP: [I-D.ietf-idr-bgp-model] defines a YANG module for | |||
configuring and managing BGP, including protocol, policy, | configuring and managing BGP, including protocol, policy, | |||
and operational aspects based on data center, carrier, and | and operational aspects based on data center, carrier, and | |||
content provider operational requirements. | content provider operational requirements. | |||
MPLS: [I-D.ietf-mpls-base-yang] defines a base model for MPLS | MPLS: [I-D.ietf-mpls-base-yang] defines a base model for MPLS | |||
which serves as a base framework for configuring and | which serves as a base framework for configuring and | |||
managing an MPLS switching subsystem. It is expected that | managing an MPLS switching subsystem. It is expected that | |||
End of changes. 123 change blocks. | ||||
381 lines changed or deleted | 487 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |