<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.22 (Ruby 3.0.2) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zhou-rtgwg-sinc-deployment-considerations-00" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="SINC deployment considerations">Signaling In-Network Computing operations (SINC) deployment considerations</title>
    <seriesInfo name="Internet-Draft" value="draft-zhou-rtgwg-sinc-deployment-considerations-00"/>
    <author initials="D." surname="Lou" fullname="Zhe Lou">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Riesstrasse 25</street>
          <city>Munich</city>
          <code>80992</code>
          <country>Germany</country>
        </postal>
        <email>zhe.lou@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Iannone" fullname="Luigi Iannone">
      <organization abbrev="Huawei">Huawei Technologies France S.A.S.U.</organization>
      <address>
        <postal>
          <street>18, Quai du Point du Jour</street>
          <city>Boulogne-Billancourt</city>
          <code>92100</code>
          <country>France</country>
        </postal>
        <email>luigi.iannone@huawei.com</email>
      </address>
    </author>
    <author initials="Y." surname="Zhou" fullname="Yujing Zhou">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Beiqing Road, Haidian District</street>
          <city>Beijing</city>
          <code>100095</code>
          <country>China</country>
        </postal>
        <email>zhouyujing3@huawei.com</email>
      </address>
    </author>
    <author initials="J." surname="Yang" fullname="Jinze Yang">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Beiqing Road, Haidian District</street>
          <city>Beijing</city>
          <code>100095</code>
          <country>China</country>
        </postal>
        <email>yangjinze@huawei.com</email>
      </address>
    </author>
    <author initials="C." surname="Zhang" fullname="Cuimin Zhang">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Huawei base in Bantian, Longgang District</street>
          <city>Shenzhen</city>
          <country>China</country>
        </postal>
        <email>zhangcuimin@huawei.com</email>
      </address>
    </author>
    <date/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document is intended to discuss some aspects of the deployment of "Signaling In-Network Computing operations" (SINC). Based on the actual topology of the SINC domain, this document analyzes how each device in the SINC chain undertakes its own functions. This document provides some specific solutions to the use of SINC mechanism.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="SEC_intro">
      <name>Introduction</name>
      <t>"Signaling In-Network Computing operations" (SINC) is a mechanism to enable signaling in-network computing operations on data packets in specific scenarios like NetReduce, NetDistributedLock, NetSequencer, etc. This mechanism can effectively reduce the task completion time and improve the system efficiency. The SINC framework design can be found in the draft <xref target="I-D.zhou-rtgwg-sinc-00"/>.</t>
    </section>
    <section anchor="SEC_terminology">
      <name>Terminology</name>
      <t>This document uses the terms as defined in <xref target="RFC7498"/>, <xref target="RFC7665"/>, <xref target="RFC8300"/>, <xref target="RFC3031"/>, <xref target="RFC5036"/> and <xref target="RFC2205"/>. This document assume that the reader is familiar with the Service Function Chaining architecture and Multi-Protocol Label Switching architecture.</t>
    </section>
    <section anchor="sinc-deployment-considerations">
      <name>SINC Deployment Considerations</name>
      <t>In order to deploy the SINC solution in the network, the packet from the host needs to be transmitted through a path containing SINC capable switches/routers (SW/R) for data computation. Different from the simplistic experimental network environment used for in network computing verification in research papers, the real network is much more complex, containing multiple SINC SW/Rs with different capabilities and multiple paths between sources and destinations, as shown in <xref target="Fig_SINCDe"/>. The packet traveling between Host A and Host B may pass SINC Node A or B via different paths. It is essential to create a proper route with nodes to support SINC operation and facilitate the packet delivery. The SINC capable SW/Rs should periodically advertise their networking &amp; computing capacities and capabilities, e.g. the operation it can perform, the current work load, the link capacity, etc. Based on those information, the control plane is responsible to create a proper route where the data in the packet will undertake the desired computation before arriving at the destination host. Such a path could be located at layer 2, 3 or 4 dependent of the network context and application environments. For instance, in a telecommunication network where the Multi-Protocol Label Switching (MPLS) <xref target="RFC3031"/> is deployed, we could used the MPLS protocol to encapsulate the SINC header and deliver the packet to a SINC capable SW/R. In a Data Center Network, if the Generic Network Virtualization Encapsulation (GENEVE) <xref target="RFC8926"/> is applied, we may use the GENEVE protocol for encapsulation. Other encapsulation protocols like General Routing Encapsulation (GRE) <xref target="RFC2784"/>, Service Function Chaining (SFC)  <xref target="RFC7665"/>, and so on, could be potential candidates as well. The SINC header is usually copied/moved right after the new encapsulation header, which makes it easier to access the SINC header.</t>
      <figure anchor="Fig_SINCDe">
        <name>SINC In Deployment Topology</name>
        <artwork><![CDATA[
    +--------+  +--------+   
    |  SINC  |  |  SINC  |         
    | Node A |  | Node B |
    +--------+  +--------+
       |      \/    |    \        
       |     / \    |     \
       |    /   \   |      \
    +-------+    +-------+   +-------+
    | SW/R  |    | SW/R  |   | SW/R  |         
    +-------+    +-------+   +-------+
      |             |            |
    +-------+    +-------+       |
    | Proxy |    | Proxy |       |
    +-------+    +-------+       |
      |             |            |
 +---------+   +---------+   +---------+ 
 | Host A  |   | Host B  |   | Host C  |     
 +---------+   +---------+   +---------+ 

]]></artwork>
      </figure>
    </section>
    <section anchor="sinc-over-sfc-considerations">
      <name>SINC over SFC Considerations</name>
      <t>In this section, SFC, which is a layer 3.5 protocol, is used as a running example on how to create a tunnel and encapsulate the SINC header, in order to implement the desired in-network computation.</t>
      <t><xref target="Fig_SINCSFC"/> shows the architecture of a SFC-based SINC network. In the computing service chain, a host sends out packets containing data operations to be executed in the network. The data operation description should be carried in the packet itself by using a SINC-specific NSH encapsulation.</t>
      <t>Once the SINC packet enters into the SFC domain, the Service Function Forwarder (SFF) <xref target="RFC7665"/> will forward packets to one or more connected service functions according to information carried in the SFC encapsulation. The Service Function (SF) <xref target="RFC7665"/> is responsible for implementing data operations.</t>
      <figure anchor="Fig_SINCSFC">
        <name>SINC over SFC Architecture.</name>
        <artwork><![CDATA[
 +---------+                                          +---------+
 | Host A  |                                          | Host B  |
 +---------+                                          +---------+
      |                     +-----------+                  |
      |                     | SINC SW/R |                  |
 +------------+   +-----+   |  +-----+  |   +-----+   +-----------+
 |SINC Ingress|   |     |   |  |     |  |   |     |   |SINC Egress|
 | Proxy      |-->| SFF |-->|  | SFF |  |-->| SFF |-->| Proxy     |
 +------------+   +-----+   |  +-----+  |   +-----+   +-----------+
                            |     |     |           
                            |  +-----+  |     
                            |  |  SF |  |    
                            |  +-----+  |    
                            +-----------+
]]></artwork>
      </figure>
      <section anchor="sinc-nsh-encapsulation">
        <name>SINC NSH encapsulation</name>
        <t>This section shows how the SINC header can be embedded in the Network Service Header (NSH) <xref target="RFC8300"/> for SFC <xref target="RFC7665"/>.</t>
        <t>The SINC NSH base header, as shown in <xref target="Fig_nshbasic"/>, is basically another type of NSH Meta Data (MD) header. SINC NSH encapsulation uses the NSH MD fixed-length context headers to carry the data operation information as show in <xref target="Fig_nshbasic"/>. Please refer to the NSH <xref target="RFC8300"/> for a detailed SFC basic header description.</t>
        <figure anchor="Fig_nshbasic">
          <name>NSH Base Header, where 'MD Type' should contain a code-point assigned by IANA.</name>
          <artwork><![CDATA[
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ver|O|U|    TTL    |   Length  |U|U|U|U|MD Type| Next Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Following the NSH basic header there is the Service Path Header, show in  <xref target="fig_nshSph"/>, as defined in <xref target="RFC8300"/>.</t>
        <figure anchor="fig_nshSph">
          <name>NSH Service Path Header.</name>
          <artwork><![CDATA[
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Service Path Identifier (SPI)        | Service Index |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>The complete SINC NSH header, as shown in <xref target="Fig_SINCNSH"/>, stacks the NSH base header, NSH Service Path Header, and the SINC Header all together.</t>
        <figure anchor="Fig_SINCNSH">
          <name>SINC NSH Header.</name>
          <artwork><![CDATA[
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
|ver|O|U|    TTL    |   Length  |U|U|U|U|MD Type| Next Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Service Path Identifier (SPI)        | Service Index | 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
| Reserved  |D|L|                    Group ID                   | \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S
|     No. of Data Sources       |    Data Source ID             | |I       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |N
|                           SeqNum                              | |C
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
|       Data Operation          |    Data Offset                | /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
]]></artwork>
        </figure>
      </section>
      <section anchor="sinc-over-sfc-workflow">
        <name>SINC over SFC Workflow</name>
        <t>For the sake of clarity, a simple example with one sender (Host A) and one receiver (Host B) is used to illustrate the workflow. Packet processing goes through the following steps:</t>
        <ol spacing="normal" type="1"><li>Host A transmits a packet containing a SINC header together with data, which will be processed by SFs on SINC capable SW/Rs, to the SINC Ingress Proxy.</li>
          <li>The SINC Ingress Proxy encapsulates the original packet with the SINC header into a SINC NSH header, as the transport protocol indicated by the SFC.</li>
          <li>The SFF forwards the encapsulated packet to the SINC SW/R.</li>
          <li>As shown in <xref target="Fig_SINCSFC"/>, when the packet reaches the SINC SW/R, the header of the packet will be removed. The SFF looks up the Service Path Identifier (SPI) table and Service Index (SI) table and sends the packet to the SF.</li>
          <li>The SF performs the computing based on the defined operation in the SINC header after the verification of the Group ID and Data Source ID. The payload will be replaced with the result after computation. The Operation Done flag will be set to 1. The packet is then re-encapsulated with the NSH SINC header. The SI is reduce by 1 while other fields are untouched. Finally, the packet is forwarded to the SINC Egress Proxy.</li>
          <li>When the packet reaches the SINC Egress Proxy, it looks up the SPI &amp; SI tables and realizes it is the egress. It removes the NSH encapsulation and forwards the inner packet to the final destination.</li>
        </ol>
      </section>
    </section>
    <section anchor="sinc-over-mpls-considerations">
      <name>SINC over MPLS Considerations</name>
      <t>In this section, MPLS, which is a layer 2.5 protocol, is used as a running example on how to create a tunnel and encapsulate the SINC header, in order to implement the desired in-network computation.</t>
      <t>As shown in the <xref target="Fig_SINCMPLS"/>, the overall architecture is similar to the SFC solution. In this case, the SINC proxy is also a Label Edge Router. The SW/Rs connecting the SINC proxies and SINC SW/Rs are Label Switching Routers (LSR). Before sending out a SINC packet, the Label Switched Paths (LSP) should be established between the SINC proxies and SINC SW/Rs. The SINC SW/Rs and proxies can identify a SINC packet by the LSPs used.</t>
      <t>Upon receiving a packet with a SINC header, the SINC Ingress Proxy encapsulates the packet with a MPLS label(s) according to LSP, before forwarding it to the SINC SW/R. The SINC SW/R pops up/pushes the MPLS label before/after the data computation. The results will be forwarded to the SINC Egress Proxy where the MPLS label will be popped up again before the packet is delivered to the destination.</t>
      <figure anchor="Fig_SINCMPLS">
        <name>SINC over MPLS Architecture.</name>
        <artwork><![CDATA[
 +---------+                                         +---------+
 | Host A  |                                         | Host B  |
 +---------+                                         +---------+
      |                                                  |
      |                                                  |
 +------------+   +-----+   +-----------+   +-----+   +-----------+
 |SINC Ingress|   |     |   |   SINC    |   |     |   |SINC Egress|
 | Proxy      |-->| LSR |-->|   SW/R    |-->| LSR |-->| Proxy     |
 +------------+   +-----+   +-----------+   +-----+   +-----------+         
                           
]]></artwork>
      </figure>
      <section anchor="sinc-mpls-encapsulation">
        <name>SINC MPLS encapsulation</name>
        <t>As shown in the <xref target="Fig_SINCMPLSLABEL"/>, one or more MPLS labels are added in front of the SINC header.</t>
        <figure anchor="Fig_SINCMPLSLABEL">
          <name>SINC MPLS Header.</name>
          <artwork><![CDATA[
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \
|                  Label                |  TC |S|      TTL      | |M
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P
~                 ...                                           ~ |L
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S
|                  Label                |  TC |S|      TTL      | /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved  |D|L|                    Group ID                   | \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S
|     No. of Data Sources       |    Data Source ID             | |I    
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |N
|                           SeqNum                              | |C
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
|       Data Operation          |    Data Offset                | /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
      </section>
      <section anchor="sinc-over-mpls-workflow">
        <name>SINC over MPLS Workflow</name>
        <t>A simple example with one sender (Host A) and one receiver (Host B) is used to illustrate the workflow. Packet processing goes through the following steps:</t>
        <ol spacing="normal" type="1"><li>Host A transmits a packet containing a SINC header together with data to the SINC Ingress Proxy.</li>
          <li>Based on the LSP information obtained from control plane, the SINC Ingress Proxy builds up a SINC MPLS header pre-pended to the original packet. Then, according to the LSP information, the SINC packet is forwarded to the next hop.</li>
          <li>The LSR forwards the packet based on the LSP information obtained from control plane.</li>
          <li>As shown in <xref target="Fig_SINCMPLS"/>, when the packet reaches the SINC node, the LSP tunnel ID indicates that this packet contains a SINC header. The SINC SW/R pops up the label and hands the packet to in-network computing module. It is worth noting that the penultimate hop popping must be disabled. Otherwise, an additional mechanism is needed to signal to the SINC node that there is actually a SINC header in the packet.</li>
          <li>The in-network computing module verifies the Group ID and Data Source ID in the SINC header, then preforms the required computation defined in the Data Operation field. When it is done, the payload is replaced with the result. The Operation Done flag will be set to 1. The SINC SW/R pushes a MPLS label to the packet. Finally, the packet is forwarded to the SINC egress proxy.</li>
          <li>When the packet reaches the SINC Egress Proxy, it looks up the LSP information and realizes it is the egress. It pops up the MPLS label, replaces the innner SINC header with the outer SINC header, and forwards the inner packet to the final destination (Host B).</li>
        </ol>
      </section>
    </section>
    <section anchor="SEC_sec">
      <name>Security Considerations</name>
      <t>In-network computing exposes computing data to network devices, which  inevitably raises security and privacy considerations. 
The security problems faced by in-network computing include, but are not limited to:</t>
      <ul spacing="normal">
        <li>Trustworthiness of participating devices</li>
        <li>Data hijacking and tampering</li>
        <li>Private data exposure</li>
      </ul>
      <t>This documents assume that the deployment is done in a trusted environment. For example, in a data center network or a private network.</t>
      <t>A fine security analysis will be provided in future revisions of this memo.</t>
    </section>
    <section anchor="SEC_iana">
      <name>IANA Considerations</name>
      <t>This memo does not contain any request to IANA.</t>
    </section>
    <section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>Dirk Trossen's feedbacks were of great help in improving this document.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC7498">
          <front>
            <title>Problem Statement for Service Function Chaining</title>
            <author fullname="P. Quinn" initials="P." role="editor" surname="Quinn">
              <organization/>
            </author>
            <author fullname="T. Nadeau" initials="T." role="editor" surname="Nadeau">
              <organization/>
            </author>
            <date month="April" year="2015"/>
            <abstract>
              <t>This document provides an overview of the issues associated with the deployment of service functions (such as firewalls, load balancers, etc.) in large-scale environments.  The term "service function                                         chaining" is used to describe the definition and instantiation of an ordered list of instances of such service functions, and the subsequent "steering" of traffic flows through those service functions.</t>
              <t>The set of enabled service function chains reflects operator service offerings and is designed in conjunction with application delivery and service and network policy.</t>
              <t>This document also identifies several key areas that the Service Function Chaining (SFC) working group will investigate to guide its architectural and protocol work and associated documents.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7498"/>
          <seriesInfo name="DOI" value="10.17487/RFC7498"/>
        </reference>
        <reference anchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern">
              <organization/>
            </author>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro">
              <organization/>
            </author>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network.  It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF.  This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </reference>
        <reference anchor="RFC8300">
          <front>
            <title>Network Service Header (NSH)</title>
            <author fullname="P. Quinn" initials="P." role="editor" surname="Quinn">
              <organization/>
            </author>
            <author fullname="U. Elzur" initials="U." role="editor" surname="Elzur">
              <organization/>
            </author>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro">
              <organization/>
            </author>
            <date month="January" year="2018"/>
            <abstract>
              <t>This document describes a Network Service Header (NSH) imposed on packets or frames to realize Service Function Paths (SFPs).  The NSH also provides a mechanism for metadata exchange along the instantiated service paths.  The NSH is the Service Function Chaining (SFC) encapsulation required to support the SFC architecture (defined in RFC 7665).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8300"/>
          <seriesInfo name="DOI" value="10.17487/RFC8300"/>
        </reference>
        <reference anchor="RFC3031">
          <front>
            <title>Multiprotocol Label Switching Architecture</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen">
              <organization/>
            </author>
            <author fullname="A. Viswanathan" initials="A." surname="Viswanathan">
              <organization/>
            </author>
            <author fullname="R. Callon" initials="R." surname="Callon">
              <organization/>
            </author>
            <date month="January" year="2001"/>
            <abstract>
              <t>This document specifies the architecture for Multiprotocol Label Switching (MPLS).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3031"/>
          <seriesInfo name="DOI" value="10.17487/RFC3031"/>
        </reference>
        <reference anchor="RFC5036">
          <front>
            <title>LDP Specification</title>
            <author fullname="L. Andersson" initials="L." role="editor" surname="Andersson">
              <organization/>
            </author>
            <author fullname="I. Minei" initials="I." role="editor" surname="Minei">
              <organization/>
            </author>
            <author fullname="B. Thomas" initials="B." role="editor" surname="Thomas">
              <organization/>
            </author>
            <date month="October" year="2007"/>
            <abstract>
              <t>The architecture for Multiprotocol Label Switching (MPLS) is described in RFC 3031.  A fundamental concept in MPLS is that two Label Switching Routers (LSRs) must agree on the meaning of the labels used to forward traffic between and through them.  This common understanding is achieved by using a set of procedures, called a label distribution protocol, by which one LSR informs another of label bindings it has made.  This document defines a set of such procedures called LDP (for Label Distribution Protocol) by which LSRs distribute labels to support MPLS forwarding along normally routed paths.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5036"/>
          <seriesInfo name="DOI" value="10.17487/RFC5036"/>
        </reference>
        <reference anchor="RFC2205">
          <front>
            <title>Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification</title>
            <author fullname="R. Braden" initials="R." role="editor" surname="Braden">
              <organization/>
            </author>
            <author fullname="L. Zhang" initials="L." surname="Zhang">
              <organization/>
            </author>
            <author fullname="S. Berson" initials="S." surname="Berson">
              <organization/>
            </author>
            <author fullname="S. Herzog" initials="S." surname="Herzog">
              <organization/>
            </author>
            <author fullname="S. Jamin" initials="S." surname="Jamin">
              <organization/>
            </author>
            <date month="September" year="1997"/>
            <abstract>
              <t>This memo describes version 1 of RSVP, a resource reservation setup protocol designed for an integrated services Internet.  RSVP provides receiver-initiated setup of resource reservations for multicast or unicast data flows, with good scaling and robustness properties. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2205"/>
          <seriesInfo name="DOI" value="10.17487/RFC2205"/>
        </reference>
        <reference anchor="RFC8926">
          <front>
            <title>Geneve: Generic Network Virtualization Encapsulation</title>
            <author fullname="J. Gross" initials="J." role="editor" surname="Gross">
              <organization/>
            </author>
            <author fullname="I. Ganga" initials="I." role="editor" surname="Ganga">
              <organization/>
            </author>
            <author fullname="T. Sridhar" initials="T." role="editor" surname="Sridhar">
              <organization/>
            </author>
            <date month="November" year="2020"/>
            <abstract>
              <t>Network virtualization involves the cooperation of devices with a wide variety of capabilities such as software and hardware tunnel endpoints, transit fabrics, and centralized control clusters.  As a result of their role in tying together different elements of the system, the requirements on tunnels are influenced by all of these components.  Therefore, flexibility is the most important aspect of a tunneling protocol if it is to keep pace with the evolution of technology. This document describes Geneve, an encapsulation protocol designed to recognize and accommodate these changing capabilities and needs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8926"/>
          <seriesInfo name="DOI" value="10.17487/RFC8926"/>
        </reference>
        <reference anchor="RFC2784">
          <front>
            <title>Generic Routing Encapsulation (GRE)</title>
            <author fullname="D. Farinacci" initials="D." surname="Farinacci">
              <organization/>
            </author>
            <author fullname="T. Li" initials="T." surname="Li">
              <organization/>
            </author>
            <author fullname="S. Hanks" initials="S." surname="Hanks">
              <organization/>
            </author>
            <author fullname="D. Meyer" initials="D." surname="Meyer">
              <organization/>
            </author>
            <author fullname="P. Traina" initials="P." surname="Traina">
              <organization/>
            </author>
            <date month="March" year="2000"/>
            <abstract>
              <t>This document specifies a protocol for encapsulation of an arbitrary network layer protocol over another arbitrary network layer protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2784"/>
          <seriesInfo name="DOI" value="10.17487/RFC2784"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.zhou-rtgwg-sinc-00">
          <front>
            <title>Signaling In-Network Computing operations (SINC)</title>
            <author fullname="Zhe Lou" initials="Z." surname="Lou">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Luigi Iannone" initials="L." surname="Iannone">
              <organization>Huawei Technologies France S.A.S.U.</organization>
            </author>
            <author fullname="Yujing Zhou" initials="Y." surname="Zhou">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Jinze Yang" initials="J." surname="Yang">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Zhangcuimin" initials="" surname="Zhangcuimin">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="22" month="February" year="2023"/>
            <abstract>
              <t>   This memo introduces "Signaling In-Network Computing operations"
   (SINC), a mechanism to enable signaling in-network computing
   operations on data packets in specific scenarios like NetReduce,
   NetDistributedLock, NetSequencer, etc.  In particular, this solution
   allows to flexibly communicate computational parameters, to be used
   in conjunction with the payload, to in-network SINC-enabled devices
   in order to perform computing operations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-zhou-rtgwg-sinc-00"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
