Revision of the tcpControlBits IPFIX Information Element
Swiss Federal Institute of Technology Zurich
Gloriastrasse 358092 ZurichSwitzerland+41 44 632 70 13trammell@tik.ee.ethz.ch
Cisco Systems, Inc.
96 Commercial QuayCommercial Street, Edinburgh EH6 6LXUnited Kingdom+44 131 561 3616paitken@cisco.com
Operations
IPFIX Working GroupThis document revises the tcpControlBits IPFIX Information Element as
originally defined in to reflect changes to the
TCP Flags header field since .Octets 12 and 13 (counting from zero) of the TCP header encode the data
offset (header length) in four bits, as well as 12 bits of flags. The least
significant 6 bits of these were defined in as
URG, ACK, PSH, RST, SYN, and FIN for TCP control. Subsequently, defined the CWR and ECE flags for Explicit Congestion
Notification (ECN) negotiation and signaling;
additionally defined the NS flag for the ECN Nonce Sum.As defined in the IANA IPFIX Information
Element Registry, taken from , the
tcpControlBits Information Element for IPFIX only covers the
original six bits from . To allow IPFIX to be used
to measure the use of ECN, and to bring the IPFIX Information Element
definition in line with the current definition of the TCP Flags header
field, it is necessary to revise this definition.The revised definition of the Information Element in was developed and approved through the IE-DOCTORS process
in August 2013. Section 5.1 of states "This process should not in any way be construed
as allowing the IE-DOCTORS to overrule IETF consensus. Specifically,
Information Elements in the IANA Information Element registry which were
added with IETF consensus require IETF consensus for revision or
deprecation". Since the tcpControlBits Information Element was orignally
defined in , an IETF Proposed Standard, any
revision of this Information Element definition requires IETF Consensus.
The publication of this document fulfills that requirement.The following section defines the revised tcpControlBits Information
Element as in Section 9.1 of .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 .6unsigned16flagsTCP control bits observed for the packets of
this Flow. This information is encoded as a bit field; for each TCP
control bit, there is a bit in this set. The bit is set to 1 if any
observed packet of this Flow has the corresponding TCP control bit set to
1. The bit is cleared to 0 otherwise.
The values of each bit are shown below, per the
definition of the bits in the TCP header :As the most significant four bits of octets 12 and 13 (counting from
zero) of the TCP header are used to encode
the TCP data offset (header length), the corresponding bits in this
Information Element MUST be exported as zero and MUST be ignored by the
collector; use the tcpHeaderLength Information Element to encode this
value.
Each of the three bits (0x800, 0x400, and 0x200) which are reserved for
future use in SHOULD be exported as observed in
the TCP headers of the packets of this Flow.
If exported as a single octet with reduced size encoding, this
Information Element covers the low-order octet of this field (i.e, bits
0x80 to 0x01), omitting the ECN Nonce Sum and the three Future Use bits. A
collector receiving this Information Element with reduced size encoding
must not assume anything about the content of these four
bits.
Exporting Processes exporting this Information Element on behalf of a
Metering Process that is not capable of observing any of the ECN Nonce
Sum or Future Use bits SHOULD use reduced size encoding, and only
export the least significant 8 bits of this Information
Element.
Note that previous revisions of this Information Element's definition
specified that the CWR and ECE bits must be exported as zero, even if
observed. Collectors should therefore not assume that a value of zero for
these bits in this Information Element indicates the bits were never set
in the observed traffic, especially if these bits are zero in every Flow
Record sent by a given exporter.1IANA has updated the definition of the tcpControlBits Information
Element in the the IANA IPFIX Information Element
Registry to reflect the changes in above,
setting the revision to 1 as noted, and the revision date to the date of
publication of this document.This document changes the data type (and therefore the native size) of
the tcpControlBits Information Element, from unsigned8 (1 octet) to
unsigned16 (2 octets). As Exporting and Collecting Processes use the
Information Element Length field in Templates and Options Templates and
specifications for reduced size encoding where appropriate, as opposed to
abstract data type sizes, for encoding and decoding Data Records, it is not
expected that this will have any impact on buffer sizing during encoding
and decoding. Otherwise, note that the security considerations for IPFIX apply.Thanks to Andrew Feren, Lothar Braun, Michael Scharf, and Simon
Josefsson for comments on the revised definition. This work is partially
supported by the European Commission under grant agreement FP7-ICT-318627
mPlane; this does not imply endorsement by the Commission.IP Flow Information Export Information Elements (http://www.iana.org/assignments/ipfix)