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 & 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 <intended> status but does | configuration data appears in the <intended> status but does | |||
not appear in the <operational> datastore. More details about | not appear in the <operational> datastore. More details about | |||
<intended> and <operational> datastores can be found in | <intended> and <operational> 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 <operational> datastore holds the | |||
<operational> 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 É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 (<<eref | ||||
<t>The reader may refer to the YANG Catalog | target="https://www.yangcatalog.org"/>>) or the public Github YANG | |||
(<https://www.yangcatalog.org>) or the public Github YANG | repository (<<eref target="https://github.com/YangModels/yang"/>>) t | |||
repository (<https://github.com/YangModels/yang>) 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/ |