Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Configuring Flow Aggregation to Use IPFIX Flow Templates on MX, vMX and T Series Routers, EX Series Switches and NFX250, and SRX Devices

 

Use of IPFIX allows you to define a flow record template suitable for IPv4 traffic or IPv6 traffic. Templates are transmitted to the collector periodically, and the collector does not affect the router configuration. You can define template refresh rate, flow active timeout and inactive timeout.

If flow records are being sent for multiple protocol families (for example, for IPv4 and IPv6), each protocol family flow has a unique Observation Domain ID. The following sections contain additional information:

Starting with Junos OS Release 17.3R1, IPFIX flow templates are supported on QFX10002 switches.

Starting with Junos OS Release 17.4R1, IPFIX flow templates are supported on QFX10008 and QFX10016 switches.

Starting with Junos OS Release 19.4R1, IPFIX flow templates are supported on SRX4100, SRX4200, SRX4600, SRX5400, SRX5600, SRX5800, vSRX, and vSRX3.0 devices.

Starting with Junos OS Release 20.1R1, IPFIX flow templates are supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.

Configuring the IPFIX Template Properties

To define the IPFIX templates, include the following statements at the [edit services flow-monitoring version-ipfix] hierarchy level:

The following details apply to the configuration statements:

  • You assign each template a unique name by including the template template-name statement.

  • You then specify each template for the appropriate type of traffic by including the ipv4-template or ipv6-template.

  • Within the template definition, you can optionally include values for the flow-active-timeout and flow-inactive-timeout statements. These statements have specific default and range values when they are used in template definitions; the default is 60 seconds and the range is from 10 through 600 seconds.

  • You can also include settings for the option-refresh-rate and template-refresh-rate statements within a template definition. For both of these properties, you can include a timer value (in seconds) or a packet count (in number of packets). For the seconds option, the default value is 600 and the range is from 10 through 600. For the packets option, the default value is 4800 and the range is from 1 through 480,000.

  • To filter IPv6 traffic on a media interface, the following configuration is supported:

Restrictions

The following restrictions apply to IPFIX templates:

  • Outbound Routing Engine traffic is not sampled. A firewall filter is applied as output on the egress interface, which samples packets and exports the data. For transit traffic, egress sampling works correctly. For internal traffic, the next hop is installed in the Packet Forwarding Engine but sampled packets are not exported.

  • Flows are created only after the route record resynchronization operation is complete, which takes 120 seconds.

  • The VLAN ID field is updated when a new flow record is created and so, any change in VLAN ID after the record has been created might not be updated in the record.

Customizing Template ID, Observation Domain ID, and Source ID for IPFIX flow Templates

Starting in Junos OS Release 14.1, you can define an IPFIX flow record template suitable for IPv4 traffic, IPv6 traffic, MPLS traffic, a combination of IPv4 and MPLS traffic, or peer AS billing traffic. Templates and the fields included in the template are transmitted to the collector periodically, and the collector need not be aware of the router configuration. You can specify the unique identifier for the version 9 and IPFIX templates. The identifier of a template is locally unique within a combination of a transport session and an observation domain. Template IDs 0 through 255 are reserved for template sets, options template sets, and other sets for future use. Template IDs of data sets are numbered from 256 through 65535. Typically, this information element or field in the template is used to define the characteristics or properties of other information elements in a template. After a restart of the export process of templates is performed, you can reassign template IDs.

This functionality to configure template ID, options template ID, observation domain ID, and source ID is supported on all routers with MPCs.

The corresponding data sets and option data sets contain the value of the template IDs and options template IDs respectively in the set ID field. This method enables the collector to match a data record with a template record.

For more information about specifying the source ID, observation domain ID, template ID, and options template ID for version 9 and IPFIX flows, see Configuring Observation Domain ID and Source ID for Version 9 and IPFIX Flows and Configuring Template ID and Options Template ID for Version 9 and IPFIX Flows.

Fields Included in the IPv4 Template

  • IPv4 Source Address

  • IPv4 Destination Address

  • IPv4 ToS

  • IPv4 Protocol

  • L4 Source Port

  • L4 Destination Port

  • ICMP Type and Code

  • Input Interface

  • VLAN ID

  • IPv4 Source Mask

  • IPv4 Destination Mask

  • Source AS

  • Destination AS

  • IPv4 Next Hop Address

  • TCP Flags

  • Output Interface

  • Number of Flow Bytes

  • Number of Flow Packets

  • Minimum TTL (time to live)

  • Maximum TTL (time to live)

  • Flow Start Time

  • Flow End Time

  • Flow End Reason

Fields Included in the IPv6 Template

  • IPv6 Source Address

  • IPv6 Destination Address

  • IPv6 ToS

  • IPv6 Protocol

  • L4 Source Port

  • L4 Destination Port

  • ICMP Type and Code

  • Input Interface

  • VLAN ID

  • 802.1Q VLAN identifier (dot1qVlanId)

  • 802.1Q Customer VLAN identifier (dot1qCustomerVlanId)

  • IPv6 Source Mask

  • IPv6 Destination Mask

  • Source AS

  • Destination AS

  • IPv6 Next Hop Address

  • TCP Flags

  • Output Interface

  • Number of Flow Bytes

  • Number of Flow Packets

  • Minimum Hop Limits

  • Maximum Hop Limits

  • Flow Start Time

  • Flow End Time

  • Flow End Reason

  • Fragment Identification (Starting in Junos OS Release 14.2)

  • IPv6 Extension Headers (Starting in Junos OS Release 14.2)

Verification

The following show commands are supported for IPFIX:

  • show services accounting flow inline-jflow fpc-slot fpc-slot

  • show services accounting errors inline-jflow fpc-slot fpc-slot

  • show services accounting status inline-jflow fpc-slot fpc-slot

Example: Configuring IPFIX Flow Templates and Flow Sampling

The following example shows an IPFIX template configuration:

The following example applies the IPFIX template to enable sampling of traffic for billing:

Release History Table
Release
Description
Starting with Junos OS Release 20.1R1, IPFIX flow templates are supported on SRX300, SRX320, SRX340, SRX345, and SRX550HM devices.
Starting with Junos OS Release 19.4R1, IPFIX flow templates are supported on SRX4100, SRX4200, SRX4600, SRX5400, SRX5600, SRX5800, vSRX, and vSRX3.0 devices.
Starting with Junos OS Release 17.4R1, IPFIX flow templates are supported on QFX10008 and QFX10016 switches.
Starting with Junos OS Release 17.3R1, IPFIX flow templates are supported on QFX10002 switches.
Fragment Identification (Starting in Junos OS Release 14.2)
IPv6 Extension Headers (Starting in Junos OS Release 14.2)
Starting in Junos OS Release 14.1, you can define an IPFIX flow record template suitable for IPv4 traffic, IPv6 traffic, MPLS traffic, a combination of IPv4 and MPLS traffic, or peer AS billing traffic.