<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema
      validation and schema-aware editing --> 
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> --> 
<!-- This third-party XSLT can be enabled for direct transformations
in XML processors, including most browsers --> 

<!DOCTYPE rfc [
  <!ENTITY filename "draft-eastlake-secdispatch-tenantid-consid-08">
  <!ENTITY nbsp   "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- If further character entities are required then they should be
added to the DOCTYPE above. Use of an external entity file is not
recommended. --> 
<?rfc strict="yes" ?>
<?rfc toc="yes"?>

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="bcp"
  docName="&filename;"
  ipr="trust200902"
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">
<!-- 
    * docName should be the name of your draft * category should be
    one of std, bcp, info, exp, historic * ipr should be one of
    trust200902, noModificationTrust200902, noDerivativesTrust200902,
    pre5378Trust200902 * updates can be an RFC number as NNNN *
    obsoletes can be an RFC number as NNNN
-->


<!-- ____________________FRONT_MATTER____________________ -->
<front>
  <title abbrev="Tenant ID Security Considerations">Security
  Considerations for Tenant ID and Similar Fields</title>
   <!--  The abbreviated title is required if the full title is
        longer than 39 characters --> 

   <seriesInfo name="Internet-Draft"
               value="&filename;"/>

   <author fullname="Donald E. Eastlake 3rd" initials="D."
           surname="Eastlake">
     <organization>Independent</organization>
     <address>
       <postal>
         <street>2386 Panoramic Circle</street>
         <city>Apopka</city>
         <region>Florida</region>
         <code>32703</code>
         <country>USA</country>
       </postal>        
       <phone>+1-508-333-2270</phone>
       <email>d3e3e3@gmail.com</email>
     </address>
   </author>

   <author initials="N." surname="Cam-Winget"
           fullname="Nancy Cam-Winget">
     <organization>Cisco Systems</organization>
     <address>
       <postal>
         <street>3550 Cisco Way</street>
         <city>San Jose</city>
         <region>CA</region>
         <code>95134</code>
         <country>USA</country>
       </postal>
       <email>ncamwing@cisco.com</email>
     </address>
   </author>
 
   <author initials="M." surname="Umair"
           fullname="Mohammed Umair">
     <organization>IPinfusion</organization>
     <address>
       <postal>
         <country>India</country>
       </postal>
       <email>mohammed.umair2@gmail.com</email>
     </address>
   </author>

   <date year="2026" month="March" day="17"/>

   <area>tbd</area>
   <workgroup>Network Working Group</workgroup>
   <!-- "Internet Engineering Task Force" is fine for individual
        submissions.  If this element is not present, the default is
        "Network Working Group", which is used by the RFC Editor as a
        nod to the history of the RFC Series. --> 

   <keyword>Tenant ID</keyword>
   <!-- Multiple keywords are allowed.  Keywords are incorporated
        into HTML output files for use by search engines. --> 

<abstract>
  <t>Many protocols provide for header fields to be added to a packet
  on ingress to a network domain and removed on egress from that
  domain. Examples of such fields are Tenant ID for multi-tenant
  networks, ingress port ID and/or type, and other identity or
  handling directive fields. These fields mean that a packet may be
  accompanied by supplemental information as it transits the network
  domain that would not be present with the packet or not be visible
  if it were simply forwarded in a traditional manner. A particular
  concern is that these fields may harm privacy by identifying, in
  greater detail, the packet source and intended traffic
  handling. This document provides Security Considerations for the
  inclusion of such fields with a packet.</t>
</abstract>
 
</front>


<!-- ____________________MIDDLE_MATTER____________________ -->
<middle>
    
<section>
  <name>Introduction</name>

<t>Many protocols provide for header fields to be added to a packet on
ingress to a network domain and removed on egress from that domain as
shown in <xref target="domain"/>. Examples of such fields are Tenant
ID for multi-tenant networks, ingress port ID and/or type, and other
identity or handling directive fields. These fields mean that a packet
may be accompanied by supplemental information as it transits the
network domain that would not be present with the packet or not be
visible if it was simply forwarded in a traditional manner.</t>

<t>There are many such fields that have been specified. A few examples
from IETF RFCs are given below in <xref target="examples"/>.  This
document provides Security Considerations <xref target="RFC3552"/> for
the inclusion of such supplemental information with a packet.</t>
  
<figure anchor="domain">
  <name>Example Network Domain</name>
    <artwork type="ascii-art" name="box.txt">
<![CDATA[
              +-  --  --  --  --  --  --  --  --  --  -+
              |                                        |
                           Network Domain
              |                                        |
  Packet  +-------+           +------+           +--------+  Packet
---------->Ingress>---------->Transit>-----------> Egress >--------->
 (Header  +-------+  (Header  +------+  (Header  +--------+ (Header
  +Data)      |       +Field             +Field        |     +Data)
                      +Data)             +Data
              |                                        |

              +-  --  --  --  --  --  --  --  --  --  -+
]]>
    </artwork>
</figure>

<t><xref target="domain"/> shows a simplified diagram. In a specific
case, there may be zero or many transit nodes and, in the case of a
multi-destination packet, there might be multiple paths from the
ingress to multiple egress nodes. There might be multiple fields
added which are considered one logical field for the purposes of this
document or an added information "field" might be encoded into an
existing field or subpart of that field.</t>

<t>The primary security concern with the addition of such supplemental
information is harm to the privacy of the packet source by
distinguishing the packet's source and the packet's intended handling
in detail. The granularity with which packet sources are distinguished
can vary greatly. At their most specific, fields could distinguish one
or combination of a single host computer, individual user, or specific
process, application, or protocol instance within a host. At the least
specific end of the granularity spectrum, only the identity of an
adjacent Internet Service Provider might be revealed. For example, if
VXLAN <xref target="RFC7348"/> is in use, the outer IP header source
and destination IP addresses, which identify VXLAN Tunnel End Points
(VTEPs), combined with the inner original header IP addresses normally
enable one to precisely identify a host/VM/Tenant.  In addition to
distinguishing packet sources with a finer granularity, supplemental
information may enable multiple apparently different sources to be
grouped as related and allow some information about the structure of
complex sources to be deduced.</t>

<t>The supplemental information fields added or set by the ingress
node may be derived from fields present in the packet which are
normally forwarded, such as the "5-tuple" of IP Source and Destination
Address, IP Source and Destination Port, and IP Protocol and/or
additional header fields that would be transmitted with the
packet. Reasons for adding a derived field include that the
information it is derived from will not be available to transit nodes
because it will be encrypted or it is too deep in the packet, that is,
too far from the beginning of the packet for convenient access.</t>

<t>In other cases, the field may be derived in whole or in part from
information such as ingress port identity or a VLAN tag on the packet
arriving via Ethernet and which would not normally be forwarded with
the packet.</t>

<section anchor="meta">
  <name>Meta-Data</name>

<t>The supplemental added information referred to above is an example
of meta-data, which is additional data distinct form the content of
messages. Meta-data is usually less sensitive than the content of
messages. For example, consider messages between an individual and a
doctor with a narrow medical specialty where there was no prior
relationship between them. The existence and timing of such an
exchange of messages could be quite revealing but clearly less so than
the content of the messages which could reveal specific diagnosis and
prognosis as well as the actual patient's name which might be different
from the messaging participant.</t>

<t>While there are exceptions, in
mandatory label systems, such the USA government classification system
for national security information with categories</t>

<t>Unclassified &lt; Confidential &lt; Secret &lt; Top Secret,</t>

<t>a default rule of thumb is that the meta-data for a messages stream
is one level less sensitive that the messages contents. For example,
if there is a stream of messages whose content is classified as
Secret, the message meta-data such as source and destination
addresses, message timing and size, etc., would tend to be classified
as Confidential. A counter-example would be the less common case where
the content of a message was only moderately important but the mere
existence and address of the source and/or destination is very
sensitive.</t>

<t>A former head of the USA NSA and CIA has said, <xref
target="Ferran"/> "We kill people based on meta-data".</t>

</section>

<section anchor="requirements">
  <name>Terminology</name>

 <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
 NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
 "MAY", and "OPTIONAL" in this document are to be interpreted as
 described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
 when, and only when, they appear in all capitals, as shown here.</t>
  
 <t>The acronyms and terms below are used in this document. For
 further security term definitions, see <xref target="RFC4949"/>.</t>

 <dl newline="false">
   
    <dt>AEAD</dt><dd>- &nbsp;Authenticated Encryption with
    Additional Data.</dd>
    
    <dt>ASCII</dt><dd>- &nbsp;American Standard Code for
    Information Interchange <xref target="RFC0020"/>.</dd>
    
    <dt>ciphertext</dt>
    <dd>- &nbsp;Data that has been transformed by encryption so
    that its semantic information content is no longer
    intelligible or directly available (see <xref
    target="encrypt"/>) <xref target="RFC4949"/>.</dd>
    
    <dt>CPU</dt><dd>- &nbsp;Central Processing Unit.</dd>

    <dt>DSCP</dt><dd>- &nbsp;Differentiated Services Code Point
    <xref target="RFC2474"/>.</dd>

    <dt>LAN</dt><dd>- &nbsp;Local Area Network.</dd>
    
    <dt>MAC</dt><dd>- &nbsp;Media Access Control <xref
    target="IEEE802.1Q"/>.</dd>
    
    <dt>plaintext</dt>
    <dd>- &nbsp;Data that is input to an encryption process (see
    <xref target="encrypt"/>) <xref target="RFC4949"/>.</dd>
    
    <dt>QoS</dt><dd>- &nbsp;Quality of Service.</dd>
    
    <dt>TLV</dt><dd>- &nbsp;Type, Length, Value.</dd>

    <dt>VLAN</dt><dd>- &nbsp;Virtual LAN <xref
    target="IEEE802.1Q"/>.</dd>

    <dt>VTEP</dt><dd>- &nbsp;VXLAN Tunnel End Point.</dd>

    <dt>VXLAN</dt><dd>- &nbsp;Virtual eXtensible Local Area Network
    <xref target="RFC7348"/>.</dd>
</dl>
  
</section>

</section>

<section anchor="threats">
  <name>Threat Model</name>

  <t>The primary threats considered in this document due to the
  inclusion of meta data in packets are from the surveillance of and/or
  modification of such fields. Such surveillance or modification could
  be accomplished either on links within the network domain or by the
  subversion of one or more nodes through which the traffic passes.</t>

  <t>Surveillance threatens loss of privacy to the users whose traffic
  is transiting the network domain because it permits packets to be
  associated with such users and their host or service provider with
  greater specificity. The additional information with packets may
  also reveal associations between users or aspects of the network
  domain structure and capabilities. And, to the extent that the
  additional information affects the treatment of the packet,
  unauthorized modification may disrupt network operation and
  interfere with the modified traffic or other traffic.</t>

  <t>Note that, without suitable countermeasures, radio links are
  particularly subject to surveillance and to traffic modification
  which can be accomplished by blocking the original version of a
  packet and injection of a modified copy.</t>
  
  <t>Subversion of a transit or egress node enables surveillance and
  modification of all the traffic through that node. Subversion of an
  ingress node is a threat but not closely related to adding
  information to the packet. All the information that might be in or
  associated with the packet is available at the ingress node
  regardless of whether any of this is added to the packet being
  ingressed.</t>
  
</section>

<section anchor="secconsid">
  <name>Security Considerations</name>

<t>This section provides Security Considerations for the inclusion in
a packet of additional fields/information as discussed in this
document. These considerations are equally applicable to IPv4 <xref
target="RFC0791"/> and IPv6 <xref target="RFC8200"/>. They are grouped
into the following topics:</t>

<ul>
  <li><t>Surveillance Oriented Considerations</t>
    <t>o&nbsp; Minimization</t>
    <t>o&nbsp; Encryption</t>
    <t>o&nbsp; Obfuscation</t></li>
  <li><t>Other Security Considerations</t>
    <t>o&nbsp; Integrity and Authentication Considerations</t> 
    <t>o&nbsp; Covert Channel Considerations</t></li>
</ul>
  
<t>The first three items above have a dominance relationship as
follows:</t>

  <t indent="6">Minimization > Encryption > Obfuscation</t>

<t>As further discussed below, where reasonably possible, the types of
additional information discussed in this document SHOULD NOT be
included with a packet. Where it is necessary to include the
information, it SHOULD be encrypted where practical. Where encryption
of the entire packet is prohibitive, the cleartext data that is not
mutable in transit MUST be authenticated, for example through
authenticated encryption with associated data (AEAD) mechanisms. In
cases where it can be neither excluded nor encrypted, consideration
should be given to obfuscating the information, even though that
provides only weak protection.</t>

<section>
  <name>Minimization</name>
  
<t>The simplest method to minimize the harm that can be caused by
the threats described in <xref target="threats"/> is to minimize
the amount of additional information added to packets transiting
the network domain. If some information will not be necessary for
controlling the treatment of a packet or other network management
functions, it SHOULD NOT be included. The exceptional cases where
inclusion is reasonable are</t>

<ol>
<li>transition scenarios, where information remains included for a
brief time while mechanisms using the information are being removed or
disabled, or included starting a brief time before mechanisms using
the information are being installed or enabled, and</li>

<li>some debugging cases where the additional information would be
temporarily helpful (but note that the mere addition of this
information may change behavior and mask or cause erroneous
behavior).</li>
</ol>

<t>Minimization is the strongest method to defeat the security threats
outlined in <xref target="threats"/> and MUST always be considered so
a determination can be made as to whether the benefits of including
the information exceed the risks. Any data that does not appear with
the packets cannot, due to its transit of or egress from the network
domain, compromise the privacy/security of the packet source.</t>

</section>

<section anchor="encrypt">
  <name>Encryption</name>

<t>Encryption is a powerful technique. With the use of appropriate
cryptographic algorithms and key management, encryption coverts
easily understandable plaintext into cyphertext from which the
original plaintext cannot be derived.</t>

<t>Use of encryption provides clear benefits but there also some costs. The
computational burden of encryption/decryption at line speed may
increase the cost of CPU or port hardware and may increase latency.
Requirements for key management and pseudorandom number generation
<xref target="RFC4086"/> will impose some burden.</t>

<t>Even with strong encryption, surveillance can yield information
such as outer addressing and control information and the size and
number of packets transmitted. The analysis of such indications is
commonly known as "traffic analysis".  Padding and dummy packets can
obscure some of this meta information about encrypted traffic but only
at a significant expense in bandwidth consumed. </t>

<t>The subsections below discuss the scope of encryption, such as what
part of a packet it can be applied to and whether it is at the link
level or edge-to-edge. It is RECOMMENDED that both link level and
edge-to-edge encryption be used unless careful consideration shows the
costs to exceed the benefits in a particular case. If both are not
being used, then it RECOMMENDED that one or the other be used with
default preference for edge-to-edge encryption in wired networks and
link encryption for radio networks. Some reasons for this default
preference are that wired networks are typically higher speed and
hardware security assist in a port is unusual and relatively expensive
while the ease of access to traffic in radio networks has led to the
almost universal inclusion of hardware security in wireless chip sets
such that the use of link level encryption and authentication on a
radio link can be considered low or zero cost.</t>

<section>
  <name>Scope of Encryption</name>

<t>Encryption can be applied to various parts of a packet; enough
addressing and service information must be present outside the
encryption to get the packet through the one or more hops it needs to
transit with the desired QoS to the point where it will be
decrypted. There is usually some encryption control information, such
as a Key ID, which must be exposed to facilitate key rollover and the
like. Also, depending on the mode of operation, a packet sequence
number or the like may be needed. When part of a packet is encrypted,
authentication of unencrypted fields in the packet SHOULD be
considered (see <xref target="auth"/>).</t>

</section>

<section>
  <name>Link Encryption</name>

  <t>Link encryption encrypts a packet as it is output from the
  ingress node or a transit node and decrypts it on input to the next
  node in the path, which will be a transit node or the egress
  node. This protects the information content of the packet from
  surveillance of the link. However, it is usual that some link layer
  addressing information, such as a MAC address, and control
  information is needed by the destination node and in some cases
  needed by devices within the link. For example, if routers are
  connected by a bridged LAN <xref target="IEEE802.1Q"/> proper
  handling of the packets between them may require that the packet be
  sent with a VLAN/priority tag. However, link layer encryption can
  normally encrypt network or higher layer addressing and control
  information including IP addresses.</t>

  <t>With link encryption, the packet will be decrypted inside each
  hop-by-hop node so additional information within the packet will be
  exposed there and privacy can still be harmed or service selectively
  denied by a subverted transit or egress node.</t>

  <t>Link encryption is common by default on radio links which are
  easily surveilled. For example, almost all Wi-Fi <xref
  target="IEEE802.11"/> chip sets have built in cryptographic hardware
  so standardized link encryption for Wi-Fi is usually thought of as
  "free" in that its use does not impose significant speed or latency
  limitations although there is some key set-up and management
  overhead.</t>

  <t>A method more commonly used on wired networks, is the IEEE
  MACSEC <xref target="IEEE802.1AE"/> standard.</t>
  
</section>

<section>
  <name>Edge-to-Edge Encryption</name>

  <t>Encryption between the ingress node and the egress node provides
  protection from surveillance of all the links along that path as
  well as surveillance by the transit nodes used. However, such
  encryption cannot cover any fields that are needed to control the
  treatment of the packet along its path in the network domain or that
  cause it to be routed to and decrypted at its egress node (or
  possibly nodes in the case of multicast or broadcast). Thus
  edge-to-edge encryption does not cover network layer addresses and
  control information or link layer addressing and control
  information.</t>

  <t>While Link Encryption involves key setup only between adjacent
  nodes on the link, usually two nodes, strong Edge-to-Edge Encryption
  would require key setup for every pair of edge (ingress or egress)
  nodes that will be communicating traffic. This is potentially up to
  N*(N-1)/2 pairs if there are N edge nodes. And additional key set up
  and management may be required for multicast groups or the like.</t>
  
</section>
</section>

<section>
  <name>Obfuscation</name>

<t>Obfuscation refers to weak methods of hiding the content of a field
or packet or reducing the predictability of some sequence identifier
field. The strongest obfuscation would be to use a random, possibly
even time-varying, one-to-one mapping of the values in such fields but
this imposes a burden of generating and storing such a mapping at
nodes that set or access such a mapped filed. It is more common to use
weaker obfuscation as suggested below.</t>

<section>
  <name>Field/Content Obfuscation</name>

<t>The first type of obfuscation of can be thought of as weak
encryption that is unkeyed or uses a fixed key or a key sent with the
message. There is, nevertheless, some benefit to its use. Roughly
speaking, it protects against inadvertent disclosure but provides
almost no protection against deliberate attack.</t>

<t>An interesting example of obfuscation is "masking" in The WebSocket
Protocol <xref target="RFC6455"/>. For client to server data transfer
the protocol requires that the payload be "masked" by taking a 4-byte
mask value, repeating it as many times as necessary, and XORing it with
the payload.  Furthermore, the mask value is required to be a random
number different for each message derived from a strong source of
entropy. However, this mask value is included as plain text with the
payload so an entity that understands this masking can easily unmask the
payload. In this case the obfuscation serves a particular security
purpose as explained in <xref target="RFC6455"/> which provides
further information.</t>

<t>As another example, someone debugging a network problem might do a
capture of the packets on a link with a program that will display the
packet data in hexadecimal and ASCII. This data might include
personally identifying information or other sensitive information that
could be immediately read if interpreted as ASCII. Such inadvertent
disclosure could be avoided by an obfuscation as simple as XORing a
fixed non-zero byte value with each data field byte.</t>

</section>

<section>
  <name>Sequence Obfuscation</name>

<t>A second type of obfuscation involves, to the extent practical,
avoiding easily predictable numbers for identifiers such as Tenant
IDs, sequence numbers, interface (port) identifiers, IP addresses,
source socket numbers, and the like. If successively allocated
identifiers of this sort are easily predictable, it is, for example,
much easier to forge packets that may be accepted as genuine. Instead
of simply counting to determine a next value to use, something like
the output of a linear feedback shift register <xref target="LFSR"/>
could be used.</t>

<t>For further discussion, see <xref target="RFC9416"/>, "Security
Considerations for Transient Numeric Identifiers Employed in Network
Protocols", which, among other things, states the following: "Protocol
specifications SHOULD NOT employ predictable transient numeric
identifiers, except when such predictability is the result of their
interoperability requirements." <xref target="RFC9414"/> and <xref
target="RFC9415"/> may also be of interest.</t>

</section>
    
</section>

<section anchor="auth">
  <name>Integrity and Authentication Considerations</name>

<t>Providing for the integrity and authentication of packets in the
network domain is generally a good idea for reasons including the
following:</t>

<ol>
  <li>To the extent that additional information with a packet affects
  network handling of that packet, it is important that the
  information is not corrupted or forged. Not only can the treatment
  of the packet be affected but if, for example, arbitrary numbers of
  high priority packets can be forged, overall performance of the
  network domain can be disrupted. Thus, integrity and authentication
  SHOULD be used.</li>
    
  <li>Some modes of encryption (see <xref target="encrypt"/>) are
  sensitive to modified, dropped, or extra packets which may result in
  garbling the decryption of following genuine packets. Appropriate
  integrity and authentication SHOULD be used with flows that are so
  encrypted.</li>
</ol>

<t>Where part of a packet is encrypted and authenticated,
unencrypted parts may be authenticated using AEAD.</t>
    
</section>

<section>
  <name>Covert Channel Considerations</name>

<t>The presence of additional information in a packet provides a place
into which a node originating or forwarding a packet can potentially
hide information and from which a subsequent node in the packet's path
can retrieve information. The encryption of such additional
information, which is desirable for reasons given above, can make
detection of such tunneling, which can be used to exfiltrate
information, hard to detect.</t>

<t>Many of the headers discussed in <xref target="examples"/> which
provide for the sort of additional information fields which are the
primary focus of this document also have reserved fields. Most
commonly the specification for these fields, which are reserved for
later definition, state they must be sent as zero and ignored on
receipt. Since their value is ignored by standards compliant nodes,
such fields could also be used as a communications channel.</t>
      
</section>

</section> <!-- end Security Considerations -->

<section anchor="examples">
  <name>Examples of Applicable Fields</name>

  <t>The subsections below give some examples of fields to which the
  Security Considerations material in <xref target="secconsid"/>
  apply.</t>
  
  <section>
    <name>Example Fields from Standards Track RFCs</name>

 <t> The following are examples of fields specified in Standards Track
 RFCs to which these Security Considerations would apply.</t>

  <section>
    <name>Service Function Chaining Network Service Header</name>

<t>The Service Function Header (SFC) Network Service Header (NSH)
<xref target ="RFC8300"/> provides for the inclusion of metadata
with packets inside an SFC enabled domain as shown in <xref
target="nsh"/>.</t>

<figure anchor="nsh">
  <name>SFC NSH (from <xref target="RFC8300"/>)</name>
    <artwork type="ascii-art" align="center">
<![CDATA[
NSH Header:
  0                   1                   2                   3
  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 |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 ~               Context Header(s)  (aka metadata)               ~
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]>
    </artwork>
</figure>

<t>The MD Type field in the NSH header indicates the type of metadata
field or fields in the "Context Headers" section of the NSH
header. Such fields are appropriate for including additional
information with a packet that would otherwise only be available at
the ingress node. See, for example, the context headers specified in
<xref target="RFC9263"/>.</t>

<t>The NSH is used to encapsulate the traffic and requires an outer
transport header as shown in <xref target="nshencap"/>. This
encapsulation is applied on ingress to the SFC enabled domain and
removed on egress from that domain. If the transport encapsulation is,
for example, IP, then transport encapsulation fields may also be available
to add information to the packet within the network domain (see <xref
target="ip"/>).</t>

<figure anchor="nshencap">
  <name>NSH Encapsulation (from <xref target="RFC8300"/>)</name>
    <artwork type="ascii-art" align="center">
<![CDATA[
+----------------------------------+
|   Outer Transport Encapsulation  |
+----------------------------------+
|   Network Service Header (NSH)   |
+----------------------------------+
|      Original Packet / Frame     |
+----------------------------------+
]]>
    </artwork>
</figure>

</section>

<section>
  <name>Geneve</name>

<t>The Geneve (General Network Virtualization Encapsulation) <xref
target="RFC8926"/> header provides for a Virtual Network
Identifier which is equivalent to a Tenant ID, as shown in <xref
target="geneve"/>. It also has a flexible provision for header
options encoded at TLVs.</t>

<figure anchor="geneve">
  <name>Geneve Header (from <xref target="RFC8926"/>)</name>
    <artwork type="ascii-art">
<![CDATA[
 Geneve Header:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver|  Opt Len  |O|C|    Rsvd.  |          Protocol Type        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        Virtual Network Identifier (VNI)       |    Reserved   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                    Variable-Length Options                    ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]>
    </artwork>
</figure>

<t>Geneve is used to encapsulate the traffic transiting the
network domain with an IP transport encapsulation in a manner
similar to the NSH Header as shown in <xref target="nshencap"/>
and similar considerations apply.</t>
    
</section>

<section anchor="ip">
  <name>IP Header Fields</name>

<t>There are a number of IPv4 <xref target="RFC0791"/> and IPv6
<xref target="RFC8200"/> header fields that can be used to encode
supplemental information. Some of these fields are, in general,
mutable, so they could change as a packet is propagated through a
network; however, this document is restricted to considerations
within a single network domain with coordinated management which
can, in some cases, avoid changing such fields.</t>

<t>There is particular freedom to use IP fields where the traffic
transiting the network domain is encapsulated in a manner that
provides for a new outer IP header. For example, IP-in-IP or
where the traffic is encapsulated in a tunnel header, such as
VXLAN, NVGRE, SFC NSH, or Geneve, which is in turn encapsulated in
an outer IP header.</t>

<dl>
  <dt>DSCP/ToS</dt><dd>- There is an 8-bit field in the IPv6 and IPv4
  header. Two of these bits are commonly used for Explicit Congestion
  Notification (ECN, <xref target="RFC3168"/>) and the other six are
  commonly used to encode hop-by-hop behaviors <xref
  target="RFC2474"/>. In an outer IP header within a network domain
  with common management those six bits could be used as desired as
  could the ECN bits unless those bit are used to accumulate
  congestion information to be combined into an inner IP or similar
  header on domain egress.</dd>

  <dt>Options</dt><dd>- Both IPv4 and IPv6 provide for header
  options with IPv6 having provisions for more flexible and
  extensive options but these have proven hard to use in
  practice.</dd>

  <dt>IPv6 Flow Label</dt><dd>- In the IPv6 header, a 20-bit Flow
  Label field is available.</dd>

  <dt>Addresses</dt><dd>- Where an outer IP header is used within a
  network domain, not all of the IPv4 or generously sized IPv6
  address fields are needed to direct transit traffic from ingress to
  egress. Thus, other additional information could be encoded into
  the address field, perhaps in low order bits.</dd>
  
  <dt>Sockets, Etc.</dt><dd>- There are additional fields available in
  the commonly used UDP and TCP headers that could, in an outer IP
  encapsulation inside a network domain, be interpreted as holding
  other information.</dd>
</dl>
  
</section>

</section>

<section>
  <name>Example Fields from Other RFCs</name>

<t> The following are examples of fields specified in RFCs that are
not Standards Track to which the Security Considerations material in
<xref target="secconsid"/> apply.</t>

<section>
  <name>VXLAN</name>
  
<t>VXLAN (Virtual eXtensible Local Area Network) is
specified in <xref target="RFC7348"/> and the VXLAN header is
shown in <xref target="vxlan"/>.</t>

<figure anchor="vxlan">
  <name>VXLAN Header (from <xref target="RFC7348"/>)</name>
    <artwork type="ascii-art" align="center">
<![CDATA[
VXLAN Header:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|R|R|R|I|R|R|R|            Reserved                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            VXLAN Network Identifier (VNI)     |   Reserved    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]>
    </artwork>
</figure>

<t>The Virtual Network Identifier (VNI) is a tenant identifier in
multi-tenant domains. It is intended to identify traffic that uses
an overlay network for that tenant. In addition, the use of VXLAN
involves encapsulation of the traffic being forwarded so there is
an outer IP and UDP header with various fields that could be used
for additional information (see <xref target="ip"/>).</t>

</section>

<section>
  <name>NVGRE</name>

<t>NVGRE (Network Virtualization Using Generic Routing Encapsulation)
is specified in <xref target="RFC7637"/> and the NVGRE header is shown
in <xref target="nvgre"/>.</t>

<figure anchor="nvgre">
  <name>NVGRE Header (from <xref target="RFC7637"/>)</name>
    <artwork type="ascii-art">
<![CDATA[
NVGRE Header:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| |1|0|   Reserved0     | Ver |   Protocol Type 0x6558        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Virtual Subnet ID (VSID)        |    FlowID     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]>
    </artwork>
</figure>

<t>The Virtual Subnet ID (VSID) is a tenant identifier in
multi-tenant domains. It is intended to identify traffic that uses
an overlay network for that tenant. In addition, the use of NVGRE
involves encapsulation of the traffic being forwarded so there is
an outer IP and UDP header with various fields that could be used
for additional information (see <xref target="ip"/>).</t>
    
</section>
  
</section>
  
</section> <!-- end "examples" section -->
    
<section anchor="IANA">
  <name>IANA Considerations</name>
  
<t>This document requires no IANA actions.</t>

</section>
        
</middle>


<!-- ____________________BACK_MATTER____________________ -->
<back>

<references>
  <name>Normative References</name>
        
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.0791.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2119.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.8174.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.8200.xml"/>

</references>
 
<references>
  <name>Informative References</name>

<reference anchor="Ferran"
	   target="https://abcnews.go.com/blogs/headlines/2014/05/ex-nsa-
chief-we-kill-people-based-on-metadata">
  <front>
    <title>"Ex-NSA Chief: 'We Kill People Based on Metadata'"</title>
    <author initials="L." surname="Ferran"/>
    <date year="2014" month="May"/>
  </front>
</reference>

<reference anchor="IEEE802.11">
  <front>
  <title>Wireless LAN Medium Access Control (MAC) and Physical Layer
  (PHY) Specifications</title>
  <author  initials="IEEE" surname="802.11 WG"
           fullname="IEEE 802.11 Working Group">
      <organization>Institute for Electrical and Electronic
      Engineers</organization> 
    </author>
    <date year="2016" month="December" day="7"/>
  </front>
  <seriesInfo name="IEEE Std" value="802.11-2016"/>
</reference>

<reference anchor="IEEE802.1AE">
  <front>
  <title>Media Access Control (MAC) Security</title>
  <author initials="IEEE" surname="802.1 WG"
          fullname="IEEE 802.1 Working Group"> 
      <organization>Institute for Electrical and Electronic
      Engineers</organization>
    </author>
    <date year="2018" month="September" day="27"/>
  </front>
  <seriesInfo name="IEEE Std" value="802.1AE-2018"/>
</reference>

<reference anchor="IEEE802.1Q">
  <front>
  <title>Bridges and Bridged Networks</title>
  <author initials="IEEE" surname="802.1 WG"
          fullname="IEEE 802.1 Working Group"> 
      <organization>Institute for Electrical and Electronic
      Engineers</organization>
    </author>
    <date year="2014" month="November" day="3"/>
  </front>
  <seriesInfo name="IEEE Std" value="802.1Q-2014"/>
</reference>

<reference anchor="LFSR"
	   target="https://en.wikipedia.org/wiki/Linear-feedback_shift_register">
  <front>
    <title>Linear-feedback shift register</title>
    <author>
      <organization>Wikipedia</organization>
    </author>
  </front>
</reference>

<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.0020.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.2474.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.3168.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.3552.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.4086.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.4949.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.6455.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.7348.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.7637.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.8300.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.8926.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.9263.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.9414.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.9415.xml"/>
<xi:include
    href="https://www.rfc-editor.org/refs/bibxml/reference.RFC.9416.xml"/>

</references>

<section anchor="Acknowledgements" numbered="false">
  <name>Acknowledgements</name>

  <t>The suggestions and comments on this document from the
  following persons are gratefully acknowledged:</t>

  <t>&nbsp;&nbsp;&nbsp;TBD</t>
  
</section>
    
</back>

</rfc>
