<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-sfc-serviceid-header-14" indexInclude="true" ipr="trust200902" number="8979" prepTime="2021-02-05T22:48:03" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-sfc-serviceid-header-14" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8979" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Subscriber/Performance Policy Headers">Subscriber and Performance Policy Identifier Context Headers in the Network Service Header (NSH)</title>
    <seriesInfo name="RFC" value="8979" stream="IETF"/>
    <author fullname="Behcet Sarikaya" initials="B." surname="Sarikaya">
      <organization showOnFrontPage="true"/>
      <address>
        <postal>
          <street/>
          <street/>
          <city/>
          <region/>
          <code/>
        </postal>
        <email>sarikaya@ieee.org</email>
      </address>
    </author>
    <author fullname="Dirk von Hugo" initials="D." surname="von Hugo">
      <organization abbrev="Deutsche Telekom" showOnFrontPage="true">Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Deutsche-Telekom-Allee 9</street>
          <city>Darmstadt</city>
          <code>D-64295</code>
          <country>Germany</country>
        </postal>
        <phone/>
        <email>Dirk.von-Hugo@telekom.de</email>
      </address>
    </author>
    <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
      <organization showOnFrontPage="true">Orange</organization>
      <address>
        <postal>
          <street/>
          <street/>
          <city>Rennes</city>
          <region/>
          <code>3500</code>
          <country>France</country>
        </postal>
        <phone/>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <date month="02" year="2021"/>
    <workgroup>SFC</workgroup>
    <keyword>subscriber policy</keyword>
    <keyword>policy enforcement</keyword>
    <keyword>subscriber</keyword>
    <keyword>policy</keyword>
    <keyword>quota</keyword>
    <keyword>identification</keyword>
    <keyword>implicit identification</keyword>
    <keyword>service chain</keyword>
    <keyword>service function chain</keyword>
    <keyword>sfc</keyword>
    <keyword>SFP</keyword>
    <keyword>service function path</keyword>
    <keyword>classification</keyword>
    <keyword>5G</keyword>
    <keyword>traffic steering</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document defines the Subscriber and Performance Policy Identifier Context Headers.  These Variable-Length Context Headers can be
      carried in the Network Service Header (NSH) and are used to inform Service
      Functions (SFs) of subscriber- and performance-related information for the
      sake of policy enforcement and appropriate Service Function Chaining (SFC)
      operations. The structure of each Context Header and their use and
      processing by NSH-aware nodes are described.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8979" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2021 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions-and-terminology">Conventions and Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-subscriber-identifier-nsh-v">Subscriber Identifier NSH Variable-Length Context Header</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-performance-policy-identifi">Performance Policy Identifier NSH Variable-Length Context Headers</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mtu-considerations">MTU Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">This document discusses how to inform Service Functions (SFs) <xref target="RFC7665" format="default" sectionFormat="of" derivedContent="RFC7665"/> about subscriber and service policy
      information when required for the sake of policy enforcement within a
      single administrative domain. In particular, subscriber-related
      information may be required to enforce subscriber-specific SFC-based
      traffic policies. However, the information carried in packets may not be
      sufficient to unambiguously identify a subscriber.

      This document fills
      this void by specifying a new Network Service Header (NSH) <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/> Context Header to convey and disseminate such
      information within the boundaries of a single administrative domain. As
      discussed in <xref target="solutions" format="default" sectionFormat="of" derivedContent="Section 3"/>, the use of obfuscated and
      non-persistent identifiers is recommended.</t>
      <t indent="0" pn="section-1-2">Also, traffic steering by means of SFC may be driven, for example, by
      Quality of Service (QoS) considerations. Typically, QoS information may
      serve as an input for the computation, establishment, and selection of
      the Service Function Path (SFP). Furthermore, the dynamic structuring of
      Service Function Chains and their subsequent SFPs may be conditioned by
      QoS requirements that will affect the identification,
      location, and sequencing of SF instances.

      Hence, the need arises to provide downstream
      SFs with a performance policy identifier in order for them to
      appropriately meet the QoS requirements. This document also
      specifies a new NSH Context Header (<xref target="sol2" format="default" sectionFormat="of" derivedContent="Section 4"/>) to
      convey such policy identifiers.</t>
      <t indent="0" pn="section-1-3">The context information defined in this document can be applicable in
      the context of mobile networks (particularly in the 3GPP-defined (S)Gi
      interface) <xref target="I-D.ietf-sfc-use-case-mobility" format="default" sectionFormat="of" derivedContent="CASE-MOBILITY"/>.
      Typically, because of the widespread use of private IPv4 addresses in
      those networks, if the SFs to be invoked are located after a NAT
      function, the identification based on the internal IPv4 address is not
      possible once the NAT has been crossed. NAT functionality can reside in
      a distinct node. For a 4G 3GPP network, that node can be the Packet Data
      Network (PDN) Gateway (PGW) as specified in <xref target="TS23401" format="default" sectionFormat="of" derivedContent="TS23401"/>. For a 5G 3GPP network, it can be the User
      Plane Function (UPF) facing the external Data Network (DN) <xref target="TS23501" format="default" sectionFormat="of" derivedContent="TS23501"/>. As such, a mechanism to pass the internal
      information past the NAT boundary may optimize packet traversal within
      an SFC-enabled mobile network domain. Furthermore, some SFs that are not
      enabled on the PGW/UPF may require a subscriber identifier to properly
      operate (see, for example, those listed in <xref target="RFC8371" format="default" sectionFormat="of" derivedContent="RFC8371"/>). It is outside the scope of this document to
      include a comprehensive list of deployments that may make use of the
      Context Headers defined in the document.</t>
      <t indent="0" pn="section-1-4">Since subscriber identifiers are distinct from those used to identify
      a performance policy and given that multiple policies may be associated
      with a single subscriber within a Service Function Chain, these
      identifiers are carried in distinct Context Headers rather than
being multiplexed in one single Context Header. This approach avoids a
      requirement for additional internal structure in the Context Headers to
      specify whether an identifier refers to a subscriber or to a policy.</t>
      <t indent="0" pn="section-1-5">This document does not make any assumptions about the structure of
      subscriber or performance policy identifiers; each such identifier is
      treated as an opaque value. The semantics and validation of these
      identifiers are policies local to each SFC-enabled domain. This document
      focuses on the data plane behavior. Control plane considerations are
      out of the scope.</t>
      <t indent="0" pn="section-1-6">This document adheres to the SFC data plane architecture defined in
      <xref target="RFC7665" format="default" sectionFormat="of" derivedContent="RFC7665"/>. This document assumes the reader is
      familiar with <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/>.</t>
      <t indent="0" pn="section-1-7">This document assumes the NSH is used exclusively within a single
      administrative domain. This document follows the recommendations in
      <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/> for handling the Context Headers at both
      ingress and egress SFC boundary nodes (i.e., to strip the entire NSH,
      including Context Headers). Revealing any subscriber-related information
      to parties outside the SFC-enabled domain is avoided by design.
      Accordingly, the scope for privacy breaches and user tracking is limited
      to within the SFC-enabled domain where the NSH is used. It is assumed
      that appropriate mechanisms to monitor and audit an SFC-enabled domain
      to detect misbehavior and to deter misuse are in place.</t>
      <t indent="0" pn="section-1-8">MTU considerations are discussed in <xref target="MTU" format="default" sectionFormat="of" derivedContent="Section 5"/>.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-conventions-and-terminology">Conventions and Terminology</name>
      <t indent="0" pn="section-2-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
      </t>
      <t indent="0" pn="section-2-2">The reader should be familiar with the terms defined in <xref target="RFC7665" format="default" sectionFormat="of" derivedContent="RFC7665"/>.</t>
      <t indent="0" pn="section-2-3">"SFC Control Element" refers to a logical entity that instructs one or
      more SFC data plane functional elements on how to process packets within
      an SFC-enabled domain.</t>
    </section>
    <section anchor="solutions" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-subscriber-identifier-nsh-v">Subscriber Identifier NSH Variable-Length Context Header</name>
      <t indent="0" pn="section-3-1">Subscriber Identifier is defined as an optional Variable-Length NSH
      Context Header. Its structure is shown in <xref target="arch7" format="default" sectionFormat="of" derivedContent="Figure 1"/>.
      </t>
      <figure anchor="arch7" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-subscriber-identifier-varia">Subscriber Identifier Variable-Length Context Header</name>
        <artwork name="" type="" align="left" alt="" pn="section-3-2.1">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Metadata Class       |      Type     |U|    Length   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                      Subscriber Identifier                    ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
      <t indent="0" pn="section-3-3">The fields are described as follows:</t>
      <dl spacing="normal" indent="3" newline="false" pn="section-3-4">
        <dt pn="section-3-4.1">Metadata Class:</dt>
        <dd pn="section-3-4.2">
          <bcp14>MUST</bcp14> be set to 0x0 <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/>.</dd>
        <dt pn="section-3-4.3">Type:</dt>
        <dd pn="section-3-4.4">0x00 (see <xref target="IANA" format="default" sectionFormat="of" derivedContent="Section 6"/>).</dd>
        <dt pn="section-3-4.5">U bit:</dt>
        <dd pn="section-3-4.6">Unassigned bit (see <xref target="RFC8300" sectionFormat="of" section="2.5.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-2.5.1" derivedContent="RFC8300"/>).</dd>
        <dt pn="section-3-4.7">Length:</dt>
        <dd pn="section-3-4.8">Indicates the length of the Subscriber Identifier, in
          bytes (see <xref target="RFC8300" sectionFormat="of" section="2.5.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-2.5.1" derivedContent="RFC8300"/>).</dd>
        <dt pn="section-3-4.9">Subscriber Identifier:</dt>
        <dd pn="section-3-4.10">
          <t indent="0" pn="section-3-4.10.1">Carries an opaque local identifier that is
          assigned to a subscriber by a network operator.</t>
          <t indent="0" pn="section-3-4.10.2">While this document does not specify an internal
          structure for these identifiers, it also does not provide any
          cryptographic protection for them; any internal structure to the
          identifier values chosen will thus be visible on the wire if no
          secure transport encapsulation is used. Accordingly, in alignment
          with <xref target="RFC8300" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-8.2.2" derivedContent="RFC8300"/>, identifier
          values <bcp14>SHOULD</bcp14> be obfuscated.</t>
        </dd>
      </dl>
      <t indent="0" pn="section-3-5">The Subscriber Identifier Context Header is used by SFs
      to enforce per-subscriber policies (e.g., resource quota, customized
      filtering profile, accounting). To that aim, network operators may rely
      on identifiers that are generated from those used in legacy deployments
      (e.g., <xref target="I-D.ietf-sfc-use-case-mobility" sectionFormat="of" section="3.3" format="default" derivedLink="https://tools.ietf.org/html/draft-ietf-sfc-use-case-mobility-09#section-3.3" derivedContent="CASE-MOBILITY"/>). Alternatively, network
      operators may use identifiers that are associated with customized policy
      profiles that are preconfigured on SFs using an out-of-band mechanism.
      Such a mechanism can be used to rotate the identifiers, thus allowing for
      better unlinkability (<xref target="RFC6973" sectionFormat="of" section="3.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6973#section-3.2" derivedContent="RFC6973"/>).
      Such alternative methods may be suboptimal (e.g., scalability issues
      induced by maintaining and processing finer granular profiles) or
      inadequate for providing some per-subscriber policies. The assessment of
      whether a method for defining a subscriber identifier provides the
      required functionality and whether
      it is compatible with the capabilities of the SFs at 
      the intended performance level is deployment specific.</t>
      <t indent="0" pn="section-3-6">The classifier and NSH-aware SFs <bcp14>MAY</bcp14> inject a Subscriber Identifier
      Context Header as a function of a local policy. This local policy should
      indicate the SFP(s) for which the Subscriber Identifier Context Header
      will be added. In order to prevent interoperability issues, the type and
      format of the identifiers to be injected in a Subscriber Identifier
      Context Header should be configured to nodes authorized to inject and
      consume such headers. For example, a node can be instructed to insert
      such data following a type/set scheme (e.g., node X should inject
      subscriber ID type Y). Other schemes may be envisaged.</t>
      <t indent="0" pn="section-3-7">Failures to inject such headers should be logged locally, while a
      notification alarm may be sent to a Control Element. The details of
      sending notification alarms (i.e., the parameters affecting the
      transmission of the notification alarms) might depend on the nature of
      the information in the Context Header. Parameters for sending alarms,
      such as frequency, thresholds, and content of the alarm, should be
      configurable.</t>
      <t indent="0" pn="section-3-8">The default behavior of intermediary NSH-aware nodes is to preserve
      Subscriber Identifier Context Headers (i.e., the information can be
      passed to next-hop NSH-aware nodes), but local policy may require an
      intermediary NSH-aware node to strip a Subscriber Identifier Context
      Header after processing it.</t>
      <t indent="0" pn="section-3-9">NSH-aware SFs <bcp14>MUST</bcp14> ignore Context Headers carrying unknown subscriber
      identifiers.</t>
      <t indent="0" pn="section-3-10">Local policies at NSH-aware SFs may require running additional
      validation checks on the content of these Context Headers (e.g., accepting
      only some lengths or types). These policies may also indicate the
      behavior to be followed by an NSH-aware SF if the validation checks fail
      (e.g., removing the Context Header from the packet). These additional
      validation checks are deployment specific. If validation checks fail on
      a Subscriber Identifier Context Header, an NSH-aware SF <bcp14>MUST</bcp14> ignore that
      Context Header. The event should be logged locally, while a notification
      alarm may be sent to a Control Element if the NSH-aware SF is instructed
      to do so. For example, an SF will discard Subscriber Identifier
      Context Headers conveying identifiers in all formats that are different from the
      one the SF is instructed to expect.</t>
      <t indent="0" pn="section-3-11">Multiple Subscriber Identifier Context Headers <bcp14>MAY</bcp14> be present in the
      NSH, each carrying a distinct opaque value but all pointing to the same
      subscriber. This may be required, e.g., by policy enforcement mechanisms
      in a mobile network where some SFs rely on IP addresses as subscriber
      identifiers, while others use non-IP-specific identifiers such as those
      listed in <xref target="RFC8371" format="default" sectionFormat="of" derivedContent="RFC8371"/> and <xref target="I-D.ietf-sfc-use-case-mobility" sectionFormat="of" section="3.3.2" format="default" derivedLink="https://tools.ietf.org/html/draft-ietf-sfc-use-case-mobility-09#section-3.3.2" derivedContent="CASE-MOBILITY"/>. When multiple
      Subscriber Identifier Context Headers are present and an SF is
      instructed to strip the Subscriber Identifier Context Header, that SF
      <bcp14>MUST</bcp14> remove all Subscriber Identifier Context Headers.</t>
    </section>
    <section anchor="sol2" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-performance-policy-identifi">Performance Policy Identifier NSH Variable-Length Context Headers</name>
      <t indent="0" pn="section-4-1">Dedicated service-specific performance identifiers are defined to
      differentiate between services that require specific treatment in order
      to exhibit a performance characterized by, e.g., ultra-low latency (ULL)
      or ultra-high reliability (UHR). Other policies can be considered when
      instantiating a Service Function Chain within an SFC-enabled domain.
      They are conveyed in the Performance Policy Identifier Context
      Header.</t>
      <t indent="0" pn="section-4-2">The Performance Policy Identifier Context Header is inserted in an NSH packet so that downstream NSH-aware nodes can make use of the performance information for proper selection of suitably distributed SFC paths, SF instances, or applicable policy at SFs. Note that the use of the performance policy identifier is not helpful if the path computation is
      centralized and a strict SFP is presented as local policy to SF
      Forwarders (SFFs).</t>
      <t indent="0" pn="section-4-3">The Performance Policy Identifier Context Header allows for the distributed
      enforcement of a per-service policy such as requiring
      an SFP to
      only include specific SF instances (e.g., SFs located within the same
      Data Center (DC) or those that are exposing the shortest delay from an SFF). Details
      of this process are implementation specific. For illustration purposes,
      an SFF may retrieve the details of usable SFs based upon the
      corresponding performance policy identifier. Typical criteria for
      instantiating specific SFs include location, performance, or proximity
      considerations. For the particular case of UHR services, the standby
      operation of backup capacity or the presence of SFs deployed in
      multiple instances may be requested.</t>
      <t indent="0" pn="section-4-4">In an environment characterized by frequent changes of link and path
      behavior (for example, due to variable load or availability caused by
      propagation conditions on a wireless link), the SFP may have to be
      adapted dynamically by on-the-move SFC path and SF instance
      selection.</t>
      <t indent="0" pn="section-4-5">Performance Policy Identifier is defined as an optional Variable-Length Context Header. Its structure is shown in <xref target="arch9" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</t>
      <t indent="0" pn="section-4-6">The default behavior of intermediary NSH-aware nodes is to preserve
      such Context Headers (i.e., the information can be passed to next-hop
      NSH-aware nodes), but local policy may require an intermediary NSH-aware
      node to strip one Context Header after processing it.</t>
      <t indent="0" pn="section-4-7">Multiple Performance Policy Identifier Context Headers <bcp14>MAY</bcp14> be present
      in the NSH, each carrying an opaque value for a distinct policy that
      needs to be enforced for a flow. Supplying conflicting policies may
      complicate the SFP computation and SF instance location. Corresponding
      rules to detect conflicting policies may be provided as a local policy
      to the NSH-aware nodes. When such conflict is detected by an NSH-aware
      node, the default behavior of the node is to discard the packet and send
      a notification alarm to a Control Element.</t>
      <figure anchor="arch9" align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-performance-policy-identifie">Performance Policy Identifier Variable-Length Context Header</name>
        <artwork name="" type="" align="left" alt="" pn="section-4-8.1">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Metadata Class       |      Type     |U|    Length   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   ~                     Performance Policy Identifier             ~
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
      <t indent="0" pn="section-4-9">The fields are described as follows:</t>
      <dl spacing="normal" indent="3" newline="false" pn="section-4-10">
        <dt pn="section-4-10.1">Metadata Class:</dt>
        <dd pn="section-4-10.2">
          <bcp14>MUST</bcp14> be set to 0x0 <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/>.</dd>
        <dt pn="section-4-10.3">Type:</dt>
        <dd pn="section-4-10.4">0x01 (see <xref target="IANA" format="default" sectionFormat="of" derivedContent="Section 6"/>).</dd>
        <dt pn="section-4-10.5">U bit:</dt>
        <dd pn="section-4-10.6">Unassigned bit (see <xref target="RFC8300" sectionFormat="of" section="2.5.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-2.5.1" derivedContent="RFC8300"/>).</dd>
        <dt pn="section-4-10.7">Length:</dt>
        <dd pn="section-4-10.8">Indicates the length of the Performance Policy
          Identifier, in bytes (see <xref target="RFC8300" sectionFormat="of" section="2.5.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-2.5.1" derivedContent="RFC8300"/>).</dd>
        <dt pn="section-4-10.9">Performance Policy Identifier:</dt>
        <dd pn="section-4-10.10">Represents an opaque value
          pointing to a specific performance policy to be enforced. The
          structure and semantics of this field are deployment specific.</dd>
      </dl>
    </section>
    <section anchor="MTU" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-mtu-considerations">MTU Considerations</name>
      <t indent="0" pn="section-5-1">As discussed in <xref target="RFC7665" sectionFormat="of" section="5.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7665#section-5.6" derivedContent="RFC7665"/>, the
      SFC architecture prescribes that additional information be added to
      packets to: </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-2">
        <li pn="section-5-2.1">Identify SFPs. This is typically the NSH Base Header (<xref target="RFC8300" sectionFormat="of" section="2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-2.2" derivedContent="RFC8300"/>) and Service Path Header (<xref target="RFC8300" sectionFormat="of" section="2.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-2.3" derivedContent="RFC8300"/>).</li>
        <li pn="section-5-2.2">Carry metadata such those defined in Sections <xref format="counter" target="solutions" sectionFormat="of" derivedContent="3"/> and <xref format="counter" target="sol2" sectionFormat="of" derivedContent="4"/>.</li>
        <li pn="section-5-2.3">Steer the traffic along the SFPs: This is realized by means of transport encapsulation.</li>
      </ul>
      <t indent="0" pn="section-5-3">This added information increases the size of the packet to be carried
      along an SFP.</t>
      <t indent="0" pn="section-5-4">Aligned with <xref target="RFC8300" sectionFormat="of" section="5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-5" derivedContent="RFC8300"/>, it is
      <bcp14>RECOMMENDED</bcp14> for network operators to increase the underlying MTU so that
      NSH traffic is forwarded within an SFC-enabled domain without
      fragmentation. The available underlying MTU should be taken into account
      by network operators when providing SFs with the required Context
      Headers to be injected per SFP and the size of the data to be carried in
      these Context Headers.</t>
      <t indent="0" pn="section-5-5">If the underlying MTU cannot be increased to accommodate the NSH
      overhead, network operators may rely upon a transport encapsulation
      protocol with the required fragmentation handling. The impact of
      activating such feature on SFFs should be carefully assessed by network
      operators (<xref target="RFC7665" sectionFormat="of" section="5.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7665#section-5.6" derivedContent="RFC7665"/>).</t>
      <t indent="0" pn="section-5-6">When dealing with MTU issues, network operators should consider the
      limitations of various transport encapsulations such as those discussed
      in <xref target="I-D.ietf-intarea-tunnels" format="default" sectionFormat="of" derivedContent="INTAREA-TUNNELS"/>.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1">IANA has assigned the following types from the
      "NSH IETF-Assigned Optional Variable-Length Metadata Types" subregistry (0x0000
      IETF Base NSH MD Class) available at:
      <eref brackets="angle" target="https://www.iana.org/assignments/nsh"/>.</t>
      <table align="center" pn="table-1">
        <name slugifiedName="name-nsh-ietf-assigned-optional-">NSH IETF-Assigned Optional Variable-Length Metadata Types Additions</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Value</th>
            <th align="left" colspan="1" rowspan="1">Description</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">0x00</td>
            <td align="left" colspan="1" rowspan="1">Subscriber Identifier</td>
            <td align="left" colspan="1" rowspan="1">[RFC8979]</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">0x01</td>
            <td align="left" colspan="1" rowspan="1">Performance Policy Identifier</td>
            <td align="left" colspan="1" rowspan="1">[RFC8979]</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-7-1">Data plane SFC-related security considerations, including privacy,
      are discussed in <xref target="RFC7665" sectionFormat="of" section="6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7665#section-6" derivedContent="RFC7665"/> and <xref target="RFC8300" sectionFormat="of" section="8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-8" derivedContent="RFC8300"/>. In particular, <xref target="RFC8300" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-8.2.2" derivedContent="RFC8300"/> states that attached metadata (i.e.,
      Context Headers) should be limited to that necessary for correct
      operation of the SFP. <xref target="RFC8300" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-8.2.2" derivedContent="RFC8300"/> indicates that metadata
      considerations that operators can take into account when using NSH are
      discussed in <xref target="RFC8165" format="default" sectionFormat="of" derivedContent="RFC8165"/>.</t>
      <t indent="0" pn="section-7-2">As specified in <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/>, means to prevent
      leaking privacy-related information outside an SFC-enabled domain are
      natively supported by the NSH given that the last SFF of an SFP will
      systematically remove the NSH (and therefore the identifiers defined in
      this specification) before forwarding a packet exiting the SFP.</t>
      <t indent="0" pn="section-7-3">Nodes that are involved in an SFC-enabled domain are assumed to be
      trusted (<xref target="RFC8300" sectionFormat="of" section="1.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-1.1" derivedContent="RFC8300"> </xref>). Discussion of means to check
      that only authorized nodes are traversed when a packet is crossing an
      SFC-enabled domain is out of scope of this document.</t>
      <t indent="0" pn="section-7-4">Both Subscriber Identifier and Performance Policy Identifier Context Headers
      carry opaque data. In particular, the Subscriber Identifier Context Header is locally assigned by a network
      provider and can be generated from some of the information that is
      already conveyed in the original packets from a host (e.g., internal IP
      address) or other information that is collected from various sources
      within an SFC-enabled domain (e.g., line identifier). The structure of
      the identifiers conveyed in these Context Headers is communicated only
      to entitled NSH-aware nodes. Nevertheless, some structures may be easily
      inferred from the headers if trivial structures are used (e.g., IP
      addresses). As persistent identifiers facilitate tracking over time, the
      use of indirect and non-persistent identification is thus
      <bcp14>RECOMMENDED</bcp14>.</t>
      <t indent="0" pn="section-7-5">Moreover, the presence of multiple Subscriber Identifier Context
      Headers in the same NSH allows a misbehaving node from within the
      SFC-enabled domain to bind these identifiers to the same subscriber.
      This can be used to track that subscriber more effectively.    
      
      The use of non-persistent (e.g., regularly randomized) identifiers as
      well as the removal of the Subscriber Identifier Context Headers from
      the NSH by the last SF making use of such headers soften this issue
      (see "data minimization" discussed in <xref target="RFC8165" sectionFormat="of" section="3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8165#section-3" derivedContent="RFC8165"/>).
      Such behavior is especially strongly recommended in case no 
      encryption is enabled.</t>
      <t indent="0" pn="section-7-6">A misbehaving node from within the SFC-enabled domain may alter the
      content of Subscriber Identifier and Performance Policy Identifier Context Headers,
      which may lead to service disruption. Such an attack is not unique to the
      Context Headers defined in this document; measures discussed in <xref target="RFC8300" sectionFormat="of" section="8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-8" derivedContent="RFC8300"/> are to be followed. A mechanism for
      NSH integrity is specified in <xref target="I-D.ietf-sfc-nsh-integrity" format="default" sectionFormat="of" derivedContent="NSH-INTEGRITY"/>.</t>
      <t indent="0" pn="section-7-7">If no secure transport encapsulation is enabled, the use of trivial
      subscriber identifier structures, together with the presence of specific
      SFs in a Service Function Chain, may reveal sensitive information to
      every on-path device. Also, operational staff in 
teams managing these
devices could gain access to such user privacy-affecting data.

Such
      disclosure can be a violation of legal requirements because such
      information should be available to very few network operator personnel.
      Furthermore, access to subscriber data usually requires specific access
      privilege levels. To maintain that protection, an SF keeping operational
      logs should not log the content of Subscriber and Performance Policy
      Identifier Context Headers unless the SF actually uses the content of these headers
      for its operation. As discussed in <xref target="RFC8300" sectionFormat="of" section="8.2.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8300#section-8.2.2" derivedContent="RFC8300"/>, subscriber-identifying information should be
      obfuscated, and, if an operator deems cryptographic integrity protection is needed, security features in the transport encapsulation protocol (such
      as IPsec) must be used. A mechanism for encrypting sensitive NSH data is
      specified in <xref target="I-D.ietf-sfc-nsh-integrity" format="default" sectionFormat="of" derivedContent="NSH-INTEGRITY"/>. This
      mechanism can be considered by network operators when enhanced SF-to-SF
      security protection of NSH metadata is required (e.g., to protect against
      compromised SFFs).</t>
      <t indent="0" pn="section-7-8">Some events are logged locally with notification alerts sent by
      NSH-aware nodes to a Control Element. These events <bcp14>SHOULD</bcp14> be rate
      limited.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-intarea-tunnels" to="INTAREA-TUNNELS"/>
    <displayreference target="I-D.ietf-sfc-use-case-mobility" to="CASE-MOBILITY"/>
    <displayreference target="I-D.ietf-sfc-nsh-integrity" to="NSH-INTEGRITY"/>
    <references pn="section-8">
      <name slugifiedName="name-references">References</name>
      <references pn="section-8.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC7665" target="https://www.rfc-editor.org/info/rfc7665" quoteTitle="true" derivedAnchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author initials="J." surname="Halpern" fullname="J. Halpern" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="October"/>
            <abstract>
              <t indent="0">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="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8300" target="https://www.rfc-editor.org/info/rfc8300" quoteTitle="true" derivedAnchor="RFC8300">
          <front>
            <title>Network Service Header (NSH)</title>
            <author initials="P." surname="Quinn" fullname="P. Quinn" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="U." surname="Elzur" fullname="U. Elzur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="January"/>
            <abstract>
              <t indent="0">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>
      </references>
      <references pn="section-8.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-sfc-use-case-mobility" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-sfc-use-case-mobility-09" derivedAnchor="CASE-MOBILITY">
          <front>
            <title>Service Function Chaining Use Cases in Mobile Networks</title>
            <author fullname="Walter Haeffner">
              <organization showOnFrontPage="true">Vodafone</organization>
            </author>
            <author fullname="Jeffrey Napper">
              <organization showOnFrontPage="true">Cisco Systems</organization>
            </author>
            <author fullname="Martin Stiemerling">
              <organization showOnFrontPage="true">Hochschule Darmstadt</organization>
            </author>
            <author fullname="Diego R. Lopez">
	 </author>
            <author fullname="Jim Uttaro">
              <organization showOnFrontPage="true">AT&amp;T</organization>
            </author>
            <date month="January" day="1" year="2019"/>
            <abstract>
              <t indent="0">   This document provides some exemplary use cases for service function
   chaining in mobile service provider networks.  The objective of this
   draft is not to cover all conceivable service chains in detail.
   Rather, the intention is to localize and explain the application
   domain of service chaining within mobile networks as far as it is
   required to complement the SFC problem statement and architecture
   framework of the working group.

   Service function chains typically reside in a LAN segment which links
   the mobile access network to the actual application platforms located
   in the carrier's datacenters or somewhere else in the Internet.
   Service function chains (SFC) ensure a fair distribution of network
   resources according to agreed service policies, enhance the
   performance of service delivery or take care of security and privacy.
   SFCs may also include Value Added Services (VAS).  Commonly, SFCs are
   typical middle box based services.

   General considerations and specific use cases are presented in this
   document to demonstrate the different technical requirements of these
   goals for service function chaining in mobile service provider
   networks.

   The specification of service function chaining for mobile networks
   must take into account an interaction between service function chains
   and the 3GPP Policy and Charging Control (PCC) environment.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sfc-use-case-mobility-09"/>
          <format type="TXT" target="https://www.ietf.org/internet-drafts/draft-ietf-sfc-use-case-mobility-09.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-intarea-tunnels" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-intarea-tunnels-10" derivedAnchor="INTAREA-TUNNELS">
          <front>
            <title>IP Tunnels in the Internet Architecture</title>
            <author fullname="Joe Touch">
              <organization showOnFrontPage="true">Independent consultant</organization>
            </author>
            <author fullname="Mark Townsley">
              <organization showOnFrontPage="true">Cisco</organization>
            </author>
            <date month="September" day="12" year="2019"/>
            <abstract>
              <t indent="0">   This document discusses the role of IP tunnels in the Internet
   architecture. An IP tunnel transits IP datagrams as payloads in non-
   link layer protocols. This document explains the relationship of IP
   tunnels to existing protocol layers and the challenges in supporting
   IP tunneling, based on the equivalence of tunnels to links. The
   implications of this document are used to derive recommendations that
   update MTU and fragment issues in RFC 4459.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-intarea-tunnels-10"/>
          <format type="TXT" target="https://www.ietf.org/internet-drafts/draft-ietf-intarea-tunnels-10.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-sfc-nsh-integrity" quoteTitle="true" target="https://tools.ietf.org/html/draft-ietf-sfc-nsh-integrity-03" derivedAnchor="NSH-INTEGRITY">
          <front>
            <title>Integrity Protection for the Network Service Header (NSH) and Encryption of Sensitive Context Headers</title>
            <author initials="M." surname="Boucadair" fullname="Mohamed Boucadair">
              <organization showOnFrontPage="true">Orange</organization>
            </author>
            <author initials="T." surname="Reddy.K" fullname="Tirumaleswar Reddy.K">
              <organization showOnFrontPage="true">McAfee, Inc.</organization>
            </author>
            <author initials="D." surname="Wing" fullname="Dan Wing">
              <organization showOnFrontPage="true">Citrix Systems, Inc.</organization>
            </author>
            <date month="January" day="22" year="2021"/>
            <abstract>
              <t indent="0">   This specification adds integrity protection directly to the Network
   Service Header (NSH) used for Service Function Chaining (SFC).  Also,
   this specification allows to encrypt sensitive metadata that is
   carried in the NSH.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sfc-nsh-integrity-03"/>
          <format type="TXT" target="https://www.ietf.org/internet-drafts/draft-ietf-sfc-nsh-integrity-03.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC6973" target="https://www.rfc-editor.org/info/rfc6973" quoteTitle="true" derivedAnchor="RFC6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author initials="A." surname="Cooper" fullname="A. Cooper">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Tschofenig" fullname="H. Tschofenig">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Aboba" fullname="B. Aboba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Morris" fullname="J. Morris">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Hansen" fullname="M. Hansen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Smith" fullname="R. Smith">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="July"/>
            <abstract>
              <t indent="0">This document offers guidance for developing privacy considerations for inclusion in protocol specifications.  It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices.  It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="RFC8165" target="https://www.rfc-editor.org/info/rfc8165" quoteTitle="true" derivedAnchor="RFC8165">
          <front>
            <title>Design Considerations for Metadata Insertion</title>
            <author initials="T." surname="Hardie" fullname="T. Hardie">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">The IAB published RFC 7624 in response to several revelations of pervasive attacks on Internet communications.  This document considers the implications of protocol designs that associate metadata with encrypted flows.  In particular, it asserts that designs that share metadata only by explicit actions at the host are preferable to designs in which middleboxes insert metadata.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8165"/>
          <seriesInfo name="DOI" value="10.17487/RFC8165"/>
        </reference>
        <reference anchor="RFC8371" target="https://www.rfc-editor.org/info/rfc8371" quoteTitle="true" derivedAnchor="RFC8371">
          <front>
            <title>Mobile Node Identifier Types for MIPv6</title>
            <author initials="C." surname="Perkins" fullname="C. Perkins">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Devarapalli" fullname="V. Devarapalli">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="July"/>
            <abstract>
              <t indent="0">This document defines additional identifier type numbers for use with the mobile node identifier option for Mobile IPv6 (MIPv6) as defined by RFC 4283.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8371"/>
          <seriesInfo name="DOI" value="10.17487/RFC8371"/>
        </reference>
        <reference anchor="TS23401" quoteTitle="true" derivedAnchor="TS23401">
          <front>
            <title>General Packet Radio Service (GPRS) enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access, Release 16</title>
            <author>
              <organization showOnFrontPage="true">3GPP</organization>
            </author>
            <date month="December" year="2019"/>
          </front>
          <seriesInfo name="Version" value="16.5.0"/>
          <seriesInfo name="TS" value="23.401"/>
        </reference>
        <reference anchor="TS23501" quoteTitle="true" derivedAnchor="TS23501">
          <front>
            <title>System architecture for the 5G System (5GS), Release 16</title>
            <author>
              <organization showOnFrontPage="true">3GPP</organization>
            </author>
            <date month="December" year="2019"/>
          </front>
          <seriesInfo name="Version" value="16.3.0"/>
          <seriesInfo name="TS" value="23.501"/>
        </reference>
      </references>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">Comments from <contact fullname="Joel Halpern"/> on a previous draft version and from <contact fullname="Carlos       Bernardos"/> are appreciated.</t>
      <t indent="0" pn="section-appendix.a-2">Contributions and review by <contact fullname="Christian Jacquenet"/>, <contact fullname="Danny Lachos"/>,
      <contact fullname="Debashish Purkayastha"/>, <contact fullname="Christian Esteve Rothenberg"/>, <contact fullname="Kyle Larose"/>, <contact fullname="Donald       Eastlake"/>, <contact fullname="Qin Wu"/>, <contact fullname="Shunsuke Homma"/>, and <contact fullname="Greg Mirsky"/> are thankfully
      acknowledged.</t>
      <t indent="0" pn="section-appendix.a-3">Many thanks to <contact fullname="Robert Sparks"/> for the secdir review.</t>
      <t indent="0" pn="section-appendix.a-4">Thanks to <contact fullname="Barry Leiba"/>, <contact fullname="Erik Kline"/>, <contact fullname="Éric Vyncke"/>, <contact fullname="Robert Wilton"/>, and
      <contact fullname="Magnus Westerlund"/> for the IESG review.</t>
      <t indent="0" pn="section-appendix.a-5">Special thanks to <contact fullname="Benjamin Kaduk"/> for the careful review and
      suggestions that enhanced this specification.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Behcet Sarikaya" initials="B." surname="Sarikaya">
        <organization showOnFrontPage="true"/>
        <address>
          <postal>
            <street/>
            <street/>
            <city/>
            <region/>
            <code/>
          </postal>
          <email>sarikaya@ieee.org</email>
        </address>
      </author>
      <author fullname="Dirk von Hugo" initials="D." surname="von Hugo">
        <organization abbrev="Deutsche Telekom" showOnFrontPage="true">Deutsche Telekom</organization>
        <address>
          <postal>
            <street>Deutsche-Telekom-Allee 9</street>
            <city>Darmstadt</city>
            <code>D-64295</code>
            <country>Germany</country>
          </postal>
          <phone/>
          <email>Dirk.von-Hugo@telekom.de</email>
        </address>
      </author>
      <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
        <organization showOnFrontPage="true">Orange</organization>
        <address>
          <postal>
            <street/>
            <street/>
            <city>Rennes</city>
            <region/>
            <code>3500</code>
            <country>France</country>
          </postal>
          <phone/>
          <email>mohamed.boucadair@orange.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
