Skip to main content

Export of UDP Options Information in IP Flow Information Export (IPFIX)
draft-ietf-opsawg-tsvwg-udp-ipfix-08

Document Type Active Internet-Draft (opsawg WG)
Authors Mohamed Boucadair , Tirumaleswar Reddy.K
Last updated 2024-04-26
Replaces draft-boucadair-opsawg-tsvwg-udp-ipfix
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status Proposed Standard
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state Submitted to IESG for Publication
Document shepherd Thomas Graf
Shepherd write-up Show Last changed 2024-04-10
IESG IESG state In Last Call (ends 2024-05-10)
Action Holder
Consensus boilerplate Yes
Telechat date (None)
Responsible AD Mahesh Jethanandani
Send notices to thomas.graf@swisscom.com
IANA IANA review state IANA - Review Needed
IANA expert review state Reviews assigned
draft-ietf-opsawg-tsvwg-udp-ipfix-08
OPSAWG                                                      M. Boucadair
Internet-Draft                                                    Orange
Intended status: Standards Track                              T. Reddy.K
Expires: 28 October 2024                                           Nokia
                                                           26 April 2024

Export of UDP Options Information in IP Flow Information Export (IPFIX)
                  draft-ietf-opsawg-tsvwg-udp-ipfix-08

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 28 October 2024.

Copyright Notice

   Copyright (c) 2024 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Boucadair & Reddy.K      Expires 28 October 2024                [Page 1]
Internet-Draft          IPFIX IE for UDP Options              April 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 . . . . . . . . . . . . . . . . . . . . .   8
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   IP Flow Information Export (IPFIX) [RFC7011] is a protocol that is
   widely deployed in operators networks for traffic management purposes
   (Section 2 of [RFC6632]).  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 28 October 2024                [Page 2]
Internet-Draft          IPFIX IE for UDP Options              April 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.

   The document adheres to the naming conventions for Information
   Elements per Section 2.3 of [RFC7012].

   Also, this document uses the terms defined in Section 3 of
   [I-D.ietf-tsvwg-udp-options], especially "datagram" and "surplus
   area".

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

Boucadair & Reddy.K      Expires 28 October 2024                [Page 3]
Internet-Draft          IPFIX IE for UDP Options              April 2024

   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.

   [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

Boucadair & Reddy.K      Expires 28 October 2024                [Page 4]
Internet-Draft          IPFIX IE for UDP Options              April 2024

      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

   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

Boucadair & Reddy.K      Expires 28 October 2024                [Page 5]
Internet-Draft          IPFIX IE for UDP Options              April 2024

   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

   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, Kind=0) and Alternate payload
   checksum (APC, Kind=2) 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 with EOL and APC Options

   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.  If udpOptions IE is exported for this Flow, then that IE
   will have bits in positions 127 (EXP) and 254 (UEXP) set to 1
   (Figure 3).  This example does not make any assumption about the
   presence of other UDP options.

Boucadair & Reddy.K      Expires 28 October 2024                [Page 6]
Internet-Draft          IPFIX IE for UDP Options              April 2024

        MSB                                                     LSB
                            12                          25
         0 1 2 3 ... 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5
        +-+-+-+-+...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+
        |X|1|X|X|   |X|X|X|X|X|X|X|X|X|X|X|1|X|X|   |X|X|X|X|X|X|X|
        +-+-+-+-+...+-+-+-+-+-+-+-+-++-++-+-+-+-+...+-+-+-+-+-+-+-+

        Figure 3: An Example of udpOptions with EXP and UEXPOptions

   As shown in Figure 4, the following IEs are used to report 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.

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

Boucadair & Reddy.K      Expires 28 October 2024                [Page 7]
Internet-Draft          IPFIX IE for UDP Options              April 2024

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

      Section 4.1 uses the abstract data type ("unsigned256") defined in
      [I-D.ietf-opsawg-ipfix-tcpo-v6eh].

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-32,
              21 March 2024, <https://datatracker.ietf.org/doc/html/
              draft-ietf-tsvwg-udp-options-32>.

   [RFC0768]  Postel, J., "User Datagram Protocol", STD 6, RFC 768,
              DOI 10.17487/RFC0768, August 1980,
              <https://www.rfc-editor.org/rfc/rfc768>.

   [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,
              <https://www.rfc-editor.org/rfc/rfc7011>.

   [RFC7012]  Claise, B., Ed. and B. Trammell, Ed., "Information Model
              for IP Flow Information Export (IPFIX)", RFC 7012,
              DOI 10.17487/RFC7012, September 2013,
              <https://www.rfc-editor.org/rfc/rfc7012>.

Boucadair & Reddy.K      Expires 28 October 2024                [Page 8]
Internet-Draft          IPFIX IE for UDP Options              April 2024

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-11, 15 April 2024,
              <https://datatracker.ietf.org/doc/html/draft-ietf-opsawg-
              ipfix-tcpo-v6eh-11>.

   [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,
              <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-
              udp-options-dplpmtud-11>.

   [IANA-IPFIX]
              "IP Flow Information Export (IPFIX) Entities", n.d.,
              <https://www.iana.org/assignments/ipfix/ipfix.xhtml>.

   [RFC4340]  Kohler, E., Handley, M., and S. Floyd, "Datagram
              Congestion Control Protocol (DCCP)", RFC 4340,
              DOI 10.17487/RFC4340, March 2006,
              <https://www.rfc-editor.org/rfc/rfc4340>.

   [RFC6632]  Ersue, M., Ed. and B. Claise, "An Overview of the IETF
              Network Management Standards", RFC 6632,
              DOI 10.17487/RFC6632, June 2012,
              <https://www.rfc-editor.org/rfc/rfc6632>.

   [RFC9260]  Stewart, R., Tüxen, M., and K. Nielsen, "Stream Control
              Transmission Protocol", RFC 9260, DOI 10.17487/RFC9260,
              June 2022, <https://www.rfc-editor.org/rfc/rfc9260>.

   [RFC9293]  Eddy, W., Ed., "Transmission Control Protocol (TCP)",
              STD 7, RFC 9293, DOI 10.17487/RFC9293, August 2022,
              <https://www.rfc-editor.org/rfc/rfc9293>.

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.

Boucadair & Reddy.K      Expires 28 October 2024                [Page 9]
Internet-Draft          IPFIX IE for UDP Options              April 2024

   Thanks to Mahesh Jethanandani for the AD 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 28 October 2024               [Page 10]