Internet-Draft IPFIX IE for UDP Options October 2023
Boucadair & Reddy.K Expires 19 April 2024 [Page]
Workgroup:
OPSAWG
Internet-Draft:
draft-ietf-opsawg-tsvwg-udp-ipfix-03
Published:
Intended Status:
Standards Track
Expires:
Authors:
M. Boucadair
Orange
T. Reddy.K
Nokia

Export of UDP Options Information in IP Flow Information Export (IPFIX)

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 19 April 2024.

Table of Contents

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 option is provided in Section 3.

2. Conventions and Definitions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

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 because they do not alter the UDP data payload. Such options can be silently ignored by receivers without affecting the meaning of the UDP user data (Section 9 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 to ignore (Section 10 of [I-D.ietf-tsvwg-udp-options]).

[I-D.ietf-tsvwg-udp-options] reserves two options for experiements: 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 to export observed ExIDs in the UEXP options. Only 16-bits ExIDs are supported.

This document does not intend to elaborate operational guidance/implications of UDP options. The document focuses exclusively on exporting observed UDP options in datagrams. The motivation for exporting such data is similar to the one for exporting TCP options (tcpOptions) or IPv6 Extension Headers (ipv6ExtensionHeaders).

4. New UDP IPFIX Information Elements

4.1. udpOptions

Name:

udpOptions

ElementID:

TBD1

Description:

Observed UDP options of a Flow. The information is encoded in a set of bit fields.

Options are mapped to bits according to their option numbers. Option with a Kind value X is mapped to bit position "254-X" with bit 254 is the less-signficant bit of the IE and bit 0 is the most-significant bit. 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 255 flags can be set in the value field. The 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:

unsigned

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. udpExpOptionExID

Name:

udpExpExID

ElementID:

TBD2

Description:

Observed Expermients 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. udpUnsafeExpOptionExID

Name:

udpUnsafeExpOptionExID

ElementID:

TBD3

Description:

Observed Expermients 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. An Example

Given UDP kind allocation in Section 8 of [I-D.ietf-tsvwg-udp-options] and the option mapping defined in Section 4.1, fewer octers 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 udpOptions IE will be set to 5.

MSB                                                       LSB
                     1                   2     …  25
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 … 9 0 1 2 3 4
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+…+-+-+-+-+-+-+
|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|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+…+-+-+-+-+-+-+
Figure 2: An Example of udpOptions IE

6. Security Considerations

This document does not introduce new security considerations other than those already discussed in [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]:

Table 1: New IPFIX Information Elements
Value Name Reference
TBD1 udpOptions Section 4.1 of This-Document
TBD2 udpExpOptionExID Section 4.2 of This-Document
TBD3 udpUnsafeExpOptionExID Section 4.3 of This-Document

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-23, , <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-udp-options-23>.
[RFC0768]
Postel, J., "User Datagram Protocol", STD 6, RFC 768, DOI 10.17487/RFC0768, , <https://www.rfc-editor.org/rfc/rfc768>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[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, , <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, , <https://www.rfc-editor.org/rfc/rfc7012>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.

8.2. Informative References

[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-10, , <https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-udp-options-dplpmtud-10>.
[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, , <https://www.rfc-editor.org/rfc/rfc4340>.
[RFC9260]
Stewart, R., Tüxen, M., and K. Nielsen, "Stream Control Transmission Protocol", RFC 9260, DOI 10.17487/RFC9260, , <https://www.rfc-editor.org/rfc/rfc9260>.
[RFC9293]
Eddy, W., Ed., "Transmission Control Protocol (TCP)", STD 7, RFC 9293, DOI 10.17487/RFC9293, , <https://www.rfc-editor.org/rfc/rfc9293>.

Acknowledgments

Thanks to Benoît Claise for the discussion on the ordering of IPFIX IEs.

Authors' Addresses

Mohamed Boucadair
Orange
35000 Rennes
France
Tirumaleswar Reddy.K
Nokia
India