summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9305.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc9305.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc9305.txt')
-rw-r--r--doc/rfc/rfc9305.txt748
1 files changed, 748 insertions, 0 deletions
diff --git a/doc/rfc/rfc9305.txt b/doc/rfc/rfc9305.txt
new file mode 100644
index 0000000..f57390f
--- /dev/null
+++ b/doc/rfc/rfc9305.txt
@@ -0,0 +1,748 @@
+
+
+
+
+Internet Engineering Task Force (IETF) F. Maino, Ed.
+Request for Comments: 9305 Cisco
+Category: Standards Track J. Lemon
+ISSN: 2070-1721
+ P. Agarwal
+ Innovium
+ D. Lewis
+ M. Smith
+ Cisco
+ October 2022
+
+
+ Locator/ID Separation Protocol (LISP) Generic Protocol Extension
+
+Abstract
+
+ This document describes extensions to the Locator/ID Separation
+ Protocol (LISP) data plane, via changes to the LISP header, to
+ support multiprotocol encapsulation and allow the introduction of new
+ protocol capabilities.
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ 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.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc9305.
+
+Copyright Notice
+
+ Copyright (c) 2022 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) 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 Revised BSD License text as described in Section 4.e of the
+ Trust Legal Provisions and are provided without warranty as described
+ in the Revised BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 1.1. Conventions
+ 1.2. Definitions of Terms
+ 2. LISP Header without Protocol Extensions
+ 3. LISP Generic Protocol Extension (LISP-GPE)
+ 4. Implementation and Deployment Considerations
+ 4.1. Applicability Statement
+ 4.2. Congestion-Control Functionality
+ 4.3. UDP Checksum
+ 4.3.1. UDP Zero Checksum Handling with IPv6
+ 4.4. DSCP, ECN, TTL, and 802.1Q
+ 5. Backward Compatibility
+ 5.1. Detection of ETR Capabilities
+ 6. IANA Considerations
+ 6.1. LISP-GPE Next Protocol Registry
+ 7. Security Considerations
+ 8. References
+ 8.1. Normative References
+ 8.2. Informative References
+ Acknowledgments
+ Contributors
+ Authors' Addresses
+
+1. Introduction
+
+ The LISP data plane is defined in [RFC9300]. It specifies an
+ encapsulation format that carries IPv4 or IPv6 packets (henceforth
+ jointly referred to as IP) in a LISP header and outer UDP/IP
+ transport.
+
+ The LISP data plane header does not specify the protocol being
+ encapsulated and, therefore, is currently limited to encapsulating
+ only IP packet payloads. Other protocols, most notably the Virtual
+ eXtensible Local Area Network (VXLAN) protocol [RFC7348] (which
+ defines a header format similar to LISP), are used to encapsulate
+ Layer 2 (L2) protocols, such as Ethernet.
+
+ This document defines an extension for the LISP header, as defined in
+ [RFC9300], to indicate the inner protocol, enabling the encapsulation
+ of Ethernet, IP, or any other desired protocol, all the while
+ ensuring compatibility with existing LISP deployments.
+
+ A flag in the LISP header -- the P-bit -- is used to signal the
+ presence of the 8-bit 'Next Protocol' field. The 'Next Protocol'
+ field, when present, uses 8 bits of the field that was allocated to
+ the Echo-Noncing and Map-Versioning features in [RFC9300]. Those two
+ features are no longer available when the P-bit is used. However,
+ appropriate LISP Generic Protocol Extension (LISP-GPE) shim headers
+ can be defined to specify capabilities that are equivalent to Echo-
+ Noncing and/or Map-Versioning.
+
+ Since all of the reserved bits of the LISP data plane header have
+ been allocated, LISP-GPE can also be used to extend the LISP data
+ plane header by defining Next Protocol shim headers that implement
+ new data plane functions not supported in the LISP header. For
+ example, the use of the Group-Based Policy (GBP) header [VXLAN-LISP]
+ or of the In situ Operations, Administration, and Maintenance (IOAM)
+ header [VXLAN-GPE] with LISP-GPE can be considered an extension to
+ add support in the data plane for GBP functionalities or IOAM
+ metadata.
+
+1.1. Conventions
+
+ 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 [RFC2119] [RFC8174] when, and only when, they appear in all
+ capitals, as shown here.
+
+1.2. Definitions of Terms
+
+ This document uses terms already defined in [RFC9300].
+
+2. LISP Header without Protocol Extensions
+
+ As described in Section 1, the LISP header has no protocol identifier
+ that indicates the type of payload being carried. Because of this,
+ LISP is limited to carrying IP payloads.
+
+ The LISP header [RFC9300] contains a series of flags (some defined,
+ some reserved), a 'Nonce/Map-Version' field, and an 'Instance ID/
+ Locator-Status-Bits' field. The flags provide flexibility to define
+ how the various fields are encoded. Notably, Flag bit 5 is the last
+ reserved bit in the LISP 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |N|L|E|V|I|R|K|K| Nonce/Map-Version |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Instance ID/Locator-Status-Bits |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 1: LISP Header
+
+3. LISP Generic Protocol Extension (LISP-GPE)
+
+ This document defines two changes to the LISP header in order to
+ support multiprotocol encapsulation: the introduction of the P-bit
+ and the definition of a 'Next Protocol' field. This document
+ specifies the protocol behavior when the P-bit is set to 1; no
+ changes are introduced when the P-bit is set to 0. The LISP-GPE
+ header is shown in Figure 2 and described below.
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |N|L|E|V|I|P|K|K| Nonce/Map-Version/Next Protocol |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Instance ID/Locator-Status-Bits |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 2: LISP-GPE Header
+
+ P-Bit: Flag bit 5 is defined as the Next Protocol bit. The P-bit is
+ set to 1 to indicate the presence of the 8-bit 'Next Protocol'
+ field.
+
+ If the P-bit is clear (0), the LISP header is bit-by-bit equivalent
+ to the definition in [RFC9300].
+
+ When the P-bit is set to 1, bits N, E, and V, and bits 8-23 of the
+ 'Nonce/Map-Version/Next Protocol' field MUST be set to zero on
+ transmission and MUST be ignored on receipt. Features equivalent to
+ those that were implemented with bits N, E, and V in [RFC9300], such
+ as Echo-Noncing and Map-Versioning, can be implemented by defining
+ appropriate LISP-GPE shim headers.
+
+ When the P-bit is set to 1, the LISP-GPE header is encoded as:
+
+
+ 0 x 0 0 x 1 x x
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |N|L|E|V|I|P|K|K| 0x0000 | Next Protocol |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Instance ID/Locator-Status-Bits |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 3: LISP-GPE with P-bit Set to 1
+
+ Next Protocol: When the P-bit is set to 1, the lower 8 bits of the
+ first 32-bit word are used to carry a Next Protocol. This 'Next
+ Protocol' field contains the protocol of the encapsulated payload
+ packet.
+
+ This document defines the following Next Protocol values:
+
+ 0x00: Reserved
+
+ 0x01: IPv4
+
+ 0x02: IPv6
+
+ 0x03: Ethernet
+
+ 0x04: Network Service Header (NSH) [RFC8300]
+
+ 0x05 to 0x7D: Unassigned
+
+ 0x7E and 0x7F: Experimentation and testing
+
+ 0x80 to 0xFD: Unassigned (shim headers)
+
+ 0xFE, 0xFF: Experimentation and testing (shim headers)
+
+ The values are tracked in the IANA "LISP-GPE Next Protocol" registry,
+ as described in Section 6.1.
+
+ Next Protocol values 0x7E, 0x7F, 0xFE, and 0xFF are assigned for
+ experimentation and testing, as per [RFC3692].
+
+ Next Protocol values from 0x80 to 0xFD are assigned to protocols
+ encoded as generic shim headers. All shim protocols MUST use the
+ header structure in Figure 4, which includes a 'Next Protocol' field.
+ When shim headers are used with other protocols identified by Next
+ Protocol values from 0x00 to 0x7F, all the shim headers MUST come
+ first.
+
+ Shim headers can be used to incrementally deploy new GPE features,
+ keeping the processing of shim headers known to a given Tunnel Router
+ (xTR) implementation in the 'fast' path (typically an Application-
+ Specific Integrated Circuit (ASIC)) while punting the processing of
+ the remaining new GPE features to the 'slow' path.
+
+ Shim protocols MUST have the first 32 bits defined as:
+
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Length | Reserved | Next Protocol |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ ~ Protocol-Specific Fields ~
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 4: Shim Header
+
+
+ Where:
+
+ Type: This field identifies the different messages of this protocol.
+
+ Length: This field indicates the length, in 4-octet units, of this
+ protocol message, not including the first 4 octets.
+
+ Reserved: The use of this field is reserved to the protocol defined
+ in this message.
+
+ Next Protocol: This field contains the protocol of the encapsulated
+ payload. The values are tracked in the IANA "LISP-GPE Next
+ Protocol" registry, as described in Section 6.1.
+
+4. Implementation and Deployment Considerations
+
+4.1. Applicability Statement
+
+ LISP-GPE conforms, as a UDP-based encapsulation protocol, to the UDP
+ usage guidelines specified in [RFC8085]. The applicability of these
+ guidelines is dependent on the underlay IP network and the nature of
+ the encapsulated payload.
+
+ [RFC8085] outlines two applicability scenarios for UDP applications:
+ 1) the general Internet and 2) a controlled environment. A
+ controlled environment means a single administrative domain or
+ adjacent set of cooperating domains. A network in a controlled
+ environment can be managed to operate under certain conditions,
+ whereas, in the general Internet, this cannot be done. Hence,
+ requirements for a tunnel protocol operating under a controlled
+ environment can be less restrictive than the requirements of the
+ general Internet.
+
+ The LISP-GPE scope of applicability is the same set of use cases
+ covered by [RFC9300] for the LISP data plane protocol. The common
+ property of these use cases is a large set of cooperating entities
+ seeking to communicate over the public Internet or other large
+ underlay IP infrastructures while keeping the addressing and topology
+ of the cooperating entities separate from the underlay and Internet
+ topology, routing, and addressing.
+
+ LISP-GPE is meant to be deployed in network environments operated by
+ a single operator or adjacent set of cooperating network operators
+ that fit with the definition of controlled environments in [RFC8085].
+
+ For the purpose of this document, a Traffic-Managed Controlled
+ Environment (TMCE), outlined in [RFC8086], is defined as an IP
+ network that is traffic-engineered and/or otherwise managed (e.g.,
+ via the use of traffic rate limiters) to avoid congestion.
+ Significant portions of the text in this section are based on
+ [RFC8086].
+
+ It is the responsibility of the network operators to ensure that the
+ guidelines/requirements in this section are followed as applicable to
+ their LISP-GPE deployments.
+
+4.2. Congestion-Control Functionality
+
+ LISP-GPE does not provide congestion-control functionality and relies
+ on the payload protocol traffic for congestion control. As such,
+ LISP-GPE MUST be used with congestion-controlled traffic or within a
+ network that is traffic managed to avoid congestion (TMCE). An
+ operator of a traffic-managed network (TMCE) may avoid congestion by
+ careful provisioning of their networks, rate limiting of user data
+ traffic, and traffic engineering according to path capacity.
+
+ Keeping in mind the recommendation above, new encapsulated payloads,
+ when registered with LISP-GPE, MUST be accompanied by a set of
+ guidelines derived from Section 5 of [RFC9300]. Such new protocols
+ should be designed for explicit congestion signals to propagate
+ consistently from lower-layer protocols into IP. Then, the IP
+ internetwork layer can act as a portability layer to carry congestion
+ notifications from non-IP-aware congested nodes up to the transport
+ layer (L4). By following the guidelines in [ENCAP-GUIDE], subnetwork
+ designers can enable a Layer 2 protocol to participate in congestion
+ control without dropping packets, via propagation of Explicit
+ Congestion Notification (ECN) data [RFC3168] to receivers.
+
+4.3. UDP Checksum
+
+ For IP payloads, Section 5.3 of [RFC9300] specifies how to handle UDP
+ checksums, encouraging implementors to consider UDP checksum usage
+ guidelines in Section 3.4 of [RFC8085] when it is desirable to
+ protect UDP and LISP headers against corruption.
+
+ In order to protect the integrity of LISP-GPE headers, options, and
+ payloads (for example, to avoid misdelivery of payloads to different
+ tenant systems in the case of data corruption), the outer UDP
+ checksum SHOULD be used with LISP-GPE when transported over IPv4.
+ The UDP checksum provides a statistical guarantee that a payload was
+ not corrupted in transit. These integrity checks are not strong from
+ a coding or cryptographic perspective and are not designed to detect
+ physical-layer errors or malicious modifications of the datagram (see
+ Section 3.4 of [RFC8085]). In deployments where such a risk exists,
+ an operator SHOULD use additional data integrity mechanisms, such as
+ those offered by IPsec.
+
+ An operator MAY choose to disable a UDP checksum and use a zero
+ checksum if LISP-GPE packet integrity is provided by other data
+ integrity mechanisms, such as IPsec or additional checksums, or if
+ one of the conditions in Section 4.3.1 (a, b, or c) is met.
+
+4.3.1. UDP Zero Checksum Handling with IPv6
+
+ By default, a UDP checksum MUST be used when LISP-GPE is transported
+ over IPv6. A tunnel endpoint MAY be configured for use with a zero
+ UDP checksum if additional requirements described in this section are
+ met.
+
+ When LISP-GPE is used over IPv6, a UDP checksum is used to protect
+ IPv6 headers, UDP headers, and LISP-GPE headers and payloads from
+ potential data corruption. As such, by default, LISP-GPE MUST use a
+ UDP checksum when transported over IPv6. An operator MAY choose to
+ configure to operate with a zero UDP checksum if operating in a
+ traffic-managed controlled environment, as stated in Section 4.1, if
+ one of the following conditions is met:
+
+ a. It is known that packet corruption is exceptionally unlikely
+ (perhaps based on an operator's knowledge of equipment types in
+ their underlay network), and the operator is willing to take the
+ risk of undetected packet corruption.
+
+ b. It is determined through observational measurements (perhaps
+ through historic or current traffic flows that use a non-zero
+ checksum) that the level of packet corruption is tolerably low,
+ and the operator is willing to take the risk of undetected
+ corruption.
+
+ c. LISP-GPE payloads are carrying applications that are tolerant of
+ misdelivered or corrupted packets (perhaps through higher-layer
+ checksum validation and/or reliability through retransmission).
+
+ In addition, LISP-GPE tunnel implementations using a zero UDP
+ checksum MUST meet the following requirements:
+
+ 1. Use of a UDP checksum over IPv6 MUST be the default configuration
+ for all LISP-GPE tunnels.
+
+ 2. If LISP-GPE is used with a zero UDP checksum over IPv6, then such
+ xTR implementations MUST meet all the requirements specified in
+ Section 4 of [RFC6936] and requirement 1 specified in Section 5
+ of [RFC6936].
+
+ 3. The Egress Tunnel Router (ETR) that decapsulates the packet
+ SHOULD check that the source and destination IPv6 addresses are
+ valid for the LISP-GPE tunnel that is configured to receive a
+ zero UDP checksum and discard other packets that fail such
+ checks.
+
+ 4. The Ingress Tunnel Router (ITR) that encapsulates the packet MAY
+ use different IPv6 source addresses for each LISP-GPE tunnel that
+ uses zero UDP checksum mode in order to strengthen the
+ decapsulator's check of the IPv6 source address (i.e., the same
+ IPv6 source address is not to be used with more than one IPv6
+ destination address, irrespective of whether that destination
+ address is a unicast or multicast address). When this is not
+ possible, it is RECOMMENDED to use each source address for as few
+ LISP-GPE tunnels that use a zero UDP checksum as is feasible.
+
+ 5. Measures SHOULD be taken to prevent LISP-GPE traffic over IPv6
+ with a zero UDP checksum from escaping into the general Internet.
+ Examples of such measures include employing packet filters at the
+ Proxy Egress Tunnel Router (PETR) and/or keeping logical or
+ physical separation of the LISP network from networks in the
+ general Internet.
+
+ The above requirements do not change the requirements specified in
+ [RFC6935], [RFC6936], or [RFC8200].
+
+ The requirement to check the source IPv6 address in addition to the
+ destination IPv6 address, plus the recommendation against the reuse
+ of source IPv6 addresses among LISP-GPE tunnels, collectively provide
+ some mitigation for the absence of UDP checksum coverage of the IPv6
+ header. A traffic-managed controlled environment that satisfies at
+ least one of the three conditions listed at the beginning of this
+ section provides additional assurance.
+
+4.4. DSCP, ECN, TTL, and 802.1Q
+
+ When encapsulating IP (including over Ethernet) packets, [RFC2983]
+ provides guidance for mapping packets that contain Differentiated
+ Services Code Point (DSCP) information between inner and outer IP
+ headers. The Pipe model typically fits better with network
+ virtualization. The DSCP value on the tunnel header is set based on
+ a policy (which may be a fixed value, one based on the inner traffic
+ class, or some other mechanism for grouping traffic). Some aspects
+ of the Uniform model (which treats the inner and outer DSCP value as
+ a single field by copying on ingress and egress) may also apply, such
+ as the ability to remark the inner header on tunnel egress based on
+ transit marking. However, the Uniform model is not conceptually
+ consistent with network virtualization, which seeks to provide strong
+ isolation between encapsulated traffic and the physical network.
+
+ [RFC6040] describes the mechanism for exposing ECN capabilities on IP
+ tunnels and propagating congestion markers to the inner packets.
+ This behavior MUST be followed for IP packets encapsulated in LISP-
+ GPE.
+
+ Though the Uniform model or the Pipe model could be used for TTL (or
+ Hop Limit in the case of IPv6) handling when tunneling IP packets,
+ the Pipe model is more aligned with network virtualization.
+ [RFC2003] provides guidance on handling TTL between inner IP headers
+ and outer IP tunnels; this model is more aligned with the Pipe model
+ and is recommended for use with LISP-GPE for network-virtualization
+ applications.
+
+ When a LISP-GPE router performs Ethernet encapsulation, the inner
+ 802.1Q 3-bit Priority Code Point ('PCP') field [IEEE.802.1Q_2014] MAY
+ be mapped from the encapsulated frame to the DSCP codepoint of the
+ Differentiated Services ('DS') field defined in [RFC2474].
+
+ When a LISP-GPE router performs Ethernet encapsulation, the inner-
+ header 802.1Q VLAN Identifier (VID) [IEEE.802.1Q_2014] MAY be mapped
+ to, or used to determine, the LISP 'Instance ID' (IID) field.
+
+ Refer to Section 7 for considerations about the use of integrity
+ protection for deployments, such as the public Internet, concerned
+ with on-path attackers.
+
+5. Backward Compatibility
+
+ LISP-GPE uses the same UDP destination port (4341) allocated to LISP.
+
+ When encapsulating IP packets to a non-LISP-GPE-capable router, the
+ P-bit MUST be set to 0. That is, the encapsulation format defined in
+ this document MUST NOT be sent to a router that has not indicated
+ that it supports this specification, because such a router would
+ ignore the P-bit (as described in [RFC9300]) and so would
+ misinterpret the other LISP header fields, possibly causing
+ significant errors.
+
+5.1. Detection of ETR Capabilities
+
+ The discovery of xTR capabilities to support LISP-GPE is out of the
+ scope of this document. Given that the applicability domain of LISP-
+ GPE is a traffic-managed controlled environment, ITR/ETR (xTR)
+ configuration mechanisms may be used for this purpose.
+
+6. IANA Considerations
+
+
+6.1. LISP-GPE Next Protocol Registry
+
+ IANA has created a registry called "LISP-GPE Next Protocol". These
+ are 8-bit values. Next Protocol values in the table below are
+ defined in this document. New values are assigned under the
+ Specification Required policy [RFC8126]. The protocols that are
+ being assigned values do not themselves need to be IETF Standards
+ Track protocols.
+
+ +===============+=============================+===========+
+ | Next Protocol | Description | Reference |
+ +===============+=============================+===========+
+ | 0x00 | Reserved | RFC 9305 |
+ +---------------+-----------------------------+-----------+
+ | 0x01 | IPv4 | RFC 9305 |
+ +---------------+-----------------------------+-----------+
+ | 0x02 | IPv6 | RFC 9305 |
+ +---------------+-----------------------------+-----------+
+ | 0x03 | Ethernet | RFC 9305 |
+ +---------------+-----------------------------+-----------+
+ | 0x04 | NSH | RFC 9305 |
+ +---------------+-----------------------------+-----------+
+ | 0x05-0x7D | Unassigned | |
+ +---------------+-----------------------------+-----------+
+ | 0x7E-0x7F | Experimentation and testing | RFC 9305 |
+ +---------------+-----------------------------+-----------+
+ | 0x80-0xFD | Unassigned (shim headers) | |
+ +---------------+-----------------------------+-----------+
+ | 0xFE-0xFF | Experimentation and testing | RFC 9305 |
+ | | (shim headers) | |
+ +---------------+-----------------------------+-----------+
+
+ Table 1
+
+7. Security Considerations
+
+ LISP-GPE security considerations are similar to the LISP security
+ considerations and mitigation techniques documented in [RFC7835].
+
+ As is the case for many encapsulations that use optional extensions,
+ LISP-GPE is subject to on-path adversaries that can make arbitrary
+ modifications to the packet (including the P-bit) to change or remove
+ any part of the payload, or claim to encapsulate any protocol payload
+ type. Typical integrity protection mechanisms (such as IPsec) SHOULD
+ be used in combination with LISP-GPE by those protocol extensions
+ that want to protect against on-path attackers.
+
+ With LISP-GPE, issues such as data plane spoofing, flooding, and
+ traffic redirection may depend on the particular protocol payload
+ encapsulated.
+
+8. References
+
+8.1. Normative References
+
+ [IEEE.802.1Q_2014]
+ IEEE, "IEEE Standard for Local and metropolitan area
+ networks--Bridges and Bridged Networks", IEEE Std 802.1Q-
+ 2014, December 2014,
+ <https://ieeexplore.ieee.org/document/6991462>.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <https://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion
+ Notification", RFC 6040, DOI 10.17487/RFC6040, November
+ 2010, <https://www.rfc-editor.org/info/rfc6040>.
+
+ [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+ 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+ May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
+ [RFC9300] Farinacci, D., Fuller, V., Meyer, D., Lewis, D., and A.
+ Cabellos, Ed., "The Locator/ID Separation Protocol
+ (LISP)", RFC 9300, DOI 10.17487/RFC9300, October 2022,
+ <https://www.rfc-editor.org/info/rfc9300>.
+
+8.2. Informative References
+
+ [ENCAP-GUIDE]
+ Briscoe, B. and J. Kaippallimalil, "Guidelines for Adding
+ Congestion Notification to Protocols that Encapsulate IP",
+ Work in Progress, Internet-Draft, draft-ietf-tsvwg-ecn-
+ encap-guidelines-17, 11 July 2022,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-
+ ecn-encap-guidelines-17>.
+
+ [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003,
+ DOI 10.17487/RFC2003, October 1996,
+ <https://www.rfc-editor.org/info/rfc2003>.
+
+ [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
+ "Definition of the Differentiated Services Field (DS
+ Field) in the IPv4 and IPv6 Headers", RFC 2474,
+ DOI 10.17487/RFC2474, December 1998,
+ <https://www.rfc-editor.org/info/rfc2474>.
+
+ [RFC2983] Black, D., "Differentiated Services and Tunnels",
+ RFC 2983, DOI 10.17487/RFC2983, October 2000,
+ <https://www.rfc-editor.org/info/rfc2983>.
+
+ [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
+ of Explicit Congestion Notification (ECN) to IP",
+ RFC 3168, DOI 10.17487/RFC3168, September 2001,
+ <https://www.rfc-editor.org/info/rfc3168>.
+
+ [RFC3692] Narten, T., "Assigning Experimental and Testing Numbers
+ Considered Useful", BCP 82, RFC 3692,
+ DOI 10.17487/RFC3692, January 2004,
+ <https://www.rfc-editor.org/info/rfc3692>.
+
+ [RFC6935] Eubanks, M., Chimento, P., and M. Westerlund, "IPv6 and
+ UDP Checksums for Tunneled Packets", RFC 6935,
+ DOI 10.17487/RFC6935, April 2013,
+ <https://www.rfc-editor.org/info/rfc6935>.
+
+ [RFC6936] Fairhurst, G. and M. Westerlund, "Applicability Statement
+ for the Use of IPv6 UDP Datagrams with Zero Checksums",
+ RFC 6936, DOI 10.17487/RFC6936, April 2013,
+ <https://www.rfc-editor.org/info/rfc6936>.
+
+ [RFC7348] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger,
+ L., Sridhar, T., Bursell, M., and C. Wright, "Virtual
+ eXtensible Local Area Network (VXLAN): A Framework for
+ Overlaying Virtualized Layer 2 Networks over Layer 3
+ Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014,
+ <https://www.rfc-editor.org/info/rfc7348>.
+
+ [RFC7835] Saucez, D., Iannone, L., and O. Bonaventure, "Locator/ID
+ Separation Protocol (LISP) Threat Analysis", RFC 7835,
+ DOI 10.17487/RFC7835, April 2016,
+ <https://www.rfc-editor.org/info/rfc7835>.
+
+ [RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage
+ Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085,
+ March 2017, <https://www.rfc-editor.org/info/rfc8085>.
+
+ [RFC8086] Yong, L., Ed., Crabbe, E., Xu, X., and T. Herbert, "GRE-
+ in-UDP Encapsulation", RFC 8086, DOI 10.17487/RFC8086,
+ March 2017, <https://www.rfc-editor.org/info/rfc8086>.
+
+ [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
+ Writing an IANA Considerations Section in RFCs", BCP 26,
+ RFC 8126, DOI 10.17487/RFC8126, June 2017,
+ <https://www.rfc-editor.org/info/rfc8126>.
+
+ [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
+ (IPv6) Specification", STD 86, RFC 8200,
+ DOI 10.17487/RFC8200, July 2017,
+ <https://www.rfc-editor.org/info/rfc8200>.
+
+ [RFC8300] Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed.,
+ "Network Service Header (NSH)", RFC 8300,
+ DOI 10.17487/RFC8300, January 2018,
+ <https://www.rfc-editor.org/info/rfc8300>.
+
+ [VXLAN-GPE]
+ Brockners, F., Bhandari, S., Govindan, V., Pignataro, C.,
+ Gredler, H., Leddy, J., Youell, S., Mizrahi, T., Kfir, A.,
+ Gafni, B., Lapukhov, P., and M. Spiegel, "VXLAN-GPE
+ Encapsulation for In-situ OAM Data", Work in Progress,
+ Internet-Draft, draft-brockners-ippm-ioam-vxlan-gpe-03, 4
+ November 2019, <https://datatracker.ietf.org/doc/html/
+ draft-brockners-ippm-ioam-vxlan-gpe-03>.
+
+ [VXLAN-LISP]
+ Lemon, J., Ed., Maino, F., Smith, M., and A. Isaac, "Group
+ Policy Encoding with VXLAN-GPE and LISP-GPE", Work in
+ Progress, Internet-Draft, draft-lemon-vxlan-lisp-gpe-gbp-
+ 02, 30 April 2019, <https://datatracker.ietf.org/doc/html/
+ draft-lemon-vxlan-lisp-gpe-gbp-02>.
+
+Acknowledgments
+
+ A special thank you goes to Dino Farinacci for his guidance and
+ detailed review. Thanks to Tom Herbert for the suggestion to assign
+ codepoints for experimentations and testing.
+
+Contributors
+
+ The editor of this document would like to thank and recognize the
+ following coauthors and contributors for their contributions. These
+ coauthors and contributors provided invaluable concepts and content
+ for this document's creation.
+
+ Darrel Lewis
+ Cisco Systems, Inc.
+
+
+ Fabio Maino
+ Cisco Systems, Inc.
+
+
+ Paul Quinn
+ Cisco Systems, Inc.
+
+
+ Michael Smith
+ Cisco Systems, Inc.
+
+
+ Navindra Yadav
+ Cisco Systems, Inc.
+
+
+ Larry Kreeger
+
+
+ Jennifer Lemon
+ Broadcom
+
+
+ Puneet Agarwal
+ Innovium
+
+
+Authors' Addresses
+
+ Fabio Maino (editor)
+ Cisco Systems
+ San Jose, CA
+ United States of America
+ Email: fmaino@cisco.com
+
+
+ Jennifer Lemon
+ Email: jalemon@meus.us
+
+
+ Puneet Agarwal
+ Innovium
+ United States of America
+ Email: puneet@acm.org
+
+
+ Darrel Lewis
+ Cisco Systems
+ San Jose, CA
+ United States of America
+ Email: darlewis@cisco.com
+
+
+ Michael Smith
+ Cisco Systems
+ San Jose, CA 95134
+ United States of America
+ Email: michsmit@cisco.com