OPSAWG M. Boucadair Internet-Draft Orange Intended status: Standards Track T. Reddy.K Expires: 26 July 2024 Nokia 23 January 2024 Export of UDP Options Information in IP Flow Information Export (IPFIX) draft-ietf-opsawg-tsvwg-udp-ipfix-07 Abstract This document specifies new IP Flow Information Export (IPFIX) Information Elements for UDP 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/udp-ipfix. Status of This Memo This Internet-Draft is submitted in full conformance with the 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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 26 July 2024. Copyright Notice Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. Boucadair & Reddy.K Expires 26 July 2024 [Page 1] Internet-Draft IPFIX IE for UDP Options January 2024 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions and Definitions . . . . . . . . . . . . . . . . . 3 3. UDP Options at a Glance . . . . . . . . . . . . . . . . . . . 3 4. New UDP IPFIX Information Elements . . . . . . . . . . . . . 4 4.1. udpOptions . . . . . . . . . . . . . . . . . . . . . . . 4 4.2. udpSafeExperimentalOptionExID . . . . . . . . . . . . . . 5 4.3. udpUnsafeExperimentalOptionExID . . . . . . . . . . . . . 5 5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 8.1. Normative References . . . . . . . . . . . . . . . . . . 8 8.2. Informative References . . . . . . . . . . . . . . . . . 8 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction IP Flow Information Export (IPFIX) [RFC7011] is a protocol that is widely deployed in operators networks for traffic management purposes. The protocol specifies the encoding of a set of basic data types and how the various Information Elements (IEs) are transmitted. In order to support the export of new flow-related measurement data, new IEs can be defined and registered in a dedicated IANA registry [IANA-IPFIX] for interoperability. This document specifies new IPFIX Information Elements for UDP options (Section 4). A brief overview of UDP options is provided in Section 3. The IE specified in Section 4.1 uses the new abstract data type defined in [I-D.ietf-opsawg-ipfix-tcpo-v6eh]. Examples to illustrate the use of the new IPFIX Information Elements are provided in Section 5. Boucadair & Reddy.K Expires 26 July 2024 [Page 2] Internet-Draft IPFIX IE for UDP Options January 2024 2. Conventions and Definitions This document uses the IPFIX-specific terminology (e.g., Flow) defined in Section 2 of [RFC7011]. As in [RFC7011], these IPFIX- specific terms have the first letter of a word capitalized. Also, this document uses the terms defined in Section 3 of [I-D.ietf-tsvwg-udp-options]. 3. UDP Options at a Glance UDP [RFC0768] does not support an extension mechanism similar to the options supported by other transport protocols, such as TCP [RFC9293], SCTP [RFC9260], or DCCP [RFC4340]. Such a mechanism can be useful for various applications, e.g., discover a path MTU or share timestamps. To fill that void, [I-D.ietf-tsvwg-udp-options] extends UDP with a mechanism to insert extensions in datagrams. To do so, and unlike the conventional approach that relies upon transport headers, [I-D.ietf-tsvwg-udp-options] uses trailers. Concretely, UDP options are placed in the surplus area (that is, the area of an IP payload that follows a UDP packet). See Figure 1. An example of the use of UDP options is described in [I-D.ietf-tsvwg-udp-options-dplpmtud]. IP transport payload <-------------------------------------------------> +--------+---------+----------------------+------------------+ | IP Hdr | UDP Hdr | UDP user data | surplus area | +--------+---------+----------------------+------------------+ <------------------------------> UDP Length Figure 1: Surplus Area Section 4.1 introduces a new IE to export the observed UDP options. Options indicated by Kind values in the range 0-191 are called SAFE options. Such options can be silently ignored by legacy receivers because they do not alter the UDP user data (Section 11 of [I-D.ietf-tsvwg-udp-options]). Options indicated by Kind values in the range 192-255 are called UNSAFE options. Such options are not safe for legacy receivers to ignore because they alter the UDP user data (Section 12 of [I-D.ietf-tsvwg-udp-options]). UDP options occur per-packet within a Flow and can be inserted at any time in the Flow. Boucadair & Reddy.K Expires 26 July 2024 [Page 3] Internet-Draft IPFIX IE for UDP Options January 2024 [I-D.ietf-tsvwg-udp-options] reserves two options for experiments: the Experimental option (EXP, Kind=127) for SAFE options and the UNSAFE Experimental option (UEXP, Kind=254). For both options, Experimental ID (ExIDs) are used to differentiate concurrent use of these options. Known ExIDs are expected to be registered within IANA. Section 4.2 specifies a new IPFIX IE to export observed ExIDs in the EXP options. Also, Section 4.3 specifies a new IPFIX IE to export observed ExIDs in the UEXP options. Only 16-bit ExIDs are supported in [I-D.ietf-tsvwg-udp-options]. This document does not intend to elaborate operational guidance/ implications of UDP options. The document focuses exclusively on exporting observed UDP options in datagrams. 4. New UDP IPFIX Information Elements Note: "URL_IANA_UDP_OPTIONS" is the URL of the "UDP Option Kind Numbers" registry group while "URL_IANA_UDP_ExIDs" is the URL of the "UDP Experimental Option Experiment Identifiers (UDP ExIDs)" registry that will be created by IANA as per Section 25 of [I-D.ietf-tsvwg-udp-options]. 4.1. udpOptions Name: udpOptions ElementID: TBD1 Description: Observed UDP options in a Flow. The information is encoded in a set of bit fields. Options are mapped to bits according to their option numbers. UDP option kind 0 corresponds to the least-significant bit in the udpOptions IE while kind 255 corresponds to the most-significant bit of the IE. A bit is set to 1 if the corresponding UDP option is observed in the Flow. The bit is set to 0 if the option is not observed in the Flow. To cover the 0-255 kind range, up to 256 flags can be set in the value field. The reduced-size encoding specified in Section 6.2 of [RFC7011] is followed whenever fewer octets are needed to report observed UDP options. For example, if only option kinds <= 32 are observed, then the value can be encoded as unsigned32, or if only option kinds <= 63 are observed, then the value can be encoded as unsigned64. Abstract Data Type: unsigned256 Boucadair & Reddy.K Expires 26 July 2024 [Page 4] Internet-Draft IPFIX IE for UDP Options January 2024 Data Type Semantics: flags Additional Information: See the assigned UDP options in the "UDP Option Kind Numbers" registry at [URL_IANA_UDP_OPTIONS]. See [I-D.ietf-tsvwg-udp-options] for more details about UDP options. Reference: This-Document 4.2. udpSafeExperimentalOptionExID Name: udpSafeExperimentalOptionExID ElementID: TBD2 Description: Observed Experiments ID (ExIDs) in the Experimental option (EXP, Kind=127). The information is encoded in a set of 16-bit fields. Each 16-bit field carries the observed ExID in an EXP option. Abstract Data Type: octetArray Data Type Semantics: identifier Additional Information: See the assignments in the "UDP Experimental Option Experiment Identifiers (UDP ExIDs)" registry at [URL_IANA_UDP_ExIDs]. See [I-D.ietf-tsvwg-udp-options] for more details about ExIDs. Reference: This-Document 4.3. udpUnsafeExperimentalOptionExID Name: udpUnsafeExperimentalOptionExID ElementID: TBD3 Description: Observed Experiments ID (ExIDs) in the UNSAFE Experimental option (UEXP, Kind=254). The information is encoded in a set of 16-bit fields. Each 16-bit field carries the observed ExID in an UEXP option. Abstract Data Type: octetArray Boucadair & Reddy.K Expires 26 July 2024 [Page 5] Internet-Draft IPFIX IE for UDP Options January 2024 Data Type Semantics: identifier Additional Information: See the assignments in the "UDP Experimental Option Experiment Identifiers (UDP ExIDs)" registry at [URL_IANA_UDP_ExIDs]. See [I-D.ietf-tsvwg-udp-options] for more details about ExIDs. Reference: This-Document 5. Examples Given UDP kind allocation in Section 10 of [I-D.ietf-tsvwg-udp-options] and the option mapping defined in Section 4.1 of this document, fewer octets are likely to be used for Flows with mandatory UDP options. Figure 2 shows an example of reported values in a udpOptions IE for a Flow in which End of Options List (EOL) and Alternate payload checksum (APC) options are observed. One octet is sufficient to report these observed options. Concretely, the reported udpOptions IE will be set to 0x05. MSB LSB 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|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|1| +-+-+-+-+-+-+-+-+-+-+-+-+-+-++-++-+-+-+-+...+-+-+-+-+-+-+-+-+ Figure 2: An Example of udpOptions IE Let us now consider a UDP Flow in which both SAFE and UNSAFE Experimental options are observed. Let us also consider that the observed SAFE Experimental options have ExIDs set to 0x9858 and 0xE2D4, and UNSAFE Experimental options have ExIDs set to 0xC3D9 and 0x9858. As shown in Figure 3, the following IEs are used to report these observed ExIDs: 1. udpSafeExperimentalOptionExID IE set to 0x9858E2D4 to report observed ExIDs of SAFE Experimental options. 2. udpUnsafeExperimentalOptionExID IE set to 0xC3D99658 to report the ExIDs of the observed UNSAFE Experimental options. Boucadair & Reddy.K Expires 26 July 2024 [Page 6] Internet-Draft IPFIX IE for UDP Options January 2024 udpSafeExperimentalOptionExID IE: MSB LSB 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0x9858 | 0xE2D4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ udpUnsafeExperimentalOptionExID IE: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0xC3D9 | 0x9658 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: Example of UDP Experimental option IEs 6. Security Considerations This document does not introduce new security considerations other than those already discussed in Section 8 of [RFC7012]. The reader may refer to Section 22 of [I-D.ietf-tsvwg-udp-options] for the security considerations related to UDP options. 7. IANA Considerations This document requests IANA to add the following new IEs to the IANA registry entitled "IP Flow Information Export (IPFIX) Entities" [IANA-IPFIX]: +=======+=================================+================+ | Value | Name | Reference | +=======+=================================+================+ | TBD1 | udpOptions | Section 4.1 of | | | | This-Document | +-------+---------------------------------+----------------+ | TBD2 | udpSafeExperimentalOptionExID | Section 4.2 of | | | | This-Document | +-------+---------------------------------+----------------+ | TBD3 | udpUnsafeExperimentalOptionExID | Section 4.3 of | | | | This-Document | +-------+---------------------------------+----------------+ Table 1: New IPFIX Information Elements Boucadair & Reddy.K Expires 26 July 2024 [Page 7] Internet-Draft IPFIX IE for UDP Options January 2024 8. References 8.1. Normative References [I-D.ietf-tsvwg-udp-options] Touch, J. D., "Transport Options for UDP", Work in Progress, Internet-Draft, draft-ietf-tsvwg-udp-options-28, 17 November 2023, . [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, DOI 10.17487/RFC0768, August 1980, . [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, "Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information", STD 77, RFC 7011, DOI 10.17487/RFC7011, September 2013, . [RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model for IP Flow Information Export (IPFIX)", RFC 7012, DOI 10.17487/RFC7012, September 2013, . 8.2. Informative References [I-D.ietf-opsawg-ipfix-tcpo-v6eh] Boucadair, M. and B. Claise, "Extended TCP Options and IPv6 Extension Headers IPFIX Information Elements", Work in Progress, Internet-Draft, draft-ietf-opsawg-ipfix-tcpo- v6eh-08, 17 January 2024, . [I-D.ietf-tsvwg-udp-options-dplpmtud] Fairhurst, G. and T. Jones, "Datagram PLPMTUD for UDP Options", Work in Progress, Internet-Draft, draft-ietf- tsvwg-udp-options-dplpmtud-11, 4 January 2024, . [IANA-IPFIX] "IP Flow Information Export (IPFIX) Entities", n.d., . Boucadair & Reddy.K Expires 26 July 2024 [Page 8] Internet-Draft IPFIX IE for UDP Options January 2024 [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram Congestion Control Protocol (DCCP)", RFC 4340, DOI 10.17487/RFC4340, March 2006, . [RFC9260] Stewart, R., Tüxen, M., and K. Nielsen, "Stream Control Transmission Protocol", RFC 9260, DOI 10.17487/RFC9260, June 2022, . [RFC9293] Eddy, W., Ed., "Transmission Control Protocol (TCP)", STD 7, RFC 9293, DOI 10.17487/RFC9293, August 2022, . Acknowledgments Thanks to Benoît Claise for the discussion on the ordering of IPFIX IEs. Thanks to Paul Aitken for the review and comments. Thanks to Tommy Pauly for the tsvart review and Joe Touch for the intdir review. Thanks to Thomas Graf for the Shepherd review. Authors' Addresses Mohamed Boucadair Orange 35000 Rennes France Email: mohamed.boucadair@orange.com Tirumaleswar Reddy.K Nokia India Email: kondtir@gmail.com Boucadair & Reddy.K Expires 26 July 2024 [Page 9]