| 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 | March 2025 | |||
| Extended TCP Options and IPv6 Extension Headers IPFIX Information | New IPFIX Information Elements for TCP Options and IPv6 Extension | |||
| 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 a 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, | |||
| * the occurrences of the Destination Options headers that are | * the occurrences of the Destination Options headers that are | |||
| observed before a Fragment header, | observed before a Fragment header, | |||
| * the occurrences of the Fragment headers, and | * the occurrences of the Fragment headers, and | |||
| 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 | |||
| tcpSharedOptionExID16List or tcpSharedOptionExID32List IEs takes | tcpSharedOptionExID16List or tcpSharedOptionExID32List IEs takes | |||
| precedence over setting the corresponding bits in the | precedence over setting the corresponding bits in the | |||
| tcpOptionsFull IE for the same Flow. In order to optimize the use | tcpOptionsFull IE for the same Flow. In order to optimize the use | |||
| 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) 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 658 ¶ | |||
| 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 783 ¶ | |||
| 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 984 ¶ | |||
| 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-19, 27 February 2025, | |||
| <https://datatracker.ietf.org/doc/html/draft-ietf-6man-eh- | <https://datatracker.ietf.org/api/v1/doc/document/draft- | |||
| limits-13>. | ietf-6man-eh-limits/>. | |||
| [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. 128 change blocks. | ||||
| 357 lines changed or deleted | 325 lines changed or added | |||
| This html diff was produced by rfcdiff 1.48. | ||||