IPFIX message format

An IPFIX Message consists of a Message Header, followed by one or more Sets. The Sets can be any of the possible three types - Data Set, Template Set, or Options Template Set.

Note: The Exporter codes all binary integers of the Message Header and the different Sets in network-byte order (also known as the big-endian byte ordering).

An IPFIX Message consisting of interleaved Template, Data, and Options Template Sets.

IPFIX message header format

Following are the message header field descriptions:
Header field Description
Version

Version of Flow Record format that is exported in this message. The value of this field is 0x000a for the current version, incrementing by one the version that is used in the NetFlow services export version 9

Length Total length of the IPFIX Message, which is measured in octets, including Message Header and Sets.
Export Time Time, in seconds, since 0000 Coordinated Universal Time Jan 1, 1970, at which the IPFIX Message Header leaves the Exporter.
Sequence Number Incremental sequence counter-modulo 2^32 of all IPFIX Data Records sent on this PR-SCTP stream from the current Observation Domain by the Exporting Process. Check the specific meaning of this field in the subsections of Section 10 when UDP or TCP is selected as the transport protocol. This value must be used by the Collecting Process to identify whether any IPFIX Data Records are missed. Template and Options Template Records do not increase the Sequence Number.
Observation Domain ID
  • A 32-bit identifier of the Observation Domain that is locally unique to the Exporting Process. The Exporting Process uses the Observation Domain ID to uniquely identify to the Collector.
  • Process the Observation Domain that metered the Flows. It is recommended that this identifier is unique per IPFIX Device. Collecting Processes must use the Transport Session.
  • Observation Domain ID field to separate different export streams that originate from the same Exporting Process. The Observation Domain ID must be 0 when no specific Observation Domain ID is relevant for the entire IPFIX Message. For example, when the Exporting Process Statistics are exported, or in a hierarchy of Collectors when aggregated Data Records are exported.

IPFIX Set format

An IPFIX message consists of a message header followed by multiple Sets of different types. A Set is a generic term for collection of records that have a similar structure. There are three types of Sets - Data Set, Template Set, and Options Template Set. Each oif these have a Set header and one or more records.

Every Set contains a common header. Following are the message header field descriptions:
Header Description
Set ID

Set ID value identifies the Set. A value of 2 is reserved for the Template Set. A value of 3 is reserved for the Option Template Set. All other values 4-255 are reserved for future use. Values more than 255 are used for Data Sets. The Set ID values of 0 and 1 are not used for historical reasons

Length Total length of the Set, in octets, including the Set Header, all records, and the optional padding. Because an individual Set MAY contain multiple records, the Length value must be used to determine the position of the next Set.
There are three types of sets:
  • Data Set
  • Template Set
  • Options Template Set