rfc8969xml2.original.xml   rfc8969.xml 
<?xml version="1.0" encoding="US-ASCII"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
by Daniel M Kohn (private) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.
RFC.2119.xml">
]>
<rfc category="info" docName="draft-ietf-opsawg-model-automation-framework-10"
ipr="trust200902">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?> <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc strict="yes" ?> <rfc xmlns:xi="http://www.w3.org/2001/XInclude"
docName="draft-ietf-opsawg-model-automation-framework-10" number="8969"
ipr="trust200902" obsoletes="" updates="" submissionType="IETF"
category="info" consensus="true" xml:lang="en" tocInclude="true"
symRefs="true" sortRefs="true" version="3">
<front> <front>
<title abbrev="Service and Network Management Automation">A Framework for <title abbrev="Service &amp; Network Management Automation">A Framework for
Automating Service and Network Management with YANG</title> Automating Service and Network Management with YANG</title>
<seriesInfo name="RFC" value="8969"/>
<author fullname="Qin Wu" initials="Q." role="editor" surname="Wu"> <author fullname="Qin Wu" initials="Q." role="editor" surname="Wu">
<organization>Huawei</organization> <organization>Huawei</organization>
<address> <address>
<postal> <postal>
<street>101 Software Avenue, Yuhua District</street> <street>101 Software Avenue</street>
<cityarea>Yuhua District</cityarea>
<city>Nanjing</city> <city>Nanjing</city>
<region>Jiangsu</region> <region>Jiangsu</region>
<code>210012</code> <code>210012</code>
<country>China</country> <country>China</country>
</postal> </postal>
<email>bill.wu@huawei.com</email> <email>bill.wu@huawei.com</email>
</address> </address>
</author> </author>
<author fullname="Mohamed Boucadair" initials="M." role="editor" surname="Bo
<author fullname="Mohamed Boucadair" initials="M." role="editor" ucadair">
surname="Boucadair">
<organization>Orange</organization> <organization>Orange</organization>
<address> <address>
<postal> <postal>
<street>Rennes 35000</street> <street>Rennes 35000</street>
<country>France</country> <country>France</country>
</postal> </postal>
<email>mohamed.boucadair@orange.com</email> <email>mohamed.boucadair@orange.com</email>
</address> </address>
</author> </author>
<author fullname="Diego R. Lopez " initials="D." surname="Lopez"> <author fullname="Diego R. Lopez " initials="D." surname="Lopez">
<organization>Telefonica I+D</organization> <organization>Telefonica I+D</organization>
<address> <address>
<postal> <postal>
<street></street> <street/>
<city/>
<city></city> <region/>
<code/>
<region></region>
<code></code>
<country>Spain</country> <country>Spain</country>
</postal> </postal>
<email>diego.r.lopez@telefonica.com</email> <email>diego.r.lopez@telefonica.com</email>
</address> </address>
</author> </author>
<author fullname="Chongfeng Xie" initials="C." surname="Xie"> <author fullname="Chongfeng Xie" initials="C." surname="Xie">
<organization>China Telecom</organization> <organization>China Telecom</organization>
<address> <address>
<postal> <postal>
<street></street> <street/>
<city>Beijing</city> <city>Beijing</city>
<country>China</country> <country>China</country>
</postal> </postal>
<email>xiechf@chinatelecom.cn</email> <email>xiechf@chinatelecom.cn</email>
</address> </address>
</author> </author>
<author fullname="Liang Geng" initials="L." surname="Geng"> <author fullname="Liang Geng" initials="L." surname="Geng">
<organization>China Mobile</organization> <organization>China Mobile</organization>
<address> <address>
<email>gengliang@chinamobile.com</email> <email>gengliang@chinamobile.com</email>
</address> </address>
</author> </author>
<date year="2021" month="January" />
<date year="2020" />
<area>OPS Area</area> <area>OPS Area</area>
<workgroup>OPSAWG</workgroup> <workgroup>OPSAWG</workgroup>
<keyword>Model Driven</keyword>
<keyword>Model Driven, YANG Data Model</keyword> <keyword>YANG Data Model</keyword>
<keyword>automation</keyword> <keyword>automation</keyword>
<keyword>service delivery</keyword> <keyword>service delivery</keyword>
<keyword>notification</keyword> <keyword>notification</keyword>
<keyword>SDN</keyword> <keyword>SDN</keyword>
<abstract> <abstract>
<t>Data models provide a programmatic approach to represent services and <t>Data models provide a programmatic approach to represent services and
networks. Concretely, they can be used to derive configuration networks. Concretely, they can be used to derive configuration
information for network and service components, and state information information for network and service components, and state information
that will be monitored and tracked. Data models can be used during the that will be monitored and tracked.
service and network management life cycle, such as service
instantiation, provisioning, optimization, monitoring, diagnostic, and Data models can be used during the service and network management life cycle
assurance. Data models are also instrumental in the automation of (e.g., service instantiation, service provisioning, service optimization,
network management, and they can provide closed-loop control for service monitoring, service diagnosing, and service assurance).
adaptive and deterministic service creation, delivery, and
maintenance.</t>
Data models are also instrumental in the automation of network management, and
they can provide closed-loop control for adaptive and deterministic service
creation, delivery, and maintenance.</t>
<t>This document describes a framework for service and network <t>This document describes a framework for service and network
management automation that takes advantage of YANG modeling management automation that takes advantage of YANG modeling
technologies. This framework is drawn from a network operator technologies. This framework is drawn from a network operator
perspective irrespective of the origin of a data model; it can thus perspective irrespective of the origin of a data model; thus, it can
accommodate YANG modules that are developed outside the IETF.</t> accommodate YANG modules that are developed outside the IETF.</t>
</abstract> </abstract>
</front> </front>
<middle> <middle>
<section anchor="intro" title="Introduction"> <section anchor="intro" numbered="true" toc="default">
<name>Introduction</name>
<t>Service management systems usually comprise service <t>Service management systems usually comprise service
activation/provision and service operation. Current service delivery activation/provision and service operation. Current service delivery
procedures, from the processing of customer requirements and orders to procedures, from the processing of customer requirements and orders to
service delivery and operation, typically assume the manipulation of service delivery and operation, typically assume the manipulation of
data sequentially into multiple Operations Support System (OSS) or data sequentially into multiple Operations Support System (OSS) or
Business Support System (BSS) applications that may be managed by Business Support System (BSS) applications that may be managed by
different departments within the service provider's organization (e.g., different departments within the service provider's organization (e.g.,
billing factory, design factory, network operation center). Many of billing factory, design factory, network operation center). Many of
these applications have been developed in-house over the years and these applications have been developed in house over the years and
operate in a silo mode:<list style="symbols"> operate in a silo mode. As a result:</t>
<t>The lack of standard data input/output (i.e., data model) raises
many challenges in system integration and often results in manual
configuration tasks.</t>
<t>Service fulfillment systems might have a limited visibility on
the network state and therefore have slow response to network
changes.</t>
</list></t>
<t>Software Defined Networking (SDN) becomes crucial to address these <ul spacing="normal">
<li>The lack of standard data input/output (i.e., data model) raises
many challenges in system integration and often results in manual
configuration tasks.</li>
<li>Service fulfillment systems might have a limited visibility on
the network state and may therefore have a slow response to network
changes.</li>
</ul>
<t>Software-Defined Networking (SDN) becomes crucial to address these
challenges. SDN techniques are meant to automate the overall service challenges. SDN techniques are meant to automate the overall service
delivery procedures and typically rely upon standard data models. These delivery procedures and typically rely upon standard data models. These
models are used to not only reflect service providers' savoir-faire, but models are used not only to reflect service providers' savoir faire, but
also to dynamically instantiate and enforce a set of service-inferred also to dynamically instantiate and enforce a set of service-inferred
policies that best accommodate what has been defined and possibly policies that best accommodate what has been defined and possibly
negotiated with the customer. <xref target="RFC7149"></xref> provides a negotiated with the customer. <xref target="RFC7149" format="default"/>
first tentative attempt to rationalize that service provider's view on provides a first tentative attempt to rationalize that service
the SDN space by identifying concrete technical domains that need to be provider's view on the SDN space by identifying concrete technical
considered and for which solutions can be provided: <list domains that need to be considered and for which solutions can be
style="symbols"> provided. These include: </t>
<t>Techniques for the dynamic discovery of topology, devices, and <ul spacing="normal">
<li>Techniques for the dynamic discovery of topology, devices, and
capabilities, along with relevant information and data models that capabilities, along with relevant information and data models that
are meant to precisely document such topology, devices, and their are meant to precisely document such topology, devices, and their
capabilities.</t> capabilities.</li>
<li>Techniques for exposing network services <xref target="RFC8309"
<t>Techniques for exposing network services <xref format="default"/> and their characteristics.</li>
target="RFC8309"></xref> and their characteristics.</t> <li>Techniques used by service-derived dynamic resource allocation
<t>Techniques used by service-derived dynamic resource allocation
and policy enforcement schemes, so that networks can be programmed and policy enforcement schemes, so that networks can be programmed
accordingly.</t> accordingly.</li>
<li>Dynamic feedback mechanisms that are meant to assess how
<t>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 perspectives.</t> service fulfillment and assurance perspective.</li>
</list></t> </ul>
<t>Models are key for each of the four technical items above.
<t>Models are key for each of the aforementioned four technical items.
Service and network management automation is an important step to Service and network management automation is an important step to
improve the agility of network operations. Models are also important to improve the agility of network operations. Models are also important to
ease integrating multi-vendor solutions.</t> ease integrating multi-vendor solutions.</t>
<t>YANG module <xref target="RFC7950" format="default"/> developers have
taken both top-down and bottom-up approaches to develop modules <xref
target="RFC8199" format="default"/> and to establish a mapping between a
network technology and customer requirements at the top or abstracting
common constructs from various network technologies at the bottom.
<t>YANG <xref target="RFC7950"></xref> module developers have taken both At the time of writing this document (2020), there are many YANG data models,
top-down and bottom-up approaches to develop modules <xref including configuration and service models, that have been specified or are
target="RFC8199"></xref> and to establish a mapping between a network being specified by the IETF. They cover many of the networking protocols and
technology and customer requirements at the top or abstracting common techniques. However, how these models work together to configure a function,
constructs from various network technologies at the bottom. At the time manage a set of devices involved in a service, or provide a service is
of writing this document (2020), there are many YANG data models something that is not currently documented either within the IETF or other
including configuration and service models that have been specified or Standards Development Organizations (SDOs).</t>
are being specified by the IETF. They cover many of the networking
protocols and techniques. However, how these models work together to
configure a function, manage a set of devices involved in a service, or
provide a service is something that is not currently documented either
within the IETF or other Standards Development Organizations (SDOs).</t>
<t>Many of the YANG modules listed in this document are used to exchange <t>Many of the YANG modules listed in this document are used to exchange
data between NETCONF/RESTCONF clients and servers <xref data between NETCONF/RESTCONF clients and servers <xref target="RFC6241"
target="RFC6241"></xref><xref target="RFC8040"></xref>. Nevertheless, format="default"/><xref target="RFC8040"
YANG is a transport-independent data modeling language. It can thus be format="default"/>. Nevertheless, YANG is a transport-independent data
used independently of NETCONF/RESTONF. For example, YANG can be used to modeling language. It can thus be used independently of
define abstract data structures <xref target="RFC8791"></xref> that can NETCONF/RESTCONF. For example, YANG can be used to define abstract data
be manipulated by other protocols (e.g., <xref structures <xref target="RFC8791" format="default"/> that can be
target="I-D.ietf-dots-rfc8782-bis"></xref>).</t> manipulated by other protocols (e.g., <xref
target="I-D.ietf-dots-rfc8782-bis" format="default"/>).</t>
<t>This document describes an architectural framework for service and <t>This document describes an architectural framework for service and
network management automation (<xref target="concept"></xref>) that network management automation (<xref target="concept"
takes advantage of YANG modeling technologies and investigates how YANG format="default"/>) that takes advantage of YANG modeling technologies
data models at different layers interact with each other (e.g., service and investigates how YANG data models at different layers interact with
mapping, model composition) in the context of service delivery and each other (e.g., Service Mapping, model composition) in the context of
fulfillment (<xref target="compo"></xref>). Concretely, the following service delivery and fulfillment (<xref target="compo"
benefits can be provided: <list style="symbols"> format="default"/>). Concretely, the following benefits can be provided:
<t>Allow for vendor-agnostic interfaces to manage a service and the </t>
underlying network.</t> <ul spacing="normal">
<li>Vendor-agnostic interfaces managing a service and the
<t>Move from deployment schemes where vendor-specific network underlying network are allowed.</li>
<li>Movement from deployment schemes where vendor-specific network
managers are required to a scheme where the entities that are managers are required to a scheme where the entities that are
responsible for orchestrating and controlling services and network responsible for orchestrating and controlling services and network
resources provided by multi-vendor devices are unified.</t> resources provided by multi-vendor devices are unified is allowed.</li
>
<t>Ease data inheritance and reusability among the various <li>Data inheritance and reusability among the various
architecture layers thus promoting a network-wise provisioning architecture layers thus promoting a network-wise provisioning
instead of device-specific configuration.</t> instead of device-specific configuration is eased.</li>
<li>Dynamically feeding a decision-making process (e.g., Controllers,
<t>Dynamically feed a decision-making process (e.g., Controllers,
Orchestrators) with notifications that will trigger appropriate Orchestrators) with notifications that will trigger appropriate
actions, allowing that decision-making process to continuously actions, allowing that decision-making process to continuously
adjust a network (and thus, the involved resources) to deliver the adjust a network (and thus the involved resources) to deliver the
service that conforms to the intended parameters (service service that conforms to the intended parameters (service
objectives).</t> objectives) is allowed.</li>
</list></t> </ul>
<t>This framework is drawn from a network operator perspective <t>This framework is drawn from a network operator perspective
irrespective of the origin of a data model; it can also accommodate YANG irrespective of the origin of a data model; it can also accommodate YANG
modules that are developed outside the IETF. The document covers service modules that are developed outside the IETF. The document covers service
models that are used by an operator to expose its services and capture models that are used by an operator to expose its services and capture
service requirements from the customers (including other operators). service requirements from the customers (including other operators).
Nevertheless, the document does not elaborate on the communication Nevertheless, the document does not elaborate on the communication
protocol(s) that makes use of these service models in order to request protocol(s) that makes use of these service models in order to request
and deliver a service. Such considerations are out of scope.</t> and deliver a service. Such considerations are out of scope.</t>
<t>The document identifies a list of use cases to exemplify the proposed <t>The document identifies a list of use cases to exemplify the proposed
approach (<xref target="examples"></xref>), but it does not claim nor approach (<xref target="examples" format="default"/>), but it does not cla
aim to be exhaustive. <xref target="app"></xref> lists some examples to im nor
aim to be exhaustive. <xref target="app" format="default"/> lists some exa
mples to
illustrate the layered YANG modules view.</t> illustrate the layered YANG modules view.</t>
</section> </section>
<section numbered="true" toc="default">
<name>Terminology and Abbreviations</name>
<t/>
<section numbered="true" toc="default">
<name>Terminology</name>
<t>The following terms are defined in <xref target="RFC8309"
format="default"/> and <xref target="RFC8199" format="default"/> and are
not redefined here:</t>
<ul spacing="normal">
<li>Network Operator</li>
<li>Customer</li>
<li>Service</li>
<li>Data Model</li>
<li>Service Model</li>
<li>Network Element Model</li>
</ul>
<section title="Terminology and Acronyms"> <t>In addition, the document makes use of the following terms: </t>
<t></t> <dl newline="true" spacing="normal">
<dt>Network Model:</dt>
<section title="Terminology"> <dd>
<t>The following terms are defined in <xref <t>Describes a network-level abstraction
target="RFC8309"></xref><xref target="RFC8199"></xref> and are not
redefined here:<list style="symbols">
<t>Network Operator</t>
<t>Customer</t>
<t>Service</t>
<t>Data Model</t>
<t>Service Model</t>
<t>Network Element Module</t>
</list></t>
<t>In addition, the document makes use of the following terms: <list
style="hanging">
<t hangText="Network Model:">Describes a network level abstraction
(or a subset of aspects of a network infrastructure), including (or a subset of aspects of a network infrastructure), including
devices and their subsystems, and relevant protocols operating at devices and their subsystems, and relevant protocols operating at
the link and network layers across multiple devices. This model the link and network layers across multiple devices. This model
corresponds to the network configuration model discussed in <xref corresponds to the network configuration model discussed in <xref ta
target="RFC8309"></xref>.<vspace blankLines="1" />It can be used rget="RFC8309" format="default"/>.</t>
<t>It can be used
by a network operator to allocate resources (e.g., tunnel by a network operator to allocate resources (e.g., tunnel
resource, topology resource) for the service or schedule resources resource, topology resource) for the service or schedule resources
to meet the service requirements defined in a service model.</t> to meet the service requirements defined in a service model.</t>
</dd>
<t hangText="Network Domain:">Refers to a network partitioning <dt>Network Domain:</dt>
<dd>Refers to a network partitioning
that is usually followed by network operators to delimit parts of that is usually followed by network operators to delimit parts of
their network. "access network" and "core network" are examples of their network. "access network" and "core network" are examples of
network domains.</t> network domains.</dd>
<dt>Device Model:</dt>
<t hangText="Device Model:">Refers to the Network Element YANG <dd>
data model described in <xref target="RFC8199"></xref> or the <t>Refers to the Network Element YANG
device configuration model discussed in <xref data model described in <xref target="RFC8199" format="default"/> or
target="RFC8309"></xref>.<vspace blankLines="1" />Device models the
device configuration model discussed in <xref target="RFC8309" forma
t="default"/>.</t>
<t>Device models
are also used to refer to model a function embedded in a device are also used to refer to model a function embedded in a device
(e.g., Network Address Translation (NAT) <xref (e.g., Network Address Translation (NAT) <xref target="RFC8512" form
target="RFC8512"></xref>, Access Control Lists (ACLs) <xref at="default"/>, Access Control Lists (ACLs) <xref target="RFC8519" format="defau
target="RFC8519"></xref>).</t> lt"/>).</t>
</dd>
<t hangText="Pipe:">Refers to a communication scope where only <dt>Pipe:</dt>
<dd>Refers to a communication scope where only
one-to-one (1:1) communications are allowed. The scope can be one-to-one (1:1) communications are allowed. The scope can be
identified between ingress and egress nodes, two service sites, identified between ingress and egress nodes, two service sites,
etc.</t> etc.</dd>
<dt>Hose:</dt>
<t hangText="Hose:">Refers to a communication scope where <dd>Refers to a communication scope where
one-to-many (1:N) communications are allowed (e.g., one site to one-to-many (1:N) communications are allowed (e.g., one site to
multiple sites).</t> multiple sites).</dd>
<dt>Funnel:</dt>
<t hangText="Funnel:">Refers to a communication scope where <dd>Refers to a communication scope where
many-to-one (N:1) communications are allowed.</t> many-to-one (N:1) communications are allowed.</dd>
</list></t> </dl>
</section> </section>
<section numbered="true" toc="default">
<section title="Acronyms"> <name>Abbreviations</name>
<t>The following acronyms are used in the document:<?rfc subcompact="yes <t>The following abbreviations are used in the document:</t>
" ?></t> <dl newline="false" spacing="compact" indent="8">
<dt>ACL</dt>
<t><list hangIndent="8" style="hanging"> <dd>Access Control List</dd>
<t hangText="ACL">Access Control List</t> <dt>AS</dt>
<dd>Autonomous System</dd>
<t hangText="AS">Autonomous System</t> <dt>AP</dt>
<dd>Access Point</dd>
<t hangText="AP">Access Point</t> <dt>CE</dt>
<dd>Customer Edge</dd>
<t hangText="CE">Customer Edge</t> <dt>DBE</dt>
<dd>Data Border Element</dd>
<t hangText="DBE">Data Border Element</t> <dt>E2E</dt>
<dd>End-to-End</dd>
<t hangText="E2E">End-to-End</t> <dt>ECA</dt>
<dd>Event Condition Action</dd>
<t hangText="ECA">Event Condition Action</t> <dt>L2VPN</dt>
<dd>Layer 2 Virtual Private Network</dd>
<t hangText="L2VPN">Layer 2 Virtual Private Network</t> <dt>L3VPN</dt>
<dd>Layer 3 Virtual Private Network</dd>
<t hangText="L3VPN">Layer 3 Virtual Private Network</t> <dt>L3SM</dt>
<dd>L3VPN Service Model</dd>
<t hangText="L3SM">L3VPN Service Model</t> <dt>L3NM</dt>
<dd>L3VPN Network Model</dd>
<t hangText="L3NM">L3VPN Network Model</t> <dt>NAT</dt>
<dd>Network Address Translation</dd>
<t hangText="NAT">Network Address Translation</t> <dt>OAM</dt>
<dd>Operations, Administration, and Maintenance</dd>
<t hangText="OAM">Operations, Administration, and Maintenance</t> <dt>OWD</dt>
<dd>One-Way Delay</dd>
<t hangText="OWD">One-Way Delay</t> <dt>PE</dt>
<dd>Provider Edge</dd>
<t hangText="PE">Provider Edge</t> <dt>PM</dt>
<dd>Performance Monitoring</dd>
<t hangText="PM">Performance Monitoring</t> <dt>QoS</dt>
<dd>Quality of Service</dd>
<t hangText="QoS">Quality of Service</t> <dt>RD</dt>
<dd>Route Distinguisher</dd>
<t hangText="RD">Route Distinguisher</t> <dt>RT</dt>
<dd>Route Target</dd>
<t hangText="RT">Route Target</t> <dt>SBE</dt>
<dd>Session Border Element</dd>
<t hangText="SBE">Session Border Element</t> <dt>SDN</dt>
<dd>Software-Defined Networking</dd>
<t hangText="SDN">Software Defined Networking</t> <dt>SP</dt>
<dd>Service Provider</dd>
<t hangText="SP">Service Provider</t> <dt>TE</dt>
<dd>Traffic Engineering</dd>
<t hangText="TE">Traffic Engineering</t> <dt>VN</dt>
<dd>Virtual Network</dd>
<t hangText="VN">Virtual Network</t> <dt>VPN</dt>
<dd>Virtual Private Network</dd>
<t hangText="VPN">Virtual Private Network</t> <dt>VRF</dt>
<dd>Virtual Routing and Forwarding</dd>
<t hangText="VRF">Virtual Routing and Forwarding</t> </dl>
</list></t> <t/>
<t><?rfc subcompact="no" ?></t>
</section> </section>
</section> </section>
<section anchor="concept" numbered="true" toc="default">
<section anchor="concept" title="Architectural Concepts and Goals"> <name>Architectural Concepts and Goals</name>
<section anchor="lay" title="Data Models: Layering and Representation"> <section anchor="lay" numbered="true" toc="default">
<t>As described in Section 2 of <xref target="RFC8199"></xref>, <name>Data Models: Layering and Representation</name>
<t>As described in <xref target="RFC8199"
sectionFormat="of" section="2"/>,
layering of modules allows for better reusability of lower-layer layering of modules allows for better reusability of lower-layer
modules by higher-level modules while limiting duplication of features modules by higher-level modules while limiting duplication of features
across layers.</t> across layers.</t>
<t>Data models in the context of network management can be classified <t>Data models in the context of network management can be classified
into service, network, and device models. Different service models may into service, network, and device models. Different service models may
rely on the same set of network and/or device models.</t> rely on the same set of network and/or device models.</t>
<t>Service models traditionally follow a top-down approach and are <t>Service models traditionally follow a top-down approach and are
mostly customer-facing YANG modules providing a common model construct mostly customer-facing YANG modules providing a common model construct
for higher level network services (e.g., Layer 3 Virtual Private for higher-level network services (e.g., Layer 3 Virtual Private
Network (L3VPN)). Such modules can be mapped to network Network (L3VPN)). Such modules can be mapped to network
technology-specific modules at lower layers (e.g., tunnel, routing, technology-specific modules at lower layers (e.g., tunnel, routing,
Quality of Service (QoS), security). For example, service models can Quality of Service (QoS), security). For example, service models can
be used to characterise the network service(s) to be ensured between be used to characterize the network service(s) to be ensured between
service nodes (ingress/egress) such as: <?rfc subcompact="yes" ?><list service nodes (ingress/egress) such as: </t>
style="symbols"> <ul spacing="compact">
<t>the communication scope (pipe, hose, funnel, ...),</t>
<t>the directionality (inbound/outbound),</t>
<t>the traffic performance guarantees expressed using metrics such
as One-Way Delay (OWD) <xref target="RFC7679"></xref> or One-Way
Loss <xref target="RFC7680"></xref>; a summary of performance
metrics maintained by IANA can be found in <xref
target="IPPM"></xref>,</t>
<t>link capacity <xref target="RFC5136"></xref> <xref
target="I-D.ietf-ippm-capacity-metric-method"></xref>,</t>
<t>etc.<?rfc subcompact="no" ?></t>
</list></t>
<t><xref target="service_ex"></xref> depicts the example of a VoIP
service that relies upon connectivity services offered by a network
operator. In this example, the VoIP service is offered to the network
operator's customers by Service Provider (SP1). In order to provide
global VoIP reachability, SP1 service site interconnects with other
Service Providers service sites typically by interconnecting Session
Border Elements (SBEs) and Data Border Elements (DBEs) <xref
target="RFC5486"></xref><xref target="RFC6406"></xref>. For other VoIP
destinations, sessions are forwarded over the Internet. These
connectivity services can be captured in a YANG service model that
reflects the service attributes that are shown in <xref
target="service_ex2"></xref>. This example follows the IP Connectivity
Provisioning Profile template defined in <xref
target="RFC7297"></xref>.</t>
<t>In reference to <xref target="service_ex2"></xref>, "Full traffic <li>the communication scope (pipe, hose, funnel, etc.),</li>
performance guarantees class" refers to a service class where all <li>the directionality (inbound/outbound),</li>
traffic performance metrics included in the service model (OWD, loss, <li>the traffic performance guarantees expressed using metrics such
delay variation) are guaranteed, while "Delay traffic performance as One-Way Delay (OWD) <xref target="RFC7679" format="default"/> or
guarantees class" refers to a service class where only OWD is One-Way
guaranteed.</t> Loss <xref target="RFC7680" format="default"/>; a summary of perform
ance
metrics maintained by IANA can be found in <xref target="IPPM" forma
t="default"/>,</li>
<li>link capacity <xref target="RFC5136" format="default"/> <xref targ
et="I-D.ietf-ippm-capacity-metric-method" format="default"/>,</li>
<li>etc.</li>
</ul>
<t><xref target="service_ex" format="default"/> depicts the example of
a Voice over IP (VoIP) service that relies upon connectivity services
offered by a network operator. In this example, the VoIP service is
offered to the network operator's customers by Service Provider 1
(SP1). In order to provide global VoIP reachability, SP1 Service Site
interconnects with other Service Providers service sites typically by
interconnecting Session Border Elements (SBEs) and Data Border
Elements (DBEs) <xref target="RFC5486" format="default"/><xref
target="RFC6406" format="default"/>. For other VoIP destinations,
sessions are forwarded over the Internet. These connectivity services
can be captured in a YANG service model that reflects the service
attributes that are shown in <xref target="service_ex2"/>. This example
follows
the IP Connectivity Provisioning Profile template defined in <xref
target="RFC7297" format="default"/>.</t>
<t><figure anchor="service_ex" <figure anchor="service_ex">
title="An Example of Service Connectivity Components"> <name>An Example of Service Connectivity Components</name>
<artwork align="center"><![CDATA[ ,--,--,--. <artwork align="center" name="" type="" alt=""><![CDATA[ ,--
,--,--,--. ,--,--. ,--,--,--.
,-' 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
`-. ,-' `-. ,-' (3) `-. ,-' `-. ,-' (3)
`--'--'--' `--'--'--' `--'--'--' `--'--'--'
Network Operator Network Operator
**** (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
]]></artwork> ]]></artwork>
</figure></t> </figure>
<t><figure align="center" anchor="service_ex2" <t>In reference to <xref target="service_ex2"/>, "Full traffic
title="Sample Attributes Captured in a Service Model"> performance guarantees class" refers to a service class where all
<artwork><![CDATA[Connectivity: Scope and Guarantees traffic performance metrics included in the service model (OWD, loss,
delay variation) are guaranteed, while "Delay traffic performance
guarantees class" refers to a service class where only OWD is
guaranteed.</t>
<figure anchor="service_ex2">
<name>Sample Attributes Captured in a Service Model</name>
<sourcecode>
<![CDATA[Connectivity: Scope and Guarantees
(1) Inter-SP connectivity (1) Inter-SP connectivity
- Pipe scope from the local to the remote SBE/DBE - Pipe scope from the local to the remote SBE/DBE
- Full traffic performance guarantees class - Full traffic performance guarantees class
(2) Customer to SP connectivity (2) Customer-to-SP connectivity
- Hose/Funnel scope connecting the local SBE/DBE - Hose/Funnel scope connecting the local SBE/DBE
to the customer access points to the customer access points
- Full traffic performance guarantees class - Full traffic performance guarantees class
(3) SP to any destination connectivity (3) SP to any destination connectivity
- Hose/Funnel scope from the local SBE/DBE to the - Hose/Funnel scope from the local SBE/DBE to the
Internet gateway Internet gateway
- Delay traffic performance guarantees class - Delay traffic performance guarantees class
Flow Identification Flow Identification
* Destination IP address (SBE, DBE) * Destination IP address (SBE, DBE)
* DSCP marking * DSCP marking
Traffic Isolation Traffic Isolation
* VPN * VPN
Routing & Forwarding Routing & Forwarding
* Routing rule to exclude some ASes from the inter-domain * Routing rule to exclude some ASes from the inter-domain
paths 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]]>
]]></artwork> </sourcecode>
</figure></t> </figure>
<t>Network models are mainly network resource-facing modules; they <t>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).</t> topology and traffic-engineering tunnel modules).</t>
<t>Device (and function) models usually follow a bottom-up approach <t>Device (and function) models usually follow a bottom-up approach
and are mostly technology-specific modules used to realize a service and are mostly technology-specific modules used to realize a service
(e.g., BGP, ACL).</t> (e.g., BGP, ACL).</t>
<t>Each level maintains a view of the supported YANG modules provided <t>Each level maintains a view of the supported YANG modules provided
by lower levels (see for example, <xref target="app"></xref>). by lower levels (see for example, <xref target="app"
Mechanisms such as YANG library <xref target="RFC8525"></xref> can be format="default"/>). Mechanisms such as the YANG library <xref
used to expose which YANG modules are supported by nodes in lower target="RFC8525" format="default"/> can be used to expose which YANG
levels.</t> modules are supported by nodes in lower levels.</t>
<t><xref target="layering" format="default"/> illustrates the overall
<t><xref target="layering"></xref> illustrates the overall layering layering model. The reader may refer to <xref target="RFC8309"
model. The reader may refer to Section 4 of <xref sectionFormat="of" section="4"/> for an overview of "Orchestrator" and
target="RFC8309"></xref> for an overview of "Orchestrator" and
"Controller" elements. All these elements (i.e., Orchestrator(s), "Controller" elements. All these elements (i.e., Orchestrator(s),
Controller(s), device(s)) are under the responsibility of the same Controller(s), device(s)) are under the responsibility of the same
operator.</t> operator.</t>
<figure anchor="layering">
<figure align="center" anchor="layering" <name>Layering and Representation within a Network Operator</name>
title="Layering and Representation Within a Network Operator"> <artwork align="center" name="" type="" alt=""><![CDATA[
<artwork align="center"><![CDATA[ +--------------------------------- +-----------------------------------------------------------------+
--------------------------------+ | Hierarchy Abstraction |
| Hierarchy Abstraction | | |
| | | +-----------------------+ Service Model |
| +-----------------------+ Service Model | | | Orchestrator | (Customer Oriented) |
| | Orchestrator | (Customer Oriented) | | |+---------------------+| Scope: "1:1" Pipe model |
| |+---------------------+| Scope: "1:1" Pipe model | | || Service Modeling || |
| || Service Modeling || | | |+---------------------+| |
| |+---------------------+| | | | | Bidirectional |
| | | Bidirectional | | |+---------------------+| +-+ Capacity, OWD +-+ |
| |+---------------------+| +-+ Capacity, OWD +-+ | | ||Service Orchestration|| | +----------------+ | |
| ||Service Orchestration|| | +----------------+ | | | |+---------------------+| +-+ +-+ |
| |+---------------------+| +-+ +-+ | | +-----------------------+ Ingress Egress |
| +-----------------------+ Ingress Egress | | |
| | | |
| | | +-----------------------+ 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 | | | | | +-+ +--+ +---+ +-+ |
| | | +-+ +--+ +---+ +-+ | | |+---------------------+| src dst |
| |+---------------------+| src dst | | ||Network Orchestration|| L3VPN over TE |
| ||Network Orchestration|| L3VPN over TE | | |+---------------------+| Instance Name/Access Interface |
| |+---------------------+| Instance Name/Access Interface | | +-----------------------+ Protocol Type/Capacity/RD/RT/... |
| +-----------------------+ Protocol Type/Capacity/RD/RT/... | | |
| | | |
| | | +-----------------------+ Device Model |
| +-----------------------+ Device Model | | | Device | |
| | Device | | | |+--------------------+ | |
| |+--------------------+ | | | || Device Modeling | | Interface add, BGP Peer, |
| || Device Modeling | | Interface add, BGP Peer, | | |+--------------------+ | Tunnel ID, QoS/TE, ... |
| |+--------------------+ | Tunnel ID, QoS/TE, ... | | +-----------------------+ |
| +-----------------------+ | +-----------------------------------------------------------------+]]></artwork>
+-----------------------------------------------------------------+]]></artwo
rk>
</figure> </figure>
<t/>
<t></t>
<t>A composite service offered by a network operator may rely on <t>A composite service offered by a network operator may rely on
services from other operators. In such case, the network operator acts services from other operators. In such a case, the network operator acts
as a customer to request services from other networks. The operators as a customer to request services from other networks. The operators
providing these services will then follow the layering depicted in providing these services will then follow the layering depicted in
<xref target="layering"></xref>. The mapping between a composite <xref target="layering" format="default"/>. The mapping between a
service and a third-party service is maintained at the orchestration composite service and a third-party service is maintained at the
level. From a data plane perspective, appropriate traffic steering orchestration level. From a data-plane perspective, appropriate
policies (e.g., Service Function Chaining <xref traffic steering policies (e.g., Service Function Chaining <xref
target="RFC7665"></xref>) are managed by the network controllers to target="RFC7665" format="default"/>) are managed by the network
guide how/when a third party service is invoked for flows bound to a controllers to guide how/when a third-party service is invoked for
composite service.</t> flows bound to a composite service.</t>
<t>The layering model depicted in <xref target="layering" format="defaul
<t>The layering model depicted in <xref target="layering"></xref> does t"/> does
not make any assumption about the location of the various entities not make any assumption about the location of the various entities
(e.g., controller, orchestrator) within the network. As such, the (e.g., Controller, Orchestrator) within the network. As such, the
architecture does not preclude deployments where, for example, the architecture does not preclude deployments where, for example, the
controller is embedded on a device that hosts other functions that are Controller is embedded on a device that hosts other functions that are
controlled via YANG modules.</t> controlled via YANG modules.</t>
<t>In order to ease the mapping between layers and data reuse, this <t>In order to ease the mapping between layers and data reuse, this
document focuses on service models that are modelled using YANG. document focuses on service models that are modeled using YANG.
Nevertheless, fully compliant with Section 3 of <xref Nevertheless, fully compliant with <xref target="RFC8309"
target="RFC8309"></xref>, <xref target="layering"></xref> does not sectionFormat="of" section="3"/>, <xref target="layering"
preclude service models to be modelled using other data modelling format="default"/> does not preclude service models to be modeled
languages than YANG.</t> using data modeling languages other than YANG.</t>
</section> </section>
<section anchor="del" numbered="true" toc="default">
<section anchor="del" title="Automation of Service Delivery Procedures"> <name>Automation of Service Delivery Procedures</name>
<t>Service models can be used by a network operator to expose its <t>Service models can be used by a network operator to expose its
services to its customers. Exposing such models allows to automate the services to its customers. Exposing such models allows automation of 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 models are used to feed a infrastructure over a VPN). Such models are used to feed a
decision-making intelligence to adequately accommodate customer's decision-making intelligence to adequately accommodate customer n
needs.</t> eeds.</t>
<t>Also, such models may be used jointly with services that require <t>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 defined by the DOTS WG to dynamically trigger requests to handle
Distributed Denial-of-Service (DDoS) attacks <xref Distributed Denial-of-Service (DDoS) attacks <xref target="RFC8783"
target="RFC8783"></xref>. The service filtering request modelled using format="default"/>. The service filtering request modeled using <xref
<xref target="RFC8783"></xref> will be translated into device-specific target="RFC8783" format="default"/> will be translated into
filtering (e.g., ACLs defined in <xref target="RFC8519"></xref>) that device-specific filtering (e.g., ACLs defined in <xref
fulfils the service request.</t> target="RFC8519" format="default"/>) that fulfills the service
request.</t>
<t>Network models can be derived from service models and used to
provision, monitor, instantiate the service, and provide lifecycle
management of network resources. Doing so is meant to:</t>
<t><list style="symbols">
<t>expose network resources to customers (including other network
operators) to provide service fulfillment and assurance.</t>
<t>allow customers (or network operators) to dynamically adjust <t>
the network resources based on service requirements as described Network models can be derived from service models and used to provision,
in service models (e.g., <xref target="service_ex2"></xref>) and monitor, and instantiate the service. Also, they are used to provide
the current network performance information described in the life-cycle management of network resources. Doing so is meant to:
telemetry modules.</t> </t>
</list></t>
<ul spacing="normal">
<li>expose network resources to customers (including other network
operators) to provide service fulfillment and assurance.</li>
<li>allow customers (or network operators) to dynamically adjust the
network resources based on service requirements as described in
service models (e.g., <xref target="service_ex2" />) and the
current network performance information described in the telemetry
modules.</li>
</ul>
<t>Note that it is out of the scope of this document to elaborate on <t>Note that it is out of the scope of this document to elaborate on
the communication protocols that are used to implement the interface the communication protocols that are used to implement the interface
between the service ordering (customer) and service order handling between the service ordering (customer) and service order handling
(provider).</t> (provider).</t>
</section> </section>
<section anchor="ful" numbered="true" toc="default">
<section anchor="ful" title="Service Fulfillment Automation"> <name>Service Fulfillment Automation</name>
<t>To operate a service, the settings of the parameters in the device <t>To operate a service, the settings of the parameters in the device
models are derived from service models and/or network models and are models are derived from service models and/or network models and are
used to:</t> used to:</t>
<ul spacing="normal">
<t><list style="symbols"> <li>Provision each involved network function/device with the proper
<t>Provision each involved network function/device with the proper configuration information.</li>
configuration information.</t> <li>Operate the network based on service requirements as described
in the service model(s) and local operational guidelines.</li>
<t>Operate the network based on service requirements as described </ul>
in the service model(s) and local operational guidelines.</t>
</list></t>
<t>In addition, the operational state including configuration that is <t>In addition, the operational state including configuration that is
in effect together with statistics should be exposed to upper layers in effect together with statistics should be exposed to upper layers
to provide better network visibility and assess to what extent the to 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.</t> inputs.</t>
<t>Filters are enforced on the notifications that are communicated to <t>Filters are enforced on the notifications that are communicated to
Service layers. The type and frequency of notifications may be agreed Service layers. The type and frequency of notifications may be agreed
in the service model.</t> upon in the service model.</t>
<t>Note that it is important to correlate telemetry data with <t>Note that it is important to correlate telemetry data with
configuration data to be used for closed loops at the different stages configuration data to be used for closed loops at the different stages
of service delivery, from resource allocation to service operation, in of service delivery, from resource allocation to service operation, in
particular.</t> particular.</t>
</section> </section>
<section anchor="int" numbered="true" toc="default">
<section anchor="int" title="YANG Modules Integration"> <name>YANG Module Integration</name>
<t>To support top-down service delivery, YANG modules at different <t>To support top-down service delivery, YANG modules at different
levels or at the same level need to be integrated together for proper levels or at the same level need to be integrated for proper
service delivery (including, proper network setup). For example, the service delivery (including proper network setup). For example, the
service parameters captured in service models need to be decomposed service parameters captured in service models need to be decomposed
into a set of configuration/notification parameters that may be into a set of configuration/notification parameters that may be
specific to one or more technologies; these technology-specific specific to one or more technologies; these technology-specific
parameters are grouped together to define technology-specific device parameters are grouped together to define technology-specific
level models or network level models.</t> device-level models or network-level models.</t>
<t>In addition, these technology-specific device or network models can <t>In addition, these technology-specific device or network models can
be further integrated with each other using the schema mount mechanism be further integrated with each other using the schema mount mechanism
<xref target="RFC8528"></xref> to provision each involved network <xref target="RFC8528" format="default"/> to provision each involved net work
function/device or each involved network domain to support newly added function/device or each involved network domain to support newly added
modules or features. A collection of device models integrated together modules or features. A collection of integrated device models
can be loaded and validated during implementation.</t> can be loaded and validated during implementation.</t>
<t>High-level policies can be defined at service or network models <t>High-level policies can be defined at service or network models
(e.g., "Autonomous System Number (ASN) Exclude" in the example (e.g., "Autonomous System Number (ASN) Exclude" in the example
depicted in <xref target="service_ex2"></xref>). Device models will be depicted in <xref target="service_ex2"/>). Device models will be tweaked
tweaked accordingly to provide policy-based management. Policies can accordingly
also be used for telemetry automation, e.g., policies that contain to provide policy-based management. Policies can also be used for
conditions to trigger the generation and pushing of new telemetry telemetry automation, e.g., policies that contain conditions to
data.</t> trigger the generation and pushing of new telemetry data.</t>
</section> </section>
</section> </section>
<section anchor="compo" numbered="true" toc="default">
<section anchor="compo" title="Functional Blocks and Interactions"> <name>Functional Blocks and Interactions</name>
<t>The architectural considerations described in <xref <t>The architectural considerations described in <xref target="concept"
target="concept"></xref> lead to the lifecycle management architecture format="default"/> lead to the life-cycle management architecture
illustrated in <xref target="arc"></xref> and described in the following illustrated in <xref target="arc" format="default"/> and described in the
following
subsections.</t> subsections.</t>
<figure anchor="arc">
<name>Service and Network Life-Cycle Management</name>
<figure anchor="arc" title="Service and Network Lifecycle Management"> <artwork align="center" name="" type="" alt=""><![CDATA[
<artwork align="center"><![CDATA[ +------------------+
................. | |
Service level | |
V |
E2E E2E E2E E2E
Service --> Service ---------> Service ------------> Service
Exposure Creation ^ Optimization ^ Diagnosis
/Modification | | |
^ | |Diff | |
E2E | | | E2E | |
Service ----+ | | Service | |
Decommission | +------ Assurance --+ |
| ^ |
Multi-layer | | |
Multi-domain | | |
Service Mapping| | |
................. |<-----------------+ | |
Network level | | +-------+ v
V | | Specific
Specific Specific | Service
Service --------> Service <--+ | Diagnosis
Creation ^ Optimization | | |
/Modification | | | |
| |Diff | | |
| | Specific --+ | |
Service | | Service | |
Decomposition | +----- Assurance ----+ |
| ^ |
................. | | Aggregation |
Device level | +------------+ |
V | |
Service Intent | v
Fulfillment Config ----> Config ----> Performance ----> Fault
Provision Validation Monitoring Diagnostic
]]></artwork>
</figure>
<section anchor="details" title="Service Lifecycle Management Procedure"> +------------------+
<t>Service lifecycle management includes end-to-end service lifecycle ............... | |
management at the service level and technology specific network Service level | |
lifecycle management at the network level.</t> V |
E2E E2E E2E E2E
Service --> Service ---------> Service ------------> Service
Exposure Creation ^ Optimization ^ Diagnosis
/Modification | | |
^ | |Diff | |
E2E | | | E2E | |
Service ----+ | | Service | |
Decommission | +------ Assurance --+ |
| ^ |
Multi-layer | | |
Multi-domain | | |
Service Mapping| | |
............... |<-----------------+ | |
Network level | | +-------+ v
V | | Specific
Specific Specific | Service
Service --------> Service <--+ | Diagnosis
Creation ^ Optimization | | |
/Modification | | | |
| |Diff | | |
| | Specific --+ | |
Service | | Service | |
Decomposition | +----- Assurance ----+ |
| ^ |
............... | | Aggregation |
Device level | +------------+ |
V | |
Service Intent | v
Fulfillment Config ----> Config ----> Performance ----> Fault
Provision Validation Monitoring Diagnostic
]]></artwork>
<t>The end-to-end service lifecycle management is </figure>
<section anchor="details" numbered="true" toc="default">
<name>Service Life-Cycle Management Procedure</name>
<t>Service life-cycle management includes end-to-end service life-cycle
management at the service level and technology-specific network
life-cycle management at the network level.</t>
<t>The end-to-end service life-cycle management is
technology-independent service management and spans across multiple technology-independent service management and spans across multiple
network domains and/or multiple layers while technology specific network domains and/or multiple layers while technology-specific
service lifecycle management is technology domain specific or layer service life-cycle management is technology domain-specific or
specific service lifecycle management.</t> layer-specific service life-cycle management.</t>
<section anchor="expo" numbered="true" toc="default">
<section anchor="expo" title="Service Exposure"> <name>Service Exposure</name>
<t>A service in the context of this document (sometimes called, <t>A service in the context of this document (sometimes called
Network Service) is some form of connectivity between customer sites "Network Service") is some form of connectivity between customer sites
and the Internet or between customer sites across the operator's and the Internet or between customer sites across the operator's
network and across the Internet.</t> network and across the Internet.</t>
<t>Service exposure is used to capture services offered to customers <t>Service exposure is used to capture services offered to customers
(ordering and order handling). One example is that a customer can (ordering and order handling). One example is that a customer can
use a L3VPN Service Model (L3SM) to request L3VPN service by use an L3VPN Service Model (L3SM) to request L3VPN service by
providing the abstract technical characterization of the intended providing the abstract technical characterization of the intended
service between customer sites.</t> service between customer sites.</t>
<t>Service model catalogs can be created along to expose the various <t>Service model catalogs can be created to expose the various
services and the information needed to invoke/order a given services and the information needed to invoke/order a given
service.</t> service.</t>
</section> </section>
<section anchor="crea" numbered="true" toc="default">
<section anchor="crea" title="Service Creation/Modification"> <name>Service Creation/Modification</name>
<t>A customer is usually unaware of the technology that the network <t>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 filled using a service delivered. This service request can be filled using a service
model.</t> model.</t>
<t>Upon receiving a service request, and assuming that appropriate <t>Upon receiving a service request, and assuming that appropriate
authentication and authorization checks have been made with success, authentication and authorization checks have been made with success,
the service orchestrator/management system should verify whether the the service Orchestrator/management system should verify whether the
service requirements in the service request can be met (i.e., service requirements in the service request can be met (i.e.,
whether there are sufficient resources that can be allocated with whether there are sufficient resources that can be allocated with
the requested guarantees).</t> the requested guarantees).</t>
<t>If the request is accepted, the service Orchestrator/management
<t>If the request is accepted, the service orchestrator/management system maps such a service request to its view. This view can be
system maps such service request to its view. This view can be described as a technology-specific network model or a set of
described as a technology specific network model or a set of technology-specific device models, and this mapping may include a
technology specific device models and this mapping may include a
choice of which networks and technologies to use depending on which choice of which networks and technologies to use depending on which
service features have been requested.</t> service features have been requested.</t>
<t>In addition, a customer may require a change in the underlying
<t>In addition, a customer may require to change the underlying network infrastructure to adapt to new customers' needs and service
network infrastructure to adapt to new customer's needs and service
requirements (e.g., service a new customer site, add a new access requirements (e.g., service a new customer site, add a new access
link, provide disjoint paths). This service modification can be link, or provide disjoint paths). This service modification can be
issued following the same service model used by the service issued following the same service model used by the service
request.</t> request.</t>
<t>Withdrawing a service is discussed in <xref target="decom" format="
<t>Withdrawing a service is discussed in <xref default"/>.</t>
target="decom"></xref>.</t>
</section> </section>
<section numbered="true" toc="default">
<name>Service Assurance</name>
<section title="Service Assurance"> <t>The performance measurement telemetry (<xref target="tele"
<t>The performance measurement telemetry (<xref format="default"/>) can be used to provide service assurance at
target="fulm"></xref>) can be used to provide service assurance at service and/or network levels. The performance measurement telemetry
Service and/or Network levels. Performance measurement telemetry
model can tie with service or network models to monitor network model can tie with service or network models to monitor network
performance or Service Level Agreement.</t> performance or Service Level Agreements.</t>
</section> </section>
<section anchor="optim" numbered="true" toc="default">
<section anchor="optim" title="Service Optimization"> <name>Service Optimization</name>
<t>Service optimization is a technique that gets the configuration <t>Service optimization is a technique that gets the configuration
of the network updated due to network changes, incident mitigation, of the network updated due to network changes, incident mitigation,
or new service requirements. One example is once a tunnel or a VPN or new service requirements. One example is once a tunnel or a VPN
is setup, Performance monitoring information or telemetry is set up, performance monitoring information or telemetry
information per tunnel (or per VPN) can be collected and fed into information per tunnel (or per VPN) can be collected and fed into
the 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.</t> into the network.</t>
<t>Both network performance information and policies can be modeled
<t>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.</t> self-optimization behavior can be specified and implemented.</t>
<t>The overall service optimization is managed at the service level, <t>The overall service optimization is managed at the service level,
while the network level is responsible for the optimization of the while the network level is responsible for the optimization of the
specific network services it provides.</t> specific network services it provides.</t>
</section> </section>
<section anchor="diag" numbered="true" toc="default">
<section anchor="diag" title="Service Diagnosis"> <name>Service Diagnosis</name>
<t>Operations, Administration, and Maintenance (OAM) are important <t>Operations, Administration, and Maintenance (OAM) are important
networking functions for service diagnosis that allow network networking functions for service diagnosis that allow network
operators to:<list style="symbols"> operators to:</t>
<t>monitor network communications (i.e., reachability <ul spacing="normal">
verification and Continuity Check)</t> <li>monitor network communications (i.e., reachability
verification and Continuity Check)</li>
<t>troubleshoot failures (i.e., fault verification and <li>troubleshoot failures (i.e., fault verification and
localization)</t> localization)</li>
<li>monitor service level agreements and performance (i.e.,
<t>monitor service-level agreements and performance (i.e., performance management)</li>
performance management)</t> </ul>
</list></t>
<t>When the network is down, service diagnosis should be in place to <t>When the network is down, service diagnosis should be in place to
pinpoint the problem and provide recommendations (or instructions) pinpoint the problem and provide recommendations (or instructions)
for the network recovery.</t> for network recovery.</t>
<t>The service diagnosis information can be modeled as
<t>The service diagnosis information can be modelled as
technology-independent Remote Procedure Call (RPC) operations for technology-independent Remote Procedure Call (RPC) operations for
OAM protocols and technology-independent abstraction of key OAM OAM protocols and technology-independent abstraction of key OAM
constructs for OAM protocols <xref target="RFC8531"></xref><xref constructs for OAM protocols <xref target="RFC8531" format="default"/>
target="RFC8533"></xref>. These models can be used to provide <xref target="RFC8533" format="default"/>. These models can be used to provide
consistent configuration, reporting, and presentation for the OAM consistent configuration, reporting, and presentation for the OAM
mechanisms used to manage the network.</t> mechanisms used to manage the network.</t>
<t>Refer to <xref target="dev-diag" format="default"/> for the device-
<t>Refer to <xref target="dev-diag"></xref> for the device-specific specific
side.</t> side.</t>
</section> </section>
<section anchor="decom" numbered="true" toc="default">
<section anchor="decom" title="Service Decommission"> <name>Service Decommission</name>
<t>Service decommission allows a customer to stop the service by <t>Service decommission allows a customer to stop the service by
removing the service from active status and thus releasing the removing the service from active status, thus releasing the
network resources that were allocated to the service. Customers can network resources that were allocated to the service. Customers can
also use the service model to withdraw the subscription to a also use the service model to withdraw the subscription to a
service.</t> service.</t>
</section> </section>
</section> </section>
<section anchor="fulm" numbered="true" toc="default">
<section anchor="fulm" title="Service Fullfillment Management Procedure"> <name>Service Fulfillment Management Procedure</name>
<section anchor="intended" title="Intended Configuration Provision"> <section anchor="intended" numbered="true" toc="default">
<name>Intended Configuration Provision</name>
<t>Intended configuration at the device level is derived from <t>Intended configuration at the device level is derived from
network models at the network level or service model at the service network models at the network level or service models at the service
level and represents the configuration that the system attempts to level and represents the configuration that the system attempts to
apply. Take L3SM as a service model example to deliver a L3VPN apply. Take L3SM as a service model example to deliver an L3VPN
service, there is a need to map the L3VPN service view defined in service; there is a need to map the L3VPN service view defined in
the service model into a detailed intended configuration view the service model into a detailed intended configuration view
defined by specific configuration models for network elements; the defined by specific configuration models for network elements. The
configuration information includes:<list style="symbols"> configuration information includes:</t>
<t>Virtual Routing and Forwarding (VRF) definition, including <ul spacing="normal">
VPN policy expression</t> <li>Virtual Routing and Forwarding (VRF) definition, including
VPN policy expression</li>
<t>Physical Interface(s)</t> <li>Physical Interface(s)</li>
<li>IP layer (IPv4, IPv6)</li>
<t>IP layer (IPv4, IPv6)</t> <li>QoS features such as classification, profiles, etc.</li>
<li>Routing protocols: support of configuration of all protocols
<t>QoS features such as classification, profiles, etc.</t>
<t>Routing protocols: support of configuration of all protocols
listed in a service request, as well as routing policies listed in a service request, as well as routing policies
associated with those protocols.</t> associated with those protocols</li>
<li>Multicast support</li>
<t>Multicast support</t> <li>Address sharing</li>
<li>Security (e.g., access control, authentication,
<t>Address sharing</t> encryption)</li>
</ul>
<t>Security (e.g., access control, authentication,
encryption)</t>
</list></t>
<t>These specific configuration models can be used to configure <t>These specific configuration models can be used to configure
Provider Edge (PE) and Customer Edge (CE) devices within a site, Provider Edge (PE) and Customer Edge (CE) devices within a site,
e.g., a BGP policy model can be used to establish VPN membership e.g., a BGP policy model can be used to establish VPN membership
between sites and VPN Service Topology.</t> between sites and VPN service topology.</t>
<t>Note that in networks with legacy devices (that support <t>Note that in networks with legacy devices (that support
proprietary modules or do not support YANG at all), an adaptation proprietary modules or do not support YANG at all), an adaptation
layer is likely to be required at the network level so that these layer is likely to be required at the network level so that these
devices can be involved in the delivery of the network services.</t> devices can be involved in the delivery of the network services.</t>
<t>This interface is also used to handle service withdrawal (<xref tar
<t>This interface is also used to handle service withdrawal (<xref get="decom" format="default"/>).</t>
target="decom"></xref>).</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Configuration Validation"> <name>Configuration Validation</name>
<t>Configuration validation is used to validate intended <t>Configuration validation is used to validate intended
configuration and ensure the configuration take effect.</t> configuration and ensure the configuration takes effect.</t>
<t>For example, if a customer creates an interface "eth-0/0/0" but <t>For example, if a customer creates an interface "eth-0/0/0" but
the interface does not physically exist at this point, then the interface does not physically exist at this point, then
configuration data appears in the &lt;intended&gt; status but does configuration data appears in the &lt;intended&gt; status but does
not appear in the &lt;operational&gt; datastore. More details about not appear in the &lt;operational&gt; datastore. More details about
&lt;intended&gt; and &lt;operational&gt; datastores can be found in &lt;intended&gt; and &lt;operational&gt; datastores can be found in
Section 5.1 of <xref target="RFC8342"></xref>.</t> <xref target="RFC8342" sectionFormat="of" section="5.1"/>.</t>
</section> </section>
<section anchor="tele" numbered="true" toc="default">
<section anchor="tele" title="Performance Monitoring"> <name>Performance Monitoring</name> <t>When a configuration is in
<t>When a configuration is in effect in a device, effect in a device, the &lt;operational&gt; datastore holds the
&lt;operational&gt; datastore holds the complete operational state complete operational state of the device, including learned, system,
of the device including learned, system, default configuration, and default configuration, and system state. However, the configurations
system state. However, the configurations and state of a particular and state of a particular device do not have visibility on the
device does not have the visibility on the whole network or how whole network, nor can they show how packets are going to be
packets are going to be forwarded through the entire network. forwarded through the entire network. Therefore, it becomes more
Therefore, it becomes more difficult to operate the entire network difficult to operate the entire network without understanding the
without understanding the current status of the network.</t> current status of the network.</t>
<t>The management system should subscribe to updates of a YANG <t>The management system should subscribe to updates of a YANG
datastore in all the network devices for performance monitoring datastore in all the network devices for performance monitoring
purposes and build a full topological visibility of the network by purposes and build a full topological visibility of the network by
aggregating (and filtering) these operational state from different aggregating (and filtering) these operational states from different
sources.</t> sources.</t>
</section> </section>
<section anchor="dev-diag" numbered="true" toc="default">
<section anchor="dev-diag" title="Fault Diagnostic"> <name>Fault Diagnostic</name>
<t>When configuration is in effect in a device, some devices may be <t>When configuration is in effect in a device, some devices may be
mis-configured (e.g., device links are not consistent in both sides misconfigured (e.g., device links are not consistent in both sides
of the network connection) or network resources might be of the network connection) or network resources might be
mis-allocated. Therefore, services may be negatively affected misallocated. Therefore, services may be negatively affected
without knowing the root cause in the network.</t> without knowing the root cause in the network.</t>
<t>Technology-dependent nodes and RPC commands are defined in <t>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 <xref target="diag"></xref> to deal with base model described in <xref target="diag" format="default"/> to deal
with
these issues.</t> these issues.</t>
<t>These RPC commands received in the technology-dependent node can <t>These RPC commands received in the technology-dependent node can
be used to trigger technology-specific OAM message exchanges for be used to trigger technology-specific OAM message exchanges for
fault verification and fault isolation. For example, TRILL Multicast fault verification and fault isolation.
Tree Verification (MTV) RPC command <xref
target="I-D.ietf-trill-yang-oam"></xref> can be used to trigger For example, Transparent Interconnection of Lots of Links (TRILL)
Multi-Destination Tree Verification Message defined in <xref Multi-destination Tree Verification (MTV) RPC command <xref
target="RFC7455"></xref> to verify TRILL distribution tree target="I-D.ietf-trill-yang-oam" format="default"/> can be used to trigger
integrity.</t> Multi-Destination Tree Verification Messages (MTVMs) defined in <xref
target="RFC7455" format="default"/> to verify TRILL distribution tree
integrity.</t>
</section> </section>
</section>
<section anchor="inter" title="Multi-Layer/Multi-Domain Service Mapping"> </section>
<t>Multi-layer/Multi-domain Service Mapping allows to map an <section anchor="inter" numbered="true" toc="default">
<name>Multi-layer/Multi-domain Service Mapping</name>
<t>Multi-layer/Multi-domain Service Mapping allows the mapping of an
end-to-end abstract view of the service segmented at different layers end-to-end abstract view of the service segmented at different layers
and/or different network domains into domain-specific views.</t> and/or different network domains into domain-specific views.</t>
<t>One example is to map service parameters in the L3SM into <t>One example is to map service parameters in the L3SM into
configuration parameters such as Route Distinguisher (RD), Route configuration parameters such as Route Distinguisher (RD), Route
Target (RT), and VRF in the L3VPN Network Model (L3NM).</t> Target (RT), and VRF in the L3VPN Network Model (L3NM).</t>
<t>Another example is to map service parameters in the L3SM into <t>Another example is to map service parameters in the L3SM into
Traffic Engineered (TE) tunnel parameters (e.g., Tunnel ID) in TE Traffic Engineered (TE) tunnel parameters (e.g., Tunnel ID) in TE
model and Virtual Network (VN) parameters (e.g., Access Point (AP) model and Virtual Network (VN) parameters (e.g., Access Point (AP)
list, VN members) in the YANG data model for VN operation <xref list and VN members) in the YANG data model for VN operation <xref
target="I-D.ietf-teas-actn-vn-yang"></xref>.</t> target="I-D.ietf-teas-actn-vn-yang" format="default"/>.</t>
</section> </section>
<section anchor="dec" numbered="true" toc="default">
<section anchor="dec" title="Service Decomposition"> <name>Service Decomposition</name>
<t>Service Decomposition allows to decompose service models at the <t>Service Decomposition allows to decompose service models at the
service level or network models at the network level into a set of service level or network models at the network level into a set of
device models at the device level. These device models may be tied to device models at the device level. These device models may be tied to
specific device types or classified into a collection of related YANG specific device types or classified into a collection of related YANG
modules based on service types and features offered, and load at the modules based on service types and features offered, and they may load a t the
implementation time before configuration is loaded and validated.</t> implementation time before configuration is loaded and validated.</t>
</section> </section>
</section> </section>
<section anchor="examples" numbered="true" toc="default">
<section anchor="examples" title="YANG Data Model Integration Examples"> <name>YANG Data Model Integration Examples</name>
<t>The following subsections provide some YANG data models integration <t>The following subsections provide some YANG data model integration
examples.</t> examples.</t>
<section numbered="true" toc="default">
<section title="L2VPN/L3VPN Service Delivery"> <name>L2VPN/L3VPN Service Delivery</name>
<t>In reference to <xref target="l3"></xref>, the following steps are <t>In reference to <xref target="l3" format="default"/>, the following s
teps are
performed to deliver the L3VPN service within the network management performed to deliver the L3VPN service within the network management
automation architecture defined in <xref target="compo"></xref>: <list automation architecture defined in <xref target="compo" format="default"
style="numbers"> />: </t>
<ol spacing="normal" type="1"><li>
<t>The Customer requests to create two sites (as per Service <t>The Customer requests to create two sites (as per Service
Creation in <xref target="intended"></xref>) relying upon L3SM Creation in <xref target="crea" format="default"/>) relying upon L3S M
with each site having one network access connectivity, for with each site having one network access connectivity, for
example:<list style="symbols"> example:</t>
<t>Site A: network-access A, link-capacity = 20 Mbps, class <ul spacing="normal">
<li>Site A: network-access A, link-capacity = 20 Mbps, class
"foo", guaranteed-capacity-percent = 10, average-one-way-delay "foo", guaranteed-capacity-percent = 10, average-one-way-delay
= 70 ms.</t> = 70 ms.</li>
<li>Site B: network-access B, link-capacity = 30 Mbps, class
<t>Site B: network-access B, link-capacity = 30 Mbps, class
"foo1", guaranteed-capacity-percent = 15, "foo1", guaranteed-capacity-percent = 15,
average-one-way-delay = 60 ms.</t> average-one-way-delay = 60 ms.</li>
</list></t> </ul>
</li>
<t>The Orchestrator extracts the service parameters from the L3SM.
Then, it uses them as input to the Service Mapping in <xref
target="inter"></xref> to translate them into an orchestrated
configuration parameters (e.g., RD, RT, VRF) that are part of the
L3NM specified in <xref
target="I-D.ietf-opsawg-l3sm-l3nm"></xref>.</t>
<t>The Controller takes the orchestrated configuration parameters <li>The Orchestrator extracts the service parameters from the L3SM.
in the L3NM and translates them into orchestrated (Service Then, it uses them as input to the Service Mapping in <xref
Decomposition in <xref target="dec"></xref>) configuration of target="inter" format="default"/> to translate them into
orchestrated configuration parameters (e.g., RD, RT, and VRF) that are
part of the L3NM specified in <xref
target="I-D.ietf-opsawg-l3sm-l3nm" format="default"/>.</li>
<li>The Controller takes the orchestrated configuration parameters
in the L3NM and translates them into an orchestrated (Service
Decomposition in <xref target="dec" format="default"/>) configuratio
n of
network elements that are part of, e.g., BGP, QoS, Network network elements that are part of, e.g., BGP, QoS, Network
Instance, IP management, and interface models.</t> Instance, IP management, and interface models.</li>
</list></t> </ol>
<t><xref target="I-D.ogondio-opsawg-uni-topology" format="default"/> can
<t><xref target="I-D.ogondio-opsawg-uni-topology"></xref> can be used be used
for representing, managing, and controlling the User Network Interface for representing, managing, and controlling the User Network Interface
(UNI) topology.</t> (UNI) topology.</t>
<figure anchor="l3">
<t><figure anchor="l3" <name>L3VPN Service Delivery Example (Current)</name>
title="L3VPN Service Delivery Example (Current)"> <artwork align="center" name="" type="" alt=""><![CDATA[
<artwork align="center"><![CDATA[ L3SM | L3SM |
Service | Service |
Model | Model |
+------------------------+------------------------+ +------------------------+------------------------+
| +--------V--------+ | | +--------V--------+ |
| | Service Mapping | | | | Service Mapping | |
| +--------+--------+ | | +--------+--------+ |
| Orchestrator | | | Orchestrator | |
+------------------------+------------------------+ +------------------------+------------------------+
L3NM | ^ UNI Topology Model L3NM | ^ UNI Topology Model
Network | | Network | |
skipping to change at line 1041 skipping to change at line 954
+---------------++---------------++---------------+ +---------------++---------------++---------------+
|| || || ||
|| BGP, || || BGP, ||
|| QoS, || || QoS, ||
|| Interface, || || Interface, ||
+------------+| NI, |+------------+ +------------+| NI, |+------------+
| | IP | | | | IP | |
+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+
| CE1 +-------+ PE1 | | PE2 +-------+ CE2 | | CE1 +-------+ PE1 | | PE2 +-------+ CE2 |
+-----+ +-----+ +-----+ +-----+]]></artwork> +-----+ +-----+ +-----+ +-----+]]></artwork>
</figure></t> </figure>
<t>L3NM inherits some of the data elements from the L3SM. Nevertheless,
<t>L3NM inherits some of data elements from the L3SM. Nevertheless, the L3NM as designed in <xref target="I-D.ietf-opsawg-l3sm-l3nm" format=
the L3NM as currently designed in <xref "default"/> does not expose some
target="I-D.ietf-opsawg-l3sm-l3nm"></xref> does not expose some
information to the above layer such as the capabilities of an information to the above layer such as the capabilities of an
underlying network (which can be used to drive service order handling) underlying network (which can be used to drive service order handling)
or notifications (to notify subscribers about specific events or or notifications (to notify subscribers about specific events or
degradations as per agreed SLAs). Some of this information can be degradations as per agreed SLAs). Some of this information can be
provided using, e.g., <xref provided using, e.g., <xref target="I-D.www-opsawg-yang-vpn-service-pm"
target="I-D.www-opsawg-yang-vpn-service-pm"></xref>. A target overall format="default"/>. A target overall
model is depicted in <xref target="l3-target"></xref>.</t> model is depicted in <xref target="l3-target" format="default"/>.</t>
<figure anchor="l3-target">
<t><figure anchor="l3-target" <name>L3VPN Service Delivery Example (Target)</name>
title="L3VPN Service Delivery Example (Target)"> <artwork align="center" name="" type="" alt=""><![CDATA[
<artwork align="center"><![CDATA[ L3SM | ^ L3SM | ^
Service | | Notifications Service | | Notifications
Model | | Model | |
+------------------------+------------------------+ +------------------------+------------------------+
| +--------V--------+ | | +--------V--------+ |
| | Service Mapping | | | | Service Mapping | |
| +--------+--------+ | | +--------+--------+ |
| Orchestrator | | | Orchestrator | |
+------------------------+------------------------+ +------------------------+------------------------+
L3NM | ^ UNI Topology Model L3NM | ^ UNI Topology Model
Network| | L3NM Notifications Network| | L3NM Notifications
skipping to change at line 1085 skipping to change at line 994
|| || || ||
|| BGP, || || BGP, ||
|| QoS, || || QoS, ||
|| Interface, || || Interface, ||
+------------+| NI, |+------------+ +------------+| NI, |+------------+
| | IP | | | | IP | |
+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+
| CE1 +-------+ PE1 | | PE2 +-------+ CE2 | | CE1 +-------+ PE1 | | PE2 +-------+ CE2 |
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
]]></artwork> ]]></artwork>
</figure></t> </figure>
<t>Note that a similar analysis can be performed for Layer 2 VPNs <t>Note that a similar analysis can be performed for Layer 2 VPNs
(L2VPNs). A L2VPN Service Model (L2SM) is defined in <xref (L2VPNs). An L2VPN Service Model (L2SM) is defined in <xref
target="RFC8466"></xref>, while the L2VPN Network YANG Model (L2NM) is target="RFC8466" format="default"/>, while the YANG L2VPN Network
specified in <xref target="I-D.ietf-opsawg-l2nm"></xref>.</t> Model (L2NM) is specified in <xref target="I-D.ietf-opsawg-l2nm"
format="default"/>.</t>
</section> </section>
<section title="VN Lifecycle Management"> <section numbered="true" toc="default">
<t>In reference to <xref target="lc"></xref>, the following steps are <name>VN Life-Cycle Management</name>
<t>In reference to <xref target="lc" format="default"/>, the following s
teps are
performed to deliver the VN service within the network management performed to deliver the VN service within the network management
automation architecture defined in <xref target="compo"></xref>:<list automation architecture defined in <xref target="compo" format="default"
style="numbers"> />:</t>
<t>A customer makes a request (Service Exposure in <xref <ol spacing="normal" type="1"><li>A customer makes a request (Service
target="expo"></xref>) to create a VN. The association between the Exposure in <xref target="expo" format="default"/>) to create a
VN, APs, and VN members is defined in the VN YANG module <xref VN. The association between the VN, APs, and VN members is defined in
target="I-D.ietf-teas-actn-vn-yang"></xref>.</t> the VN YANG model <xref target="I-D.ietf-teas-actn-vn-yang"
format="default"/>.</li>
<t>The Orchestrator creates the single abstract node topology <li>The Orchestrator creates the single abstract node topology based
based on the information captured in the request.</t> on the information captured in the request.</li>
<li>The customer exchanges with the Orchestrator the connectivity
<t>The customer exchanges with the Orchestrator the connectivity matrix on the abstract node topology and explicit paths using the TE
matrix on the abstract node topology and explicit paths using the topology model <xref target="RFC8795" format="default"/>. This
TE topology model <xref target="RFC8795"></xref>. This information information can be used to instantiate the VN and set up tunnels
can be used to instantiate the VN and setup tunnels between source between source and destination endpoints (Service Creation in <xref
and destination endpoints (Service Creation in <xref target="crea" format="default"/>).</li>
target="crea"></xref>).</t> <li>In order to provide service assurance (Service Optimization in
<xref target="optim" format="default"/>), the telemetry model that
<t>In order to provide service assurance (Service Optimization in augments the VN model and corresponding TE tunnel model can be used
<xref target="optim"></xref>), the telemetry model which augments by the Orchestrator to subscribe to performance measurement
the VN model and corresponding TE tunnel model can be used by the data. The Controller will then notify the Orchestrator with all the
Orchestrator to subscribe to performance measurement data. The parameter changes and network performance changes related to the VN
Controller will then notify the Orchestrator with all the topology and the tunnels <xref
parameter changes and network performance changes related to the target="I-D.ietf-teas-actn-pm-telemetry-autonomics"
VN topology and the tunnels <xref format="default"/>.</li>
target="I-D.ietf-teas-actn-pm-telemetry-autonomics"></xref>.</t> </ol>
</list></t> <figure anchor="lc">
<name>A VN Service Delivery Example</name>
<t><figure anchor="lc" title="A VN Service Delivery Example"> <artwork align="center" name="" type="" alt=""><![CDATA[
<artwork align="center"><![CDATA[ | |
VN | VN |
Service | Service |
Model | Model |
+----------------------|--------------------------+ +----------------------|--------------------------+
| Orchestrator | | | Orchestrator | |
| +--------V--------+ | | +--------V--------+ |
| | Service Mapping | | | | Service Mapping | |
| +-----------------+ | | +-----------------+ |
+----------------------+--------------------^-----+ +----------------------+--------------------^-----+
TE | Telemetry | TE | Telemetry |
Tunnel | Model | Tunnel | Model |
Model | | Model | |
+----------------------V--------------------+-----+ +----------------------V--------------------+-----+
| Controller | | Controller |
| | | |
+-------------------------------------------------+ +-------------------------------------------------+
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
| CE1 +------+ PE1 | | PE2 +------+ CE2 | | CE1 +------+ PE1 | | PE2 +------+ CE2 |
+-----+ +-----+ +-----+ +-----+]]></artwork> +-----+ +-----+ +-----+ +-----+]]></artwork>
</figure></t> </figure>
</section> </section>
<section numbered="true" toc="default">
<section title="Event-based Telemetry in the Device Self Management"> <name>Event-Based Telemetry in the Device Self Management</name>
<t>In reference to <xref target="event"></xref>, the following steps <t>In reference to <xref target="event" format="default"/>, the
are performed to monitor state changes of managed resources in a following steps are performed to monitor state changes of managed
network device and provide device self-management within the network resources in a network device and provide device self management
management automation architecture defined in <xref within the network management automation architecture defined in <xref
target="compo"></xref>: <list style="numbers"> target="compo" format="default"/>: </t>
<t>To control which state a network device should be in or is <ol spacing="normal" type="1"><li>To control which state a network
allowed to be in at any given time, a set of conditions and device should be in or is allowed to be in at any given time, a set of
actions are defined and correlated with network events (e.g., conditions and actions are defined and correlated with network events
allow the NETCONF server to send updates only when the value (e.g., allow the NETCONF server to send updates only when the value
exceeds a certain threshold for the first time, but not again exceeds a certain threshold for the first time, but not again until
until the threshold is cleared), which constitute an the threshold is cleared), which constitute an Event Condition Action
Event/Condition/Action (ECA) policy or an event-driven policy (ECA) policy or an event-driven policy control logic that can be
control logic that can be executed on the device (e.g., <xref executed on the device (e.g., <xref target="I-D.wwx-netmod-event-yang"
target="I-D.wwx-netmod-event-yang"></xref>).</t> format="default"/>).</li>
<li>To provide a rapid autonomic response that can exhibit
<t>To provide rapid autonomic response that can exhibit
self-management properties, the Controller pushes the ECA policy self-management properties, the Controller pushes the ECA policy
to the network device and delegates the network control logic to to the network device and delegates the network control logic to
the network device.</t> the network device.</li>
<li>The network device uses the ECA model to subscribe to the event
<t>The network device uses the ECA model to subscribe to the event source, e.g., an event stream or datastore state data conveyed to
source, e.g., an event stream or datastore state data conveyed to the server via YANG-Push subscription <xref target="RFC8641"
the server via YANG Push subscription <xref format="default"/>, monitors state parameters, and takes simple and
target="RFC8641"></xref>, monitors state parameters, and takes instant actions when an associated event condition on state
simple and instant actions when an associated event condition on parameters is met. ECA notifications can be generated as the result
state parameters is met. ECA notifications can be generated as the of actions based on event stream subscription or datastore
result of actions based on event stream subscription or datastore subscription (model-driven telemetry operation discussed in <xref
subscription (model-driven telemetry operation discussed in <xref target="tele" format="default"/>).</li>
target="tele"></xref>).</t> </ol>
</list><figure anchor="event" title="Event-based Telemetry"> <figure anchor="event">
<artwork align="center"><![CDATA[ +----------------+ <name>Event-Based Telemetry</name>
<artwork align="center" name="" type="" alt=""><![CDATA[ +--------
--------+
| <----+ | <----+
| Controller | | | Controller | |
+-------+--------+ | +-------+--------+ |
| | | |
| | | |
ECA | | ECA ECA | | ECA
Model | | Notification Model | | Notification
| | | |
| | | |
+------------V-------------+-----+ +------------V-------------+-----+
|Device | | |Device | |
| +-------+ +---------+ +--+---+ | | +-------+ +---------+ +--+---+ |
| | Event +-> Event +->Event | | | | Event +-> Event +->Event | |
| | Source| |Condition| |Action| | | | Source| |Condition| |Action| |
| +-------+ +---------+ +------+ | | +-------+ +---------+ +------+ |
+--------------------------------+ +--------------------------------+
]]></artwork> ]]></artwork>
</figure></t> </figure>
</section> </section>
</section> </section>
<section numbered="true" toc="default">
<name>Security Considerations</name>
<section title="Security Considerations">
<t>Many of the YANG modules cited in this document define schema for <t>Many of the YANG modules cited in this document define schema for
data that are designed to be accessed via network management protocols data that is designed to be accessed via network management protocols
such as NETCONF <xref target="RFC6241"></xref> or RESTCONF <xref such as NETCONF <xref target="RFC6241" format="default"/> or RESTCONF <xre
target="RFC8040"></xref>. The lowest NETCONF layer is the secure f target="RFC8040" format="default"/>. The lowest NETCONF layer is the secure
transport layer, and the mandatory-to-implement secure transport is transport layer, and the mandatory-to-implement secure transport is
Secure Shell (SSH) <xref target="RFC6242"></xref>. The lowest RESTCONF Secure Shell (SSH) <xref target="RFC6242" format="default"/>. The lowest R ESTCONF
layer is HTTPS, and the mandatory-to-implement secure transport is TLS layer is HTTPS, and the mandatory-to-implement secure transport is TLS
<xref target="RFC8446"></xref>.</t> <xref target="RFC8446" format="default"/>.</t>
<t>The NETCONF access control model <xref target="RFC8341" format="default
<t>The NETCONF access control model <xref target="RFC8341"></xref> "/>
provides the means to restrict access for particular NETCONF or RESTCONF provides the means to restrict access for particular NETCONF or RESTCONF
users to a preconfigured subset of all available NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF
protocol operations and content.</t> protocol operations and content.</t>
<t>Security considerations specific to each of the technologies and <t>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 protocols.</t> documents of each of these protocols.</t>
<t>In order to prevent leaking sensitive information and the "confused <t>In order to prevent leaking sensitive information and the "confused
deputy" problem <xref target="Hardy"></xref> in general, special care deputy" problem <xref target="Hardy" format="default"/> in general, specia l care
should be considered when translating between the various layers in should be considered when translating between the various layers in
<xref target="compo"></xref> or when aggregating data retrieved from <xref target="compo" format="default"/> or when aggregating data retrieved from
various sources. Authorization and authentication checks should be various sources. Authorization and authentication checks should be
performed to ensure that a data is available to an authorized entity. performed to ensure that data is available to an authorized entity.
The network operator must enforce means to protect privacy-related The network operator must enforce means to protect privacy-related
information included in customer-facing models.</t> information included in customer-facing models.</t>
<t>To detect misalignment between layers that might be induced by <t>To detect misalignment between layers that might be induced by
misbehaving nodes, upper layers should continuously monitor the misbehaving nodes, upper layers should continuously monitor the
perceived service (<xref target="optim"></xref>) and should proceed with perceived service (<xref target="optim" format="default"/>) and should pro ceed with
checks to assess that the provided service complies with the expected checks to assess that the provided service complies with the expected
service and that the data reported by an underlying layer is matching service and that the data reported by an underlying layer is matching
the perceived service by the above layer. Such checks are the the perceived service by the above layer. Such checks are the
responsibility of the service diagnosis (<xref responsibility of the service diagnosis (<xref target="diag" format="defau
target="diag"></xref>).</t> lt"/>).</t>
<t>When a YANG module includes security-related parameters, it is <t>When a YANG module includes security-related parameters, it is
recommended to include the relevant information as part of the service recommended to include the relevant information as part of the service
assurance to track the correct functioning of the security assurance to track the correct functioning of the security
mechanisms.</t> mechanisms.</t>
<t>Additional considerations are discussed in the following <t>Additional considerations are discussed in the following
subsections.</t> subsections.</t>
<section numbered="true" toc="default">
<section title="Service Level"> <name>Service Level</name>
<t>A provider may rely on services offered by other providers to build <t>A provider may rely on services offered by other providers to build
composite services. Appropriate mechanisms should be enabled by the composite services. Appropriate mechanisms should be enabled by the
provider to monitor and detect a service disruption from these provider to monitor and detect a service disruption from these
providers. The characterization of a service disruption (including, providers. The characterization of a service disruption (including
mean time between failures, mean time to repair), the escalation mean time between failures and mean time to repair), the escalation
procedure, and penalties are usually documented in contractual procedure, and penalties are usually documented in contractual
agreements (e.g., as described in Section 2.1 of <xref agreements (e.g., as described in <xref target="RFC4176"
target="RFC4176"></xref>). Misbehaving peer providers will thus be sectionFormat="of" section="2.1"/>). Misbehaving peer providers will
identified and appropriate countermeasures will be applied.</t> thus be identified and appropriate countermeasures will be
applied.</t>
<t>The communication protocols that make use of a service model <t>The communication protocols that make use of a service model
between a customer and an operator are out of scope. Relevant security between a customer and an operator are out of scope. Relevant security
considerations should be discussed in the specification documents of considerations should be discussed in the specification documents of
these protocols.</t> these protocols.</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Network Level"> <name>Network Level</name>
<t>Security considerations specific to the network level are listed <t>Security considerations specific to the network level are listed
below:<list style="symbols"> below:</t>
<t>A controller may create forwarding loops by mis-configuring the <ul spacing="normal">
<li>A controller may create forwarding loops by misconfiguring the
underlying network nodes. It is recommended to proceed with tests underlying network nodes. It is recommended to proceed with tests
to check the status of forwarding paths regularly or whenever to check the status of forwarding paths regularly or whenever
changes are made to routing or forwarding processes. Such checks changes are made to routing or forwarding processes. Such checks
may be triggered from the service level owing to the means may be triggered from the service level owing to the means
discussed in <xref target="diag"></xref>.</t> discussed in <xref target="diag" format="default"/>.</li>
<li>Some service models may include a traffic isolation clause that
<t>Some service models may include a traffic isolation clause that is passed down to the network level so that appropriate
is passed down to the network level so that appropriate technology-specific actions must be enforced at the underlying
technology-specific actions must be enforced at the underlying network (and thus involved network devices) to avoid that such
network (and thus involved network devices) to avoid that such traffic is accessible to non-authorized parties. In particular,
traffic is accessible to non-authorized parties. In particular, network models may indicate whether encryption is enabled and, if so,
network models may indicate whether encryption is enabled and if expose a list of supported encryption schemes and parameters. Refer,
so, expose a list of supported encryption schemes and parameters. for example, to the encryption feature defined in <xref
Refer for example to the encryption feature defined in <xref target="I-D.ietf-opsawg-vpn-common" format="default"/> and its use
target="I-D.ietf-opsawg-vpn-common"></xref> and its use in <xref in <xref target="I-D.ietf-opsawg-l3sm-l3nm" format="default"/>.</li>
target="I-D.ietf-opsawg-l3sm-l3nm"></xref>.</t> </ul>
</list></t>
</section> </section>
<section numbered="true" toc="default">
<section title="Device Level"> <name>Device Level</name>
<t>Network operators should monitor and audit their networks to detect <t>Network operators should monitor and audit their networks to detect
misbehaving nodes and abnormal behaviors. For example, OAM discussed misbehaving nodes and abnormal behaviors. For example, OAM, as
in <xref target="diag"></xref> can be used for that purpose.</t> discussed in <xref target="diag" format="default"/>, can be used for
that purpose.</t>
<t>Access to some data requires specific access privilege levels. <t>Access to some data requires specific access privilege levels.
Devices must check that a required access privilege is provided before Devices must check that a required access privilege is provided before
granting access to specific data or performing specific actions.</t> granting access to specific data or performing specific actions.</t>
</section> </section>
</section> </section>
<section numbered="true" toc="default">
<section title="IANA Considerations"> <name>IANA Considerations</name>
<t>There are no IANA requests or assignments included in this <t>This document has no IANA actions.</t>
document.</t>
</section>
<section anchor="ack" title="Acknowledgements">
<t>Thanks to Joe Clark, Greg Mirsky, Shunsuke Homma, Brian Carpenter,
Adrian Farrel, Christian Huitema, Tommy Pauly, Ines Robles, and Olivier
Augizeau for the review.</t>
<t>Many thanks to Robert Wilton for the detailed AD review.</t>
<t>Thanks to &Eacute;ric Vyncke, Roman Danyliw, Erik Kline, and Benjamin
Kaduk for the IESG review.</t>
</section> </section>
<section title="Contributors">
<figure>
<artwork><![CDATA[ Christian Jacquenet
Orange
Rennes, 35000
France
Email: Christian.jacquenet@orange.com
Luis Miguel Contreras Murillo
Telifonica
Email: luismiguel.contrerasmurillo@telefonica.com
Oscar Gonzalez de Dios
Telefonica
Madrid
ES
Email: oscar.gonzalezdedios@telefonica.com
Weiqiang Cheng
China Mobile
Email: chengweiqiang@chinamobile.com
Young Lee
Sung Kyun Kwan University
Email: younglee.tx@gmail.com]]></artwork>
</figure>
</section>
</middle> </middle>
<back> <back>
<references title="Normative References">
<?rfc include='reference.RFC.7950'?>
<?rfc include='reference.RFC.6241'?>
<?rfc include='reference.RFC.8040'?>
<?rfc include='reference.RFC.6242'?>
<?rfc include='reference.RFC.8446'?>
<?rfc include='reference.RFC.8341'?>
</references>
<references title="Informative References">
<?rfc include="reference.RFC.8199"?>
<?rfc include='reference.I-D.ietf-opsawg-vpn-common'?>
<?rfc include='reference.RFC.8525'?>
<?rfc include='reference.RFC.8342'?>
<?rfc include='reference.RFC.7665'?>
<?rfc include='reference.RFC.4176'?>
<?rfc include='reference.I-D.ietf-dots-rfc8782-bis'?>
<?rfc include='reference.RFC.8791'?>
<?rfc include='reference.RFC.5136'?>
<?rfc include='reference.RFC.7680'?>
<?rfc include="reference.RFC.8299"?>
<?rfc include="reference.RFC.8309"?>
<?rfc include="reference.RFC.7149"?>
<?rfc include="reference.RFC.7297"?>
<?rfc include="reference.RFC.8194"?>
<?rfc include="reference.RFC.8349"?>
<?rfc include="reference.RFC.8466"?>
<?rfc include='reference.RFC.4364'?>
<?rfc include="reference.RFC.8345"?>
<?rfc include="reference.RFC.8346"?>
<?rfc include="reference.RFC.8512"?>
<?rfc include='reference.RFC.7276'?>
<?rfc include='reference.RFC.8513'?>
<?rfc include="reference.RFC.8528"?>
<?rfc include="reference.RFC.8529"?>
<?rfc include="reference.RFC.8530"?>
<?rfc include='reference.RFC.8532'?>
<?rfc include='reference.RFC.8533'?>
<?rfc include='reference.RFC.7455'?>
<?rfc include="reference.RFC.8519"?>
<?rfc include="reference.RFC.8531"?>
<?rfc include='reference.RFC.4664'?>
<?rfc include='reference.RFC.8077'?>
<?rfc include='reference.RFC.4762'?>
<?rfc include='reference.RFC.4761'?>
<?rfc include='reference.RFC.5880'?> <displayreference target="I-D.ietf-opsawg-vpn-common" to="OPSAWG-VPN-COMMON"/>
<displayreference target="I-D.ietf-dots-rfc8782-bis" to="DOTS-DDOS"/>
<?rfc include='reference.RFC.8676'?> <displayreference target="I-D.ietf-ippm-capacity-metric-method" to="METRIC-METHO
D"/>
<?rfc include='reference.RFC.8675'?> <displayreference target="I-D.ietf-opsawg-l2nm" to="OPSAWG-L2NM"/>
<displayreference target="I-D.ietf-opsawg-l3sm-l3nm" to="OPSAWG-L3SM-L3NM"/>
<?rfc include='reference.RFC.5486'?> <displayreference target="I-D.www-opsawg-yang-vpn-service-pm" to="OPSAWG-YANG-VP
N"/>
<?rfc include='reference.RFC.8632'?> <displayreference target="I-D.ietf-teas-yang-te" to="TEAS-YANG-TE"/>
<displayreference target="I-D.ietf-teas-yang-rsvp-te" to="TEAS-YANG-RSVP"/>
<?rfc include='reference.RFC.8783'?> <displayreference target="I-D.ietf-teas-yang-path-computation" to="TEAS-YANG-PAT
H-COMP"/>
<?rfc include='reference.RFC.6406'?> <displayreference target="I-D.ietf-idr-bgp-model" to="IDR-BGP-MODEL"/>
<displayreference target="I-D.ietf-rtgwg-qos-model" to="QOS-MODEL"/>
<?rfc include='reference.RFC.7679'?> <displayreference target="I-D.ietf-pim-yang" to="PIM-YANG"/>
<displayreference target="I-D.ietf-pim-igmp-mld-snooping-yang" to="SNOOPING-YANG
<?rfc include='reference.RFC.8652'?> "/>
<displayreference target="I-D.ietf-teas-actn-vn-yang" to="ACTN-VN-YANG"/>
<?rfc include='reference.RFC.8641'?> <displayreference target="I-D.ietf-bess-evpn-yang" to="EVPN-YANG"/>
<displayreference target="I-D.ietf-bess-l3vpn-yang" to="L3VPN-YANG"/>
<?rfc include='reference.I-D.ietf-ippm-capacity-metric-method'?> <displayreference target="I-D.ietf-bess-l2vpn-yang" to="L2VPN-YANG"/>
<displayreference target="I-D.ietf-rtgwg-policy-model" to="RTGWG-POLICY"/>
<displayreference target="I-D.ietf-bfd-yang" to="BFD-YANG"/>
<displayreference target="I-D.ietf-spring-sr-yang" to="SPRING-SR-YANG"/>
<displayreference target="I-D.ietf-trill-yang-oam" to="TRILL-YANG-OAM"/>
<displayreference target="I-D.ogondio-opsawg-uni-topology" to="UNI-TOPOLOGY"/>
<displayreference target="I-D.ietf-teas-actn-pm-telemetry-autonomics" to="TEAS-A
CTN-PM"/>
<displayreference target="I-D.ietf-ippm-stamp-yang" to="STAMP-YANG"/>
<displayreference target="I-D.ietf-bess-mvpn-yang" to="MVPN-YANG"/>
<displayreference target="I-D.wwx-netmod-event-yang" to="EVENT-YANG"/>
<displayreference target="I-D.clacla-netmod-model-catalog" to="NETMOD-MODEL"/>
<displayreference target="I-D.ietf-ippm-twamp-yang" to="TWAMP-DATA-MODEL"/>
<?rfc include='reference.I-D.ietf-opsawg-l2nm'?> <references>
<name>References</name>
<references>
<name>Normative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7950.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.6241.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8040.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.6242.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8446.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8341.xml"/>
</references>
<references>
<name>Informative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8199.xml"/>
<?rfc include='reference.I-D.ietf-opsawg-l3sm-l3nm'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-opsawg-vpn-common.xml"/>
<?rfc include='reference.I-D.www-opsawg-yang-vpn-service-pm'?> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8525.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8342.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7665.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4176.xml"/>
<?rfc include="reference.RFC.8795"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-dots-rfc8782-bis.xml"/>
<?rfc include="reference.I-D.ietf-teas-yang-te"?> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8791.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.5136.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7680.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8299.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8309.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7149.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7297.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8194.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8349.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8466.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4364.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8345.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8346.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8512.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7276.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8513.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8528.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8529.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8530.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8532.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8533.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7455.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8519.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8531.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4664.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8077.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4762.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.4761.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.5880.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8676.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8675.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.5486.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8632.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8783.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.6406.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7679.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8652.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8641.xml"/>
<?rfc include="reference.I-D.ietf-teas-yang-rsvp-te"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-ippm-capacity-metric-method.xml"/>
<?rfc include="reference.I-D.ietf-teas-yang-path-computation"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-opsawg-l2nm.xml"/>
<?rfc include="reference.I-D.ietf-idr-bgp-model"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-opsawg-l3sm-l3nm.xml"/>
<?rfc include="reference.I-D.ietf-mpls-base-yang"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .www-opsawg-yang-vpn-service-pm.xml"/>
<?rfc include="reference.I-D.ietf-rtgwg-qos-model"?> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.8795.xml"/>
<?rfc include="reference.I-D.ietf-pim-yang"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-teas-yang-te.xml"/>
<?rfc include="reference.I-D.ietf-pim-igmp-mld-snooping-yang"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-teas-yang-rsvp-te.xml"/>
<?rfc include="reference.I-D.ietf-teas-actn-vn-yang"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-teas-yang-path-computation.xml"/>
<?rfc include="reference.I-D.ietf-bess-evpn-yang"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-idr-bgp-model.xml"/>
<?rfc include="reference.I-D.ietf-bess-l3vpn-yang"?> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8960. xml"/>
<?rfc include="reference.I-D.ietf-bess-l2vpn-yang"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-rtgwg-qos-model.xml"/>
<?rfc include="reference.I-D.ietf-rtgwg-policy-model"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-pim-yang.xml"/>
<?rfc include="reference.I-D.ietf-bfd-yang"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-pim-igmp-mld-snooping-yang.xml"/>
<?rfc include="reference.I-D.ietf-spring-sr-yang"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-teas-actn-vn-yang.xml"/>
<?rfc include="reference.I-D.ietf-trill-yang-oam"?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-bess-evpn-yang.xml"/>
<?rfc include='reference.I-D.ogondio-opsawg-uni-topology'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-bess-l3vpn-yang.xml"/>
<?rfc include='reference.I-D.ietf-teas-actn-pm-telemetry-autonomics'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-bess-l2vpn-yang.xml"/>
<?rfc include='reference.I-D.ietf-ippm-twamp-yang'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-rtgwg-policy-model.xml"/>
<?rfc include='reference.I-D.ietf-ippm-stamp-yang'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-bfd-yang.xml"/>
<?rfc include='reference.I-D.ietf-i2rs-yang-l2-network-topology'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-spring-sr-yang.xml"/>
<?rfc include='reference.I-D.ietf-bess-mvpn-yang'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-trill-yang-oam.xml"/>
<?rfc include='reference.I-D.wwx-netmod-event-yang'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ogondio-opsawg-uni-topology.xml"/>
<?rfc include='reference.I-D.ietf-netmod-module-tags'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-teas-actn-pm-telemetry-autonomics.xml"/>
<?rfc include='reference.I-D.clacla-netmod-model-catalog'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-ip pm-twamp-yang.xml"/>
<?rfc include='reference.RFC.7224'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-ippm-stamp-yang.xml"/>
<?rfc include='reference.RFC.8348'?> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.8944.xml"/>
<?rfc include='reference.RFC.7317'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-bess-mvpn-yang.xml"/>
<?rfc include='reference.RFC.8343'?> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .wwx-netmod-event-yang.xml"/>
<reference anchor="IPPM" <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8819.
target="https://www.iana.org/assignments/performance-metrics/pe xml"/>
rformance-metrics.xhtml">
<front>
<title>Performance Metrics</title>
<author> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D
<organization>IANA</organization> .clacla-netmod-model-catalog.xml"/>
</author>
<date day="19" month="March" year="2020" /> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
</front> FC.7224.xml"/>
</reference> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8348.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.7317.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R
FC.8343.xml"/>
<reference anchor="Hardy" <reference anchor="IPPM" target="https://www.iana.org/assignments/perfor
target="https://dl.acm.org/doi/10.1145/54289.871709"> mance-metrics/performance-metrics.xhtml">
<front> <front>
<title>The Confused Deputy: (or why capabilities might have been <title>Performance Metrics</title>
invented)</title> <author>
<organization>IANA</organization>
</author>
<date month="March" year="2020"/>
</front>
</reference>
<author fullname="Norm Hardy " surname="Hardy"> <reference anchor="Hardy" target="https://dl.acm.org/doi/10.1145/54289.8
<organization></organization> 71709">
</author> <front>
<title>The Confused Deputy: (or why capabilities might have been
invented)</title>
<author fullname="Norm Hardy" surname="Hardy">
<organization/>
</author>
<date month="October" year="1988"/>
</front>
<seriesInfo name="DOI" value="10.1145/54289.871709"/>
</reference>
<date month="October" year="1988" /> </references>
</front>
</reference>
</references> </references>
<section anchor="app" numbered="true" toc="default">
<section anchor="app" title="Layered YANG Modules Examples Overview"> <name>Layered YANG Module Examples Overview</name>
<t>This appendix lists a set of YANG data models that can be used for <t>This appendix lists a set of YANG data models that can be used for
the delivery of connectivity services. These models can be classified as the delivery of connectivity services. These models can be classified as
service, network, or device models.</t> service, network, or device models.</t>
<t>It is not the intent of this appendix to provide an inventory of <t>It is not the intent of this appendix to provide an inventory of
tools and mechanisms used in specific network and service management tools and mechanisms used in specific network and service management
domains; such inventory can be found in documents such as <xref domains; such inventory can be found in documents such as <xref target="RF
target="RFC7276"></xref>.</t> C7276" format="default"/>.</t>
<t>The reader may refer to the YANG Catalog (&lt;<eref
<t>The reader may refer to the YANG Catalog target="https://www.yangcatalog.org"/>&gt;) or the public Github YANG
(&lt;https://www.yangcatalog.org&gt;) or the public Github YANG repository (&lt;<eref target="https://github.com/YangModels/yang"/>&gt;) t
repository (&lt;https://github.com/YangModels/yang&gt;) to query o
existing YANG models. The YANG Catalog includes some metadata to query existing YANG models. The YANG Catalog includes some metadata to
indicate the module type ('module-classification') <xref indicate the module type ('module-classification') <xref
target="I-D.clacla-netmod-model-catalog"></xref>. Note that the target="I-D.clacla-netmod-model-catalog" format="default"/>. Note that
mechanism defined in <xref target="I-D.ietf-netmod-module-tags"></xref> the mechanism defined in <xref target="RFC8819" format="default"/>
allows to associate tags with YANG modules in order to help classifying allows to associate tags with YANG modules in order to help classifying
the modules.</t> the modules.</t>
<section anchor="ns" numbered="true" toc="default">
<section anchor="ns" title="Service Models: Definition and Samples"> <name>Service Models: Definition and Samples</name>
<t>As described in <xref target="RFC8309"></xref>, the service is
"some form of connectivity between customer sites and the Internet
and/or between customer sites across the network operator's network
and across the Internet". More concretely, an IP connectivity service
can be defined as the IP transfer capability characterized by a
(Source Nets, Destination Nets, Guarantees, Scope) tuple where "Source
Nets" is a group of unicast IP addresses, "Destination Nets" is a
group of IP unicast and/or multicast addresses, and "Guarantees"
reflects the guarantees (expressed in terms of QoS, performance, and
availability, for example) to properly forward traffic to the said
"Destination" <xref target="RFC7297"></xref>.</t>
<t>For example:<list style="symbols">
<t>The L3SM <xref target="RFC8299"></xref> defines the L3VPN
service ordered by a customer from a network operator.</t>
<t>The L2SM <xref target="RFC8466"></xref> defines the L2VPN
service ordered by a customer from a network operator.</t>
<t>The Virtual Network (VN) model <xref <t>As described in <xref target="RFC8309" format="default"/>, the
target="I-D.ietf-teas-actn-vn-yang"></xref> provides a YANG data service is "some form of connectivity between customer sites and the
model applicable to any mode of VN operation.</t> Internet or between customer sites across the network operator's
</list></t> network and across the Internet". More concretely, an IP connectivity
service can be defined as the IP transfer capability characterized by
a (Source Nets, Destination Nets, Guarantees, Scope) tuple where
"Source Nets" is a group of unicast IP addresses, "Destination Nets"
is a group of IP unicast and/or multicast addresses, and "Guarantees"
reflects the guarantees (expressed, for example, in terms of QoS,
performance, and availability) to properly forward traffic to the said
"Destination" <xref target="RFC7297" format="default"/>. The "Scope"
denotes the network perimeter (e.g., between Provider Edge (PE)
routers or Customer Nodes) where the said guarantees need to be
provided.</t>
<t>L2SM and L3SM are customer service models as per <xref <t>For example:</t>
target="RFC8309"></xref>.</t> <ul spacing="normal">
<li>The L3SM <xref target="RFC8299" format="default"/> defines the L3V
PN
service ordered by a customer from a network operator.</li>
<li>The L2SM <xref target="RFC8466" format="default"/> defines the L2V
PN
service ordered by a customer from a network operator.</li>
<li>The Virtual Network (VN) model <xref
target="I-D.ietf-teas-actn-vn-yang" format="default"/> provides a
YANG data model applicable to any mode of VN operation.</li>
</ul>
<t>L2SM and L3SM are customer service models as per <xref target="RFC830
9" format="default"/>.</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Schema Mount"> <name>Schema Mount</name>
<t>Modularity and extensibility were among the leading design <t>Modularity and extensibility were among the leading design
principles of the YANG data modeling language. As a result, the same principles of the YANG data modeling language. As a result, the same
YANG module can be combined with various sets of other modules and YANG module can be combined with various sets of other modules and
thus form a data model that is tailored to meet the requirements of a thus form a data model that is tailored to meet the requirements of a
specific use case. <xref target="RFC8528"></xref> defines a mechanism, specific use case. <xref target="RFC8528" format="default"/> defines a m
denoted schema mount, that allows for mounting one data model echanism,
denoted "schema mount", that allows for mounting one data model
consisting of any number of YANG modules at a specified location of consisting of any number of YANG modules at a specified location of
another (parent) schema.</t> another (parent) schema.</t>
</section> </section>
<section anchor="rm" numbered="true" toc="default">
<section anchor="rm" title="Network Models: Samples"> <name>Network Models: Samples</name>
<t>L2NM <xref target="I-D.ietf-opsawg-l2nm"></xref> and L3NM <xref <t>L2NM <xref target="I-D.ietf-opsawg-l2nm" format="default"/> and L3NM
target="I-D.ietf-opsawg-l3sm-l3nm"></xref> are examples of YANG <xref target="I-D.ietf-opsawg-l3sm-l3nm" format="default"/> are examples of YANG
network models.</t> network models.</t>
<t><xref target="rfn" format="default"/> depicts a set of additional net
<t><xref target="rfn"></xref> depicts a set of additional network work
models such as topology and tunnel models:</t> models such as topology and tunnel models:</t>
<figure anchor="rfn">
<figure align="center" anchor="rfn" <name>Sample Resource-Facing Network Models</name>
title="Sample Resource Facing Network Models"> <artwork align="center" name="" type="" alt=""><![CDATA[+-------------
<artwork align="center"><![CDATA[+-------------------------------+---- ------------------+-------------------------------+
---------------------------+
| Topology YANG modules | Tunnel YANG modules | | Topology YANG modules | Tunnel YANG modules |
+-------------------------------+-------------------------------+ +-------------------------------+-------------------------------+
| +------------------+ | | | +------------------+ | |
| |Network Topologies| | +------+ +-----------+ | | |Network Topologies| | +------+ +-----------+ |
| | Model | | |Other | | TE Tunnel | | | | Model | | |Other | | TE Tunnel | |
| +--------+---------+ | |Tunnel| +----+------+ | | +--------+---------+ | |Tunnel| +----+------+ |
| | +---------+ | +------+ | | | | +---------+ | +------+ | |
| +---+Service | | +----------+---------+ | | +---+Service | | +----------+---------+ |
| | |Topology | | | | | | | | |Topology | | | | | |
| | +---------+ | | | | | | | +---------+ | | | | |
skipping to change at line 1643 skipping to change at line 1479
| | +---------+ | | | | +---------+ | |
| +---+TE | | | | +---+TE | | |
| | |Topology | | | | | |Topology | | |
| | +---------+ | | | | +---------+ | |
| | +---------+ | | | | +---------+ | |
| +---+Layer 3 | | | | +---+Layer 3 | | |
| |Topology | | | | |Topology | | |
| +---------+ | | | +---------+ | |
+-------------------------------+-------------------------------+ ]]></artwork> +-------------------------------+-------------------------------+ ]]></artwork>
</figure> </figure>
<t/>
<t>Examples of topology YANG modules are listed below:</t>
<t></t> <dl newline="true">
<t>Examples of topology YANG modules are listed below:</t> <dt>Network Topologies Model:
</dt>
<dd><xref target="RFC8345" format="default"/> defines a base model for network
topology and inventories. Network topology data includes link, node, and
terminate-point resources.
</dd>
<t><list style="symbols"> <dt>TE Topology Model:
<t>Network Topologies Model: <xref target="RFC8345"></xref> </dt>
defines a base model for network topology and inventories. Network <dd><t><xref target="RFC8795" format="default"/> defines a YANG data model for
topology data include link, node, and terminate-point representing and manipulating TE topologies.
resources.</t> </t>
<t>TE Topology Model: <xref target="RFC8795"></xref> defines a <t>This module is extended from the network topology model defined in <xref
YANG data model for representing and manipulating TE topologies. target="RFC8345" format="default"/> and includes content related to TE
<vspace blankLines="1" />This module is extended from network topologies. This model contains technology-agnostic TE topology building
topology model defined in <xref target="RFC8345"></xref> with TE blocks that can be augmented and used by other technology-specific TE
topologies related content. This model contains topology models.</t>
technology-agnostic TE Topology building blocks that can be </dd>
augmented and used by other technology-specific TE topology
models.</t>
<t>Layer 3 Topology Model:<vspace blankLines="1" /><xref <dt>Layer 3 Topology Model:
target="RFC8346"></xref> defines a YANG data model for </dt>
representing and manipulating Layer 3 topologies. This model is <dd> <t><xref target="RFC8346" format="default"/> defines a YANG data model
extended from the network topology model defined in <xref for representing and manipulating Layer 3 topologies. This model is extended
target="RFC8345"></xref> with Layer 3 topologies specifics.</t> from the network topology model defined in <xref target="RFC8345"
format="default"/> and includes content related to Layer 3 topology specifics.</
t>
</dd>
<t>Layer 2 Topology Model:<vspace blankLines="1" /><xref <dt>Layer 2 Topology Model:
target="I-D.ietf-i2rs-yang-l2-network-topology"></xref> defines a </dt>
YANG data model for representing and manipulating Layer 2 <dd> <t><xref target="RFC8944" format="default"/> defines a YANG data model
topologies. This model is extended from the network topology model for representing and manipulating Layer 2 topologies. This model is extended
defined in <xref target="RFC8345"></xref> with Layer 2 topology from the network topology model defined in <xref target="RFC8345"
specifics.</t> format="default"/> and includes content related to Layer 2 topology specifics.</
</list></t> t>
</dd>
<t>Examples of tunnel YANG modules are provided below:<list </dl>
style="symbols">
<t>Tunnel identities: <xref target="RFC8675"></xref> defines a
collection of YANG identities used as interface types for tunnel
interfaces.</t>
<t>TE Tunnel Model:<vspace blankLines="1" /><xref <t>Examples of tunnel YANG modules are provided below:</t>
target="I-D.ietf-teas-yang-te"></xref> defines a YANG module for
the configuration and management of TE interfaces, tunnels, and
LSPs.</t>
<t>Segment Routing (SR) Traffic Engineering (TE) Tunnel <dl newline="true">
Model:<vspace blankLines="1" /><xref
target="I-D.ietf-teas-yang-te"></xref> augments the TE generic and
MPLS-TE model(s) and defines a YANG module for SR-TE specific
data.</t>
<t>MPLS-TE Model:<vspace blankLines="1" /><xref <dt>Tunnel Identities:
target="I-D.ietf-teas-yang-te"></xref> augments the TE generic and </dt>
MPLS-TE model(s) and defines a YANG module for MPLS-TE <dd><xref target="RFC8675" format="default"/> defines a collection of YANG
configurations, state, RPC and notifications.</t> identities used as interface types for tunnel interfaces.
</dd>
<t>RSVP-TE MPLS Model:<vspace blankLines="1" /><xref <dt>TE Tunnel Model:
target="I-D.ietf-teas-yang-rsvp-te"></xref> augments the RSVP-TE </dt>
generic module with parameters to configure and manage signaling <dd><xref target="I-D.ietf-teas-yang-te" format="default"/> defines a YANG
of MPLS RSVP-TE LSPs.</t> module for the configuration and management of TE interfaces, tunnels, and
</list></t> LSPs.
</dd>
<t>Other sample network models are listed hereafter:<list <dt>Segment Routing (SR) Traffic Engineering (TE) Tunnel Model:
style="symbols"> </dt>
<t>Path Computation API Model:<vspace blankLines="1" /><xref <dd><xref target="I-D.ietf-teas-yang-te" format="default"/> augments the TE
target="I-D.ietf-teas-yang-path-computation"></xref> YANG module generic and MPLS-TE model(s) and defines a YANG module for SR-TE-specific
for a stateless RPC which complements the stateful solution data.
defined in <xref target="I-D.ietf-teas-yang-te"></xref>.</t> </dd>
<t>OAM Models (including Fault Management (FM) and Performance <dt>MPLS-TE Model:
Monitoring):<vspace blankLines="1" /><xref </dt>
target="RFC8532"></xref> defines a base YANG module for the <dd><xref target="I-D.ietf-teas-yang-te" format="default"/> augments the TE
management of OAM protocols that use Connectionless generic and MPLS-TE model(s) and defines a YANG module for MPLS-TE
Communications. <xref target="RFC8533"></xref> defines a retrieval configurations, state, RPC, and notifications.
method YANG module for connectionless OAM protocols. <xref </dd>
target="RFC8531"></xref> defines a base YANG module for connection
oriented OAM protocols. These three models are intended to provide
consistent reporting, configuration, and representation for
connection-less OAM and Connection oriented OAM separately.<vspace
blankLines="1" />Alarm monitoring is a fundamental part of
monitoring the network. Raw alarms from devices do not always tell
the status of the network services or necessarily point to the
root cause. <xref target="RFC8632"></xref> defines a YANG module
for alarm management.</t>
</list></t>
</section>
<section title="Device Models: Samples"> <dt>RSVP-TE MPLS Model:
<t>Network Element models (listed in <xref target="device"></xref>) </dt>
are used to describe how a service can be implemented by activating <dd><xref target="I-D.ietf-teas-yang-rsvp-te" format="default"/> augments the
and tweaking a set of functions (enabled in one or multiple devices, RSVP-TE generic module with parameters to configure and manage signaling of
or hosted in cloud infrastructures) that are involved in the service MPLS RSVP-TE LSPs.
delivery. For example, the L3VPN service will involve many PEs and </dd>
require manipulating the following modules:</t>
<t><list style="symbols"> </dl>
<t>Routing management <xref target="RFC8349"></xref></t>
<t>BGP <xref target="I-D.ietf-idr-bgp-model"></xref></t> <t>Other sample network models are listed hereafter:</t>
<t>PIM <xref target="I-D.ietf-pim-yang"></xref></t> <dl newline="true">
<t>NAT management <xref target="RFC8512"></xref></t> <dt>Path Computation API Model:
</dt>
<t>QoS management <xref <dd><xref target="I-D.ietf-teas-yang-path-computation" format="default"/>
target="I-D.ietf-rtgwg-qos-model"></xref></t> defines a YANG module for a stateless RPC that complements the stateful
solution defined in <xref target="I-D.ietf-teas-yang-te" format="default"/>.
</dd>
<t>ACLs <xref target="RFC8519"></xref></t> <dt>OAM Models (including Fault Management (FM) and Performance Monitoring):
</list><xref target="device"></xref> uses IETF-defined data models </dt>
as an example.<figure anchor="device" <dd>
title="Network Element Modules Overview"> <t><xref target="RFC8532" format="default"/> defines a base YANG module for
<artwork><![CDATA[ +--------- the management of OAM protocols that use Connectionless Communications. <xref
---------------+ target="RFC8533" format="default"/> defines a retrieval method YANG module
for connectionless OAM protocols. <xref target="RFC8531" format="default"/>
defines a base YANG module for connection-oriented OAM protocols. These three
models are intended to provide consistent reporting, configuration, and
representation for connectionless OAM and connection-oriented OAM
separately.</t>
<t>Alarm monitoring is a fundamental part of monitoring the
network. Raw alarms from devices do not always tell the status of
the network services or necessarily point to the root cause. <xref
target="RFC8632" format="default"/> defines a YANG module for
alarm management.</t>
</dd>
</dl>
</section>
<section numbered="true" toc="default">
<name>Device Models: Samples</name>
<t>Network Element models (listed in <xref target="device" format="defau
lt"/>)
are used to describe how a service can be implemented by activating
and tweaking a set of functions (enabled in one or multiple devices,
or hosted in cloud infrastructures) that are involved in the service
delivery. For example, the L3VPN service will involve many PEs and
require manipulating the following modules:</t>
<ul spacing="normal">
<li>Routing management <xref target="RFC8349" format="default"/></li>
<li>BGP <xref target="I-D.ietf-idr-bgp-model" format="default"/></li>
<li>PIM <xref target="I-D.ietf-pim-yang" format="default"/></li>
<li>NAT management <xref target="RFC8512" format="default"/></li>
<li>QoS management <xref target="I-D.ietf-rtgwg-qos-model" format="def
ault"/></li>
<li>ACLs <xref target="RFC8519" format="default"/></li>
</ul>
<t><xref target="device" format="default"/> uses IETF-defined data model
s
as an example.</t>
<figure anchor="device">
<name>Network Element Models Overview</name>
<artwork name="" type="" align="left" alt=""><![CDATA[
+------------------------+
+-+ Device Model | +-+ Device Model |
| +------------------------+ | +------------------------+
| +------------------------+ | +------------------------+
+---------------+ | | Logical Network | +---------------+ | | Logical Network |
| | +-+ Element Model | | | +-+ Element Model |
| Architecture | | +------------------------+ | Architecture | | +------------------------+
| | | +------------------------+ | | | +------------------------+
+-------+-------+ +-+ Network Instance Model | +-------+-------+ +-+ Network Instance Model |
| | +------------------------+ | | +------------------------+
| | +------------------------+ | | +------------------------+
skipping to change at line 1800 skipping to change at line 1661
| +-------+ | +-------+
| +-------+ | +-------+
+-+SR/SRv6| +-+SR/SRv6|
| +-------+ | +-------+
| +-------+ | +-------+
+-+ISIS-SR| +-+ISIS-SR|
| +-------+ | +-------+
| +-------+ | +-------+
+-+OSPF-SR| +-+OSPF-SR|
+-------+]]></artwork> +-------+]]></artwork>
</figure></t> </figure>
<section numbered="true" toc="default">
<name>Model Composition</name>
<section title="Model Composition"> <dl newline="true">
<t><list style="symbols">
<t>Logical Network Element Model<vspace blankLines="1" /><xref
target="RFC8530"></xref> defines a logical network element
module which can be used to manage the logical resource
partitioning that may be present on a network device. Examples
of common industry terms for logical resource partitioning are
Logical Systems or Logical Routers.</t>
<t>Network Instance Model<vspace blankLines="1" /><xref <dt>Logical Network Element Model:
target="RFC8529"></xref> defines a network instance module. This </dt>
module can be used to manage the virtual resource partitioning <dd><xref target="RFC8530" format="default"/> defines a logical network
that may be present on a network device. Examples of common element model that can be used to manage the logical resource partitioning
industry terms for virtual resource partitioning are VRF that may be present on a network device. Examples of common industry terms for
instances and Virtual Switch Instances (VSIs).</t> logical resource partitioning are Logical Systems or Logical Routers.
</list></t> </dd>
</section>
<section title="Device Management "> <dt>Network Instance Model:
<t>The following list enumerates some YANG modules that can be used </dt>
for device management:</t> <dd><xref target="RFC8529" format="default"/> defines a network instance
module. This module can be used to manage the virtual resource partitioning
that may be present on a network device. Examples of common industry terms for
virtual resource partitioning are VRF instances and Virtual Switch Instances
(VSIs).
</dd>
<t><list style="symbols"> </dl>
<t><xref target="RFC8348"></xref>: defines a YANG module for the
management of hardware.</t>
<t><xref target="RFC7317"></xref>: defines the "ietf-system" </section>
<section numbered="true" toc="default">
<name>Device Management</name>
<t>The following list enumerates some YANG modules that can be used
for device management:</t>
<ul spacing="normal">
<li>
<xref target="RFC8348" format="default"/> defines a YANG module fo
r the
management of hardware.</li>
<li>
<xref target="RFC7317" format="default"/> defines the "ietf-system
"
YANG module that provides many features such as the YANG module that provides many features such as the
configuration and the monitoring of system or system control configuration and the monitoring of system or system control
operations (e.g., shutdown, restart, setting time) operations (e.g., shutdown, restart, and setting time)
identification.</t> identification.</li>
<li>
<t><xref target="RFC8341"></xref>: defines a network <xref target="RFC8341" format="default"/> defines a network
configuration access control YANG module.</t> configuration access control YANG module.</li>
</list></t> </ul>
</section> </section>
<section numbered="true" toc="default">
<section title="Interface Management"> <name>Interface Management</name>
<t>The following provides some YANG modules that can be used for <t>The following provides some YANG modules that can be used for
interface management:</t> interface management:</t>
<ul spacing="normal">
<t><list style="symbols"> <li>
<t><xref target="RFC7224"></xref>: defines a YANG module for <xref target="RFC7224" format="default"/> defines a YANG module fo
interface type definitions.</t> r
interface type definitions.</li>
<t><xref target="RFC8343"></xref>: defines a YANG module for the <li>
management of network interfaces.</t> <xref target="RFC8343" format="default"/> defines a YANG module fo
</list></t> r the
management of network interfaces.</li>
</ul>
</section> </section>
<section anchor="sample" numbered="true" toc="default">
<section anchor="sample" title="Some Device Model Examples"> <name>Some Device Model Examples</name>
<t>The following provides an overview of some device models that can <t>The following provides an overview of some device models that can
be used within a network. This list is not comprehensive.<list be used within a network. This list is not comprehensive.</t>
hangIndent="11" style="hanging"> <dl newline="true" spacing="normal">
<t hangText="L2VPN:"><xref <dt>L2VPN:</dt>
target="I-D.ietf-bess-l2vpn-yang"></xref> defines a YANG module <dd>
for MPLS based Layer 2 VPN services (L2VPN) <xref <xref target="I-D.ietf-bess-l2vpn-yang" format="default"/>
target="RFC4664"></xref> and includes switching between the defines a YANG module for MPLS-based Layer 2 VPN services
local attachment circuits. The L2VPN model covers point-to-point (L2VPN) <xref target="RFC4664" format="default"/> and includes
VPWS and Multipoint VPLS services. These services use signaling switching between the local attachment circuits. The L2VPN model
of Pseudowires across MPLS networks using LDP <xref covers point-to-point Virtual Private Wire Service (VPWS) and
target="RFC8077"></xref><xref target="RFC4762"></xref> or BGP Multipoint Virtual Private LAN Service (VPLS). These
<xref target="RFC4761"></xref>.</t> services use signaling of Pseudowires across MPLS networks using
LDP <xref target="RFC8077" format="default"/><xref
<t hangText="EVPN:"><xref target="RFC4762" format="default"/> or BGP <xref
target="I-D.ietf-bess-evpn-yang"></xref> defines a YANG module target="RFC4761" format="default"/>.</dd>
for Ethernet VPN services. The model is agnostic of the <dt>EVPN:</dt>
underlay. It applies to MPLS as well as to VxLAN encapsulation. <dd>
<xref target="I-D.ietf-bess-evpn-yang" format="default"/>
defines a YANG module for Ethernet VPN services. The model is
agnostic of the underlay. It applies to MPLS as well as to
Virtual eXtensible Local Area Network (VxLAN) encapsulation.
The module is also agnostic to the services, including E-LAN, The module is also agnostic to the services, including E-LAN,
E-LINE, and E-TREE services.</t> E-LINE, and E-TREE services.</dd>
<dt>L3VPN:</dt>
<t hangText="L3VPN:"><xref <dd>
target="I-D.ietf-bess-l3vpn-yang"></xref> defines a YANG module <xref target="I-D.ietf-bess-l3vpn-yang" format="default"/>
that can be used to configure and manage BGP L3VPNs <xref defines a YANG module that can be used to configure and manage
target="RFC4364"></xref>. It contains VRF specific parameters as BGP L3VPNs <xref target="RFC4364" format="default"/>. It
well as BGP specific parameters applicable for L3VPNs.</t> contains VRF-specific parameters as well as BGP-specific
parameters applicable for L3VPNs.</dd>
<t hangText="Core Routing:"><xref target="RFC8349"></xref> <dt>Core Routing:</dt>
<dd>
<xref target="RFC8349" format="default"/>
defines the core routing YANG data model, which is intended as a defines the core routing YANG data model, which is intended as a
basis for future data model development covering basis for future data model development covering
more-sophisticated routing systems. It is expected that other more-sophisticated routing systems. It is expected that other
Routing technology YANG modules (e.g., VRRP, RIP, ISIS, OSPF Routing technology YANG modules (e.g., VRRP, RIP, ISIS, or OSPF
models) will augment the Core Routing base YANG module.</t> models) will augment the Core Routing base YANG module.</dd>
<dt>MPLS:</dt>
<t hangText="MPLS:"><xref <dd>
target="I-D.ietf-mpls-base-yang"></xref> defines a base model <xref target="RFC8960" format="default"/> defines a base model
for MPLS which serves as a base framework for configuring and for MPLS that serves as a base framework for configuring and
managing an MPLS switching subsystem. It is expected that other managing an MPLS switching subsystem. It is expected that other
MPLS technology YANG modules (e.g., MPLS LSP Static, LDP, or MPLS technology YANG modules (e.g., MPLS LSP Static, LDP, or
RSVP-TE models) will augment the MPLS base YANG module.</t> RSVP-TE models) will augment the MPLS base YANG module.</dd>
<dt>BGP:</dt>
<t hangText="BGP:"><xref target="I-D.ietf-idr-bgp-model"></xref> <dd>
<xref target="I-D.ietf-idr-bgp-model" format="default"/>
defines a YANG module for configuring and managing BGP, defines a YANG module for configuring and managing BGP,
including protocol, policy, and operational aspects based on including protocol, policy, and operational aspects based on
data center, carrier, and content provider operational data center, carrier, and content provider operational
requirements.</t> requirements.</dd>
<dt>Routing Policy:</dt>
<t hangText="Routing Policy:"><xref <dd>
target="I-D.ietf-rtgwg-policy-model"></xref> defines a YANG <xref target="I-D.ietf-rtgwg-policy-model" format="default"/> defi
nes a YANG
module for configuring and managing routing policies based on module for configuring and managing routing policies based on
operational practice. The module provides a generic policy operational practice. The module provides a generic policy
framework which can be augmented with protocol-specific policy framework that can be augmented with protocol-specific policy
configuration.</t> configuration.</dd>
<dt>SR/SRv6:</dt>
<t hangText="SR/SRv6:"><xref <dd>
target="I-D.ietf-spring-sr-yang"></xref> a YANG module for <t><xref target="I-D.ietf-spring-sr-yang" format="default"/>
segment routing configuration and operation. <vspace defines a YANG module for segment routing configuration and
blankLines="1" /></t> operation. </t>
<t/>
<t hangText="BFD:">Bidirectional Forwarding Detection (BFD) </dd>
<xref target="RFC5880"></xref> is a network protocol which is <dt>BFD:</dt>
<dd>Bidirectional Forwarding Detection (BFD)
<xref target="RFC5880" format="default"/> is a network protocol th
at is
used for liveness detection of arbitrary paths between systems. used for liveness detection of arbitrary paths between systems.
<xref target="I-D.ietf-bfd-yang"></xref> defines a YANG module <xref target="I-D.ietf-bfd-yang" format="default"/> defines a YANG
that can be used to configure and manage BFD.</t> module
that can be used to configure and manage BFD.</dd>
<t hangText="Multicast:"><xref <dt>Multicast:</dt>
target="I-D.ietf-pim-yang"></xref> defines a YANG module that <dd>
<t><xref target="I-D.ietf-pim-yang" format="default"/> defines a Y
ANG module that
can be used to configure and manage Protocol Independent can be used to configure and manage Protocol Independent
Multicast (PIM) devices.<vspace blankLines="1" /><xref Multicast (PIM) devices.</t>
target="RFC8652"></xref> defines a YANG module that can be used <t><xref target="RFC8652" format="default"/> defines a YANG module
that can be used
to configure and manage Internet Group Management Protocol to configure and manage Internet Group Management Protocol
(IGMP) and Multicast Listener Discovery (MLD) devices.<vspace (IGMP) and Multicast Listener Discovery (MLD) devices.</t>
blankLines="1" /><xref <t><xref target="I-D.ietf-pim-igmp-mld-snooping-yang" format="defa
target="I-D.ietf-pim-igmp-mld-snooping-yang"></xref> defines a ult"/> defines a
YANG module that can be used to configure and manage Internet YANG module that can be used to configure and manage Internet
Group Management Protocol (IGMP) and Multicast Listener Group Management Protocol (IGMP) and Multicast Listener
Discovery (MLD) Snooping devices.<vspace blankLines="1" /><xref Discovery (MLD) snooping devices.</t>
target="I-D.ietf-bess-mvpn-yang"></xref> defines a YANG data <t><xref target="I-D.ietf-bess-mvpn-yang" format="default"/> defin
es a YANG data
model to configure and manage Multicast in MPLS/BGP IP VPNs model to configure and manage Multicast in MPLS/BGP IP VPNs
(MVPNs).</t> (MVPNs).</t>
</dd>
<t hangText="PM:"><xref <dt>PM:</dt>
target="I-D.ietf-ippm-twamp-yang"></xref> defines a YANG data <dd>
<t><xref target="I-D.ietf-ippm-twamp-yang" format="default"/> defi
nes a YANG data
model for client and server implementations of the Two-Way model for client and server implementations of the Two-Way
Active Measurement Protocol (TWAMP).<vspace Active Measurement Protocol (TWAMP).</t>
blankLines="1" /><xref target="I-D.ietf-ippm-stamp-yang"></xref> <t><xref target="I-D.ietf-ippm-stamp-yang" format="default"/>
defines the data model for implementations of Session-Sender and defines the data model for implementations of Session-Sender and
Session-Reflector for Simple Two-way Active Measurement Protocol Session-Reflector for Simple Two-way Active Measurement Protocol
(STAMP) mode using YANG. <vspace blankLines="1" /><xref (STAMP) mode using YANG. </t>
target="RFC8194"></xref> defines a YANG data model for <t><xref target="RFC8194" format="default"/> defines a YANG data m
odel for
Large-Scale Measurement Platforms (LMAPs).</t> Large-Scale Measurement Platforms (LMAPs).</t>
</dd>
<t hangText="ACL:">Access Control List (ACL) is one of the basic <dt>ACL:</dt>
elements used to configure device forwarding behavior. It is <dd>An Access Control List (ACL) is one of the basic
used in many networking technologies such as Policy Based elements used to configure device-forwarding behavior. It is
Routing, firewalls, etc. <xref target="RFC8519"></xref> used in many networking technologies such as Policy-Based
describes a YANG data model of ACL basic building blocks.</t> Routing, firewalls, etc. <xref target="RFC8519" format="default"/>
describes a YANG data model of ACL basic building blocks.</dd>
<t hangText="QoS:"><xref <dt>QoS:</dt>
target="I-D.ietf-rtgwg-qos-model"></xref> describes a YANG <dd>
<xref target="I-D.ietf-rtgwg-qos-model" format="default"/> describ
es a YANG
module of Differentiated Services for configuration and module of Differentiated Services for configuration and
operations.</t> operations.</dd>
<dt>NAT:</dt>
<t hangText="NAT:">For the sake of network automation and the <dd>
need for programming Network Address Translation (NAT) function <t>For the sake of network automation and the need for
in particular, a YANG data model for configuring and managing programming the Network Address Translation (NAT) function in
the NAT is essential.<vspace blankLines="1" /><xref particular, a YANG data model for configuring and managing the
target="RFC8512"></xref> defines a YANG module for the NAT NAT is essential.</t>
<t><xref target="RFC8512" format="default"/> defines a YANG module
for the NAT
function covering a variety of NAT flavors such as Network function covering a variety of NAT flavors such as Network
Address Translation from IPv4 to IPv4 (NAT44), Network Address Address Translation from IPv4 to IPv4 (NAT44), Network Address
and Protocol Translation from IPv6 Clients to IPv4 Servers and Protocol Translation from IPv6 Clients to IPv4 Servers
(NAT64), customer-side translator (CLAT), Stateless IP/ICMP (NAT64), customer-side translator (CLAT), Stateless IP/ICMP
Translation (SIIT), Explicit Address Mappings (EAM) for SIIT, Translation (SIIT), Explicit Address Mappings (EAMs) for SIIT,
IPv6-to-IPv6 Network Prefix Translation (NPTv6), and Destination IPv6-to-IPv6 Network Prefix Translation (NPTv6), and Destination
NAT. <vspace blankLines="1" /><xref target="RFC8513"></xref> NAT. </t>
specifies a DS-Lite YANG module.</t> <t><xref target="RFC8513" format="default"/>
specifies a Dual-Stack Lite (DS-Lite) YANG module.</t>
<t hangText="Stateless Address Sharing:"><xref </dd>
target="RFC8676"></xref> specifies a YANG module for A+P address <dt>Stateless Address Sharing:</dt>
sharing, including Lightweight 4over6, Mapping of Address and <dd>
Port with Encapsulation (MAP-E), and Mapping of Address and Port <xref target="RFC8676" format="default"/> specifies a YANG
using Translation (MAP-T) softwire mechanisms.</t> module for Address plus Port (A+P) address sharing, including
</list></t> Lightweight 4over6, Mapping of Address and Port with
Encapsulation (MAP-E), and Mapping of Address and Port using
Translation (MAP-T) softwire mechanisms.</dd>
</dl>
</section> </section>
</section> </section>
</section> </section>
<section anchor="ack" numbered="false" toc="default">
<name>Acknowledgements</name>
<t>Thanks to <contact fullname="Joe Clark"/>, <contact fullname="Greg
Mirsky"/>, <contact fullname="Shunsuke Homma"/>, <contact fullname="Brian
Carpenter"/>,
<contact fullname="Adrian Farrel"/>, <contact fullname="Christian
Huitema"/>, <contact fullname="Tommy Pauly"/>, <contact fullname="Ines
Robles"/>, and <contact fullname="Olivier
Augizeau"/> for the review.</t>
<t>Many thanks to <contact fullname="Robert Wilton"/> for the detailed AD
review.</t>
<t>Thanks to <contact fullname="Éric Vyncke"/>, <contact fullname="Roman
Danyliw"/>, <contact fullname="Erik Kline"/>, and <contact fullname="Benja
min
Kaduk"/> for the IESG review.</t>
</section>
<section numbered="false" toc="default">
<name>Contributors</name>
<contact fullname="Christian Jacquenet">
<organization>Orange</organization>
<address>
<postal>
<city>Rennes, 35000</city>
<country>France</country>
</postal>
<email>Christian.jacquenet@orange.com</email>
</address>
</contact>
<contact fullname="Luis Miguel Contreras Murillo">
<organization>Telefonica</organization>
<address>
<postal>
<street></street>
<city></city>
<country></country>
</postal>
<email>luismiguel.contrerasmurillo@telefonica.com</email>
</address>
</contact>
<contact fullname="Oscar Gonzalez de Dios">
<organization>Telefonica</organization>
<address>
<postal>
<street></street>
<city>Madrid</city>
<country>Spain</country>
</postal>
<email>oscar.gonzalezdedios@telefonica.com</email>
</address>
</contact>
<contact fullname="Weiqiang Cheng">
<organization>China Mobile</organization>
<address>
<postal>
<street></street>
<city></city>
<country></country>
</postal>
<email>chengweiqiang@chinamobile.com</email>
</address>
</contact>
<contact fullname="Young Lee">
<organization>Sung Kyun Kwan University</organization>
<address>
<postal>
<street></street>
<city></city>
<country></country>
</postal>
<email>younglee.tx@gmail.com</email>
</address>
</contact>
</section>
</back> </back>
</rfc> </rfc>
 End of changes. 311 change blocks. 
1267 lines changed or deleted 1354 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/