<?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-03">
  <!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>Futurewei Technologies</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>
       <email>donald.eastlake@futurewei.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="2023" month="10" day="12"/>

   <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 were simply forwarded in a traditional manner.</t>

<t>There are many such fields that have been specified. A few examples
from IETF Standards Track RFCs and Other 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. For example,
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. Also, 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 caused by 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 from disclosure of any one or
combination of a single host computer, individual user, or specific
process, application, or protocol instance within a host to, at the
wholesale level, the identity of an adjacent Internet Service
Provider. For example, if VXLAN <xref target="RFC7348"/> is in use,
the combination of the outer IP header source and destination IP
addresses, which identify VXLAN Tunnel End Points (VTEPs), and 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 efficiently 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.</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 senstive 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 diagnonses and
prognosis as well as the actual patient name which might be different
from the messaging participant.  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 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 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.</t>

<t>Nevertheless, as a former head of the USA NSA and CIA 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>
</dl>
  
</section>

</section>

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

  <t>The primary threats considered in this document are the addition
  of these fields are surveillance and from the 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.</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
  through 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 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>&nbsp;&nbsp;&nbsp;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 without knowledge of the
key.</t>

<t>Use of encryption provides clear benefits but there also costs. The
computational burden of encryption/decryption at line speed may
increase the cost of CPU or port hardware, may increase latency, and
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. Padding and dummy packets can obscure
soe 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.</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. Finally, there is usually some encryption control
information such as a Key ID to facilitate key rollover and the
like. Also, depending on the encryption mode, a packet sequence number
may be needed. When part of a packet is encrypted, authentication of
such fields in the remainder of 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 layer addressing and control information
  including IP addresses.</t>

  <t>With link encryption, the packet will be decrypted inside the
  destination node so any additional information within the packet
  will be exposed there and privacy can still be harmed 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 additional
  overhead or speed limitations. Another example, 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). 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 the
  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
somewhat weaker obfuscation as suggested below.</t>

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

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

<t>For 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>The second type of obfuscation involves, to the extent practical,
avoiding easily predictable numbers for identifiers such as Tenant IDs,
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 could be used.</t>

<t>For further discussion, see <xref target="RFC9416"/> 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 flow 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, particularly in
an encrypted form, provides a place into which a node forwarding a
packet can hide information and from which a subsequent node in the
packet's path can retrieve information.</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 be used for covert channel
communications.</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</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 with a packet
additional information 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, 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</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</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>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>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>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</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</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>

<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.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>
