| rfc8924xml2.original.xml | rfc8924.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <!-- This template is for creating an Internet Draft using xml2rfc, | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| which is available here: http://xml.resource.org. --> | ||||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | ||||
| ]> | ||||
| <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
| <!-- used by XSLT processors --> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" | |||
| <!-- For a complete list and description of processing instructions (PIs), | category="info" consensus="true" | |||
| please see http://xml.resource.org/authoring/README.html. --> | docName="draft-ietf-sfc-oam-framework-15" number="8924" ipr="trust200902" | |||
| <!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds | obsoletes="" updates="" xml:lang="en" tocInclude="true" tocDepth="4" | |||
| might want to use. | symRefs="true" sortRefs="true" version="3"> | |||
| (Here they are set differently than their defaults in xml2rfc v1.32) --> | ||||
| <?rfc strict="yes" ?> | ||||
| <!-- give errors regarding ID-nits and DTD validation --> | ||||
| <!-- control the table of contents (ToC) --> | ||||
| <?rfc toc="yes"?> | ||||
| <!-- generate a ToC --> | ||||
| <?rfc tocdepth="4"?> | ||||
| <!-- the number of levels of subsections in ToC. default: 3 --> | ||||
| <!-- control references --> | ||||
| <?rfc symrefs="yes"?> | ||||
| <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] --> | ||||
| <?rfc sortrefs="yes" ?> | ||||
| <!-- sort the reference entries alphabetically --> | ||||
| <!-- control vertical white space | ||||
| (using these PIs as follows is recommended by the RFC Editor) --> | ||||
| <?rfc compact="yes" ?> | ||||
| <!-- do not start each main section on a new page --> | ||||
| <?rfc subcompact="no" ?> | ||||
| <!-- keep one blank line between list items --> | ||||
| <!-- end of list of popular I-D processing instructions --> | ||||
| <rfc category="info" docName="draft-ietf-sfc-oam-framework-15" ipr="trust200902" | <!-- xml2rfc v2v3 conversion 2.46.0 --> | |||
| > | ||||
| <!-- category values: std, bcp, info, exp, and historic | ||||
| ipr values: full3667, noModification3667, noDerivatives3667 | ||||
| you can add the attributes updates="NNNN" and obsoletes="NNNN" | ||||
| they will automatically be output with "(if approved)" --> | ||||
| <!-- ***** FRONT MATTER ***** --> | <!-- ***** FRONT MATTER ***** --> | |||
| <front> | <front> | |||
| <title abbrev="SFC OAM Framework"> | <title abbrev="SFC OAM Framework">Service Function Chaining (SFC) | |||
| Service Function Chaining (SFC) Operations, Administration and Ma | Operations, Administration, and Maintenance (OAM) | |||
| intenance (OAM) Framework | Framework</title> | |||
| </title> | <seriesInfo name="RFC" value="8924"/> | |||
| <!-- add 'role="editor"' below for the editors if appropriate --> | ||||
| <!-- Another author who claims to be an editor --> | ||||
| <author fullname="Sam K. Aldrin" initials="S." | <author fullname="Sam K. Aldrin" initials="S." surname="Aldrin"> | |||
| surname="Aldrin"> | ||||
| <organization>Google</organization> | <organization>Google</organization> | |||
| <address> | <address> | |||
| <email>aldrin.ietf@gmail.com</email> | <email>aldrin.ietf@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author role="editor" fullname="Carlos Pignataro" initials="C." surname="Pig | ||||
| <author role="editor" fullname="Carlos Pignataro" initials="C." | nataro"> | |||
| surname="Pignataro"> | ||||
| <organization abbrev="Cisco">Cisco Systems, Inc.</organization> | <organization abbrev="Cisco">Cisco Systems, Inc.</organization> | |||
| <address> | <address> | |||
| <email>cpignata@cisco.com</email> | <email>cpignata@cisco.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author role="editor" fullname="Nagendra Kumar" initials="N." surname="Kumar | ||||
| <author role="editor" fullname="Nagendra Kumar" initials="N." | "> | |||
| surname="Kumar"> | ||||
| <organization abbrev="Cisco">Cisco Systems, Inc.</organization> | <organization abbrev="Cisco">Cisco Systems, Inc.</organization> | |||
| <address> | <address> | |||
| <email>naikumar@cisco.com</email> | <email>naikumar@cisco.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Ram Krishnan" initials="R." surname="Krishnan"> | ||||
| <author fullname="Ram Krishnan" initials="R." | ||||
| surname="Krishnan"> | ||||
| <organization>VMware</organization> | <organization>VMware</organization> | |||
| <address> | <address> | |||
| <email>ramkri123@gmail.com</email> | <email>ramkri123@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Anoop Ghanwani" initials="A." surname="Ghanwani"> | ||||
| <author fullname="Anoop Ghanwani" initials="A." | ||||
| surname="Ghanwani"> | ||||
| <organization>Dell</organization> | <organization>Dell</organization> | |||
| <address> | <address> | |||
| <email>anoop@alumni.duke.edu</email> | <email>anoop@alumni.duke.edu</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date year="2020" month="October"/> | ||||
| <date /> | <area>RTG</area> | |||
| <workgroup>SFC</workgroup> | ||||
| <area>SFC Working Group</area> | ||||
| <workgroup>Internet Engineering Task Force</workgroup> | ||||
| <!-- WG name at the upperleft corner of the doc, | ||||
| IETF is fine for individual submissions. | ||||
| If this element is not present, the default is "Network Working Group", | ||||
| which is used by the RFC Editor as a nod to the history of the IETF. --> | ||||
| <keyword>SFC</keyword> | <keyword>SFC</keyword> | |||
| <keyword>OAM</keyword> | <keyword>OAM</keyword> | |||
| <keyword>Framework</keyword> | <keyword>Framework</keyword> | |||
| <!-- Keywords will be incorporated into HTML output | ||||
| files in a meta tag but they have no effect on text or nroff | ||||
| output. If you submit your draft to the RFC Editor, the | ||||
| keywords will be used for the search engine. --> | ||||
| <abstract> | <abstract> | |||
| <t>This document provides a reference framework for Operations, | ||||
| <t>This document provides a reference framework for Operations, Administra | Administration, and Maintenance (OAM) for Service Function Chaining | |||
| tion and Maintenance (OAM) for Service Function Chaining (SFC).</t> | (SFC).</t> | |||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section numbered="true" toc="default"> | ||||
| <name>Introduction</name> | ||||
| <t>Service Function Chaining (SFC) enables the creation of composite | ||||
| services that consist of an ordered set of Service Functions (SFs) that | ||||
| are to be applied to any traffic selected as a result of classification | ||||
| <xref target="RFC7665" format="default"/>. SFC is a concept that | ||||
| provides for more than just the application of an ordered set of SFs to | ||||
| selected traffic; rather, it describes a method for deploying SFs in a | ||||
| way that enables dynamic ordering and topological independence of those | ||||
| SFs as well as the exchange of metadata between participating | ||||
| entities. The foundations of SFC are described in the following | ||||
| documents:</t> | ||||
| <ul spacing="normal"> | ||||
| <li>SFC Problem Statement <xref target="RFC7498" format="default"/></li> | ||||
| <li>SFC Architecture <xref target="RFC7665" format="default"/></li> | ||||
| </ul> | ||||
| <t>The reader is assumed to be familiar with the material in <xref | ||||
| target="RFC7665" format="default"/>.</t> | ||||
| <t>This document provides a reference framework for Operations, | ||||
| Administration, and Maintenance (OAM) <xref target="RFC6291" | ||||
| format="default"/> of SFC. Specifically, this document provides:</t> | ||||
| <ul spacing="normal"> | ||||
| <li>an SFC layering model (<xref target="_SFC_Layer" format="default"/>) | ||||
| ,</li> | ||||
| <li>aspects monitored by SFC OAM (<xref target="_SFC_OAM_Comp" | ||||
| format="default"/>),</li> | ||||
| <li>functional requirements for SFC OAM (<xref | ||||
| target="_SFC_OAM_Func" format="default"/>),</li> | ||||
| <li>a gap analysis for SFC OAM (<xref target="_Gap" format="default"/>), | ||||
| </li> | ||||
| <li>operational aspects of SFC OAM at the service layer (<xref | ||||
| target="OPS_ASPECTS" format="default"/>),</li> | ||||
| <li>applicability of various OAM tools (<xref | ||||
| target="_SFC_OAM_MODEL" format="default"/>), and</li> | ||||
| <li>manageability considerations for SF and SFC (<xref | ||||
| target="Manageability" format="default"/>). </li> | ||||
| </ul> | ||||
| <t>SFC OAM solution documents should refer to this document to indicate | ||||
| the SFC OAM component and the functionality they target.</t> | ||||
| <t>OAM controllers are SFC-aware network devices that are capable of | ||||
| generating OAM packets. They should be within the same administrative | ||||
| domain as the target SFC-enabled domain.</t> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Document Scope</name> | ||||
| <t>The focus of this document is to provide an architectural framework | ||||
| for SFC OAM, particularly focused on the aspect of the Operations | ||||
| component within OAM. Actual solutions and mechanisms are outside the | ||||
| scope of this document.</t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Acronyms and Terminology</name> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Acronyms</name> | ||||
| <dl newline="false" spacing="normal" indent="11"> | ||||
| <dt>BFD</dt> | ||||
| <dd>Bidirectional Forwarding Detection</dd> | ||||
| <dt>CLI</dt> | ||||
| <dd>Command-Line Interface</dd> | ||||
| <dt>DWDM</dt> | ||||
| <dd>Dense Wavelength Division Multiplexing</dd> | ||||
| <dt>E-OAM</dt> | ||||
| <dd>Ethernet OAM</dd> | ||||
| <dt>hSFC</dt> | ||||
| <dd>Hierarchical Service Function Chaining</dd> | ||||
| <dt>IBN</dt> | ||||
| <dd>Internal Boundary Node</dd> | ||||
| <dt>IPPM</dt> | ||||
| <dd>IP Performance Metrics</dd> | ||||
| <dt>MPLS</dt> | ||||
| <dd>Multiprotocol Label Switching</dd> | ||||
| <dt>MPLS_PM</dt> | ||||
| <dd>MPLS Performance Measurement</dd> | ||||
| <dt>NETCONF</dt> | ||||
| <dd>Network Configuration Protocol</dd> | ||||
| <dt>NSH</dt> | ||||
| <dd>Network Service Header</dd> | ||||
| <dt>NVO3</dt> | ||||
| <dd>Network Virtualization over Layer 3</dd> | ||||
| <dt>OAM</dt> | ||||
| <dd>Operations, Administration, and Maintenance</dd> | ||||
| <dt>POS</dt> | ||||
| <dd>Packet over SONET</dd> | ||||
| <dt>RSP</dt> | ||||
| <dd>Rendered Service Path</dd> | ||||
| <dt>SF</dt> | ||||
| <dd>Service Function</dd> | ||||
| <dt>SFC</dt> | ||||
| <dd>Service Function Chain</dd> | ||||
| <dt>SFF</dt> | ||||
| <dd>Service Function Forwarder</dd> | ||||
| <dt>SFP</dt> | ||||
| <dd>Service Function Path</dd> | ||||
| <dt>SNMP</dt> | ||||
| <dd>Simple Network Management Protocol</dd> | ||||
| <dt>TRILL</dt> | ||||
| <dd>Transparent Interconnection of Lots of Links</dd> | ||||
| <dt>VM</dt> | ||||
| <dd>Virtual Machine</dd> | ||||
| <section title="Introduction"> | </dl> | |||
| </section> | ||||
| <t>Service Function Chaining (SFC) enables the creation of composite services th | <section numbered="true" toc="default"> | |||
| at consist of an ordered set of Service Functions (SF) that are to be applied to | <name>Terminology</name> | |||
| any traffic selected as a result of classification <xref target="RFC7665" />. S | <t>This document uses the terminology defined in <xref | |||
| FC is a concept that provides for more than just the application of an ordered s | target="RFC7665" format="default"/> and <xref target="RFC8300" | |||
| et of SFs to selected traffic; rather, it describes a method for deploying SFs i | format="default"/>, and readers are expected to be familiar | |||
| n a way that enables dynamic ordering and topological independence of those SFs | with it.</t> | |||
| as well as the exchange of metadata between participating entities. The foundati | </section> | |||
| ons of SFC are described in the following documents: | </section> | |||
| <list style="symbols"> | ||||
| <t>SFC Problem Statement <xref target="RFC7498" /></t> | ||||
| <t>SFC Architecture <xref target="RFC7665" /></t> | ||||
| </list> | ||||
| The reader is assumed to be familiar with the material in <xref target="RFC7665 | ||||
| " />. | ||||
| </t><t> | ||||
| This document provides a reference framework for Operations, Administration and | ||||
| Maintenance (OAM, <xref target="RFC6291" />) of SFC. Specifically, this document | ||||
| provides: | ||||
| <list style="symbols"> | ||||
| <t>In <xref target="_SFC_Layer" />, an SFC layering model;</t> | ||||
| <t>In <xref target="_SFC_OAM_Comp" />, aspects monitored by SFC OAM;</t> | ||||
| <t>In <xref target="_SFC_OAM_Func" />, functional requirements for SFC OAM;</t> | ||||
| <t>In <xref target="_Gap" />, a gap analysis for SFC OAM.</t> | ||||
| <t>In <xref target="OPS_ASPECTS" />, operational aspects of SFC OAM at the servi | ||||
| ce layer.</t> | ||||
| <t>In <xref target="_SFC_OAM_MODEL" />, applicability of various OAM tools.</t> | ||||
| <t>In <xref target="Manageability" />, manageability considerations for SF and S | ||||
| FC. </t> | ||||
| </list> | ||||
| </t> | ||||
| <t>SFC OAM solution documents should refer to this document to indicate the SFC | ||||
| OAM component and the functionality they target. | ||||
| </t> | ||||
| <t>OAM controllers are SFC-aware network devices that are capable of generating | ||||
| OAM packets. They should be within the same administrative domain as the target | ||||
| SFC enabled domain. | ||||
| </t> | ||||
| <section title="Document Scope"> | ||||
| <t>The focus of this document is to provide an architectural framework for SFC O | ||||
| AM, particularly focused on the aspect of the Operations component within OAM. A | ||||
| ctual solutions and mechanisms are outside the scope of this document.</t> | ||||
| </section> | ||||
| <section title="Acronyms and Terminology"> | ||||
| <section title="Acronyms"> | ||||
| <t>SFC: Service Function Chain</t> | ||||
| <t>SFF: Service Function Forwarder</t> | ||||
| <t>SF: Service Function</t> | ||||
| <t>SFP: Service Function Path</t> | ||||
| <t>RSP: Rendered Service Path</t> | ||||
| <t>NSH: Network Service Header</t> | ||||
| <t>VM: Virtual Machines</t> | ||||
| <t>OAM: Operations, Administration and Maintenance</t> | ||||
| <t>IPPM: IP Performance Measurement</t> | ||||
| <t>BFD: Bidirectional Forwarding Detection</t> | ||||
| <t>NVO3: Network Virtualization over Layer3</t> | ||||
| <t>SNMP: Simple Network Management Protocol</t> | ||||
| <t>NETCONF: Network Configuration Protocol</t> | ||||
| <t>E-OAM: Ethernet OAM</t> | ||||
| <t>MPLS_PM: MPLS Performance Measurement</t> | ||||
| <t>POS: Packet over SONET</t> | ||||
| <t>DWDM: Dense Wavelength Division Multiplexing</t> | ||||
| <t>hSFC: Hierarchical Service Function Chaining</t> | ||||
| <t>IBN: Internal Boundary Node</t> | ||||
| <t>MPLS: Multiprotocol Label Switching</t> | ||||
| <t>TRILL: Transparent Interconnection of Lots of Links</t> | ||||
| <t>CLI: Command Line Interface</t> | ||||
| </section> | ||||
| <section title="Terminology"> | ||||
| <t>This document uses the terminologies defined in <xref target="RFC7665" | ||||
| />, | ||||
| <xref target="RFC8300" />, | ||||
| and so the readers are expected to be familiar with the terminologies. | ||||
| </t> | ||||
| </section> | ||||
| </section> | </section> | |||
| <section anchor="_SFC_Layer" numbered="true" toc="default"> | ||||
| </section> | <name>SFC Layering Model</name> | |||
| <t>Multiple layers come into play for implementing the SFC. These | ||||
| <section title="SFC Layering Model" anchor="_SFC_Layer"> | include the service layer and the underlying layers (network layer, link | |||
| layer, etc.).</t> | ||||
| <t>Multiple layers come into play for implementing the SFC. These include the se | <ul spacing="normal"> | |||
| rvice layer and the underlying layers (Network Layer, Link Layer, etc.). | <li>The service layer consists of SFC data-plane elements that | |||
| include classifiers, Service Functions (SFs), Service Function | ||||
| <list style="symbols"> | Forwarders (SFF), and SFC Proxies. This layer uses the overlay network | |||
| layer for ensuring connectivity between SFC data-plane elements.</li> | ||||
| <t>The service layer, which consists of SFC data plane elements that includes cl | <li>The overlay network layer leverages various overlay network | |||
| assifiers, Service Functions (SF), Service Function Forwarders (SFF), and SFC Pr | technologies (e.g., Virtual eXtensible Local Area Network | |||
| oxies. This layer uses the overlay network layer for ensuring connectivity betwe | (VXLAN)) for interconnecting SFC data-plane elements and | |||
| en SFC data plane elements.</t> | allows establishing Service Function Paths (SFPs). This layer is | |||
| mostly transparent to the SFC data-plane elements, as not all the data-pl | ||||
| <t>The overlay network layer, which leverages various overlay network technologi | ane elements process the overlay header.</li> | |||
| es (e.g., VxLAN)interconnecting SFC data plane elements and allows establishing | <li>The underlay network layer is dictated by the networking | |||
| Service Function Paths (SFPs). This layer is mostly transparent to the SFC data | technology deployed within a network (e.g., IP, MPLS).</li> | |||
| plane elements as not all the data plane elements process the overlay header.</t | <li>The link layer is tightly coupled with the physical | |||
| > | technology used. Ethernet is one such choice for this layer, but other | |||
| alternatives may be deployed (e.g., POS and DWDM). In a virtual environme | ||||
| <t>The underlay network layer, which is dictated by the networking technology de | nt, | |||
| ployed within a network (e.g., IP, MPLS)</t> | virtualized I/O technologies, such as Single Root I/O Virtualization | |||
| (SR-IOV) or similar, are also | ||||
| <t>The link layer, which is tightly coupled with the physical technology used. E | applicable for this layer. The same or distinct link layer | |||
| thernet is one such choice for this layer, but other alternatives are deployed ( | technologies may be used in each leg shown in <xref | |||
| e.g. POS, DWDM). In a virtual environment, virtualized I/O technologies such as | target="SFC-example"/>.</li> | |||
| SR-IOV or similar are also applicable for this layer. The same or distinct link | </ul> | |||
| layer technologies may be used in each leg shown in Figure 1.</t> | <t keepWithNext="true"/> | |||
| <figure anchor="SFC-example"> | ||||
| </list> | <name>SFC Layering Example</name> | |||
| <artwork align="left" name="" type="" alt=""><![CDATA[ | ||||
| <figure align="left"><preamble></preamble><artwork align="left"><![CDATA[ | ||||
| o----------------------Service Layer----------------------o | o----------------------Service Layer----------------------o | |||
| +------+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ | +------+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ | |||
| |Classi|---|SF1|---|SF2|---|SF3|---|SF4|---|SF5|---|SF6|---|SF7| | |Classi|---|SF1|---|SF2|---|SF3|---|SF4|---|SF5|---|SF6|---|SF7| | |||
| |fier | +---+ +---+ +---+ +---+ +---+ +---+ +---+ | |fier | +---+ +---+ +---+ +---+ +---+ +---+ +---+ | |||
| +------+ | +------+ | |||
| <------VM1------> <--VM2--> <--VM3--> | <------VM1------> <--VM2--> <--VM3--> | |||
| ^-----------------^-------------------^---------------^ Overlay | ^-----------------^-------------------^---------------^ Overlay | |||
| Network | Network | |||
| o-----------------o-------------------o---------------o Underlay | o-----------------o-------------------o---------------o Underlay | |||
| Network | Network | |||
| o--------o--------o--------o----------o-------o-------o Link | o--------o--------o--------o----------o-------o-------o Link | |||
| ]]></artwork> | ||||
| Figure 1: SFC Layering Example | </figure> | |||
| ]]></artwork></figure> | <t>In <xref target="SFC-example"/>, the service-layer elements, such as | |||
| classifier and SF, are depicted as virtual entities that are | ||||
| </t> | interconnected using an overlay network. The underlay network may | |||
| comprise multiple intermediate nodes not shown in the figure that | ||||
| <t>In Figure 1, the service layer elements such as classifier and SF are depicte | provide underlay connectivity between the service-layer elements.</t> | |||
| d as virtual entities that are interconnected using an overlay network. The unde | <t>While <xref target="SFC-example"/> depicts an example where SFs are | |||
| rlay network may comprise multiple intermediate nodes not shown in the figure th | enabled as virtual entities, the SFC architecture does not make any | |||
| at provide underlay connectivity between the service layer elements. | assumptions on how the SFC data-plane elements are deployed. The SFC | |||
| </t> | architecture is flexible and accommodates physical or virtual entity | |||
| deployment. SFC OAM accounts for this flexibility, and accordingly it is | ||||
| <t>While Figure 1 depicts an example where SFs are enabled as virtual entities, | applicable whether SFC data-plane elements are deployed directly on | |||
| the SFC architecture does not make any assumptions on how the SFC data plane ele | physical hardware, as one or more virtual entities, or any combination | |||
| ments are deployed. The SFC architecture is flexible and accommodates physical o | thereof.</t> | |||
| r virtual entity deployment. SFC OAM accounts for this flexibility and according | </section> | |||
| ly it is applicable whether SFC data plane elements are deployed directly on phy | <section anchor="_SFC_OAM_Comp" numbered="true" toc="default"> | |||
| sical hardware, as one or more Virtual entities, or any combination thereof. | <name>SFC OAM Components</name> | |||
| </t> | <t>The SFC operates at the service layer. For the purpose of defining | |||
| the OAM framework, the service layer is broken up into three distinct | ||||
| </section> | components:</t> | |||
| <dl newline="true" spacing="normal"> | ||||
| <section title="SFC OAM Components" anchor="_SFC_OAM_Comp"> | <dt>SF component:</dt> | |||
| <dd>OAM functions applicable at this component include | ||||
| <t>The SFC operates at the service layer. For the purpose of defining the OAM fr | testing the SFs from any SFC-aware network device (e.g., classifiers, | |||
| amework, the service layer is broken up into three distinct components: | controllers, and other service nodes). Testing an SF may be more expansiv | |||
| e | ||||
| <list style="numbers"> | than just checking connectivity to the SF, such as checking if the SF | |||
| is providing its intended service. Refer to <xref target="SF-avail"/> | ||||
| <t>SF component: OAM functions applicable at this component include testing the | for a more detailed discussion.</dd> | |||
| SFs from any SFC-aware network device (e.g., classifiers, controllers, other ser | <dt>SFC component:</dt> | |||
| vice nodes). Testing an SF may be more expansive than just checking connectivity | <dd>OAM functions applicable at this component include | |||
| to the SF such as checking if the SF is providing its intended service. Refer t | (but are not limited to) testing the SFCs and the | |||
| o Section 3.1.1 for a more detailed discussion.</t> | SFPs, validation of the correlation between an SFC and the actual | |||
| forwarding path followed by a packet matching that SFC, i.e., the | ||||
| <t>SFC component: OAM functions applicable at this component include (but are no | Rendered Service Path (RSP). Some of the hops of an SFC may not be | |||
| t limited to) testing the service function chains and the SFPs, validation of th | visible when Hierarchical Service Function Chaining (hSFC) <xref | |||
| e correlation between an SFC and the actual forwarding path followed by a packet | target="RFC8459" format="default"/> is in use. In such schemes, it is | |||
| matching that SFC, i.e. the Rendered Service Path (RSP). Some of the hops of an | the responsibility of the Internal Boundary Node (IBN) to glue the | |||
| SFC may not be visible when Hierarchical Service Function Chaining (hSFC) <xref | connectivity between different levels for end-to-end OAM | |||
| target="RFC8459" /> is in use. In such schemes, it is the responsibility of the | functionality.</dd> | |||
| Internal Boundary Node (IBN) to glue the connectivity between different levels | <dt>Classifier component:</dt> | |||
| for end-to-end OAM functionality.</t> | <dd>OAM functions applicable at this component | |||
| include testing the validity of the classification rules and detecting | ||||
| <t>Classifier component: OAM functions applicable at this component include test | any incoherence among the rules installed when more than one | |||
| ing the validity of the classification rules and detecting any incoherence among | classifier is used, as explained in <xref | |||
| the rules installed when more than one classifier is used as explained in Secti | target="RFC7665" sectionFormat="of" section="2.2"/>.</dd> | |||
| on 2.2 of | </dl> | |||
| <xref target="RFC7665" /> .</t> | <t><xref target="SFC-OAM"/> illustrates an example where OAM for the | |||
| three defined components are used within the SFC environment.</t> | ||||
| </list> | <t keepWithNext="true"/> | |||
| <figure anchor="SFC-OAM"> | ||||
| Figure 2 illustrates an example where OAM for the three defined components are u | <name>SFC OAM Components</name> | |||
| sed within the SFC environment. | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| <figure align="left"><preamble></preamble><artwork align="left"><![CDATA[ | ||||
| +-Classifier +-Service Function Chain OAM | +-Classifier +-Service Function Chain OAM | |||
| | OAM | | | OAM | | |||
| | | ___________________________________________ | | | ___________________________________________ | |||
| | \ /\ Service Function Chain \ | | \ /\ Service Function Chain \ | |||
| | \ / \ +---+ +---+ +-----+ +---+ \ | | \ / \ +---+ +---+ +-----+ +---+ \ | |||
| | \ / \ |SF1| |SF2| |Proxy|--|SF3| \ | | \ / \ |SF1| |SF2| |Proxy|--|SF3| \ | |||
| | +------+ \/ \ +---+ +---+ +-----+ +---+ \ | | +------+ \/ \ +---+ +---+ +-----+ +---+ \ | |||
| +----> | |....(+-> ) | | | ) | +----> | |...(+-> ) | | | ) | |||
| |Classi| \ / +-----+ +-----+ +-----+ / | |Classi| \ / +-----+ +-----+ +-----+ / | |||
| |fier | \ / | SFF1|----| SFF2|----| SFF3| / | |fier | \ / | SFF1|----| SFF2|----| SFF3| / | |||
| | | \ / +--^--+ +-----+ +-----+ / | | | \ / +--^--+ +-----+ +-----+ / | |||
| +----|-+ \/_________|________________________________/ | +----|-+ \/_________|________________________________/ | |||
| | | | | | | |||
| +-------SF_OAM-------+ | +-------SF_OAM-------+ | |||
| +---+ +---+ | +---+ +---+ | |||
| +SF_OAM>|SF3| |SF5| | +SF_OAM>|SF3| |SF5| | |||
| | +-^-+ +-^-+ | | +-^-+ +-^-+ | |||
| +------|---+ | | | +------|---+ | | | |||
| |Controller| +-SF_OAM+ | |Controller| +-SF_OAM+ | |||
| +----------+ | +----------+ | |||
| Service Function OAM (SF_OAM) | Service Function OAM (SF_OAM) | |||
| ]]></artwork> | ||||
| Figure 2: SFC OAM Components | </figure> | |||
| ]]></artwork></figure> | <t>It is expected that multiple SFC OAM solutions will be defined, each | |||
| targeting one specific component of the service layer. However, it is | ||||
| It is expected that multiple SFC OAM solutions will be defined, each targeting o | critical that SFC OAM solutions together provide the coverage of all | |||
| ne specific component of the service layer. However, it is critical that SFC OAM | three SFC OAM components: the SF component, the SFC component, and the | |||
| solutions together provide the coverage of all three SFC OAM components: the SF | classifier component.</t> | |||
| component, the SFC component, and the classifier component.</t> | <section numbered="true" toc="default"> | |||
| <name>The SF Component</name> | ||||
| <section title="The SF Component"> | <section anchor="SF-avail" numbered="true" toc="default"> | |||
| <name>SF Availability</name> | ||||
| <section title="SF Availability"> | <t>One SFC OAM requirement for the SF component is to allow an | |||
| SFC-aware network device to check the availability of a specific SF | ||||
| <t>One SFC OAM requirement for the SF component is to allow an SFC-aware network | (instance), located on the same or different network device(s). For | |||
| device to check the availability of a specific SF (instance), located on the sa | cases where multiple instances of an SF are used to realize a given | |||
| me or different network device(s). For cases where multiple instances of an SF a | SF for the purpose of load sharing, SF availability can be performed | |||
| re used to realize a given SF for the purpose of load sharing, SF availability c | by checking the availability of any one of those instances, or the | |||
| an be performed by checking the availability of any one of those instances, or t | availability check may be targeted at a specific instance. SF | |||
| he availability check may be targeted at a specific instance. SF availability is | availability is an aspect that raises an interesting question: How | |||
| an aspect that raises an interesting question: How does one determine that a se | does one determine that an SF is available? At one end | |||
| rvice function is available? On one end of the spectrum, one might argue that a | of the spectrum, one might argue that an SF is sufficiently | |||
| n SF is sufficiently available if the service node (physical or virtual) hosting | available if the service node (physical or virtual) hosting the SF | |||
| the SF is available and is functional. On the other end of the spectrum, one m | is available and is functional. At the other end of the spectrum, | |||
| ight argue that the SF's availability can only be concluded if the packet, after | one might argue that the SF's availability can only be deduced if | |||
| passing through the SF, was examined and it was verified that the packet did in | the packet, after passing through the SF, was examined and it was | |||
| deed get the expected service.</t> | verified that the packet did indeed get the expected service.</t> | |||
| <t>The former approach will likely not provide sufficient confidence | ||||
| <t>The former approach will likely not provide sufficient confidence to the actu | about the actual SF availability, i.e., a service node and an SF are tw | |||
| al SF availability, i.e. a service node and an SF are two different entities. T | o | |||
| he latter approach is capable of providing an extensive verification, but comes | different entities. The latter approach is capable of providing an | |||
| at a cost. Some SFs make direct modifications to packets, while others do not. | extensive verification but comes at a cost. Some SFs make direct | |||
| Additionally, the purpose of some SFs may be to, conditionally, drop packets in | modifications to packets, while others do not. Additionally, the | |||
| tentionally. In such cases, it is normal behavior that certain packets will not | purpose of some SFs may be to drop certain packets | |||
| be egressing out from the service function. The OAM mechanism needs to take in | intentionally. In such cases, it is normal behavior that certain | |||
| to account such SF specifics when assessing SF availability. Note that there are | packets will not be egressing out from the SF. The | |||
| many flavors of SFs available, and many more that are likely be introduced in f | OAM mechanism needs to take into account such SF specifics when | |||
| uture. Even a given SF may introduce a new functionality (e.g., a new signature | assessing SF availability. Note that there are many flavors of SFs | |||
| in a firewall). The cost of this approach is that the OAM mechanism for some S | available and many more that are likely be introduced in the future. | |||
| F will need to be continuously modified in order to "keep up" with new | Even a given SF may introduce a new functionality (e.g., a new | |||
| functionality being introduced: lack of extensibility.</t> | signature in a firewall). The cost of this approach is that the OAM | |||
| mechanism for some SF will need to be continuously modified in order | ||||
| <t>The SF availability check can be performed using a generalized approach (i.e. | to "keep up" with new functionality being introduced.</t> | |||
| , an adequate granularity to provide a basic SF service). The task of evaluatin | <t>The SF availability check can be performed using a generalized | |||
| g the true availability of a Service Function is a complex activity, currently h | approach, i.e., at an adequate granularity to provide a basic SF | |||
| aving no simple, unified solution. There is currently no standard means of doin | service. The task of evaluating the true availability of an SF is a co | |||
| g so. Any such mechanism would be far from a typical OAM function, so it is not | mplex activity, currently having no simple, unified | |||
| explored as part of the analysis in Sections 4 and 5.</t> | solution. There is currently no standard means of doing so. Any | |||
| such mechanism would be far from a typical OAM function, so it is | ||||
| </section> | not explored as part of the analysis in Sections <xref | |||
| target="_SFC_OAM_Func" format="counter"/> and <xref target="_Gap" | ||||
| <section title="SF Performance Measurement"> | format="counter"/>.</t> | |||
| </section> | ||||
| <t>The second SFC OAM requirement for the SF component is to allow an | <section numbered="true" toc="default"> | |||
| SFC-aware network device to check the performance metrics such as loss an | <name>SF Performance Measurement</name> | |||
| d delay | <t>The second SFC OAM requirement for the SF component is to allow | |||
| induced by a specific SF for processing legitimate traffic. The performan | an SFC-aware network device to check the performance metrics, such as | |||
| ce can be a passive measurement by using live traffic, an active measurement by | loss and delay induced by a specific SF for processing legitimate | |||
| using synthetic probe packets or can be a hybrid method that use a combination | traffic. Performance measurement can be passive by using live | |||
| of active and passive measurement. More details about this OAM function is expla | traffic, an active measurement by using synthetic probe packets, or | |||
| ined in Section 4.4. | a hybrid method that uses a combination of active and passive | |||
| </t> | measurement. More details about this OAM function is explained in | |||
| <xref target="Perform_Funct"/>.</t> | ||||
| <t>On the one hand, the performance of any specific SF can be quantified | <t>On the one hand, the performance of any specific SF can be quantifi | |||
| by | ed by | |||
| measuring the loss and delay metrics of the traffic from SFF to the respe | measuring the loss and delay metrics of the traffic from the SFF to the r | |||
| ctive | espective | |||
| SF, while on the other hand, the performance can be measured by | SF, while on the other hand, the performance can be measured by | |||
| leveraging the loss and delay metrics from the respective SFs. The | leveraging the loss and delay metrics from the respective SFs. The | |||
| latter requires SF involvement to perform the measurement while the | latter requires SF involvement to perform the measurement, while the | |||
| former does not. For cases where multiple instances of an SF are used to realize a | former does not. For cases where multiple instances of an SF are used to realize a | |||
| given SF for the purpose of load sharing, SF performance can be quantifie d by | given SF for the purpose of load sharing, SF performance can be quantifie d by | |||
| measuring the metrics for any one instance of SF or by measuring the metr ics for | measuring the metrics for any one instance of SF or by measuring the metr ics for | |||
| a specific instance. | a specific instance.</t> | |||
| </t> | <t>The metrics measured to quantify the performance of the SF | |||
| component are not just limited to loss and delay. Other metrics, such | ||||
| <t>The metrics measured to quantify the performance of the SF component a | as throughput, also exist and the choice of metrics for performance | |||
| re not just | measurement is outside the scope of this document.</t> | |||
| limited to loss and delay. Other metrics such as throughput also exist an | </section> | |||
| d the choice | </section> | |||
| of metrics for performance measurement is outside the scope of this docum | <section numbered="true" toc="default"> | |||
| ent. | <name>The SFC Component</name> | |||
| </t> | <section numbered="true" toc="default"> | |||
| <name>SFC Availability</name> | ||||
| </section> | <t>An SFC could comprise varying SFs, and so the OAM layer is | |||
| required to perform validation and verification of SFs within an | ||||
| </section> | SFP, in addition to connectivity verification and fault | |||
| isolation.</t> | ||||
| <section title="The SFC Component"> | <t>In order to perform service connectivity verification of an | |||
| SFC/SFP, the OAM functions could be initiated from any SFC-aware | ||||
| <section title="SFC Availability"> | network device of an SFC-enabled domain for end-to-end paths, or | |||
| partial paths terminating on a specific SF, within the SFC/SFP. The | ||||
| <t>An SFC could comprise varying SFs and so the OAM layer is required to perform | goal of this OAM function is to ensure the SFs chained together have | |||
| validation and verification of SFs within an SFP, in addition to connectivity v | connectivity, as was intended at the time when the SFC was | |||
| erification and fault isolation.</t> | established. The necessary return codes should be defined for | |||
| sending back in the response to the OAM packet, in order to complete | ||||
| <t>In order to perform service connectivity verification of an SFC/SFP, the OAM | the verification.</t> | |||
| functions could be initiated from any SFC-aware network device of an SFC-enabled | <t>When ECMP is in use at the service layer for any given SFC, there | |||
| domain for end-to-end paths, or partial paths terminating on a specific SF, wit | must be the ability to discover and traverse all available | |||
| hin the SFC/SFP. The goal of this OAM function is to ensure the SFs chained toge | paths.</t> | |||
| ther have connectivity as was intended at the time when the SFC was established. | <t>A detailed explanation of the mechanism is outside the scope of | |||
| The necessary return codes should be defined for sending back in the response t | this document and is expected to be included in the actual solution | |||
| o the OAM packet, in order to complete the verification.</t> | document.</t> | |||
| </section> | ||||
| <t>When ECMP is in use at the service layer for any given SFC, there must be the | <section numbered="true" toc="default"> | |||
| ability to discover and traverse all available paths.</t> | <name>SFC Performance Measurement</name> | |||
| <t>Any SFC-aware network device should have the ability to make | ||||
| <t>A detailed explanation of the mechanism is outside the scope of this document | performance measurements over the entire SFC (i.e., end-to-end) or | |||
| and is | on a specific segment of SFs within the SFC.</t> | |||
| expected to be included in the actual solution document.</t> | </section> | |||
| </section> | ||||
| </section> | <section numbered="true" toc="default"> | |||
| <name>Classifier Component</name> | ||||
| <section title="SFC Performance Measurement"> | <t>A classifier maintains the classification rules that map a flow to | |||
| a specific SFC. It is vital that the classifier is correctly | ||||
| <t>Any SFC-aware network device should have the ability to make performance meas | configured with updated classification rules and is functioning as | |||
| urements over the entire SFC (i.e., end-to-end) or to a specific segment of SFs | expected. The SFC OAM must be able to validate the classification | |||
| within the SFC.</t> | rules by assessing whether a flow is appropriately mapped to the | |||
| relevant SFC and detect any misclassification. Sample OAM packets can | ||||
| </section> | be presented to the classifiers to assess the behavior with regard to | |||
| a given classification entry.</t> | ||||
| </section> | <t>The classifier availability check may be performed to check the | |||
| availability of the classifier to apply the rules and classify the | ||||
| <section title="Classifier Component"> | traffic flows. Any SFC-aware network device should have the ability to | |||
| perform availability checking of the classifier component for each | ||||
| <t>A classifier maintains the classification rules that map a flow to a specific | SFC. </t> | |||
| SFC. It is vital that the classifier is correctly configured with updated class | <t>Any SFC-aware network device should have the ability to perform | |||
| ification rules and is functioning as expected. The SFC OAM must be able to vali | performance measurement of the classifier component for each SFC. The | |||
| date the classification rules by assessing whether a flow is appropriately mappe | performance can be quantified by measuring the performance metrics of | |||
| d to the relevant SFC and detect any misclassification. Sample OAM packets can b | the traffic from the classifier for each SFC/SFP.</t> | |||
| e presented to the classifiers to assess the behavior with regard to a given cla | </section> | |||
| ssification entry.</t> | <section numbered="true" toc="default"> | |||
| <name>Underlay Network</name> | ||||
| <t>The classifier availability check may be performed to check the availability | <t>The underlay network provides connectivity between the SFC | |||
| of the classifier to apply the rules and classify the traffic flows. Any SFC-awa | components, so the availability or the performance of the underlay | |||
| re network device should have the ability to perform availability checking of th | network directly impacts the SFC OAM.</t> | |||
| e classifier component for each SFC. | ||||
| </t> | ||||
| <t>Any SFC-aware network device should have the ability to perform performance m | ||||
| easurement of the classifier component for each SFC. The performance can be quan | ||||
| tified by measuring | ||||
| the performance metrics of the traffic from the classifier for each SFC/SFP. | ||||
| </t> | ||||
| </section> | ||||
| <section title="Underlay Network"> | ||||
| <t>The underlay network provides connectivity between the SFC components | ||||
| so the availability or the performance of the underlay network directly impacts | ||||
| the SFC OAM. | ||||
| </t> | ||||
| <t>Any SFC-aware network device may have the ability to perform availabil | ||||
| ity check or performance measurement of the underlay network using any existing | ||||
| OAM functions listed in Section 5.1. | ||||
| </t> | ||||
| </section> | ||||
| <section title="Overlay Network"> | ||||
| <t>The overlay network provides connectivity for service plane between th | ||||
| e SFC components and is mostly transparent to the SFC data plane elements. | ||||
| </t> | ||||
| <t>Any SFC-aware network device may have the ability to perform availabil | ||||
| ity check or performance measurement of the overlay network using any existing O | ||||
| AM functions listed in Section 5.1. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section title="SFC OAM Functions" anchor="_SFC_OAM_Func"> | ||||
| <t><xref target="_SFC_OAM_Comp" /> described SFC OAM components and the associat | ||||
| ed OAM operations on each of them. This section explores SFC OAM functions that | ||||
| are applicable for more than one SFC component.</t> | ||||
| <t>The various SFC OAM requirements listed in <xref target="_SFC_OAM_Comp" /> hi | ||||
| ghlighted the need for various OAM functions at the service layer. As listed in | ||||
| Section 5.1, various OAM functions are in existence that are defined to perform | ||||
| OAM functionality at different layers. In order to apply such OAM functions at t | ||||
| he service layer, they need to be enhanced to operate a single SF/SFF to multipl | ||||
| e SFs/SFFs spanning across one or more SFCs.</t> | ||||
| <section title="Connectivity Functions"> | ||||
| <t>Connectivity is mainly an on-demand function to verify that the connectivity | ||||
| exists between certain network elements and that the SFs are available. For exam | ||||
| ple, LSP Ping <xref target="RFC8029" /> is a common tool used to perform this fu | ||||
| nction for an MPLS network. Some of the OAM functions performed by connectivity | ||||
| functions are as follows: | ||||
| <list style="symbols"> | ||||
| <t>Verify the Path MTU from a source to the destination SF or through the SFC. T | ||||
| his requires the ability for the OAM packet to be of variable length.</t> | ||||
| <t>Detect any packet re-ordering and corruption.</t> | ||||
| <t>Verify that an SFC or SF is applying the expected policy.</t> | ||||
| <t>Verification and validation of forwarding paths.</t> | ||||
| <t>Proactively test alternate or protected paths to ensure reliability of networ | ||||
| k configurations.</t> | ||||
| </list> | ||||
| </t> | ||||
| </section> | ||||
| <section title="Continuity Functions"> | ||||
| <t>Continuity is a model where OAM messages are sent periodically to validate or | ||||
| verify the reachability of a given SF within an SFC or for the entire SFC. This | ||||
| allows a monitoring network device (such as the classifier or controller) to qu | ||||
| ickly detect failures such as link failures, network element failures, SF outage | ||||
| s, or SFC outages. BFD <xref target="RFC5880" /> is one such function which help | ||||
| s in detecting failures quickly. OAM functions supported by continuity functions | ||||
| are as follows: | ||||
| <list style="symbols"> | ||||
| <t>Ability to provision a continuity check to a given SF within an SFC or for th | ||||
| e entire SFC.</t> | ||||
| <t>Proactively test alternate or protected paths to ensure reliability of networ | ||||
| k configurations.</t> | ||||
| <t>Notifying other OAM functions or applications of the detected failures so the | ||||
| y can take appropriate action.</t> | ||||
| </list> | ||||
| </t> | ||||
| </section> | ||||
| <section title="Trace Functions"> | ||||
| <t>Tracing is an OAM function that allows the operation to trigger an action (e. | ||||
| g. response generation) from every transit device (e.g. SFF, SF, SFC Proxy) on t | ||||
| he tested layer. This function is typically useful for gathering information fro | ||||
| m every transit device or for isolating the failure point to a specific SF withi | ||||
| n an SFC or for an entire SFC. Some of the OAM functions supported by trace func | ||||
| tions are: | ||||
| <list style="symbols"> | ||||
| <t>Ability to trigger an action from every transit device at the SFC layer, usin | ||||
| g TTL or other means.</t> | ||||
| <t>Ability to trigger every transit device at the SFC layer to generate a respon | ||||
| se with OAM code(s), using TTL or other means.</t> | ||||
| <t>Ability to discover and traverse ECMP paths within an SFC.</t> | ||||
| <t>Ability to skip SFs that do not support OAM while tracing SFs in an SFC.</t> | ||||
| </list> | ||||
| </t> | ||||
| </section> | ||||
| <section title="Performance Measurement Functions"> | ||||
| <t>Performance measurement functions involve measuring of packet loss, delay, de | ||||
| lay variance, etc. These performance metrics may be measured pro-actively or on- | ||||
| demand.</t> | ||||
| <t>SFC OAM should provide the ability to measure packet loss for an SFC. On-dema | ||||
| nd measurement can be used to estimate packet loss using statistical methods. To | ||||
| ensure accurate estimations, one needs to ensure that OAM packets are treated t | ||||
| he same and also share the same fate as regular data traffic.</t> | ||||
| <t>Delay within an SFC could be measured based on the time it takes for a packet | ||||
| to traverse the SFC from the ingress SFC node to the egress SFF. Measurement pr | ||||
| otocols such as One-way Active Measurement Protocol (OWAMP) <xref target="RFC465 | ||||
| 6" /> and Two-way Active Measurement Protocol (TWAMP) <xref target="RFC5357" /> | ||||
| can be used to measure the characteristics. As SFCs are unidirectional in nature | ||||
| , measurement of one-way delay <xref target="RFC7679" /> is important. In order | ||||
| to measure one-way delay, time synchronization must be supported by means such a | ||||
| s NTP, GPS, Precision Time Protocol (PTP), etc.</t> | ||||
| <t>One-way delay variation <xref target="RFC3393" /> could also be calculated by | ||||
| sending OAM packets and measuring the jitter for traffic passing through an SFC | ||||
| .</t> | ||||
| <t>Some of the OAM functions supported by the performance measurement functions | ||||
| are: | ||||
| <list style="symbols"> | ||||
| <t>Ability to measure the packet processing delay induced by a single SF or the | ||||
| one-way delay to traverse an SFP bound to a given SFC.</t> | ||||
| <t>Ability to measure the packet loss <xref target="RFC7680" /> within an SF or | ||||
| an SFP bound to a given SFC.</t> | ||||
| </list> | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section title="Gap Analysis" anchor="_Gap"> | ||||
| <t>This section identifies various OAM functions available at different layers i | ||||
| ntroduced in Section 2. It also identifies various gaps that exist within the cu | ||||
| rrent toolset for performing OAM functions required for SFC.</t> | ||||
| <section title="Existing OAM Functions" anchor="_Exist_FUNC"> | ||||
| <t>There are various OAM tool sets available to perform OAM functions within var | ||||
| ious layers. These OAM functions may be used to validate some of the underlay an | ||||
| d overlay networks. Tools like ping and trace are in existence to perform connec | ||||
| tivity check and tracing of intermediate hops in a network. These tools support | ||||
| different network types like IP, MPLS, TRILL, etc. Ethernet OAM (E-OAM) <xref ta | ||||
| rget="Y.1731"/> | ||||
| <xref target="EFM"/> and Connectivity Fault Management (CFM) <xref target="DOT1Q | ||||
| "/> offer OAM | ||||
| mechanisms such as an Ethernet continuity check for Ethernet links. There is an | ||||
| effort around NVO3 OAM to provide connectivity and continuity checks for network | ||||
| s that use NVO3. BFD is used for the detection of data plane forwarding failure | ||||
| s. The IPPM framework <xref target="RFC2330" /> offers tools such as OWAMP <xref | ||||
| target="RFC4656" /> and TWAMP | ||||
| <xref target="RFC5357" /> (collectively referred as IPPM in this section) to mea | ||||
| sure various performance metrics. MPLS Packet Loss Measurement (LM) and Packet D | ||||
| elay Measurement (DM) (collectively referred as MPLS_PM in this section) <xref t | ||||
| arget="RFC6374" /> offers the ability to measure performance metrics in MPLS net | ||||
| work. There is also an effort to extend the tool set to provide connectivity and | ||||
| continuity checks within overlay networks. BFD is another tool which helps in d | ||||
| etecting data forwarding failures. Table 3 below is not exhaustive. | ||||
| <figure align="left"><preamble></preamble><artwork align="left"><![CDATA[ | ||||
| Table 3: OAM Tool GAP Analysis | ||||
| +----------------+--------------+-------------+--------+------------+ | ||||
| | Layer | Connectivity | Continuity | Trace | Performance| | ||||
| +----------------+--------------+-------------+--------+------------+ | ||||
| | Underlay N/w | Ping |E-OAM, BFD | Trace | IPPM, | | ||||
| | | | | | MPLS_PM | | ||||
| +----------------+--------------+-------------+--------+------------+ | ||||
| | Overlay N/w | Ping | BFD, | | | | ||||
| | | | NVO3 OAM | Trace | IPPM | | ||||
| +----------------+--------------+-------------+--------+------------+ | ||||
| | Classifier | Ping | BFD | Trace | None | | ||||
| +----------------+--------------+-------------+--------+------------+ | ||||
| | SF | None | None | None | None | | ||||
| +----------------+--------------+-------------+--------+------------+ | ||||
| | SFC | None | None | None | None | | ||||
| +----------------+--------------+-------------+--------+------------+ | ||||
| ]]></artwork></figure> | ||||
| </t> | ||||
| </section> | ||||
| <section title="Missing OAM Functions"> | ||||
| <t>As shown in Table 3, there are no standards-based tools available at the time | ||||
| of this writing that can be used natively (i.e. without enhancement) for the ve | ||||
| rification of SFs and SFCs.</t> | ||||
| </section> | ||||
| <section title="Required OAM Functions"> | ||||
| <t>Primary OAM functions exist for underlying layers. Tools like ping, trace, BF | ||||
| D, etc. exist in order to perform these OAM functions.</t> | ||||
| <t>As depicted in Table 3, toolsets and solutions are required to perform the OA | ||||
| M functions at the service layer. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section title="Operational Aspects of SFC OAM at the Service Layer" anchor="OPS | ||||
| _ASPECTS"> | ||||
| <t>This section describes the operational aspects of SFC OAM at the servi | ||||
| ce layer to perform the SFC OAM function defined in <xref target="_SFC_OAM_Func" | ||||
| /> and analyzes the applicability of various existing OAM toolsets in the servi | ||||
| ce layer. | ||||
| </t> | ||||
| <section title="SFC OAM Packet Marker"> | ||||
| <t>SFC OAM messages should be encapsulated with necessary SFC hea | ||||
| der and with OAM markings when testing the SFC component. SFC OAM messages may b | ||||
| e encapsulated with the necessary SFC header and with OAM markings when testing | ||||
| the SF component. | ||||
| </t> | ||||
| <t>The SFC OAM function described in <xref target="_SFC_OAM_Func" | ||||
| /> performed at the service layer or overlay network layer must mark the packet | ||||
| as an OAM packet so that relevant nodes can differentiate an OAM packet from da | ||||
| ta packets. The base header defined in Section 2.2 of <xref target="RFC8300" /> | ||||
| assigns a bit to indicate OAM packets. When NSH encapsulation is used at the ser | ||||
| vice layer, the O bit must be set to differentiate the OAM packet. Any other ove | ||||
| rlay encapsulations used at the service layer must have a way to mark the packet | ||||
| as OAM packet. | ||||
| </t> | ||||
| </section> | ||||
| <section title="OAM Packet Processing and Forwarding Semantic"> | ||||
| <t>Upon receiving an OAM packet, SFC-aware SFs may choose to disc | ||||
| ard the packet if it does not support OAM functionality or if the local policy p | ||||
| revents them from processing the OAM packet. When an SF supports OAM functionali | ||||
| ty, it is desirable to process the packet and provide an appropriate response to | ||||
| allow end-to-end verification. To limit performance impact due to OAM, SFC-awar | ||||
| e SFs should rate limit the number of OAM packets processed. | ||||
| </t> | ||||
| <t>An SFF may choose not to forward the OAM packet to an SF if th | ||||
| e SF does not support OAM or if the policy does not allow to forward OAM packets | ||||
| to an SF. The SFF may choose to skip the SF, modify the header and forward to t | ||||
| he next SFC node in the chain. It should be noted that skipping an SF might have | ||||
| implications on some OAM functions (e.g. the delay measurement may not be accur | ||||
| ate). The method by which an SFF detects if the connected SF supports or is allo | ||||
| wed to process OAM packets is outside the scope of this document. It could be a | ||||
| configuration parameter instructed by the controller or it can be done by dynami | ||||
| c negotiation between the SF and SFF. | ||||
| </t> | ||||
| <t>If the SFF receiving the OAM packet bound to a given SFC is th | ||||
| e last SFF in the chain, it must send a relevant response to the initiator of th | ||||
| e OAM packet. Depending on the type of OAM solution and tool set used, the respo | ||||
| nse could be a simple response (such as ICMP reply) or could include additional | ||||
| data from the received OAM packet (like statistical data consolidated along the | ||||
| path). The details are expected to be covered in the solution documents. | ||||
| </t> | ||||
| <t>Any SFC-aware node that initiates an OAM packet must set the O | ||||
| AM marker in the overlay encapsulation. | ||||
| </t> | ||||
| </section> | ||||
| <section title="OAM Function Types"> | ||||
| <t>As described in <xref target="_SFC_OAM_Func" />, there are dif | ||||
| ferent OAM functions that may require different OAM solutions. While the presenc | ||||
| e of the OAM marker in the overlay header (e.g., O bit in the NSH header) indica | ||||
| tes it as an OAM packet, it is not sufficient to indicate what OAM function the | ||||
| packet is intended for. The Next Protocol field in the NSH header may be used to | ||||
| indicate what OAM function is intended or what toolset is used. Any other overl | ||||
| ay encapsulations used at the service | ||||
| layer must have a similar way to indicate the intended OAM function. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section title="Candidate SFC OAM Tools" anchor="_SFC_OAM_MODEL"> | ||||
| <t>As described in <xref target="_Exist_FUNC" />, there are diffe | ||||
| rent tool sets | ||||
| available to perform OAM functions at different layers. This sec | ||||
| tion describe | ||||
| the applicability of some of the available toolsets in the servic | ||||
| e layer. | ||||
| </t> | ||||
| <section title="ICMP"> | ||||
| <t><xref target="RFC0792" /> and <xref target="RFC4443" / | ||||
| > describe the use of | ||||
| ICMP in IPv4 and IPv6 networks respectively. It explains | ||||
| how ICMP messages can | ||||
| be used to test the network reachability between differen | ||||
| t end points and | ||||
| perform basic network diagnostics. | ||||
| </t> | ||||
| <t>ICMP could be leveraged for connectivity functions (de | ||||
| fined in Section 4.1) to verify the availability of an SF or SFC. The Initiator | ||||
| can generate an ICMP echo request message and control the service layer encapsul | ||||
| ation header to get the response from the relevant node. For example, a classifi | ||||
| er initiating OAM can generate an ICMP echo request message, can set the TTL fie | ||||
| ld in the NSH header <xref target="RFC8300" /> to 63 to get the response from th | ||||
| e last SFF, and thereby test the SFC availability. Alternatively, the initiator | ||||
| can set the TTL to some other value to get the response from a specific SFs and | ||||
| thereby partially test SFC availability or the initiator could send OAM packets | ||||
| with sequentially incrementing TTL in the NSH to trace the SFP. | ||||
| </t> | ||||
| <t>It could be observed that ICMP at its current stage ma | ||||
| y not be able to perform all required SFC OAM functions, but as explained above, | ||||
| it can be used for some of the connectivity functions. | ||||
| </t> | ||||
| </section> | ||||
| <section title="BFD/Seamless-BFD"> | ||||
| <t><xref target="RFC5880" /> defines the Bidirectional Fo | ||||
| rwarding Detection (BFD) mechanism for failure detection. <xref target="RFC5881" | ||||
| /> and <xref target="RFC5884" /> define the applicability of BFD in IPv4, IPv6 | ||||
| and MPLS networks. <xref target="RFC7880" /> defines Seamless BFD (S-BFD), a sim | ||||
| plified mechanism of using BFD. <xref target="RFC7881" /> explains its applicabi | ||||
| lity in IPv4, IPv6 and MPLS network. | ||||
| </t> | ||||
| <t>BFD or S-BFD could be leveraged to perform the continu | ||||
| ity function for SF or SFC. An initiator could generate a BFD control packet and | ||||
| set the "Your Discriminator" value to identify the last SFF in the control pack | ||||
| et. Upon receiving the control packet, the last SFF in the SFC will reply back w | ||||
| ith the relevant DIAG code. The TTL field in the NSH header could be used to per | ||||
| form a partial SFC availability check. For example, the initiator can set the " | ||||
| Your Discriminator" value to identify the SF that is intended to be tested and s | ||||
| et the TTL field in the NSH header in a way that it expires at the relevant SF. | ||||
| How the initiator gets the Discriminator value to identify the SF is outside the | ||||
| scope of this document. | ||||
| </t> | ||||
| </section> | ||||
| <section title="In-Situ OAM"> | ||||
| <t><xref target="I-D.ietf-sfc-ioam-nsh" /> defines how In | ||||
| -Situ OAM data fields <xref target="I-D.ietf-ippm-ioam-data" /> are transported | ||||
| using the NSH header. <xref target="I-D.ietf-sfc-proof-of-transit" /> defines a | ||||
| mechanism to perform proof of transit to securely verify if a packet traversed t | ||||
| he relevant SFP or SFC. While the mechanism is defined inband (i.e., it will be | ||||
| included in data packets), IOA Option-Types such as IOAM Trace Option-Types can | ||||
| also be used to perform other SFC OAM function such as SFC tracing. | ||||
| </t> | ||||
| <t>In-Situ OAM could be leveraged to perform SF availabil | ||||
| ity and SFC availability or performance measurement. For example, if SFC is rea | ||||
| lized using NSH, the O-bit in the NSH header could be set to indicate the OAM tr | ||||
| affic as defined in Section 4.2 <xref target="I-D.ietf-sfc-ioam-nsh" />. | ||||
| </t> | ||||
| </section> | ||||
| <section title="SFC Traceroute"> | ||||
| <t><xref target="I-D.penno-sfc-trace" /> defines a protoc | ||||
| ol that checks for path liveliness and traces the service hops in any SFP. Secti | ||||
| on 3 of <xref target="I-D.penno-sfc-trace" /> defines the SFC trace packet form | ||||
| at while Sections 4 and 5 of <xref target="I-D.penno-sfc-trace" /> defines the | ||||
| behavior of SF and SFF respectively. While <xref target="I-D.penno-sfc-trace" /> | ||||
| has expired, the proposal is implemented in Open Daylight and is available. | ||||
| </t> | ||||
| <t>An initiator can control the Service Index Limit (SIL) | ||||
| in SFC trace packet to perform SF and SFC availability test. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section anchor="Manageability" title="Manageability Considerations"> | ||||
| <t>This document does not define any new manageability tools but consolid | ||||
| ates the manageability tool gap analysis for SF and SFC. Table 4 below is not ex | ||||
| haustive. | ||||
| </t> | ||||
| <t> | ||||
| <figure align="left"><preamble></preamble><artwork align="left"><![CDATA[ | ||||
| Table 4: OAM Tool GAP Analysis | ||||
| +----------------+--------------+-------------+--------+-------------+ | ||||
| | Layer |Configuration |Orchestration|Topology|Notification | | ||||
| +----------------+--------------+-------------+--------+-------------+ | ||||
| | Underlay N/w |CLI, NETCONF | CLI, NETCONF| SNMP |SNMP, Syslog,| | ||||
| | | | | |NETCONF | | ||||
| +----------------+--------------+-------------+--------+-------------+ | ||||
| | Overlay N/w |CLI, NETCONF | CLI, NETCONF| SNMP |SNMP, Syslog | | ||||
| | | | | |NETCONF | | ||||
| +----------------+--------------+-------------+--------+-------------+ | ||||
| | Classifier |CLI, NETCONF | CLI, NETCONF| None | None | | ||||
| +----------------+--------------+-------------+--------+-------------+ | ||||
| | SF |CLI, NETCONF | CLI, NETCONF| None | None | | ||||
| +----------------+--------------+-------------+--------+-------------+ | ||||
| | SFC |CLI, NETCONF | CLI, NETCONF| None | None | | ||||
| +----------------+--------------+-------------+--------+-------------+ | ||||
| ]]></artwork></figure> | ||||
| </t> | ||||
| <t>Configuration, orchestration and other manageability tasks of SF and S | ||||
| FC could be | ||||
| performed using CLI, NETCONF <xref target="RFC6241" /> , etc. | ||||
| </t> | ||||
| <t>While the NETCONF capabilities are readily available as depicted in Ta | ||||
| ble 4, the information and data models are needed for configuration, manageabili | ||||
| ty and orchestration for SFC. With virtualized SF and SFC, manageability needs t | ||||
| o be done programmatically.</t> | ||||
| </section> | ||||
| <section anchor="Security" title="Security Considerations"> | ||||
| <t>Any security considerations defined in <xref target="RFC7665" /> and <xref ta | ||||
| rget="RFC8300" /> is applicable for this document. | ||||
| </t> | ||||
| <t>The OAM information from the service layer at different components may collec | ||||
| tively or independently reveal sensitive information. The information may reveal | ||||
| the type of service functions hosted in the network, the classification rules a | ||||
| nd the associated service chains, specific service function paths, etc. The sens | ||||
| itivity of the information from the SFC layer raises a need for careful security | ||||
| considerations. | ||||
| </t> | ||||
| <t>The mapping and the rules information at the classifier component may reveal | ||||
| the traffic rules and the traffic mapped to the SFC. The SFC information collect | ||||
| ed at an SFC component may reveal the SFs associated within each chain and this | ||||
| information together with classifier rules may be used to manipulate the header | ||||
| of synthetic attack packets that may be used to bypass the SFC and trigger any i | ||||
| nternal attacks. | ||||
| </t> | ||||
| <t>The SF information at the SF component may be used by a malicious user to tri | ||||
| gger Denial of Service (DoS) attack by overloading any specific SF using rogue O | ||||
| AM traffic. | ||||
| </t> | ||||
| <t>To address the above concerns, SFC and SF OAM should provide mechanisms for m | ||||
| itigating: | ||||
| <list style="symbols"> | ||||
| <t>Misuse of the OAM channel for denial-of-services,</t> | ||||
| <t>Leakage of OAM packets across SFC instances, and</t> | ||||
| <t>Leakage of SFC information beyond the SFC domain.</t> | ||||
| </list> | ||||
| </t> | ||||
| <t>The documents proposing the OAM solution for SF components should provide rat | ||||
| e-limiting the OAM probes at a frequency guided by the implementation choice. Ra | ||||
| te-limiting may be applied at the Classifier, SFF or the SF . The OAM initiator | ||||
| may not receive a response for the probes that are rate-limited resulting in fal | ||||
| se negatives and the implementation should be aware of this. To mitigate any att | ||||
| acks that leverage OAM packets, future documents proposing OAM solutions should | ||||
| describe the use of any technique to detect and mitigate anomalies and various s | ||||
| ecurity attacks. | ||||
| </t> | ||||
| <t>The documents proposing the OAM solution for any service layer components sho | ||||
| uld consider some form of message filtering to control the OAM packets entering | ||||
| the administrative domain or prevent leaking any internal service layer informat | ||||
| ion outside the administrative domain. | ||||
| </t> | ||||
| <t>Any SFC-aware network device may have the ability to perform an | ||||
| availability check or performance measurement of the underlay network | ||||
| using any existing OAM functions listed in Section 5.1.</t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Overlay Network</name> | ||||
| <t>The overlay network provides connectivity for the service plane betwe | ||||
| en | ||||
| the SFC components and is mostly transparent to the SFC data-plane | ||||
| elements.</t> | ||||
| <t>Any SFC-aware network device may have the ability to perform an | ||||
| availability check or performance measurement of the overlay network | ||||
| using any existing OAM functions listed in <xref | ||||
| target="_Exist_FUNC"/>.</t> | ||||
| </section> | ||||
| </section> | </section> | |||
| <section anchor="_SFC_OAM_Func" numbered="true" toc="default"> | ||||
| <section anchor="IANA" title="IANA Considerations"> | <name>SFC OAM Functions</name> | |||
| <t><xref target="_SFC_OAM_Comp" format="default"/> described SFC OAM | ||||
| <t>No action is required by IANA for this document.</t> | components and the associated OAM operations on each of them. This | |||
| section explores SFC OAM functions that are applicable for more than one | ||||
| SFC component.</t> | ||||
| <t>The various SFC OAM requirements listed in <xref | ||||
| target="_SFC_OAM_Comp" format="default"/> highlight the need for | ||||
| various OAM functions at the service layer. As listed in <xref target="_Ex | ||||
| ist_FUNC"/>, | ||||
| various OAM functions are in existence that are defined to perform OAM | ||||
| functionality at different layers. In order to apply such OAM functions | ||||
| at the service layer, they need to be enhanced to operate on a single | ||||
| SF/SFF or multiple SFs/SFFs spanning across one or more SFCs.</t> | ||||
| <section anchor="Connect_Func" numbered="true" toc="default"> | ||||
| <name>Connectivity Functions</name> | ||||
| <t>Connectivity is mainly an on-demand function to verify that | ||||
| connectivity exists between certain network elements and that the SFs | ||||
| are available. For example, Label Switched Path (LSP) Ping <xref target=" | ||||
| RFC8029" | ||||
| format="default"/> is a common tool used to perform this function for | ||||
| an MPLS network. Some of the OAM functions performed by connectivity | ||||
| functions are as follows:</t> | ||||
| <ul spacing="normal"> | ||||
| <li>Verify the Path MTU from a source to the destination SF or | ||||
| through the SFC. This requires the ability for the OAM packet to be | ||||
| of variable length.</li> | ||||
| <li>Detect any packet reordering and corruption.</li> | ||||
| <li>Verify that an SFC or SF is applying the expected policy.</li> | ||||
| <li>Verify and validate forwarding paths.</li> | ||||
| <li>Proactively test alternate or protected paths to ensure | ||||
| reliability of network configurations.</li> | ||||
| </ul> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Continuity Functions</name> | ||||
| <t>Continuity is a model where OAM messages are sent periodically to | ||||
| validate or verify the reachability of a given SF within an SFC or for | ||||
| the entire SFC. This allows a monitoring network device (such as the | ||||
| classifier or controller) to quickly detect failures, such as link | ||||
| failures, network element failures, SF outages, or SFC outages. BFD | ||||
| <xref target="RFC5880" format="default"/> is one such protocol that | ||||
| helps in detecting failures quickly. OAM functions supported by | ||||
| continuity functions are as follows:</t> | ||||
| <ul spacing="normal"> | ||||
| <li>Provision a continuity check to a given SF within an | ||||
| SFC or for the entire SFC.</li> | ||||
| <li>Proactively test alternate or protected paths to ensure | ||||
| reliability of network configurations.</li> | ||||
| <li>Notifying other OAM functions or applications of the detected | ||||
| failures so they can take appropriate action.</li> | ||||
| </ul> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Trace Functions</name> | ||||
| <t>Tracing is an OAM function that allows the operation to trigger an | ||||
| action (e.g., response generation) from every transit device (e.g., SFF, | ||||
| SF, and SFC Proxy) on the tested layer. This function is typically useful | ||||
| for gathering information from every transit device or for isolating | ||||
| the failure point to a specific SF within an SFC or for an entire | ||||
| SFC. Some of the OAM functions supported by trace functions are:</t> | ||||
| <ul spacing="normal"> | ||||
| <li>the ability to trigger an action from every transit device at the | ||||
| SFC layer, using TTL or other means,</li> | ||||
| <li>the ability to trigger every transit device at the SFC layer to | ||||
| generate a response with OAM code(s) using TTL or other means,</li> | ||||
| <li>the ability to discover and traverse ECMP paths within an SFC, and | ||||
| </li> | ||||
| <li>the ability to skip SFs that do not support OAM while tracing SFs | ||||
| in an SFC.</li> | ||||
| </ul> | ||||
| </section> | ||||
| <section anchor="Perform_Funct" numbered="true" toc="default"> | ||||
| <name>Performance Measurement Functions</name> | ||||
| <t>Performance measurement functions involve measuring of packet loss, | ||||
| delay, delay variance, etc. These performance metrics may be measured | ||||
| proactively or on demand.</t> | ||||
| <t>SFC OAM should provide the ability to measure packet loss for an | ||||
| SFC. On-demand measurement can be used to estimate packet loss using | ||||
| statistical methods. To ensure accurate estimations, one needs to | ||||
| ensure that OAM packets are treated the same and also share the same | ||||
| fate as regular data traffic.</t> | ||||
| <t>Delay within an SFC could be measured based on the time it takes | ||||
| for a packet to traverse the SFC from the ingress SFC node to the | ||||
| egress SFF. Measurement protocols, such as the One-Way Active Measurement | ||||
| Protocol (OWAMP) <xref target="RFC4656" format="default"/> and the Two-Wa | ||||
| y | ||||
| Active Measurement Protocol (TWAMP) <xref target="RFC5357" | ||||
| format="default"/>, can be used to measure delay characteristics. As SFCs | ||||
| are unidirectional in nature, measurement of one-way delay <xref | ||||
| target="RFC7679" format="default"/> is important. In order to measure | ||||
| one-way delay, time synchronization must be supported by means such as | ||||
| NTP, GPS, Precision Time Protocol (PTP), etc.</t> | ||||
| <t>One-way delay variation <xref target="RFC3393" format="default"/> | ||||
| could also be calculated by sending OAM packets and measuring the | ||||
| jitter for traffic passing through an SFC.</t> | ||||
| <t>Some of the OAM functions supported by the performance measurement | ||||
| functions are:</t> | ||||
| <ul spacing="normal"> | ||||
| <li>the ability to measure the packet processing delay induced by a | ||||
| single SF or the one-way delay to traverse an SFP bound to a given | ||||
| SFC, and</li> | ||||
| <li>the ability to measure the packet loss <xref target="RFC7680" | ||||
| format="default"/> within an SF or an SFP bound to a given SFC.</li> | ||||
| </ul> | ||||
| </section> | ||||
| </section> | </section> | |||
| <section anchor="_Gap" numbered="true" toc="default"> | ||||
| <section title="Acknowledgements"> | <name>Gap Analysis</name> | |||
| <t>This section identifies various OAM functions available at different | ||||
| <t>We would like to thank Mohamed Boucadair, Adrian Farrel, Greg Mirsky, T | layers introduced in <xref target="_SFC_Layer"/>. It also identifies vario | |||
| al | us gaps that | |||
| Mizrahi, Martin Vigoureux, Tirumaleswar Reddy, Carlos Bernados, Martin Duk | exist within the current toolset for performing OAM functions required | |||
| e, Barry Leiba, Eric Vyncke, Roman Danyliw, Erik Kline, Benjamin Kaduk, Robert W | for SFC.</t> | |||
| ilton, Frank Brockner, Alvaro Retana, Murray Kucherawy, and Alissa Cooper for th | <section anchor="_Exist_FUNC" numbered="true" toc="default"> | |||
| eir review and comments.</t> | <name>Existing OAM Functions</name> | |||
| <t>There are various OAM toolsets available to perform OAM functions | ||||
| within various layers. These OAM functions may be used to validate | ||||
| some of the underlay and overlay networks. Tools like ping and trace | ||||
| are in existence to perform connectivity checks and trace | ||||
| intermediate hops in a network. These tools support different network | ||||
| types, like IP, MPLS, TRILL, etc. Ethernet OAM (E-OAM) <xref | ||||
| target="Y.1731" format="default"/> <xref target="EFM" | ||||
| format="default"/> and Connectivity Fault Management (CFM) <xref | ||||
| target="DOT1Q" format="default"/> offer OAM mechanisms, such as a | ||||
| continuity check for Ethernet links. There is an effort | ||||
| around NVO3 OAM to provide connectivity and continuity checks for | ||||
| networks that use NVO3. BFD is used for the detection of data-plane | ||||
| forwarding failures. The IPPM framework <xref target="RFC2330" | ||||
| format="default"/> offers tools such as OWAMP <xref target="RFC4656" | ||||
| format="default"/> and TWAMP <xref target="RFC5357" format="default"/> | ||||
| (collectively referred to as IPPM in this section) to measure various | ||||
| performance metrics. MPLS Packet Loss Measurement (LM) and Packet | ||||
| Delay Measurement (DM) (collectively referred to as MPLS_PM in this | ||||
| section) <xref target="RFC6374" format="default"/> offer the ability | ||||
| to measure performance metrics in MPLS networks. There is also an | ||||
| effort to extend the toolset to provide connectivity and continuity | ||||
| checks within overlay networks. BFD is another tool that helps in | ||||
| detecting data forwarding failures. <xref target="OAM-Analysis"/> | ||||
| below is not exhaustive.</t> | ||||
| <t keepWithNext="true"/> | ||||
| <table anchor="OAM-Analysis" align="center"> | ||||
| <name>OAM Tool Gap Analysis</name> | ||||
| <thead> | ||||
| <tr> | ||||
| <th>Layer</th> | ||||
| <th>Connectivity</th> | ||||
| <th>Continuity</th> | ||||
| <th>Trace</th> | ||||
| <th>Performance</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td>Underlay network</td> | ||||
| <td>Ping</td> | ||||
| <td>E-OAM, BFD</td> | ||||
| <td>Trace</td> | ||||
| <td>IPPM, MPLS_PM</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>Overlay network</td> | ||||
| <td>Ping</td> | ||||
| <td>BFD, NVO3 OAM</td> | ||||
| <td>Trace</td> | ||||
| <td>IPPM</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>Classifier</td> | ||||
| <td>Ping</td> | ||||
| <td>BFD</td> | ||||
| <td>Trace</td> | ||||
| <td>None</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>SF</td> | ||||
| <td>None</td> | ||||
| <td>None</td> | ||||
| <td>None</td> | ||||
| <td>None</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>SFC</td> | ||||
| <td>None</td> | ||||
| <td>None</td> | ||||
| <td>None</td> | ||||
| <td>None</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Missing OAM Functions</name> | ||||
| <t>As shown in <xref target="OAM-Analysis"/>, there are no | ||||
| standards-based tools available | ||||
| at the time of this writing that can be used natively (i.e., without | ||||
| enhancement) for the verification of SFs and SFCs.</t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Required OAM Functions</name> | ||||
| <t>Primary OAM functions exist for underlying layers. Tools like ping, | ||||
| trace, BFD, etc. exist in order to perform these OAM functions.</t> | ||||
| <t>As depicted in <xref target="OAM-Analysis"/>, toolsets and solutions | ||||
| are required to | ||||
| perform the OAM functions at the service layer.</t> | ||||
| </section> | ||||
| </section> | </section> | |||
| <section anchor="OPS_ASPECTS" numbered="true" toc="default"> | ||||
| <name>Operational Aspects of SFC OAM at the Service Layer</name> | ||||
| <t>This section describes the operational aspects of SFC OAM at the | ||||
| service layer to perform the SFC OAM function defined in <xref | ||||
| target="_SFC_OAM_Func" format="default"/> and analyzes the applicability | ||||
| of various existing OAM toolsets in the service layer.</t> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>SFC OAM Packet Marker</name> | ||||
| <t>SFC OAM messages should be encapsulated with the necessary SFC header | ||||
| and with OAM markings when testing the SFC component. SFC OAM messages | ||||
| may be encapsulated with the necessary SFC header and with OAM | ||||
| markings when testing the SF component.</t> | ||||
| <t>The SFC OAM function described in <xref target="_SFC_OAM_Func" | ||||
| format="default"/> performed at the service layer or overlay network | ||||
| layer must mark the packet as an OAM packet so that relevant nodes can | ||||
| differentiate OAM packets from data packets. The base header defined | ||||
| in <xref target="RFC8300" sectionFormat="of" section="2.2"/> assigns a | ||||
| bit to indicate OAM packets. When NSH encapsulation is used at the | ||||
| service layer, the O bit must be set to differentiate the OAM | ||||
| packet. Any other overlay encapsulations used at the service layer | ||||
| must have a way to mark the packet as an OAM packet.</t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>OAM Packet Processing and Forwarding Semantic</name> | ||||
| <t>Upon receiving an OAM packet, an SFC-aware SF may choose to discard | ||||
| the packet if it does not support OAM functionality or if the local | ||||
| policy prevents it from processing the OAM packet. When an SF | ||||
| supports OAM functionality, it is desirable to process the packet and | ||||
| provide an appropriate response to allow end-to-end verification. To | ||||
| limit performance impact due to OAM, SFC-aware SFs should rate-limit | ||||
| the number of OAM packets processed. </t> | ||||
| <t>An SFF may choose to not forward the OAM packet to an SF if the SF | ||||
| does not support OAM or if the policy does not allow the forwarding of OA | ||||
| M | ||||
| packets to that SF. The SFF may choose to skip the SF, modify the | ||||
| packet's header, | ||||
| and forward the packet to the next SFC node in the chain. It should be no | ||||
| ted that | ||||
| skipping an SF might have implications on some OAM functions (e.g., the | ||||
| delay measurement may not be accurate). The method by which an SFF | ||||
| detects if the connected SF supports or is allowed to process OAM | ||||
| packets is outside the scope of this document. It could be a | ||||
| configuration parameter instructed by the controller, or it can be done | ||||
| by dynamic negotiation between the SF and SFF.</t> | ||||
| <t>If the SFF receiving the OAM packet bound to a given SFC is the | ||||
| last SFF in the chain, it must send a relevant response to the | ||||
| initiator of the OAM packet. Depending on the type of OAM solution and | ||||
| toolset used, the response could be a simple response (such as ICMP | ||||
| reply) or could include additional data from the received OAM packet | ||||
| (like statistical data consolidated along the path). The details are | ||||
| expected to be covered in the solution documents.</t> | ||||
| <t>Any SFC-aware node that initiates an OAM packet must set the OAM | ||||
| marker in the overlay encapsulation.</t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>OAM Function Types</name> | ||||
| <t>As described in <xref target="_SFC_OAM_Func" format="default"/>, | ||||
| there are different OAM functions that may require different OAM | ||||
| solutions. While the presence of the OAM marker in the overlay header | ||||
| (e.g., O bit in the NSH header) indicates it as an OAM packet, it is | ||||
| not sufficient to indicate what OAM function the packet is intended | ||||
| for. The Next Protocol field in the NSH header may be used to indicate | ||||
| what OAM function is intended or what toolset is used. Any other | ||||
| overlay encapsulations used at the service layer must have a similar | ||||
| way to indicate the intended OAM function.</t> | ||||
| </section> | ||||
| </section> | ||||
| <section anchor="_SFC_OAM_MODEL" numbered="true" toc="default"> | ||||
| <name>Candidate SFC OAM Tools</name> | ||||
| <t>As described in <xref target="_Exist_FUNC" format="default"/>, there | ||||
| are different toolsets available to perform OAM functions at different | ||||
| layers. This section describe the applicability of some of the available | ||||
| toolsets in the service layer.</t> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>ICMP</name> | ||||
| <t><xref target="RFC0792" format="default"/> and <xref | ||||
| target="RFC4443" format="default"/> describe the use of ICMP in IPv4 | ||||
| and IPv6 networks respectively. It explains how ICMP messages can be | ||||
| used to test the network reachability between different end points and | ||||
| perform basic network diagnostics.</t> | ||||
| <t>ICMP could be leveraged for connectivity functions (defined in | ||||
| <xref target="Connect_Func"/>) to verify the availability of an SF or | ||||
| SFC. The initiator | ||||
| can generate an ICMP echo request message and control the service-layer e | ||||
| ncapsulation header to get the response from the relevant | ||||
| node. For example, a classifier initiating OAM can generate an ICMP | ||||
| echo request message, set the TTL field in the NSH header <xref | ||||
| target="RFC8300" format="default"/> to 63 to get the response from the | ||||
| last SFF, and thereby test the SFC availability. Alternatively, the | ||||
| initiator can set the TTL to some other value to get the response from | ||||
| a specific SF and thereby partially test SFC availability, or the | ||||
| initiator could send OAM packets with sequentially incrementing TTL in | ||||
| the NSH to trace the SFP.</t> | ||||
| <t>It could be observed that ICMP as currently defined may not be able | ||||
| to perform all required SFC OAM functions, but as explained above, it | ||||
| can be used for some of the connectivity functions.</t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>BFD / Seamless BFD</name> | ||||
| <t><xref target="RFC5880" format="default"/> defines the Bidirectional | ||||
| Forwarding Detection (BFD) mechanism for failure detection. <xref | ||||
| target="RFC5881" format="default"/> and <xref target="RFC5884" | ||||
| format="default"/> define the applicability of BFD in IPv4, IPv6, and | ||||
| MPLS networks. <xref target="RFC7880" format="default"/> defines | ||||
| Seamless BFD (S-BFD), a simplified mechanism of using BFD. <xref | ||||
| target="RFC7881" format="default"/> explains its applicability in | ||||
| IPv4, IPv6, and MPLS networks.</t> | ||||
| <t>BFD or S-BFD could be leveraged to perform the continuity function | ||||
| for SF or SFC. An initiator could generate a BFD control packet and | ||||
| set the "Your Discriminator" value in the | ||||
| control packet to identify the last SFF. Upon receiving the control packe | ||||
| t, the last SFF in the | ||||
| SFC will reply back with the relevant DIAG code. The TTL field in the | ||||
| NSH header could be used to perform a partial SFC availability | ||||
| check. For example, the initiator can set the "Your Discriminator" | ||||
| value to identify the SF that is intended to be tested and set the TTL | ||||
| field in the NSH header in a way that it expires at the relevant | ||||
| SF. How the initiator gets the Discriminator value to identify the SF | ||||
| is outside the scope of this document.</t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>In Situ OAM</name> | ||||
| <section title="Contributing Authors"> | <t><xref target="I-D.ietf-sfc-ioam-nsh" format="default"/> defines how | |||
| <t>Nobo Akiya | In situ OAM data fields <xref target="I-D.ietf-ippm-ioam-data" | |||
| <vspace blankLines="0" /> | format="default"/> are transported using the NSH header. <xref | |||
| Ericsson | target="I-D.ietf-sfc-proof-of-transit" format="default"/> defines a | |||
| <vspace blankLines="0" /> | mechanism to perform proof of transit to securely verify if a packet | |||
| Email: nobo.akiya.dev@gmail.com</t> | traversed the relevant SFP or SFC. While the mechanism is defined | |||
| </section> | inband (i.e., it will be included in data packets), IOAM Option-Types, | |||
| such as IOAM Trace Option-Types, can also be used to perform other SFC | ||||
| OAM functions, such as SFC tracing.</t> | ||||
| <t>In situ OAM could be leveraged to perform SF availability and SFC | ||||
| availability or performance measurement. For example, if SFC is | ||||
| realized using NSH, the O bit in the NSH header could be set to | ||||
| indicate the OAM traffic, as defined in <xref | ||||
| target="I-D.ietf-sfc-ioam-nsh" sectionFormat="of" section="4.2"/>.</t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>SFC Traceroute</name> | ||||
| <t><xref target="I-D.penno-sfc-trace" format="default"/> defines a | ||||
| protocol that checks for path liveliness and traces the service hops | ||||
| in any SFP. <xref target="I-D.penno-sfc-trace" | ||||
| sectionFormat="of" section="3"/> defines the SFC trace packet format, | ||||
| while Sections <xref target="I-D.penno-sfc-trace" section="4" | ||||
| sectionFormat="bare"/> and <xref target="I-D.penno-sfc-trace" | ||||
| section="5" sectionFormat="bare"/> of <xref target="I-D.penno-sfc-trace"/ | ||||
| > | ||||
| define the behavior of SF and SFF respectively. While <xref | ||||
| target="I-D.penno-sfc-trace" format="default"/> has expired, the | ||||
| proposal is implemented in Open Daylight and is available.</t> | ||||
| <t>An initiator can control the Service Index Limit (SIL) in an SFC trac | ||||
| e | ||||
| packet to perform SF and SFC availability tests.</t> | ||||
| </section> | ||||
| </section> | ||||
| <section anchor="Manageability" numbered="true" toc="default"> | ||||
| <name>Manageability Considerations</name> | ||||
| <t>This document does not define any new manageability tools but | ||||
| consolidates the manageability tool gap analysis for SF and SFC. <xref | ||||
| target="OAM-Analysis-2"/> below is not exhaustive.</t> | ||||
| <t keepWithNext="true"/> | ||||
| <table anchor="OAM-Analysis-2" align="center"> | ||||
| <name>OAM Tool Gap Analysis</name> | ||||
| <thead> | ||||
| <tr> | ||||
| <th>Layer</th> | ||||
| <th>Configuration</th> | ||||
| <th>Orchestration</th> | ||||
| <th>Topology</th> | ||||
| <th>Notification</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td>Underlay network</td> | ||||
| <td>CLI, NETCONF</td> | ||||
| <td>CLI, NETCONF</td> | ||||
| <td>SNMP</td> | ||||
| <td>SNMP, Syslog, NETCONF</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>Overlay network</td> | ||||
| <td>CLI, NETCONF</td> | ||||
| <td>CLI, NETCONF</td> | ||||
| <td>SNMP</td> | ||||
| <td>SNMP, Syslog, NETCONF</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>Classifier</td> | ||||
| <td>CLI, NETCONF</td> | ||||
| <td>CLI, NETCONF</td> | ||||
| <td>None</td> | ||||
| <td>None</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>SF</td> | ||||
| <td>CLI, NETCONF</td> | ||||
| <td>CLI, NETCONF</td> | ||||
| <td>None</td> | ||||
| <td>None</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>SFC</td> | ||||
| <td>CLI, NETCONF</td> | ||||
| <td>CLI, NETCONF</td> | ||||
| <td>None</td> | ||||
| <td>None</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t>Configuration, orchestration, and other manageability tasks of SF and | ||||
| SFC could be performed using CLI, NETCONF <xref target="RFC6241" | ||||
| format="default"/>, etc.</t> | ||||
| <t>While the NETCONF capabilities are readily available, as depicted in | ||||
| <xref target="OAM-Analysis-2"/>, the information and data models are | ||||
| needed for configuration, manageability, and orchestration for SFC. With | ||||
| virtualized SF and SFC, manageability needs to be done programmatically.</ | ||||
| t> | ||||
| </section> | ||||
| <section anchor="Security" numbered="true" toc="default"> | ||||
| <name>Security Considerations</name> | ||||
| <t>Any security considerations defined in <xref target="RFC7665" | ||||
| format="default"/> and <xref target="RFC8300" format="default"/> are | ||||
| applicable for this document.</t> | ||||
| <t>The OAM information from the service layer at different components | ||||
| may collectively or independently reveal sensitive information. The | ||||
| information may reveal the type of service functions hosted in the | ||||
| network, the classification rules and the associated service chains, | ||||
| specific service function paths, etc. The sensitivity of the information | ||||
| from the SFC layer raises a need for careful security | ||||
| considerations.</t> | ||||
| <t>The mapping and the rules information at the classifier component may | ||||
| reveal the traffic rules and the traffic mapped to the SFC. The SFC | ||||
| information collected at an SFC component may reveal the SFs associated | ||||
| within each chain, and this information together with classifier rules | ||||
| may be used to manipulate the header of synthetic attack packets that | ||||
| may be used to bypass the SFC and trigger any internal attacks.</t> | ||||
| <t>The SF information at the SF component may be used by a malicious | ||||
| user to trigger a Denial of Service (DoS) attack by overloading any | ||||
| specific SF using rogue OAM traffic.</t> | ||||
| <t>To address the above concerns, SFC and SF OAM should provide | ||||
| mechanisms for mitigating:</t> | ||||
| <ul spacing="normal"> | ||||
| <li>misuse of the OAM channel for denial of services,</li> | ||||
| <li>leakage of OAM packets across SFC instances, and</li> | ||||
| <li>leakage of SFC information beyond the SFC domain.</li> | ||||
| </ul> | ||||
| <t>The documents proposing the OAM solution for SF components should | ||||
| provide rate-limiting the OAM probes at a frequency guided by the | ||||
| implementation choice. Rate-limiting may be applied at the classifier, | ||||
| SFF, or the SF. The OAM initiator may not receive a response for the | ||||
| probes that are rate-limited resulting in false negatives, and the | ||||
| implementation should be aware of this. To mitigate any attacks that | ||||
| leverage OAM packets, future documents proposing OAM solutions should | ||||
| describe the use of any technique to detect and mitigate anomalies and | ||||
| various security attacks.</t> | ||||
| <t>The documents proposing the OAM solution for any service-layer | ||||
| components should consider some form of message filtering to control the | ||||
| OAM packets entering the administrative domain or prevent leaking any | ||||
| internal service-layer information outside the administrative | ||||
| domain.</t> | ||||
| </section> | ||||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <name>IANA Considerations</name> | ||||
| <t>This document has no IANA actions.</t> | ||||
| </section> | ||||
| </middle> | </middle> | |||
| <!-- *****BACK MATTER ***** --> | <!-- *****BACK MATTER ***** --> | |||
| <back> | <back> | |||
| <displayreference target="I-D.ietf-sfc-proof-of-transit" to="PROOF-OF-TRANSIT"/> | ||||
| <displayreference target="I-D.ietf-sfc-ioam-nsh" to="IOAM-NSH"/> | ||||
| <displayreference target="I-D.ietf-ippm-ioam-data" to="IPPM-IOAM-DATA"/> | ||||
| <displayreference target="I-D.penno-sfc-trace" to="SFC-TRACE"/> | ||||
| <!-- References split into informative and normative --> | <!-- References split into informative and normative --> | |||
| <references title="Informative References"> | <references> | |||
| <?rfc include="reference.RFC.2330"?> | <name>Informative References</name> | |||
| <?rfc include="reference.RFC.0792"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.RFC.3393"?> | ce.RFC.2330.xml"/> | |||
| <?rfc include="reference.RFC.7665"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.RFC.8300"?> | ce.RFC.0792.xml"/> | |||
| <?rfc include="reference.RFC.4443"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.RFC.4656"?> | ce.RFC.3393.xml"/> | |||
| <?rfc include="reference.RFC.5357"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.RFC.6374"?> | ce.RFC.7665.xml"/> | |||
| <?rfc include="reference.RFC.6241"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.RFC.7498"?> | ce.RFC.8300.xml"/> | |||
| <?rfc include="reference.RFC.7680"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.RFC.7679"?> | ce.RFC.4443.xml"/> | |||
| <?rfc include="reference.RFC.8459"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.RFC.6291"?> | ce.RFC.4656.xml"/> | |||
| <?rfc include="reference.RFC.5880"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.RFC.5881"?> | ce.RFC.5357.xml"/> | |||
| <?rfc include="reference.RFC.5884"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.RFC.7880"?> | ce.RFC.6374.xml"/> | |||
| <?rfc include="reference.RFC.7881"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.RFC.8029"?> | ce.RFC.6241.xml"/> | |||
| <?rfc include="reference.I-D.ietf-sfc-proof-of-transit"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.I-D.ietf-sfc-ioam-nsh"?> | ce.RFC.7498.xml"/> | |||
| <?rfc include="reference.I-D.ietf-ippm-ioam-data"?> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | |||
| <?rfc include="reference.I-D.penno-sfc-trace"?> | ce.RFC.7680.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.7679.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.8459.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.6291.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.5880.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.5881.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.5884.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.7880.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.7881.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen | ||||
| ce.RFC.8029.xml"/> | ||||
| <reference anchor="Y.1731" target="https://www.itu.int/rec/T-REC-G.8013 | <xi:include | |||
| -201508-I/en"> | href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-sfc-p | |||
| <front> | roof-of-transit.xml"/> | |||
| <title>OAM Functions and mechanisms for Ethernet based networks</title> | ||||
| <author><organization>ITU-T</organization></author> | ||||
| <date/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="EFM"> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.i | |||
| <front> | etf-sfc-ioam-nsh.xml"/> | |||
| <title>IEEE Standard for Ethernet (Clause 57 for Operations, | ||||
| Administration, and Maintenance), IEEE Std 802.3-2018, | ||||
| June 2018</title> | ||||
| <author><organization>IEEE</organization></author> | ||||
| <date/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="DOT1Q"> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.i | |||
| <front> | etf-ippm-ioam-data.xml"/> | |||
| <title>Standard for Local and Metropolitan Area Networks--Bridges | ||||
| and Bridged Networks, IEEE Std 802.1Q-2014, November 2014</title> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.p | |||
| <author><organization>IEEE</organization></author> | enno-sfc-trace.xml"/> | |||
| <date/> | ||||
| </front> | <reference anchor="Y.1731" target="https://www.itu.int/rec/T-REC-G.8013-20 | |||
| </reference> | 1508-I/en"> | |||
| <front> | ||||
| <title>G.8013: Operations, administration and maintenance (OAM) | ||||
| functions and mechanisms for Ethernet-based networks</title> | ||||
| <author> | ||||
| <organization>ITU-T</organization> | ||||
| </author> | ||||
| <date month="August" year="2015"/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="EFM"> | ||||
| <front> | ||||
| <title>IEEE Standard for Ethernet</title> | ||||
| <author> | ||||
| <organization>IEEE</organization> | ||||
| </author> | ||||
| <date month="June" year="2018"/> | ||||
| </front> | ||||
| <seriesInfo name="IEEE" value="802.3-2018"/> | ||||
| <seriesInfo name="DOI" value="10.1109/IEEESTD.2018.8457469"/> | ||||
| </reference> | ||||
| <reference anchor="DOT1Q"> | ||||
| <front> | ||||
| <title>IEEE Standard for Local and metropolitan area | ||||
| networks--Bridges and Bridged Networks</title> | ||||
| <author> | ||||
| <organization>IEEE</organization> | ||||
| </author> | ||||
| <date month="November" year="2014"/> | ||||
| </front> | ||||
| <seriesInfo name="IEEE" value="802.1Q-2014"/> | ||||
| <seriesInfo name="DOI" value="10.1109/IEEESTD.2014.6991462"/> | ||||
| </reference> | ||||
| </references> | </references> | |||
| <!-- Change Log | <section numbered="false" toc="default"> | |||
| v00-a 2014-06-28a Nobo: Initial version | <name>Acknowledgements</name> | |||
| --> | <t>We would like to thank <contact fullname="Mohamed Boucadair"/>, | |||
| <contact fullname="Adrian Farrel"/>, <contact fullname="Greg Mirsky"/>, | ||||
| <contact fullname="Tal Mizrahi"/>, <contact fullname="Martin | ||||
| Vigoureux"/>, <contact fullname="Tirumaleswar Reddy"/>, <contact | ||||
| fullname="Carlos Bernados"/>, <contact fullname="Martin Duke"/>, | ||||
| <contact fullname="Barry Leiba"/>, <contact fullname="Éric Vyncke"/>, | ||||
| <contact fullname="Roman Danyliw"/>, <contact fullname="Erik Kline"/>, | ||||
| <contact fullname="Benjamin Kaduk"/>, <contact fullname="Robert | ||||
| Wilton"/>, <contact fullname="Frank Brockner"/>, <contact | ||||
| fullname="Alvaro Retana"/>, <contact fullname="Murray Kucherawy"/>, | ||||
| and <contact fullname="Alissa Cooper"/> for their review and comments.</t> | ||||
| </section> | ||||
| <section numbered="false" toc="default"> | ||||
| <name>Contributors</name> | ||||
| <contact fullname="Nobo Akiya"> | ||||
| <organization>Ericsson</organization> | ||||
| <address> | ||||
| <email>nobo.akiya.dev@gmail.com</email> | ||||
| </address> | ||||
| </contact> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 36 change blocks. | ||||
| 976 lines changed or deleted | 955 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/ | ||||