rfc9740.original | rfc9740.txt | |||
---|---|---|---|---|
OPSAWG M. Boucadair | Internet Engineering Task Force (IETF) M. Boucadair | |||
Internet-Draft Orange | Request for Comments: 9740 Orange | |||
Intended status: Standards Track B. Claise | Category: Standards Track B. Claise | |||
Expires: 23 January 2025 Huawei | ISSN: 2070-1721 Huawei | |||
22 July 2024 | February 2025 | |||
Extended TCP Options and IPv6 Extension Headers IPFIX Information | New IPFIX Information Elements for TCP Options and IPv6 Extensions | |||
Elements | Headers | |||
draft-ietf-opsawg-ipfix-tcpo-v6eh-18 | ||||
Abstract | Abstract | |||
This document specifies new IP Flow Information Export (IPFIX) | This document specifies new IP Flow Information Export (IPFIX) | |||
Information Elements (IEs) to solve issues with existing | Information Elements (IEs) to solve issues with existing | |||
ipv6ExtensionHeaders and tcpOptions IPFIX IEs, especially the ability | ipv6ExtensionHeaders and tcpOptions IPFIX IEs, especially the ability | |||
to export any observed IPv6 extension headers or TCP options. | to export any observed IPv6 extension headers or TCP options. | |||
Discussion Venues | ||||
This note is to be removed before publishing as an RFC. | ||||
Discussion of this document takes place on the Operations and | ||||
Management Area Working Group Working Group mailing list | ||||
(opsawg@ietf.org), which is archived at | ||||
https://mailarchive.ietf.org/arch/browse/opsawg/. | ||||
Source for this draft and an issue tracker can be found at | ||||
https://github.com/boucadair/ipfix-tcpoptions-and-v6eh. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 23 January 2025. | 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/rfc9740. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2025 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
1.1. Issues with ipv6ExtensionHeaders Information Element . . 3 | 1.1. Issues with ipv6ExtensionHeaders Information Element | |||
1.2. Issues with tcpOptions Information Element . . . . . . . 4 | 1.2. Issues with tcpOptions Information Element | |||
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 4 | 2. Conventions and Definitions | |||
3. Information Elements for IPv6 Extension Headers . . . . . . . 5 | 3. Information Elements for IPv6 Extension Headers | |||
3.1. ipv6ExtensionHeaderType Information Element . . . . . . . 5 | 3.1. ipv6ExtensionHeaderType Information Element | |||
3.2. ipv6ExtensionHeaderCount Information Element . . . . . . 6 | 3.2. ipv6ExtensionHeaderCount Information Element | |||
3.3. ipv6ExtensionHeadersFull Information Element . . . . . . 6 | 3.3. ipv6ExtensionHeadersFull Information Element | |||
3.4. ipv6ExtensionHeaderTypeCountList Information Element . . 8 | 3.4. ipv6ExtensionHeaderTypeCountList Information Element | |||
3.5. ipv6ExtensionHeadersLimit Information Element . . . . . . 9 | 3.5. ipv6ExtensionHeadersLimit Information Element | |||
3.6. ipv6ExtensionHeadersChainLength Information Element . . . 9 | 3.6. ipv6ExtensionHeadersChainLength Information Element | |||
3.7. ipv6ExtensionHeaderChainLengthList Information Element . 10 | 3.7. ipv6ExtensionHeaderChainLengthList Information Element | |||
4. Information Elements for TCP Options . . . . . . . . . . . . 11 | 4. Information Elements for TCP Options | |||
4.1. tcpOptionsFull Information Element . . . . . . . . . . . 11 | 4.1. tcpOptionsFull Information Element | |||
4.2. tcpSharedOptionExID16 Information Element . . . . . . . . 12 | 4.2. tcpSharedOptionExID16 Information Element | |||
4.3. tcpSharedOptionExID32 Information Element . . . . . . . . 12 | 4.3. tcpSharedOptionExID32 Information Element | |||
4.4. tcpSharedOptionExID16List Information Element . . . . . . 13 | 4.4. tcpSharedOptionExID16List Information Element | |||
4.5. tcpSharedOptionExID32List Information Element . . . . . . 14 | 4.5. tcpSharedOptionExID32List Information Element | |||
5. Implementation and Operational Considerations . . . . . . . . 14 | 5. Implementation and Operational Considerations | |||
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 6. Examples | |||
6.1. IPv6 Extension Headers . . . . . . . . . . . . . . . . . 15 | 6.1. IPv6 Extension Headers | |||
6.2. TCP Options . . . . . . . . . . . . . . . . . . . . . . . 16 | 6.2. TCP Options | |||
6.2.1. Reduced-size Encoding . . . . . . . . . . . . . . . . 16 | 6.2.1. Reduced-Size Encoding | |||
6.2.2. Shared Options . . . . . . . . . . . . . . . . . . . 17 | 6.2.2. Shared Options | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 17 | 7. Security Considerations | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | 8. IANA Considerations | |||
8.1. Deprecate ipv6ExtensionHeaders and tcpOptions Information | 8.1. Deprecate ipv6ExtensionHeaders and tcpOptions Information | |||
Elements . . . . . . . . . . . . . . . . . . . . . . . . 18 | Elements | |||
8.2. IPFIX Information Elements . . . . . . . . . . . . . . . 18 | 8.2. IPFIX Information Elements | |||
8.3. IPFIX Information Element Data Type . . . . . . . . . . . 20 | 8.3. IPFIX Information Element Data Type | |||
8.3.1. unsigned256 . . . . . . . . . . . . . . . . . . . . . 20 | 8.3.1. unsigned256 | |||
8.4. IPFIX Subregistry for IPv6 Extension Headers . . . . . . 20 | 8.4. IPFIX Registry for IPv6 Extension Headers | |||
8.4.1. Initial Values . . . . . . . . . . . . . . . . . . . 21 | 8.4.1. Initial Values | |||
8.4.2. Guidelines for the Designated Experts . . . . . . . . 23 | 8.4.2. Guidelines for the Designated Experts | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 9. References | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 23 | 9.1. Normative References | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 24 | 9.2. Informative References | |||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 25 | Acknowledgments | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
This document specifies new IP Flow Information Export (IPFIX) | This document specifies new IP Flow Information Export (IPFIX) | |||
[RFC7011] Information Elements (IEs) to solve a set of issues | [RFC7011] Information Elements (IEs) to solve a set of issues | |||
encountered with the specifications of ipv6ExtensionHeaders (to | encountered with the specifications of two IEs -- | |||
export IPv6 extension headers) and tcpOptions (to export TCP options) | ipv6ExtensionHeaders (to export IPv6 extension headers) and | |||
IEs [IANA-IPFIX]. More details about these issues are provided in | tcpOptions (to export TCP options) [IANA-IPFIX]. More details about | |||
the following sub-sections. | these issues are provided in the following subsections. | |||
This document deprecates the ipv6ExtensionHeaders and tcpOptions | This document deprecates the ipv6ExtensionHeaders and tcpOptions | |||
IPFIX IEs that were initially defined in [RFC5102]. | IPFIX IEs that were initially defined in [RFC5102]. | |||
Note that [RFC7012] obsoletes [RFC5102] and specifies that | Note that [RFC7012] obsoletes [RFC5102] and specifies that | |||
[IANA-IPFIX] is the normative reference for these IEs. | [IANA-IPFIX] is the normative reference for these IEs. | |||
1.1. Issues with ipv6ExtensionHeaders Information Element | 1.1. Issues with ipv6ExtensionHeaders Information Element | |||
The specification of the ipv6ExtensionHeaders IPFIX IE (64) does not: | The specification of the ipv6ExtensionHeaders IPFIX IE (64) does not: | |||
* Cover the full extension headers' range defined in the IPv6 | * Cover the full extension headers' range defined in the IPv6 | |||
specification (Section 4 of [RFC8200]). | specification (Section 4 of [RFC8200]). | |||
* Specify the procedure to follow when all bits are exhausted. | * Specify the procedure to follow when all bits are exhausted. | |||
* Specify a means to export the order and the number of occurrences | * Specify a means to export the order and the number of occurrences | |||
of a given extension header. | of a given extension header. | |||
* Specify how to automatically update the IANA IPFIX registry | * Specify how to automatically update the IANA IPFIX registry | |||
([IANA-IPFIX]) when a new value is assigned in the IPv6 Extension | [IANA-IPFIX] when a new value is assigned in the IPv6 Extension | |||
Header Types registry [IANA-EH]. Only a frozen set of extension | Header Types registry [IANA-EH]. Only a frozen set of extension | |||
headers can be exported using the ipv6ExtensionHeaders IE. For | headers can be exported using the ipv6ExtensionHeaders IE. For | |||
example, the ipv6ExtensionHeaders IE can't report some IPv6 EHs, | example, the ipv6ExtensionHeaders IE can't report some IPv6 EHs, | |||
specifically EHs for Host Identity Protocol (139), Shim6 Protocol | specifically EHs for the Host Identity Protocol (139), Shim6 | |||
(140) or extension headers for experimentation and testing. | Protocol (140), or extension headers for experimentation and | |||
testing. | ||||
* Specify whether the exported values match the full enclosed values | * Specify whether the exported values match the full enclosed values | |||
or only up to a limit imposed by hardware or software (e.g., | or only up to a limit imposed by hardware or software (e.g., | |||
Section 1.1 of [RFC8883]). Note that some implementations may not | Section 1.1 of [RFC8883]). Note that some implementations may not | |||
be able to export all observed extension headers in a Flow because | be able to export all observed extension headers in a Flow because | |||
of a hardware or software limit (see, e.g., | of a hardware or software limit (see, e.g., [EH-LIMITS]). | |||
[I-D.ietf-6man-eh-limits]). The specification of the | * Discuss whether it covers all enclosed extension headers or only | |||
ipv6ExtensionHeaders IE does not discuss whether it covers all | up to a limit. | |||
enclosed extension headers or only up to a limit. | ||||
* Specify how to report the length of IPv6 extension headers. | * Specify how to report the length of IPv6 extension headers. | |||
* Optimize the encoding. | * Optimize the encoding. | |||
* Explain the reasoning for reporting values which do not correspond | * Explain the reasoning for reporting values that do not correspond | |||
to extension headers (e.g., "Unknown Layer 4 header" or "Payload | to extension headers (e.g., "Unknown Layer 4 header" or "Payload | |||
compression header"). | compression header"). | |||
* Specify how to report extension header chains or aggregate | * Specify how to report extension header chains or aggregate lengths | |||
extension headers length. | of extension headers. | |||
Section 3 addresses these issues. | Section 3 addresses these issues. | |||
This specification deprecates the ipv6ExtensionHeaders IPFIX IE in | This specification deprecates the ipv6ExtensionHeaders IPFIX IE in | |||
favor of the new IEs defined in this document. | favor of the new IEs defined in this document. | |||
1.2. Issues with tcpOptions Information Element | 1.2. Issues with tcpOptions Information Element | |||
The specification of the tcpOptions IPFIX IE (209) does not: | The specification of the tcpOptions IPFIX IE (209) does not: | |||
skipping to change at page 5, line 10 ¶ | skipping to change at line 182 ¶ | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
This document uses the IPFIX-specific terminology (Information | This document uses the IPFIX-specific terminology (Information | |||
Element, Template Record, Flow, etc.) defined in Section 2 of | Element, Template Record, Flow, etc.) defined in Section 2 of | |||
[RFC7011]. As in the base IPFIX specification [RFC7011], these | [RFC7011]. As in the base IPFIX specification [RFC7011], these | |||
IPFIX-specific terms have the first letter of a word capitalized. | IPFIX-specific terms have the first letter of a word capitalized. | |||
Also, the document uses the terms defined in IPv6 [RFC8200] and TCP | Also, the document uses the terms defined in the IPv6 [RFC8200] and | |||
[RFC9293] specifications. | TCP [RFC9293] specifications. | |||
In addition, the document makes use of the following term: | In addition, the document makes use of the following terms: | |||
Extension header chain: Refers to the chain of extension headers | Extension header chain: Refers to the chain of extension headers | |||
that are present in an IPv6 packet. | that are present in an IPv6 packet. | |||
This term should not be confused with the IPv6 header chain, which | This term should not be confused with the IPv6 header chain, which | |||
includes the IPv6 header, zero or more IPv6 extension headers, and | includes the IPv6 header, zero or more IPv6 extension headers, and | |||
zero or a single Upper-Layer Header. | zero or a single Upper-Layer Header. | |||
Flow with varying extension header chain: Refers to a Flow where | Flow with varying extension header chains: Refers to a Flow where | |||
distinct extension header chains are observed. Concretely, | distinct extension header chains are observed. Concretely, | |||
different packets in such a Flow will have a different sequence of | different packets in such a Flow will have a different sequence of | |||
extension header type codes. | extension header type codes. | |||
3. Information Elements for IPv6 Extension Headers | 3. Information Elements for IPv6 Extension Headers | |||
3.1. ipv6ExtensionHeaderType Information Element | 3.1. ipv6ExtensionHeaderType Information Element | |||
Name: ipv6ExtensionHeaderType | Name: ipv6ExtensionHeaderType | |||
ElementID: TBD1 | ElementID: 513 | |||
Description: Type of an IPv6 extension header observed in at least | Description: Type of an IPv6 extension header observed in at least | |||
one packet of this Flow. | one packet of this Flow. | |||
Abstract Data Type: unsigned8 | Abstract Data Type: unsigned8 | |||
Data Type Semantics: identifier | Data Type Semantics: identifier | |||
Additional Information: See the IPv6 Extension Header Types registry | Additional Information: See the "IPv6 Extension Header Types" | |||
at [IANA-EH]. | registry at [IANA-EH]. | |||
See Section 4 of [RFC8200] for the general definition of IPv6 | See Section 4 of [RFC8200] for the general definition of IPv6 | |||
extension headers. | extension headers. | |||
Reference: This-Document | Reference: RFC 9740 | |||
3.2. ipv6ExtensionHeaderCount Information Element | 3.2. ipv6ExtensionHeaderCount Information Element | |||
Name: ipv6ExtensionHeaderCount | Name: ipv6ExtensionHeaderCount | |||
ElementID: TBD2 | ElementID: 514 | |||
Description: The number of consecutive occurrences of the same | Description: The number of consecutive occurrences of the same | |||
extension header type in a Flow. | extension header type in a Flow. | |||
This IE is reported, e.g., in the ipv6ExtensionHeaderTypeCountList | This IE is reported, e.g., in the ipv6ExtensionHeaderTypeCountList | |||
IE. | IE. | |||
The type of the extension header is provided in the | The type of the extension header is provided in the | |||
ipv6ExtensionHeaderType IE. | ipv6ExtensionHeaderType IE. | |||
Abstract Data Type: unsigned8 | Abstract Data Type: unsigned8 | |||
Data Type Semantics: totalCounter | Data Type Semantics: totalCounter | |||
Additional Information: See the IPv6 Extension Header Types registry | Additional Information: See the "IPv6 Extension Header Types" | |||
at [IANA-EH]. | registry at [IANA-EH]. | |||
See Section 4 of [RFC8200] for the general definition of IPv6 | See Section 4 of [RFC8200] for the general definition of IPv6 | |||
extension headers. | extension headers. | |||
Reference: This-Document | Reference: RFC 9740 | |||
3.3. ipv6ExtensionHeadersFull Information Element | 3.3. ipv6ExtensionHeadersFull Information Element | |||
Name: ipv6ExtensionHeadersFull | Name: ipv6ExtensionHeadersFull | |||
ElementID: TBD3 | ElementID: 515 | |||
Description: IPv6 extension headers observed in packets of this | Description: IPv6 extension headers observed in packets of this | |||
Flow. The information is encoded in a set of bit fields. For | Flow. The information is encoded in a set of bit fields. For | |||
each IPv6 extension header, there is a bit in this set. The bit | each IPv6 extension header, there is a bit in this set. The bit | |||
is set to 1 if any observed packet of this Flow contains the | is set to 1 if any observed packet of this Flow contains the | |||
corresponding IPv6 extension header. Otherwise, if no observed | corresponding IPv6 extension header. Otherwise, if no observed | |||
packet of this Flow contains the respective IPv6 extension header, | packet of this Flow contains the respective IPv6 extension header, | |||
the value of the corresponding bit is 0. | the value of the corresponding bit is 0. | |||
The IPv6 extension header associated with each bit is provided in | The IPv6 extension header associated with each bit is provided in | |||
[NEW_IPFIX_IPv6EH_SUBREGISTRY]. Bit 0 corresponds to the least- | [IANA-IPFIX-IPv6EH]. Bit 0 corresponds to the least significant | |||
significant bit in the ipv6ExtensionHeadersFull IE while bit 255 | bit (LSB) in the ipv6ExtensionHeadersFull IE, while bit 255 | |||
corresponds to the most-significant bit of the IE. In doing so, | corresponds to the most significant bit (MSB) of the IE. In doing | |||
few octets will be needed to encode common IPv6 extension headers | so, few octets will be needed to encode common IPv6 extension | |||
when observed in a Flow. | headers when observed in a Flow. | |||
The "No Next Header" (bit 2) value (Section 4.7 of [RFC8200]) is | The "No Next Header" (bit 2) value (Section 4.7 of [RFC8200]) is | |||
used if there is no upper-layer header in an IPv6 packet. Even if | used if there is no upper-layer header in an IPv6 packet. Even if | |||
the value is not considered as an extension header as such, the | the value is not considered as an extension header as such, the | |||
corresponding bit is set in the ipv6ExtensionHeadersFull IE | corresponding bit is set in the ipv6ExtensionHeadersFull IE | |||
whenever that value is encountered in the Flow. | whenever that value is encountered in the Flow. | |||
Extension headers observed in a Flow with varying extension header | Extension headers observed in a Flow with varying extension header | |||
chain MUST NOT be grouped in the ipv6ExtensionHeadersFull IE if | chains MUST NOT be grouped in the ipv6ExtensionHeadersFull IE if | |||
the ipv6ExtensionHeaderChainLengthList IE is also present. | the ipv6ExtensionHeaderChainLengthList IE is also present. | |||
If the ipv6ExtensionHeaderChainLengthList IE is not present, then | If the ipv6ExtensionHeaderChainLengthList IE is not present, then | |||
extension headers observed in a Flow with varying extension header | extension headers observed in a Flow with varying extension header | |||
chain MAY be grouped in one single ipv6ExtensionHeadersFull IE or | chains MAY be grouped in one single ipv6ExtensionHeadersFull IE or | |||
be exported in separate ipv6ExtensionHeadersFull IEs, one for each | be exported in separate ipv6ExtensionHeadersFull IEs, one for each | |||
extension header chain. | extension header chain. | |||
The ipv6ExtensionHeadersFull IE MUST NOT be exported if | The ipv6ExtensionHeadersFull IE MUST NOT be exported if | |||
ipv6ExtensionHeaderTypeCountList IE is also present because of the | ipv6ExtensionHeaderTypeCountList IE is also present because of the | |||
overlapping scopes between these two IEs. | overlapping scopes of these two IEs. | |||
The value of ipv6ExtensionHeadersFull IE may be encoded in fewer | The value of ipv6ExtensionHeadersFull IE may be encoded in fewer | |||
octets per the guidelines in Section 6.2 of [RFC7011]. | octets per the guidelines in Section 6.2 of [RFC7011]. | |||
Abstract Data Type: unsigned256 | Abstract Data Type: unsigned256 | |||
Data Type Semantics: flags | Data Type Semantics: flags | |||
Additional Information: See the ipv6ExtensionHeaders Bits registry | Additional Information: See the "IPFIX ipv6ExtensionHeaders Bits" | |||
at [NEW_IPFIX_IPv6EH_SUBREGISTRY]. | registry at [IANA-IPFIX-IPv6EH]. | |||
See the IPv6 Extension Header Types registry at [IANA-EH]. | See the "IPv6 Extension Header Types" registry at [IANA-EH]. | |||
See Section 4 of [RFC8200] for the general definition of IPv6 | See Section 4 of [RFC8200] for the general definition of IPv6 | |||
extension headers. | extension headers. | |||
The ipv6ExtensionHeadersFull IE deprecates the | The ipv6ExtensionHeadersFull IE deprecates the | |||
ipv6ExtensionHeaders IE (64) that was initially defined in | ipv6ExtensionHeaders IE (64) that was initially defined in | |||
[RFC5102]. | [RFC5102]. | |||
[RFC7012] obsoletes [RFC5102] and specifies that [IANA-IPFIX] is | [RFC7012] obsoletes [RFC5102] and specifies that [IANA-IPFIX] is | |||
the normative reference for the ipv6ExtensionHeaders IE (64). | the normative reference for the ipv6ExtensionHeaders IE (64). | |||
Reference: This-Document | Reference: RFC 9740 | |||
Note to the RFC Editor: Please replace | ||||
[NEW_IPFIX_IPv6EH_SUBREGISTRY] with the link to the | ||||
"ipv6ExtensionHeaders Bits" registry (Section 8.4). | ||||
3.4. ipv6ExtensionHeaderTypeCountList Information Element | 3.4. ipv6ExtensionHeaderTypeCountList Information Element | |||
Name: ipv6ExtensionHeaderTypeCountList | Name: ipv6ExtensionHeaderTypeCountList | |||
ElementID: TBD4 | ElementID: 516 | |||
Description: As per Section 4.1 of [RFC8200], IPv6 nodes must accept | Description: As per Section 4.1 of [RFC8200], IPv6 nodes must accept | |||
and attempt to process extension headers occurring any number of | and attempt to process extension headers occurring any number of | |||
times in the same packet. This IE echoes the order of extension | times in the same packet. This IE echoes the order of extension | |||
headers and number of consecutive occurrences of the same | headers and number of consecutive occurrences of the same | |||
extension header type in a Flow. | extension header type in a Flow. | |||
This IE is a subTemplateList of ipv6ExtensionHeaderType and | This IE is a subTemplateList of ipv6ExtensionHeaderType and | |||
ipv6ExtensionHeaderCount IEs. | ipv6ExtensionHeaderCount IEs. | |||
Each header chain in Flow with varying extension header chain MUST | Each header chain in a Flow with varying extension header chains | |||
be exported in a separate IE. | MUST be exported in a separate IE. | |||
The same extension header type may appear several times in an | The same extension header type may appear several times in an | |||
ipv6ExtensionHeaderTypeCountList IE. For example, if an IPv6 | ipv6ExtensionHeaderTypeCountList IE. For example, if an IPv6 | |||
packet of a Flow includes a Hop-by-Hop Options header, a | packet of a Flow includes a Hop-by-Hop Options header, a | |||
Destination Options header, a Fragment header, and Destination | Destination Options header, a Fragment header, and Destination | |||
Options header, the ipv6ExtensionHeaderTypeCountList IE will | Options header, the ipv6ExtensionHeaderTypeCountList IE will | |||
report: | report: | |||
* the count of Hop-by-Hop Options headers, | * the count of Hop-by-Hop Options headers, | |||
skipping to change at page 9, line 4 ¶ | skipping to change at line 362 ¶ | |||
extension header MUST be echoed in the | extension header MUST be echoed in the | |||
ipv6ExtensionHeaderTypeCountList IE. How an implementation | ipv6ExtensionHeaderTypeCountList IE. How an implementation | |||
disambiguates between unknown upper-layer protocols vs. extension | disambiguates between unknown upper-layer protocols vs. extension | |||
headers is not IPFIX-specific. Refer, for example, to Section 2.2 | headers is not IPFIX-specific. Refer, for example, to Section 2.2 | |||
of [RFC8883] for a behavior of an intermediate node that | of [RFC8883] for a behavior of an intermediate node that | |||
encounters an unknown Next Header type. | encounters an unknown Next Header type. | |||
Abstract Data Type: subTemplateList | Abstract Data Type: subTemplateList | |||
Data Type Semantics: list | Data Type Semantics: list | |||
Additional Information: See the IPv6 Extension Header Types registry | ||||
at [IANA-EH]. | ||||
See [RFC8200] for the general definition of IPv6 extension | Additional Information: See the "IPv6 Extension Header Types" | |||
headers. | registry at [IANA-EH]. | |||
Reference: This-Document | See Section 4 of [RFC8200] for the general definition of IPv6 | |||
extension headers. | ||||
Reference: RFC 9740 | ||||
3.5. ipv6ExtensionHeadersLimit Information Element | 3.5. ipv6ExtensionHeadersLimit Information Element | |||
Name: ipv6ExtensionHeadersLimit | Name: ipv6ExtensionHeadersLimit | |||
ElementID: TBD5 | ElementID: 517 | |||
Description: When set to "false", this IE indicates that the | Description: When set to "false", this IE indicates that the | |||
exported extension headers information (e.g., | exported extension header information (e.g., | |||
ipv6ExtensionHeadersFull or ipv6ExtensionHeaderTypeCountList) does | ipv6ExtensionHeadersFull or ipv6ExtensionHeaderTypeCountList) does | |||
not match the full enclosed extension headers, but only up to a | not match the full enclosed extension headers, but only up to a | |||
limit that is typically set by hardware or software. | limit that is typically set by hardware or software. | |||
When set to "true", this IE indicates that the exported extension | When set to "true", this IE indicates that the exported extension | |||
header information matches the full enclosed extension headers. | header information matches the full enclosed extension headers. | |||
Abstract Data Type: boolean | Abstract Data Type: boolean | |||
Data Type Semantics: default | Data Type Semantics: default | |||
Additional Information: See Section 4 of [RFC8200] for the general | Additional Information: See Section 4 of [RFC8200] for the general | |||
definition of IPv6 extension headers. | definition of IPv6 extension headers. | |||
See [RFC8883] for an example of IPv6 packet processing due to | See [RFC8883] for an example of IPv6 packet processing due to | |||
limits on extension headers. | limits on extension headers. | |||
Reference: This-Document | Reference: RFC 9740 | |||
3.6. ipv6ExtensionHeadersChainLength Information Element | 3.6. ipv6ExtensionHeadersChainLength Information Element | |||
Name: ipv6ExtensionHeadersChainLength | Name: ipv6ExtensionHeadersChainLength | |||
ElementID: TBD6 | ElementID: 518 | |||
Description: In theory, there are no limits on the number of IPv6 | Description: In theory, there are no limits on the number of IPv6 | |||
extension headers that may be present in a packet other than the | extension headers that may be present in a packet other than the | |||
path MTU. However, it was regularly reported that IPv6 packets | path MTU. However, it was regularly reported that IPv6 packets | |||
with extension headers are often dropped in the Internet (e.g., | with extension headers were often dropped in the Internet (e.g., | |||
[RFC7872]). | [RFC7872]). | |||
As discussed in Section 1.2 of [RFC8883], some hardware devices | As discussed in Section 1.2 of [RFC8883], some hardware devices | |||
implement a parsing buffer of a fixed size to process packets, | implement a parsing buffer of a fixed size to process packets, | |||
including all the headers. When the aggregate length of headers | including all the headers. When the aggregate length of headers | |||
of an IPv6 packet exceeds that size, the packet will be discarded | of an IPv6 packet exceeds that size, the packet will be discarded | |||
or deferred to a slow path. | or deferred to a slow path. | |||
The ipv6ExtensionHeadersChainLength IE is used to report, in | The ipv6ExtensionHeadersChainLength IE is used to report, in | |||
octets, the length of an extension header chain observed in a | octets, the length of an extension header chain observed in a | |||
Flow. The length is the sum of the length of all extension | Flow. The length is the sum of the lengths of all extension | |||
headers of the chain. Exporting such information might help | headers of the chain. Exporting such information might help | |||
identifying root causes of performance degradation, including | identifying root causes of performance degradation, including | |||
packet drops. | packet drops. | |||
Each header chain length of a Flow with varying extension header | Each header chain length of a Flow with varying extension header | |||
chain MUST be exported in a separate | chains MUST be exported in a separate | |||
ipv6ExtensionHeadersChainLength IE. | ipv6ExtensionHeadersChainLength IE. | |||
Abstract Data Type: unsigned32 | Abstract Data Type: unsigned32 | |||
Data Type Semantics: identifier | Data Type Semantics: identifier | |||
Units: octets | Units: octets | |||
Additional Information: See Section 4 of [RFC8200] for the general | Additional Information: See Section 4 of [RFC8200] for the general | |||
definition of IPv6 extension headers. | definition of IPv6 extension headers. | |||
See [RFC9098] for an overview of operational implications of IPv6 | See [RFC9098] for an overview of operational implications of IPv6 | |||
packets with extension headers. | packets with extension headers. | |||
Reference: This-Document | Reference: RFC 9740 | |||
3.7. ipv6ExtensionHeaderChainLengthList Information Element | 3.7. ipv6ExtensionHeaderChainLengthList Information Element | |||
Name: ipv6ExtensionHeaderChainLengthList | Name: ipv6ExtensionHeaderChainLengthList | |||
ElementID: TBD7 | ElementID: 519 | |||
Description: This IE is used to report the chains and their length | Description: This IE is used to report the chains and their lengths | |||
as observed in a Flow with varying extension header chain. | as observed in a Flow with varying extension header chains. | |||
This IE is a subTemplateList of ipv6ExtensionHeadersFull and | This IE is a subTemplateList of ipv6ExtensionHeadersFull and | |||
ipv6ExtensionHeadersChainLength IEs. | ipv6ExtensionHeadersChainLength IEs. | |||
If several extension header chains are observed in a Flow, each | If several extension header chains are observed in a Flow, each | |||
header chain MUST be exported in a separate | header chain MUST be exported in a separate | |||
ipv6ExtensionHeaderChainLengthList IE. | ipv6ExtensionHeaderChainLengthList IE. | |||
Abstract Data Type: subTemplateList | Abstract Data Type: subTemplateList | |||
Data Type Semantics: list | Data Type Semantics: list | |||
Additional Information: See the IPv6 Extension Header Types registry | Additional Information: See the "IPv6 Extension Header Types" | |||
at [IANA-EH]. | registry at [IANA-EH]. | |||
See [RFC8200] for the general definition of IPv6 extension | See Section 4 of [RFC8200] for the general definition of IPv6 | |||
headers. | extension headers. | |||
Reference: This-Document | Reference: RFC 9740 | |||
4. Information Elements for TCP Options | 4. Information Elements for TCP Options | |||
4.1. tcpOptionsFull Information Element | 4.1. tcpOptionsFull Information Element | |||
This section specifies a new IE to cover the full TCP options range. | This section specifies a new IE to cover the full TCP options range. | |||
Name: tcpOptionsFull | Name: tcpOptionsFull | |||
ElementID: TBD8 | ElementID: 520 | |||
Description: TCP options in packets of this Flow. The information | Description: TCP options in packets of this Flow. The information | |||
is encoded in a set of bit fields. For each TCP option, there is | is encoded in a set of bit fields. For each TCP option, there is | |||
a bit in this set. The bit is set to 1 if any observed packet of | a bit in this set. The bit is set to 1 if any observed packet of | |||
this Flow contains the corresponding TCP option. Otherwise, if no | this Flow contains the corresponding TCP option. Otherwise, if no | |||
observed packet of this Flow contains the respective TCP option, | observed packet of this Flow contains the respective TCP option, | |||
the value of the corresponding bit is 0. | the value of the corresponding bit is 0. | |||
Options are mapped to bits according to their option numbers. TCP | Options are mapped to bits according to their option numbers. TCP | |||
option Kind 0 corresponds to the least-significant bit in the | option Kind 0 corresponds to the least significant bit in the | |||
tcpOptionsFull IE while Kind 255 corresponds to the most- | tcpOptionsFull IE, while Kind 255 corresponds to the most | |||
significant bit of the IE. This approach allows an observer to | significant bit of the IE. This approach allows an observer to | |||
export any observed TCP option even if it does not support that | export any observed TCP option even if it does not support that | |||
option and without requiring updating a mapping table. | option and without requiring updating a mapping table. | |||
The value of tcpOptionsFull IE may be encoded in fewer octets per | The value of tcpOptionsFull IE may be encoded in fewer octets per | |||
the guidelines in Section 6.2 of [RFC7011]. | the guidelines in Section 6.2 of [RFC7011]. | |||
The presence of tcpSharedOptionExID16List or | The presence of tcpSharedOptionExID16List or | |||
tcpSharedOptionExID32List IEs is an indication that a shared TCP | tcpSharedOptionExID32List IEs is an indication that a shared TCP | |||
option (Kind=253 or 254) is observed in a Flow. The presence of | option (Kind=253 or 254) is observed in a Flow. The presence of | |||
skipping to change at page 12, line 9 ¶ | skipping to change at line 512 ¶ | |||
of the reduced-size encoding in the presence of | of the reduced-size encoding in the presence of | |||
tcpSharedOptionExID16List or tcpSharedOptionExID32List IEs, the | tcpSharedOptionExID16List or tcpSharedOptionExID32List IEs, the | |||
Exporter MUST NOT set to 1 the shared TCP options (Kind=253 or | Exporter MUST NOT set to 1 the shared TCP options (Kind=253 or | |||
254) flags of the tcpOptionsFull IE that is reported for the same | 254) flags of the tcpOptionsFull IE that is reported for the same | |||
Flow. | Flow. | |||
Abstract Data Type: unsigned256 | Abstract Data Type: unsigned256 | |||
Data Type Semantics: flags | Data Type Semantics: flags | |||
Additional Information: See the TCP Option Kind Numbers registry at | Additional Information: See the "TCP Option Kind Numbers" registry | |||
[IANA-TCP]. | at [IANA-TCP]. | |||
See [RFC9293] for the general definition of TCP options. | See [RFC9293] for the general definition of TCP options. | |||
The tcpOptionsFull IE deprecates the tcpOptions IE (209) that was | The tcpOptionsFull IE deprecates the tcpOptions IE (209) that was | |||
initially defined in [RFC5102]. | initially defined in [RFC5102]. | |||
[RFC7012] obsoletes [RFC5102] and specifies that [IANA-IPFIX] is | [RFC7012] obsoletes [RFC5102] and specifies that [IANA-IPFIX] is | |||
the normative reference for the tcpOptions IE (209). | the normative reference for the tcpOptions IE (209). | |||
Reference: This-Document | Reference: RFC 9740 | |||
4.2. tcpSharedOptionExID16 Information Element | 4.2. tcpSharedOptionExID16 Information Element | |||
Name: tcpSharedOptionExID16 | Name: tcpSharedOptionExID16 | |||
ElementID: TBD9 | ElementID: 521 | |||
Description: Reports an observed 2-byte ExID in a shared TCP option | Description: Reports an observed 2-byte ExID in a shared TCP option | |||
(Kind=253 or 254) in a Flow. | (Kind=253 or 254) in a Flow. | |||
A basicList of tcpSharedOptionExID16 is used to report | A basicList of tcpSharedOptionExID16 is used to report | |||
tcpSharedOptionExID16List values. | tcpSharedOptionExID16List values. | |||
Abstract Data Type: unsigned16 | Abstract Data Type: unsigned16 | |||
Data Type Semantics: identifier | Data Type Semantics: identifier | |||
Additional Information: See the TCP Experimental Option Experiment | Additional Information: See the "TCP Experimental Option Experiment | |||
Identifiers (TCP ExIDs) registry at [IANA-TCP-EXIDs]. | Identifiers (TCP ExIDs)" registry at [IANA-TCP-ExIDs]. | |||
See [RFC9293] for the general definition of TCP options. | See [RFC9293] for the general definition of TCP options. | |||
See [RFC6994] for the shared use of experimental TCP Options. | See [RFC6994] for the shared use of experimental TCP Options. | |||
Reference: This-Document | Reference: RFC 9740 | |||
4.3. tcpSharedOptionExID32 Information Element | 4.3. tcpSharedOptionExID32 Information Element | |||
Name: tcpSharedOptionExID32 | Name: tcpSharedOptionExID32 | |||
ElementID: TBD10 | ElementID: 522 | |||
Description: Reports an observed 4-byte ExID in a shared TCP option | Description: Reports an observed 4-byte ExID in a shared TCP option | |||
(Kind=253 or 254) in a Flow. | (Kind=253 or 254) in a Flow. | |||
A basicList of tcpSharedOptionExID32 is used to report | A basicList of tcpSharedOptionExID32 is used to report | |||
tcpSharedOptionExID32List values. | tcpSharedOptionExID32List values. | |||
Abstract Data Type: unsigned32 | Abstract Data Type: unsigned32 | |||
Data Type Semantics: identifier | Data Type Semantics: identifier | |||
Additional Information: See the TCP Experimental Option Experiment | Additional Information: See the "TCP Experimental Option Experiment | |||
Identifiers (TCP ExIDs) registry at [IANA-TCP-EXIDs]. | Identifiers (TCP ExIDs)" registry at [IANA-TCP-ExIDs]. | |||
See [RFC9293] for the general definition of TCP options. | See [RFC9293] for the general definition of TCP options. | |||
See [RFC6994] for the shared use of experimental TCP Options. | See [RFC6994] for the shared use of experimental TCP Options. | |||
Reference: This-Document | Reference: RFC 9740 | |||
4.4. tcpSharedOptionExID16List Information Element | 4.4. tcpSharedOptionExID16List Information Element | |||
Name: tcpSharedOptionExID16List | Name: tcpSharedOptionExID16List | |||
ElementID: TBD11 | ElementID: 523 | |||
Description: Reports observed 2-byte ExIDs in shared TCP options | Description: Reports observed 2-byte ExIDs in shared TCP options | |||
(Kind=253 or 254) in a Flow. | (Kind=253 or 254) in a Flow. | |||
A basicList of tcpSharedOptionExID16 IEs in which each | A basicList of tcpSharedOptionExID16 IEs in which each | |||
tcpSharedOptionExID16 IE carries an observed 2-byte ExID in a | tcpSharedOptionExID16 IE carries an observed 2-byte ExID in a | |||
shared option. | shared option. | |||
Abstract Data Type: basicList | Abstract Data Type: basicList | |||
Data Type Semantics: list | Data Type Semantics: list | |||
Additional Information: See the TCP Experimental Option Experiment | Additional Information: See the "TCP Experimental Option Experiment | |||
Identifiers (TCP ExIDs) registry at [IANA-TCP-EXIDs]. | Identifiers (TCP ExIDs)" registry at [IANA-TCP-ExIDs]. | |||
See [RFC9293] for the general definition of TCP options. | See [RFC9293] for the general definition of TCP options. | |||
See [RFC6994] for the shared use of experimental TCP Options. | See [RFC6994] for the shared use of experimental TCP Options. | |||
Reference: This-Document | Reference: RFC 9740 | |||
4.5. tcpSharedOptionExID32List Information Element | 4.5. tcpSharedOptionExID32List Information Element | |||
Name: tcpSharedOptionExID32List | Name: tcpSharedOptionExID32List | |||
ElementID: TBD12 | ElementID: 524 | |||
Description: Reports observed 4-byte ExIDs in shared TCP options | Description: Reports observed 4-byte ExIDs in shared TCP options | |||
(Kind=253 or 254) in a Flow. | (Kind=253 or 254) in a Flow. | |||
A basicList of tcpSharedOptionExID32 IEs in which each | A basicList of tcpSharedOptionExID32 IEs in which each | |||
tcpSharedOptionExID32 IE carries an observed 4-byte ExID in a | tcpSharedOptionExID32 IE carries an observed 4-byte ExID in a | |||
shared option. | shared option. | |||
Abstract Data Type: basicList | Abstract Data Type: basicList | |||
Data Type Semantics: list | Data Type Semantics: list | |||
Additional Information: See the TCP Experimental Option Experiment | Additional Information: See the "TCP Experimental Option Experiment | |||
Identifiers (TCP ExIDs) registry at [IANA-TCP-EXIDs]. | Identifiers (TCP ExIDs)" registry at [IANA-TCP-ExIDs]. | |||
See [RFC9293] for the general definition of TCP options. | See [RFC9293] for the general definition of TCP options. | |||
See [RFC6994] for the shared use of experimental TCP Options. | See [RFC6994] for the shared use of experimental TCP Options. | |||
Reference: This-Document | Reference: RFC 9740 | |||
5. Implementation and Operational Considerations | 5. Implementation and Operational Considerations | |||
Implementations of tcpSharedOptionExID16, tcpSharedOptionExID32, | Implementations of tcpSharedOptionExID16, tcpSharedOptionExID32, | |||
tcpSharedOptionExID16List, and tcpSharedOptionExID32List IEs are | tcpSharedOptionExID16List, and tcpSharedOptionExID32List IEs are | |||
assumed to be provided with a list of valid ExIDs [IANA-TCP-EXIDs]. | assumed to be provided with a list of valid ExIDs [IANA-TCP-ExIDs]. | |||
How that list is maintained is implementation-specific. Absent that | How that list is maintained is implementation-specific. Absent that | |||
list, an implementation can't autonomously determine whether an ExID | list, an implementation can't autonomously determine whether an ExID | |||
is present and, if so, whether it is 2- or 4-byte length. | is present and, if so, whether its length is 2 or 4 bytes. | |||
If a TCP Flow contains packets with a mix of 2-byte and 4-byte ExIDs, | If a TCP Flow contains packets with a mix of 2-byte and 4-byte ExIDs, | |||
the same Template Record is used with both tcpSharedOptionExID16 and | the same Template Record is used with both tcpSharedOptionExID16 and | |||
tcpSharedOptionExID32 IEs. | tcpSharedOptionExID32 IEs. | |||
6. Examples | 6. Examples | |||
This section provides a few examples to illustrate the use of some | This section provides a few examples to illustrate the use of some | |||
IEs defined in this document. | IEs defined in this document. | |||
skipping to change at page 15, line 19 ¶ | skipping to change at line 659 ¶ | |||
Destination Options (0) header is observed. The bits are set | Destination Options (0) header is observed. The bits are set | |||
following the table provided in Section 8.4.1. | following the table provided in Section 8.4.1. | |||
MSB LSB | MSB LSB | |||
1 25 | 1 25 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+ | |||
|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| |0|0|0|0|0|0|0|1| | |0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| |0|0|0|0|0|0|0|1| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+ | |||
Figure 1: A First Example of EH/Bit Mappings in the | Figure 1: Example of EH/Bit Mappings in the | |||
ipv6ExtensionHeadersFull IE | ipv6ExtensionHeadersFull IE | |||
The leading zeros are dropped per the reduced-size encoding guidance. | The leading zeros are dropped per the reduced-size encoding guidance. | |||
One octet is thus sufficient to send these observed options on the | One octet is thus sufficient to send these observed options on the | |||
wire. Concretely, the ipv6ExtensionHeadersFull IE will be set to | wire. Concretely, the ipv6ExtensionHeadersFull IE will be set to | |||
0x01 (Figure 2). | 0x01 (Figure 2). | |||
MSB LSB | MSB LSB | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|0|0|0|0|0|0|0|1| | |0|0|0|0|0|0|0|1| | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
Figure 2: A First Example of ipv6ExtensionHeadersFull IE with | Figure 2: Example A of ipv6ExtensionHeadersFull IE with Reduced- | |||
Reduced-size Encoding | Size Encoding | |||
Figure 3 provides another example of reported values in an | Figure 3 provides another example of reported values in an | |||
ipv6ExtensionHeadersFull IE for an IPv6 Flow in which the Destination | ipv6ExtensionHeadersFull IE for an IPv6 Flow in which the Destination | |||
Options (0), IPv6 Hop-by-Hop Options (1), and Routing (5) headers are | Options (0), IPv6 Hop-by-Hop Options (1), and Routing (5) headers are | |||
observed. One octet is sufficient to report these observed options. | observed. One octet is sufficient to report these observed options. | |||
Concretely, the ipv6ExtensionHeadersFull IE will be set to 0x23. | Concretely, the ipv6ExtensionHeadersFull IE will be set to 0x23. | |||
MSB LSB | MSB LSB | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|0|0|1|0|0|0|1|1| | |0|0|1|0|0|0|1|1| | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
Figure 3: A Second Example of ipv6ExtensionHeadersFull IE with | Figure 3: Example B of ipv6ExtensionHeadersFull IE with Reduced- | |||
Reduced-size Encoding | Size Encoding | |||
Let us now consider an IPv6 Flow in which the following EH chain is | Let us now consider an IPv6 Flow in which the following EH chain is | |||
observed: Routing (5), Mobility (7), and Authentication (9) header. | observed: Routing (5), Mobility (7), and Authentication (9) header. | |||
Figure 4 shows the ipv6ExtensionHeadersFull IE (0x02A0) to reprot | Figure 4 shows the ipv6ExtensionHeadersFull IE (0x02A0) to report | |||
this individual chain. | this individual chain. | |||
MSB LSB | MSB LSB | |||
1 | 1 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|0|0|0|0|0|0|1|0|1|0|1|0|0|0|0|0| | |0|0|0|0|0|0|1|0|1|0|1|0|0|0|0|0| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 4: An Example of ipv6ExtensionHeadersFull IE Reported for | Figure 4: Example of ipv6ExtensionHeadersFull IE Reported for an | |||
an Extension Header Chain | Extension Header Chain | |||
6.2. TCP Options | 6.2. TCP Options | |||
6.2.1. Reduced-size Encoding | 6.2.1. Reduced-Size Encoding | |||
Given TCP Kind allocation practices and the option mapping defined in | Given TCP Kind allocation practices and the option mapping defined in | |||
Section 4.1, fewer octets are likely to be used for Flows with common | Section 4.1, fewer octets are likely to be used for Flows with common | |||
TCP options. | TCP options. | |||
Figure 5 shows an example of Kind/bit mappings in a tcpOptionsFull IE | Figure 5 shows an example of Kind/bit mappings in a tcpOptionsFull IE | |||
for a TCP Flow in which End of Option List (0), Maximum Segment Size | for a TCP Flow in which End of Option List (0), Maximum Segment Size | |||
(2), and Window Scale (3) options are observed. | (2), and Window Scale (3) options are observed. | |||
MSB LSB | MSB LSB | |||
1 25 | 1 25 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+ | |||
|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| |0|0|0|0|1|1|0|1| | |0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| |0|0|0|0|1|1|0|1| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+ | |||
Figure 5: An Example of TCP Options / Bit Mappings in a | Figure 5: Example of TCP Options / Bit Mappings in a | |||
tcpOptionsFull IE | tcpOptionsFull IE | |||
One octet is sufficient to report these observed options. | One octet is sufficient to report these observed options. | |||
Concretely, the tcpOptionsFull IE will be set to 0x0D (Figure 6). | Concretely, the tcpOptionsFull IE will be set to 0x0D (Figure 6). | |||
MSB LSB | MSB LSB | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|0|0|0|0|1|1|0|1| | |0|0|0|0|1|1|0|1| | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
Figure 6: An Example of tcpOptionsFull IE with Reduced-size Encdoing | Figure 6: Example of tcpOptionsFull IE with Reduced-Size Encoding | |||
6.2.2. Shared Options | 6.2.2. Shared Options | |||
Let us consider a TCP Flow in which shared options with ExIDs 0x0348 | Let us consider a TCP Flow in which shared options with ExIDs 0x0348 | |||
(HOST_ID) [RFC7974], 0x454E (TCP-ENO) [RFC8547], and 0xE2D4C3D9 | (HOST_ID) [RFC7974], 0x454E (TCP-ENO) [RFC8547], and 0xE2D4C3D9 | |||
(Shared Memory communications over RMDA protocol) [RFC7609] are | (Shared Memory Communications over RDMA protocol) [RFC7609] are | |||
observed. Figure 7 shows an excerpt of the Data Set encoding with a | observed. Figure 7 shows an excerpt of the Data Set encoding with a | |||
focus on the tcpSharedOptionExID16 and tcpSharedOptionExID32 IEs. | focus on the tcpSharedOptionExID16 and tcpSharedOptionExID32 IEs. | |||
The meaning of the fields is defined in [RFC6313]. | The meaning of the fields is defined in [RFC6313]. | |||
MSB LSB | MSB LSB | |||
0 1 2 3 | 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 | 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 | |||
: ... : | : ... : | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 255 | List Length = 9 |semantic=allof | | | 255 | List Length = 9 |semantic=allof | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|tcpSharedOptionExID16 = TBD9 | Field Length = 2 | | |tcpSharedOptionExID16 = 521 | Field Length = 2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0x0348 | 0x454E | | | 0x0348 | 0x454E | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 255 | List Length = 9 |semantic=allof | | | 255 | List Length = 9 |semantic=allof | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|tcpSharedOptionExID32 = TBD10 | Field Length = 4 | | |tcpSharedOptionExID32 = 522 | Field Length = 4 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0xE2D4C3D9 | | | 0xE2D4C3D9 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
: ... : | : ... : | |||
Figure 7: Example of TCP Shared IEs | Figure 7: Example of TCP Shared IEs | |||
7. Security Considerations | 7. Security Considerations | |||
IPFIX security considerations are discussed in Section 11 of | IPFIX security considerations are discussed in Section 11 of | |||
skipping to change at page 18, line 4 ¶ | skipping to change at line 784 ¶ | |||
ipv6ExtensionHeadersChainLength and ipv6ExtensionHeadersLimit IEs can | ipv6ExtensionHeadersChainLength and ipv6ExtensionHeadersLimit IEs can | |||
be exploited by an unauthorized observer as a means to deduce the | be exploited by an unauthorized observer as a means to deduce the | |||
processing capabilities of nodes. Section 8 of [RFC7012] discusses | processing capabilities of nodes. Section 8 of [RFC7012] discusses | |||
the required measures to guarantee the integrity and confidentiality | the required measures to guarantee the integrity and confidentiality | |||
of the exported information. | of the exported information. | |||
This document does not add new security considerations for exporting | This document does not add new security considerations for exporting | |||
IEs other than those already discussed in Section 8 of [RFC7012]. | IEs other than those already discussed in Section 8 of [RFC7012]. | |||
8. IANA Considerations | 8. IANA Considerations | |||
8.1. Deprecate ipv6ExtensionHeaders and tcpOptions Information Elements | 8.1. Deprecate ipv6ExtensionHeaders and tcpOptions Information Elements | |||
This document requests IANA to update the "IPFIX Information | IANA has updated the "IPFIX Information Elements" registry under the | |||
Elements" registry under the "IP Flow Information Export (IPFIX) | "IP Flow Information Export (IPFIX) Entities" registry group | |||
Entities" registry group [IANA-IPFIX] as follows: | [IANA-IPFIX] as follows: | |||
* Update the ipv6ExtensionHeaders IE (64) entry by marking it as | * The ipv6ExtensionHeaders IE (64) entry has been marked as | |||
deprecated in favor of the ipv6ExtensionHeadersFull IE defined in | deprecated in favor of the ipv6ExtensionHeadersFull IE defined in | |||
this document. This note should also be echoed in the "Additional | this document. This note is echoed in the "Additional | |||
Information" of the ipv6ExtensionHeaders IE. | Information" of the ipv6ExtensionHeaders IE. | |||
* Update the tcpOptions IE (209) entry by marking it as deprecated | * The tcpOptions IE (209) entry has been marked as deprecated in | |||
in favor of the tcpOptionsFull IE defined in this document. This | favor of the tcpOptionsFull IE defined in this document. This | |||
note should also be echoed in the "Additional Information" of the | note is echoed in the "Additional Information" of the tcpOptions | |||
tcpOptions IE. | IE. | |||
* Add the following to the "Additional Information" of both the | * The following has been added to the "Additional Information" of | |||
ipv6ExtensionHeaders and tcpOptions IEs: | both the ipv6ExtensionHeaders and tcpOptions IEs: | |||
- This Information Element was initially specified in [RFC5102]. | - This Information Element was initially specified in [RFC5102]. | |||
- [RFC7012] has obsoleted [RFC5102] and specifies that | - [RFC7012] has obsoleted [RFC5102] and specifies that | |||
[IANA-IPFIX] is the normative reference for this Information | [IANA-IPFIX] is the normative reference for this Information | |||
Element. | Element. | |||
IANA is also requested to update the reference of | Also, IANA has updated the reference of ipv6ExtensionHeaders IE (64) | |||
ipv6ExtensionHeaders IE (64) and tcpOptions IE (209) to point to this | and tcpOptions IE (209) to point to this document. | |||
document. | ||||
8.2. IPFIX Information Elements | 8.2. IPFIX Information Elements | |||
This document requests IANA to add the following new IPFIX IEs to the | IANA has added the following new IPFIX IEs to the "IPFIX Information | |||
"IPFIX Information Elements" registry under the "IP Flow Information | Elements" registry under the "IP Flow Information Export (IPFIX) | |||
Export (IPFIX) Entities" registry group [IANA-IPFIX]: | Entities" registry group [IANA-IPFIX]: | |||
+===========+====================================+================+ | ||||
| ElementID | Name | Specification | | ||||
+===========+====================================+================+ | ||||
| TBD1 | ipv6ExtensionHeader | Section 3.1 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD2 | ipv6ExtensionHeaderCount | Section 3.2 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD3 | ipv6ExtensionHeadersFull | Section 3.3 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD4 | ipv6ExtensionHeaderTypeCountList | Section 3.4 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD5 | ipv6ExtensionHeadersLimit | Section 3.5 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD6 | ipv6ExtensionHeadersChainLength | Section 3.6 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD7 | ipv6ExtensionHeaderChainLengthList | Section 3.7 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD8 | tcpOptionsFull | Section 4.1 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD9 | tcpSharedOptionExID16 | Section 4.2 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD10 | tcpSharedOptionExID32 | Section 4.3 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD11 | tcpSharedOptionExID16List | Section 4.4 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
| TBD12 | tcpSharedOptionExID32List | Section 4.5 of | | ||||
| | | This-Document | | ||||
+-----------+------------------------------------+----------------+ | ||||
Table 1: New IPFIX Information Elements | ||||
Note to IANA: The "Specification" column points to the section | +===========+====================================+===============+ | |||
with the required information to register each IE. | | ElementID | Name | Specification | | |||
+===========+====================================+===============+ | ||||
| 513 | ipv6ExtensionHeaderType | Section 3.1 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 514 | ipv6ExtensionHeaderCount | Section 3.2 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 515 | ipv6ExtensionHeadersFull | Section 3.3 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 516 | ipv6ExtensionHeaderTypeCountList | Section 3.4 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 517 | ipv6ExtensionHeadersLimit | Section 3.5 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 518 | ipv6ExtensionHeadersChainLength | Section 3.6 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 519 | ipv6ExtensionHeaderChainLengthList | Section 3.7 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 520 | tcpOptionsFull | Section 4.1 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 521 | tcpSharedOptionExID16 | Section 4.2 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 522 | tcpSharedOptionExID32 | Section 4.3 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 523 | tcpSharedOptionExID16List | Section 4.4 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
| 524 | tcpSharedOptionExID32List | Section 4.5 | | ||||
| | | of RFC 9740 | | ||||
+-----------+------------------------------------+---------------+ | ||||
Note to the RFC Editor: Please remove the IANA note once IANA | Table 1: New IPFIX Information Elements | |||
actions are implemented. | ||||
8.3. IPFIX Information Element Data Type | 8.3. IPFIX Information Element Data Type | |||
This document requests IANA to add the following new abstract data | IANA has added the following new abstract data type to the "IPFIX | |||
type to the "IPFIX Information Element Data Types" registry under the | Information Element Data Types" registry under the "IP Flow | |||
"IP Flow Information Export (IPFIX) Entities" registry group | Information Export (IPFIX) Entities" registry group [IANA-IPFIX]: | |||
[IANA-IPFIX]: | ||||
+=======+=============+===============+ | +=======+=============+===========+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+=======+=============+===============+ | +=======+=============+===========+ | |||
| TBD10 | unsigned256 | This-Document | | | 23 | unsigned256 | RFC 9740 | | |||
+-------+-------------+---------------+ | +-------+-------------+-----------+ | |||
Table 2: New IPFIX Information | Table 2: New IPFIX Information | |||
Element Data Type | Element Data Type | |||
8.3.1. unsigned256 | 8.3.1. unsigned256 | |||
The type "unsigned256" represents a non-negative integer value in the | The type "unsigned256" represents a non-negative integer value in the | |||
range of '0' to '2^256 - 1'. Similar to Section 6.1.1 of [RFC7011], | range of '0' to '2^256 - 1'. Similar to Section 6.1.1 of [RFC7011], | |||
this type MUST be encoded using the default canonical format in | this type MUST be encoded using the default canonical format in | |||
network byte order. | network byte order. | |||
Reduced-Size encoding (Section 6.2 of [RFC7011]) applies to this data | Reduced-size encoding (Section 6.2 of [RFC7011]) applies to this data | |||
type. The reduction in size can be to any number of octets smaller | type. The reduction in size can be to any number of octets smaller | |||
than the unsigned256 type if the data value still fits, i.e., so that | than the unsigned256 type if the data value still fits, i.e., so that | |||
only leading zeroes are dropped. | only leading zeros are dropped. | |||
8.4. IPFIX Subregistry for IPv6 Extension Headers | 8.4. IPFIX Registry for IPv6 Extension Headers | |||
This document requests IANA to create a new registry entitled | IANA has created a new registry entitled "IPFIX ipv6ExtensionHeaders | |||
"ipv6ExtensionHeaders Bits" under the IANA IPFIX registry group | Bits" in the IANA IPFIX registry group [IANA-IPFIX]. | |||
[IANA-IPFIX]. | ||||
When a new code is assigned to an IPv6 EH in [IANA-EH], the next | When a new code is assigned to an IPv6 EH in [IANA-EH], the next | |||
available free bit is selected by IANA for this EH from | available free bit is selected by IANA for this EH from the "IPFIX | |||
"ipv6ExtensionHeaders Bits" registry and the registry is updated with | ipv6ExtensionHeaders Bits" registry, and the registry is updated with | |||
the details that mirror the assigned EH. The "Label" mirrors the | the details that mirror the assigned EH. The "Label" mirrors the | |||
"keyword" of an EH as indicated in [IANA-Protocols], while the | "keyword" of an EH as indicated in [IANA-Protocols], while the | |||
"Protocol Number" mirrors the "Protocol Number" in [IANA-EH]. IANA | "Protocol Number" mirrors the "Protocol Number" in [IANA-EH]. IANA | |||
is requested to add the following note to [IANA-EH]: | has added the following note to [IANA-EH]: | |||
Note: When a new code is assigned to an IPv6 Extension Header, | ||||
the next available free bit in [NEW_IPFIX_IPv6EH_SUBREGISTRY] | ||||
is selected for this new Extension Header. | ||||
[NEW_IPFIX_IPv6EH_SUBREGISTRY] is updated accordingly. | ||||
Modifications to existing registrations must be mirrored in | ||||
[NEW_IPFIX_IPv6EH_SUBREGISTRY]. | ||||
Note to the RFC Editor: Please replace | Note: When a new code is assigned to an IPv6 Extension Header, the | |||
[NEW_IPFIX_IPv6EH_SUBREGISTRY] with the link used by IANA for this | next available free bit in [IANA-IPFIX-IPv6EH] is selected for | |||
new registry. | this new Extension Header. [IANA-IPFIX-IPv6EH] is updated | |||
accordingly. Modifications to existing registrations must be | ||||
mirrored in [IANA-IPFIX-IPv6EH]. | ||||
Otherwise, the registration policy for the registry is Expert Review | Otherwise, the registration policy for the registry is Expert Review | |||
(Section 4.5 of [RFC8126]). See more details in Section 8.4.2. | (Section 4.5 of [RFC8126]). See more details in Section 8.4.2. | |||
8.4.1. Initial Values | 8.4.1. Initial Values | |||
The initial values of this registry are provided in Table 3. | The initial values of this registry are provided in Table 3. | |||
+=====+=======+==========+=========================+===============+ | +=======+=======+==========+=========================+===========+ | |||
| Bit | Label | Protocol | Description | Reference | | | Bit | Label | Protocol | Description | Reference | | |||
| | | Number | | | | | | | Number | | | | |||
+=====+=======+==========+=========================+===============+ | +=======+=======+==========+=========================+===========+ | |||
| 0 | DST | 60 | Destination Options for | This-Document | | | 0 | DST | 60 | Destination Options for | RFC 9740 | | |||
| | | | IPv6 | | | | | | | IPv6 | | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 1 | HOP | 0 | IPv6 Hop-by-Hop Options | This-Document | | | 1 | HOP | 0 | IPv6 Hop-by-Hop Options | RFC 9740 | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 2 | NoNxt | 59 | No Next Header for IPv6 | This-Document | | | 2 | NoNxt | 59 | No Next Header for IPv6 | RFC 9740 | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 3 | UNK | | Unknown extension or | This-Document | | | 3 | UNK | | Unknown extension or | RFC 9740 | | |||
| | | | transport header | | | | | | | transport header | | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 4 | FRA0 | 44 | Fragment header - first | This-Document | | | 4 | FRA0 | 44 | Fragment header - first | RFC 9740 | | |||
| | | | fragment | | | | | | | fragment | | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 5 | RH | 43 | Routing header | This-Document | | | 5 | RH | 43 | Routing header | RFC 9740 | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 6 | FRA1 | 44 | Fragmentation header - | This-Document | | | 6 | FRA1 | 44 | Fragmentation header - | RFC 9740 | | |||
| | | | not first fragment | | | | | | | not first fragment | | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 7 | MOB | 135 | Mobility Header | This-Document | | | 7 | MOB | 135 | Mobility Header | RFC 9740 | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 8 | ESP | 50 | Encapsulating Security | This-Document | | | 8 | ESP | 50 | Encapsulating Security | RFC 9740 | | |||
| | | | Payload | | | | | | | Payload | | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 9 | AH | 51 | Authentication Header | This-Document | | | 9 | AH | 51 | Authentication Header | RFC 9740 | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 10 | HIP | 139 | Host Identity Protocol | This-Document | | | 10 | HIP | 139 | Host Identity Protocol | RFC 9740 | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 11 | SHIM6 | 140 | Shim6 Protocol | This-Document | | | 11 | SHIM6 | 140 | Shim6 Protocol | RFC 9740 | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 12 | | 253 | Use for experimentation | This-Document | | | 12 | | 253 | Use for experimentation | RFC 9740 | | |||
| | | | and testing | | | | | | | and testing | | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 13 | | 254 | Use for experimentation | This-Document | | | 13 | | 254 | Use for experimentation | RFC 9740 | | |||
| | | | and testing | | | | | | | and testing | | | |||
+-----+-------+----------+-------------------------+---------------+ | +-------+-------+----------+-------------------------+-----------+ | |||
| 14 | | | Unassigned | | | | 14 to | | | Unassigned | | | |||
| to | | | | | | | 255 | | | | | | |||
| 255 | | | | | | +-------+-------+----------+-------------------------+-----------+ | |||
+-----+-------+----------+-------------------------+---------------+ | ||||
Table 3: Initial Values of the IPv6 Extension Headers IPFIX | Table 3: Initial Values of the "IPFIX ipv6ExtensionHeaders | |||
Subregistry | Bits" Registry | |||
8.4.2. Guidelines for the Designated Experts | 8.4.2. Guidelines for the Designated Experts | |||
It is suggested that multiple designated experts be appointed for | It is suggested that multiple designated experts be appointed for | |||
registry change requests. | registry change requests. | |||
Designated experts are solicited only for changes that are not | Designated experts are solicited only for changes that are not | |||
covered by the automatic mirroring described above. For example, a | covered by the automatic mirroring described above. For example, a | |||
registration may request two bits for a new EH to cover specific | registration may request two bits for a new EH to cover specific | |||
behaviors or uses of that EH. | behaviors or uses of that EH. | |||
skipping to change at page 23, line 30 ¶ | skipping to change at line 985 ¶ | |||
Within the review period, the designated experts will either approve | Within the review period, the designated experts will either approve | |||
or deny the registration request, communicating this decision to the | or deny the registration request, communicating this decision to the | |||
IANA. Denials should include an explanation and, if applicable, | IANA. Denials should include an explanation and, if applicable, | |||
suggestions as to how to make the request successful. | suggestions as to how to make the request successful. | |||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[IANA-EH] IANA, "Internet Protocol Version 6 (IPv6) Parameters, IPv6 | [IANA-EH] IANA, "IPv6 Extension Header Types", | |||
Extension Header Types", | <https://www.iana.org/assignments/ipv6-parameters>. | |||
<https://www.iana.org/assignments/ipv6-parameters/ipv6- | ||||
parameters.xhtml#extension-header>. | ||||
[IANA-IPFIX] | [IANA-IPFIX] | |||
IANA, "IP Flow Information Export (IPFIX) Entities", | IANA, "IP Flow Information Export (IPFIX) Entities", | |||
<https://www.iana.org/assignments/ipfix/ipfix.xhtml>. | <https://www.iana.org/assignments/ipfix>. | |||
[IANA-IPFIX-IPv6EH] | ||||
IANA, "IPFIX ipv6ExtensionHeaders Bits", | ||||
<https://www.iana.org/assignments/ipfix>. | ||||
[IANA-Protocols] | [IANA-Protocols] | |||
IANA, "Protocol Numbers", | IANA, "Protocol Numbers", | |||
<https://www.iana.org/assignments/protocol-numbers/ | <https://www.iana.org/assignments/protocol-numbers>. | |||
protocol-numbers.xhtml>. | ||||
[IANA-TCP] IANA, "Transmission Control Protocol (TCP) Parameters, TCP | [IANA-TCP] IANA, "TCP Option Kind Numbers", | |||
Option Kind Numbers", <https://www.iana.org/assignments/ | <https://www.iana.org/assignments/tcp-parameters>. | |||
tcp-parameters/tcp-parameters.xhtml#tcp-parameters-1>. | ||||
[IANA-TCP-EXIDs] | [IANA-TCP-ExIDs] | |||
IANA, "Transmission Control Protocol (TCP) Parameters, TCP | IANA, "TCP Experimental Option Experiment Identifiers (TCP | |||
Experimental Option Experiment Identifiers (TCP ExIDs)", | ExIDs)", | |||
<https://www.iana.org/assignments/tcp-parameters/tcp- | <https://www.iana.org/assignments/tcp-parameters>. | |||
parameters.xhtml#tcp-exids>. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/rfc/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC6313] Claise, B., Dhandapani, G., Aitken, P., and S. Yates, | [RFC6313] Claise, B., Dhandapani, G., Aitken, P., and S. Yates, | |||
"Export of Structured Data in IP Flow Information Export | "Export of Structured Data in IP Flow Information Export | |||
(IPFIX)", RFC 6313, DOI 10.17487/RFC6313, July 2011, | (IPFIX)", RFC 6313, DOI 10.17487/RFC6313, July 2011, | |||
<https://www.rfc-editor.org/rfc/rfc6313>. | <https://www.rfc-editor.org/info/rfc6313>. | |||
[RFC6994] Touch, J., "Shared Use of Experimental TCP Options", | [RFC6994] Touch, J., "Shared Use of Experimental TCP Options", | |||
RFC 6994, DOI 10.17487/RFC6994, August 2013, | RFC 6994, DOI 10.17487/RFC6994, August 2013, | |||
<https://www.rfc-editor.org/rfc/rfc6994>. | <https://www.rfc-editor.org/info/rfc6994>. | |||
[RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, | [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, | |||
"Specification of the IP Flow Information Export (IPFIX) | "Specification of the IP Flow Information Export (IPFIX) | |||
Protocol for the Exchange of Flow Information", STD 77, | Protocol for the Exchange of Flow Information", STD 77, | |||
RFC 7011, DOI 10.17487/RFC7011, September 2013, | RFC 7011, DOI 10.17487/RFC7011, September 2013, | |||
<https://www.rfc-editor.org/rfc/rfc7011>. | <https://www.rfc-editor.org/info/rfc7011>. | |||
[RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model | [RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model | |||
for IP Flow Information Export (IPFIX)", RFC 7012, | for IP Flow Information Export (IPFIX)", RFC 7012, | |||
DOI 10.17487/RFC7012, September 2013, | DOI 10.17487/RFC7012, September 2013, | |||
<https://www.rfc-editor.org/rfc/rfc7012>. | <https://www.rfc-editor.org/info/rfc7012>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/rfc/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | |||
(IPv6) Specification", STD 86, RFC 8200, | (IPv6) Specification", STD 86, RFC 8200, | |||
DOI 10.17487/RFC8200, July 2017, | DOI 10.17487/RFC8200, July 2017, | |||
<https://www.rfc-editor.org/rfc/rfc8200>. | <https://www.rfc-editor.org/info/rfc8200>. | |||
[RFC9293] Eddy, W., Ed., "Transmission Control Protocol (TCP)", | [RFC9293] Eddy, W., Ed., "Transmission Control Protocol (TCP)", | |||
STD 7, RFC 9293, DOI 10.17487/RFC9293, August 2022, | STD 7, RFC 9293, DOI 10.17487/RFC9293, August 2022, | |||
<https://www.rfc-editor.org/rfc/rfc9293>. | <https://www.rfc-editor.org/info/rfc9293>. | |||
9.2. Informative References | 9.2. Informative References | |||
[I-D.ietf-6man-eh-limits] | [EH-LIMITS] | |||
Herbert, T., "Limits on Sending and Processing IPv6 | Herbert, T., "Limits on Sending and Processing IPv6 | |||
Extension Headers", Work in Progress, Internet-Draft, | Extension Headers", Work in Progress, Internet-Draft, | |||
draft-ietf-6man-eh-limits-13, 12 June 2024, | draft-ietf-6man-eh-limits-18, 20 December 2024, | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-6man-eh- | <https://datatracker.ietf.org/doc/html/draft-ietf-6man-eh- | |||
limits-13>. | limits-18>. | |||
[RFC5102] Quittek, J., Bryant, S., Claise, B., Aitken, P., and J. | [RFC5102] Quittek, J., Bryant, S., Claise, B., Aitken, P., and J. | |||
Meyer, "Information Model for IP Flow Information Export", | Meyer, "Information Model for IP Flow Information Export", | |||
RFC 5102, DOI 10.17487/RFC5102, January 2008, | RFC 5102, DOI 10.17487/RFC5102, January 2008, | |||
<https://www.rfc-editor.org/rfc/rfc5102>. | <https://www.rfc-editor.org/info/rfc5102>. | |||
[RFC7609] Fox, M., Kassimis, C., and J. Stevens, "IBM's Shared | [RFC7609] Fox, M., Kassimis, C., and J. Stevens, "IBM's Shared | |||
Memory Communications over RDMA (SMC-R) Protocol", | Memory Communications over RDMA (SMC-R) Protocol", | |||
RFC 7609, DOI 10.17487/RFC7609, August 2015, | RFC 7609, DOI 10.17487/RFC7609, August 2015, | |||
<https://www.rfc-editor.org/rfc/rfc7609>. | <https://www.rfc-editor.org/info/rfc7609>. | |||
[RFC7872] Gont, F., Linkova, J., Chown, T., and W. Liu, | [RFC7872] Gont, F., Linkova, J., Chown, T., and W. Liu, | |||
"Observations on the Dropping of Packets with IPv6 | "Observations on the Dropping of Packets with IPv6 | |||
Extension Headers in the Real World", RFC 7872, | Extension Headers in the Real World", RFC 7872, | |||
DOI 10.17487/RFC7872, June 2016, | DOI 10.17487/RFC7872, June 2016, | |||
<https://www.rfc-editor.org/rfc/rfc7872>. | <https://www.rfc-editor.org/info/rfc7872>. | |||
[RFC7974] Williams, B., Boucadair, M., and D. Wing, "An Experimental | [RFC7974] Williams, B., Boucadair, M., and D. Wing, "An Experimental | |||
TCP Option for Host Identification", RFC 7974, | TCP Option for Host Identification", RFC 7974, | |||
DOI 10.17487/RFC7974, October 2016, | DOI 10.17487/RFC7974, October 2016, | |||
<https://www.rfc-editor.org/rfc/rfc7974>. | <https://www.rfc-editor.org/info/rfc7974>. | |||
[RFC8547] Bittau, A., Giffin, D., Handley, M., Mazieres, D., and E. | [RFC8547] Bittau, A., Giffin, D., Handley, M., Mazieres, D., and E. | |||
Smith, "TCP-ENO: Encryption Negotiation Option", RFC 8547, | Smith, "TCP-ENO: Encryption Negotiation Option", RFC 8547, | |||
DOI 10.17487/RFC8547, May 2019, | DOI 10.17487/RFC8547, May 2019, | |||
<https://www.rfc-editor.org/rfc/rfc8547>. | <https://www.rfc-editor.org/info/rfc8547>. | |||
[RFC8883] Herbert, T., "ICMPv6 Errors for Discarding Packets Due to | [RFC8883] Herbert, T., "ICMPv6 Errors for Discarding Packets Due to | |||
Processing Limits", RFC 8883, DOI 10.17487/RFC8883, | Processing Limits", RFC 8883, DOI 10.17487/RFC8883, | |||
September 2020, <https://www.rfc-editor.org/rfc/rfc8883>. | September 2020, <https://www.rfc-editor.org/info/rfc8883>. | |||
[RFC9098] Gont, F., Hilliard, N., Doering, G., Kumari, W., Huston, | [RFC9098] Gont, F., Hilliard, N., Doering, G., Kumari, W., Huston, | |||
G., and W. Liu, "Operational Implications of IPv6 Packets | G., and W. Liu, "Operational Implications of IPv6 Packets | |||
with Extension Headers", RFC 9098, DOI 10.17487/RFC9098, | with Extension Headers", RFC 9098, DOI 10.17487/RFC9098, | |||
September 2021, <https://www.rfc-editor.org/rfc/rfc9098>. | September 2021, <https://www.rfc-editor.org/info/rfc9098>. | |||
Acknowledgments | Acknowledgments | |||
Thanks to Paul Aitken, Éric Vyncke, and Joe Touch for the reviews and | Thanks to Paul Aitken, Éric Vyncke, and Joe Touch for the reviews and | |||
comments. Special thanks to Andrew Feren for sharing data about | comments. Special thanks to Andrew Feren for sharing data about | |||
scans of IPFIX data he collected. | scans of IPFIX data he collected. | |||
Thanks to Wesley Eddy for the tsvart review, Yingzhen Qu for the | Thanks to Wesley Eddy for the tsvart review, Yingzhen Qu for the | |||
opsdir review, Dirk Von Hugo for intdir review, Joel Halpern for the | opsdir review, Dirk Von Hugo for intdir review, Joel Halpern for the | |||
genart review, and Tero Kivinen for the secdir review. | genart review, and Tero Kivinen for the secdir review. | |||
End of changes. 127 change blocks. | ||||
353 lines changed or deleted | 322 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |