Configuring NetFlow and NetFlow Data Export

Table Of Contents

Configuring NetFlow and NetFlow Data Export

Contents

Prerequisites for Configuring NetFlow and NetFlow Data Export

Restrictions for Configuring NetFlow and NetFlow Data Export

NetFlow Data Capture

NetFlow Data Export

Information About Configuring NetFlow and NetFlow Data Export

NetFlow Data Capture

NetFlow Flows: Key Fields

NetFlow Cache Management and Data Export

NetFlow Export Format Versions 9, 8, 5, and 1

Overview

Details

NetFlow Export Version Formats

NetFlow Export Packet Header Format

NetFlow Flow Record and Export Format Content Information

NetFlow Data Export Format Selection

NetFlow Version 9 Data Export Format

NetFlow Version 8 Data Export Format

NetFlow Version 5 Data Export Format

NetFlow Version 1 Data Export Format

Egress NetFlow Accounting Benefits: NetFlow Accounting Simplified

NetFlow Subinterface Support Benefits: Fine-Tuning Your Data Collection

NetFlow Multiple Export Destinations: Benefits

NetFlow on a Distributed VIP Interface

How to Configure NetFlow and NetFlow Data Export

Configure NetFlow

Verify that NetFlow is Operational and View NetFlow Statistics

Configuring NetFlow Data Export Using the Version 9 Export Format

Prerequisites

Verifying that NetFlow Data Export is Operational

Clearing NetFlow Statistics on the Router

Customizing the NetFlow Main Cache Parameters

NetFlow Cache Entry Management on a Routing Device

NetFlow Cache Size

Restrictions

Configuration Examples for Configuring NetFlow and NetFlow Data Export

Configuring Egress NetFlow Accounting: Example

Configuring NetFlow Subinterface Support: Example

Configuring NetFlow Multiple Export Destinations: Example

Configuring NetFlow Version 5 Data Export: Example

Configuring NetFlow Version 1 Data Export: Example

Configure NetFlow for Analyzing PPPoE Session Traffic

Additional References

Related Documents

Standards

MIBs

RFCs

Technical Assistance

Glossary

Feature Information for Configuring NetFlow and NetFlow Data Export


Configuring NetFlow and NetFlow Data Export


This module contains information about and instructions for configuring NetFlow to capture and export network traffic data. NetFlow capture and export are performed independently on each internetworking device on which NetFlow is enabled. NetFlow need not be operational on each router in the network.

NetFlow is a Cisco IOS application that provides statistics on packets flowing through the router. NetFlow is emerging as a primary network accounting and security technology.

Module History

This module was first published on May 2, 2005, and last updated on September 5th, 2006.

Finding Feature Information in This Module

Your Cisco IOS software release may not support all features. To find information about feature support and configuration, use the "Feature Information for Configuring NetFlow and NetFlow Data Export" section.

Contents

Prerequisites for Configuring NetFlow and NetFlow Data Export

Restrictions for Configuring NetFlow and NetFlow Data Export

Information About Configuring NetFlow and NetFlow Data Export

How to Configure NetFlow and NetFlow Data Export

Configuration Examples for Configuring NetFlow and NetFlow Data Export

Additional References

Glossary

Feature Information for Configuring NetFlow and NetFlow Data Export

Prerequisites for Configuring NetFlow and NetFlow Data Export

Before you enable NetFlow you must:

Configure the router for IP routing

Ensure that one of the following is enabled on your router, and on the interfaces that you want to configure NetFlow on: Cisco Express Forwarding (CEF), distributed CEF, or fast switching

Understand the resources required on your router because NetFlow consumes additional memory and CPU resources

Restrictions for Configuring NetFlow and NetFlow Data Export

NetFlow Data Capture

NetFlow consumes additional memory. If you have memory constraints, you might want to preset the size of the NetFlow cache so that it contains a smaller number of entries. The default cache size depends on the platform. For example, the default cache size for the Cisco 7500 router is 65536 (64K) entries.

Memory Impact

During times of heavy traffic, the additional flows can fill up the global flow hash table. If you need to increase the size of the global flow hash table, increase the memory of the router.

Cisco IOS Releases 12.2(14)S, 12.0(22)S, or 12.2(15)T

If your router is running a version of Cisco IOS prior to releases 12.2(14)S, 12.0(22)S, or 12.2(15)T the ip route-cache flow command is used to enable NetFlow on an interface.

If your router is running Cisco IOS release 12.2(14)S, 12.0(22)S, 12.2(15)T, or later the ip flow ingress command is used to enable NetFlow on an interface.

Egress NetFlow Accounting in Cisco IOS 12.3T Releases, 12.3(11)T or Later

The Egress NetFlow Accounting feature captures NetFlow statistics for IP traffic only. MPLS statistics are not captured. The MPLS Egress NetFlow Accounting feature can be used on a provider edge (PE) router to capture IP traffic flow information for egress IP packets that arrived at the router as MPLS packets and underwent label disposition.

Egress NetFlow accounting might adversely affect network performance because of the additional accounting-related computation that occurs in the traffic-forwarding path of the router.

Locally generated traffic (traffic that is generated by the router on which the Egress NetFlow Accounting feature is configured) is not counted as flow traffic for the Egress NetFlow Accounting feature.


Note In Cisco IOS 12.2S releases, egress NetFlow captures either IPv4 or MPLS packets as they leave the router.


NetFlow Data Export

Restrictions for NetFlow Version 9 Data Export

Backward compatibility—Version 9 is not backward-compatible with Version 5 or Version 8. If you need Version 5 or Version 8, you must configure it.

Export bandwidth—Export bandwidth use increases for Version 9 (because of template flowsets) versus Version 5. The increase in bandwidth usage versus Version 5 varies with the frequency with which template flowsets are sent. The default is to resend templates every 20 packets, which has a bandwidth cost of about 4 percent. If necessary, you can lower the resend rate with the ip flow-export template refresh-rate packets command.

Performance impact—Version 9 slightly decreases overall performance, because generating and maintaining valid template flowsets require additional processing.

Restrictions for NetFlow Version 8 Export Format

Version 8 export format is available only for aggregation caches, and it cannot be expanded to support new features.

Restrictions for NetFlow Version 5 Export Format

Version 5 export format is suitable only for the main cache, and it cannot be expanded to support new features.

Restrictions for NetFlow Version 1 Export Format

The Version 1 format was the initially released version. Do not use Version 1 format unless you are using a legacy collection system that requires it. Use Version 9 or Version 5 export format.

Information About Configuring NetFlow and NetFlow Data Export

This section contains information that you should understand before you configure NetFlow to analyze network traffic.

NetFlow Data Capture

NetFlow Cache Management and Data Export

NetFlow Cache Management and Data Export

NetFlow Export Format Versions 9, 8, 5, and 1

Egress NetFlow Accounting Benefits: NetFlow Accounting Simplified

NetFlow Subinterface Support Benefits: Fine-Tuning Your Data Collection

NetFlow Multiple Export Destinations: Benefits

NetFlow on a Distributed VIP Interface

NetFlow Data Capture

NetFlow captures data from ingress (incoming) and egress (outgoing) packets. NetFlow gathers statistics for the following ingress IP packets:

IP-to-IP packets

IP-to-Multiprotocol Label Switching (MPLS) packets

Frame Relay-terminated packets

ATM-terminated packets

NetFlow captures data for all egress (outgoing) packets through the use of the following features:

Egress NetFlow Accounting—NetFlow gathers statistics for all egress packets for IP traffic only.

NetFlow MPLS Egress—NetFlow gathers statistics for all egress MPLS-to-IP packets.

NetFlow Flows: Key Fields

A network flow is identified as a unidirectional stream of packets between a given source and destination—both are defined by a network-layer IP address and by transport-layer source and destination port numbers. Specifically, a flow is identified as the combination of the following key fields:

Source IP address

Destination IP address

Source port number

Destination port number

Layer 3 protocol type

Type of service (ToS)

Input logical interface

These seven key fields define a unique flow. If a packet has one key field different from another packet, it is considered to belong to another flow. A flow might contain other accounting fields (such as the AS number in the NetFlow export Version 5 flow format) that depend on the export record version that you configure. Flows are stored in the NetFlow cache.

NetFlow Cache Management and Data Export

The key components of NetFlow are the NetFlow cache or data source that stores IP flow information, and the NetFlow export or transport mechanism that sends NetFlow data to a network management collector, such as the NetFlow Collection Engine. NetFlow operates by creating a NetFlow cache entry (a flow record) for each active flow. A flow record is maintained within the NetFlow cache for each active flows. Each flow record in the NetFlow cache contains fields that can later be exported to a collection device, such as the NetFlow Collection Engine.

NetFlow is very efficient, the amount of export data being about 1.5 percent of the switched traffic in the router. NetFlow accounts for every packet (non-sampled mode) and provides a highly condensed and detailed view of all network traffic that entered the router or switch.

The key to NetFlow-enabled switching scalability and performance is highly intelligent flow cache management, especially for densely populated and busy edge routers handling large numbers of concurrent, short duration flows. The NetFlow cache management software contains a highly sophisticated set of algorithms for efficiently determining if a packet is part of an existing flow or should generate a new flow cache entry. The algorithms are also capable of dynamically updating per-flow accounting measurements residing in the NetFlow cache, and cache aging/flow expiration determination.

Rules for expiring NetFlow cache entries include:

Flows which have been idle for a specified time are expired and removed from the cache.

Long lived flows are expired and removed from the cache. (Flows are not allowed to live more than 30 minutes by default; the underlying packet conversation remains undisturbed.)

As the cache becomes full a number of heuristics are applied to aggressively age groups of flows simultaneously.

TCP connections which have reached the end of byte stream (FIN) or which have been reset (RST) are expired.

Expired flows are grouped together into "NetFlow export" datagrams for export from the NetFlow- enabled device. NetFlow export datagrams can consist of up to 30 flow records for Version 5 or Version 9 flow export. NetFlow functionality is configured on a per-interface basis. To configure NetFlow export capabilities, you need to specify the IP address and application port number of the Cisco NetFlow or third-party flow collector. The flow collector is a device that provides NetFlow export data filtering and aggregation capabilities. Figure 1 shows an example of NetFlow data export from the main and aggregation caches to a collector.

Figure 1 NetFlow Data Export from the Main and Aggregation Caches

NetFlow Export Format Versions 9, 8, 5, and 1

Overview

NetFlow exports data in User Datagram Protocol (UDP) datagrams in one of the following formats: Version 9, Version 8, Version 7, Version  5, or Version 1.

Version 9—A flexible and extensible format, which provides the versatility needed for support of new fields and record types. This format accommodates new NetFlow-supported technologies such as Multicast, Multiprotocol Label Switching (MPLS), and Border Gateway Protocol (BGP) next hop. Version 9 export format enables you to use the same version for main and aggregation caches, and the format is extendable, so you can use the same export format with future features.

Version 8—A format added to support data export from aggregation caches. Export datagrams contain a subset of the usual Version 5 export data, which is valid for the particular aggregation cache scheme.

Version 5—A later enhanced version that adds BGP autonomous system (AS) information and flow sequence numbers. (Versions 2 through 4 were not released.) This is the most commonly used format.

Version 1, the initially released export format, is rarely used today. Do not use the Version 1 export format unless the legacy collection system you are using requires it. Use either the Version 9 export format or the Version 5 export format.

Details

The following sections provide more detailed information on NetFlow Data Export Formats:

NetFlow Export Version Formats

NetFlow Export Packet Header Format

NetFlow Flow Record and Export Format Content Information

NetFlow Data Export Format Selection

NetFlow Version 9 Data Export Format

NetFlow Version 8 Data Export Format

NetFlow Version 5 Data Export Format

NetFlow Version 1 Data Export Format

NetFlow Export Version Formats

For all export versions, the NetFlow export datagram consists of a header and a sequence of flow records. The header contains information such as sequence number, record count, and system uptime. The flow record contains flow information, for example IP addresses, ports, and routing information.

NetFlow Version 9 export format is the newest NetFlow export format. The distinguishing feature of the NetFlow Version 9 export format is that it is template based. Templates make the record format extensible. This feature allows future enhancements to NetFlow without requiring concurrent changes to the basic flow-record format.

The use of templates with the NetFlow Version 9 export format provides several other key benefits:

You can export almost any information from a router or switch including Layer 2 through 7 information, routing information, IP Version 6 (IPv6), IP Version 4 (IPv4), multicast, and Multiprotocol Label Switching (MPLS) information. This new information allows new applications for export data and new views of network behavior.

Third-party business partners who produce applications that provide collector or display services for NetFlow are not required to recompile their applications each time a new NetFlow export field is added. Instead, they might be able to use an external data file that documents the known template formats.

New features can be added to NetFlow more quickly, without breaking current implementations.

NetFlow is "future-proofed" against new or developing protocols, because the Version 9 export format can be adapted to provide support for them and for other non-NetFlow-based approaches to data collection.

The work of the Internet Engineering Task Force (IETF) IP Information Export (IPFIX) Working Group (WG) and the IETF Pack Sampling (PSAMP) WG are based on the NetFlow Version 9 export format.

The Version 1 export format was the original format supported in the initial Cisco IOS software releases containing NetFlow functionality and is rarely used today. The Version 5 export format is a later enhancement that adds Border Gateway Protocol (BGP) autonomous system information and flow sequence numbers. Versions 2 through 4 and Version 6 export formats were either not released or are not supported. Version 8 export format is the NetFlow export format to use when you enable router-based NetFlow aggregation on Cisco IOS router platforms.

Figure 2 shows a typical datagram used for NetFlow fixed format export Versions 1, 5, 7, and 8.

Figure 2 Typical Datagram for NetFlow Fixed Format Export Versions 1, 5, 7, 8

NetFlow Export Packet Header Format

In all five export versions, the datagram consists of a header and one or more flow records. The first field of the header contains the version number of the export datagram. Typically, a receiving application that accepts any of the format versions allocates a buffer large enough for the largest possible datagram from any of the format versions and then uses the header to determine how to interpret the datagram. The second field in the header contains the number of records in the datagram (indicating the number of expired flows represented by this datagram). Datagram headers for NetFlow Export Versions 5, 8, and 9 also include a "sequence number" field used by NetFlow collectors to check for lost datagrams.

The NetFlow Version 9 export packet header format is shown in Figure 3.

Figure 3 NetFlow Version 9 Export Packet Header Format

Table 1 lists the NetFlow Version 9 export packet header field names and descriptions.

Table 1 NetFlow Version 9 Export Packet Header Field Names and Descriptions 

Field Name
Description

Version

The version of NetFlow records exported in this packet; for Version 9, this value is 0x0009.

Count

Number of FlowSet records (both template and data) contained within this packet.

System Uptime

Time in milliseconds since this device was first booted.

UNIX Seconds

Seconds since 0000 Coordinated Universal Time (UTC) 1970.

Package Sequence

Incremental sequence counter of all export packets sent by this export device; this value is cumulative, and it can be used to find out whether any export packets have been missed.

This is a change from the NetFlow Version 5 and Version 8 headers, where this number represented "total flows."

Source ID

The Source ID field is a 32-bit value that is used to guarantee uniqueness for each flow exported from a particular device. (The Source ID field is the equivalent of the engine type and engine ID fields found in the NetFlow Version 5 and Version 8 headers.) The format of this field is vendor specific. In Cisco's implementation, the first two bytes are reserved for future expansion, and are always zero. Byte 3 provides uniqueness with respect to the routing engine on the exporting device. Byte 4 provides uniqueness with respect to the particular line card or Versatile Interface Processor on the exporting device. Collector devices should use the combination of the source IP address and the Source ID field to associate an incoming NetFlow export packet with a unique instance of NetFlow on a particular device.


NetFlow Flow Record and Export Format Content Information

This section gives details about the Cisco export format flow record. Table 2 indicates which flow record format fields are available for Version 5, and 9. (Y indicates that the field is available. N indicates that the field is not available.)

Table 2 NetFlow Flow Record Format Fields for Format Versions 5, and 9 

Field
Version 5
Version 9

source IP address

Y

Y

destination IP address

Y

Y

source TCP/UDP application port

Y

Y

destination TCP/UDP application port

Y

Y

next hop router IP address

Y

Y

input physical interface index

Y

Y

output physical interface index

Y

Y

packet count for this flow

Y

Y

byte count for this flow

Y

Y

start of flow timestamp

Y

Y

end of flow timestamp

Y

Y

IP Protocol (for example, TCP=6; UDP=17)

Y

Y

Type of Service (ToS) byte

Y

Y

TCP Flags (cumulative OR of TCP flags)

Y

Y

source AS number

Y

Y

destination AS number

Y

Y

source subnet mask

Y

Y

destination subnet mask

Y

Y

flags (indicates, among other things, which flows are invalid)

Y

Y

Other flow fields1

N

Y

1 For a list of other flow fields available in Version 9 export format, see Figure 5.


Figure 4 is an example of the NetFlow Version 5 export record format, including the contents and description of byte locations. The terms in bold indicate values that were added for the Version 5 format.

Figure 4 NetFlow Version 5 Export Record Format

Table 3 shows the field names and descriptions for the NetFlow Version 5 export record format.

Table 3 NetFlow Version 5 Export Record Format Field Names and Descriptions

Content
Bytes
Descriptions

srcaddr

0-3

Source IP address

dstaddr

4-7

Destination IP address

nexthop

8-11

Next hop router's IP address

input

12-13

Ingress interface SNMP ifIndex

output

14-15

Egress interface SNMP ifIndex

dPkts

16-19

Packets in the flow

dOctets

20-23

Octets (bytes) in the flow

first

24-27

SysUptime at start of the flow

last

28-31

SysUptime at the time the last packet of the flow was received

srcport

32-33

Layer 4 source port number or equivalent

dstport

34-35

Layer 4 destination port number or equivalent

pad1

36

Unused (zero) byte

tcp_flags

37

Cumulative OR of TCP flags

prot

38

Layer 4 protocol (for example, 6=TCP, 17=UDP)

tos

39

IP type-of-service byte

src_as

40-41

Autonomous system number of the source, either origin or peer

dst_as

42-43

Autonomous system number of the destination, either origin or peer

src_mask

44

Source address prefix mask bits

dst_mask

45

Destination address prefix mask bits

pad2

46-47

PAD 2 is unused (zero) bytes


Figure 5 shows a typical flow record for the Version 9 export format. The NetFlow Version 9 export record format is different from the traditional NetFlow fixed format export record. In NetFlow Version 9, a template describes the NetFlow data and the flow set contains the actual data. This allows for flexible export. Detailed information about the fields currently in Version 9 and export format architecture are available in the NetFlow Version 9 Flow-Record Format document.

Figure 5 NetFlow Version 9 Export Packet Example

For all export versions, you specify a destination where NetFlow data export packets are sent, such as the workstation running NetFlow Collection Engine, either when the number of recently expired flows reaches a predetermined maximum, or every second—whichever occurs first. For a Version 1 datagram, up to 24 flows can be sent in a single UDP datagram of approximately 1200 bytes; for a Version 5 datagram, up to 30 flows can be sent in a single UDP datagram of approximately 1500 bytes.

For detailed information on the flow record formats, data types, and export data fields for Versions 1, 7, and 9 and platform-specific information when applicable, see Appendix 2 in the NetFlow Solutions Service Guide.

NetFlow Data Export Format Selection

NetFlow exports data in UDP datagrams in export format Version 9, 8, 5, or 1. Table 4 describes situations when you might select a particular NetFlow export format.

Table 4 When to Select a Particular NetFlow Export Format  

Export Format
Select When...

Version 9

You need to export data from various technologies, such as Multicast, DoS, IPv6, BGP next hop, and so on. This format accommodates new NetFlow-supported technologies such as Multicast, MPLS, and BGP next hop.

The Version 9 export format supports export from the main cache and from aggregation caches.

Version 8

You need to export data from aggregation caches. Version 8 export format is available only for export from aggregation caches.

Version 5

You need to export data from the NetFlow main cache, and you are not planning to support new features.

Version 5 export format does not support export from aggregation caches.

Version 1

You need to export data to a legacy collection system that requires Version 1 export format. Otherwise, do not use Version 1 export format. Use Version 9 or Version 5 export format.


NetFlow Version 9 Data Export Format

The NetFlow Version 9 Export Format feature was introduced in Cisco IOS Release 12.0(24)S and was integrated into Cisco IOS Release 12.3(1) and Cisco IOS Release 12.2(18)S.

NetFlow Version 9 data export supports CEF switching, dCEF switching, and fast switching.

NetFlow Version 9 is a flexible and extensible means for transferring NetFlow records from a network node to a collector. NetFlow Version 9 has definable record types and is self-describing for easier NetFlow Collection Engine configuration.

Using Version 9 export, you define new formats on the router that you can send to the NetFlow Collection Engine (formerly called NetFlow FlowCollector) at set intervals. You enable the features that you want, and the field values corresponding to those features are sent to the NetFlow Collection Engine.

Third-party business partners who produce applications that provide NetFlow Collection Engine or display services for NetFlow do not need to recompile their applications each time a new NetFlow technology is added. Instead, with the NetFlow v9 Export Format feature, they can use an external data file that documents the known template formats and field types.

In NetFlow Version 9

Record formats are defined by templates.

Template descriptions are communicated from the router to the NetFlow Collection Engine.

Flow records are sent from the router to the NetFlow Collection Engine with minimal template information so that the NetFlow Collection Engine can relate the records to the appropriate template.

Version 9 is independent of the underlying transport (UDP, TCP, SCTP, and so on).

NetFlow Version 9 Template-Based Flow Record Format

The main feature of NetFlow Version 9 export format is that it is template based. A template describes a NetFlow record format and attributes of the fields (such as type and length) within the record. The router assigns each template an ID, which is communicated to the NetFlow Collection Engine along with the template description. The template ID is used for all further communication from the router to the NetFlow Collection Engine.

NetFlow Version 9 Export Flow Records

The basic output of NetFlow is a flow record. In NetFlow Version 9 export format, a flow record follows the same sequence of fields as found in the template definition. The template to which NetFlow flow records belong is determined by the prefixing of the template ID to the group of NetFlow flow records that belong to a template. For a complete discussion of existing NetFlow flow-record formats, see the NetFlow Services Solutions Guide.

NetFlow Version 9 Export Packet

In NetFlow Version 9, an export packet consists of the packet header and flowsets. The packet header identifies the new version and provides other information. See Figure 3 for Version 9 export packet header details. Flowsets are of two types: template flowsets and data flowsets. The template flowset describes the fields that will be in the data flowsets (or flow records). Each data flowset contains the values or statistics of one or more flows with the same template ID. When the NetFlow Collection Engine receives a template flowset, it stores the flowset and export source address so that subsequent data flowsets that match the flowset ID and source combination are parsed according to the field definitions in the template flowset. Version 9 supports NetFlow Collection Engine Version 4.0. For an example of a Version 9 export packet, see Figure 5.

NetFlow Version 8 Data Export Format

The Version 8 data export format is the NetFlow export format used when the router-based NetFlow aggregation feature is enabled on Cisco IOS router platforms. The Version 8 format allows for export datagrams to contain a subset of the Version 5 export data that is based on the configured aggregation cache scheme. For example, a certain subset of the Version 5 export data is exported for the destination prefix aggregation scheme, and a different subset is exported for the source-prefix aggregation scheme.

The Version 8 export format was introduced in Cisco IOS 12.0(3)T for the Cisco IOS NetFlow Aggregation feature. An additional six aggregation schemes that also use Version 8 format were defined for the NetFlow ToS-Based Router Aggregation feature introduced in Cisco IOS 12.0(15)S and integrated into Cisco IOS Releases 12.2(4)T and 12.2(14)S. Refer to the "Configuring NetFlow Aggregation Caches" module for information on configuring Version 8 data export for aggregation caches.

The Version 8 datagram consists of a header with the version number (which is 8) and time stamp information, followed by one or more records corresponding to individual entries in the NetFlow cache.

Figure 6 displays the NetFlow Version 8 export packet header format.

Figure 6 NetFlow Version 8 Export Packet Header Format

Table 5 lists the NetFlow Version 8 export packet header field names and definitions.

Table 5 NetFlow Version 8 Export Packet Header Field Names and Descriptions 

Field Name
Description

Version

Flow export format version number. In this case 8.

Count

Number of export records in the datagram.

System Uptime

Number of milliseconds since the router last booted.

UNIX Seconds

Number of seconds since 0000 UTC 1970.

UNIX NanoSeconds

Number of residual nanoseconds since 0000 UTC 1970.

Flow Sequence Number

Sequence counter of total flows sent for this export stream.

Engine Type

The type of switching engine. RP = 0 and LC = 1.

Engine ID

Slot number of the NetFlow engine.

Aggregation

Type of aggregation scheme being used.

Agg Version

Aggregation subformat version number. The current value is "2."

Sampling Interval

Interval value used if Sampled NetFlow is configured.

Reserved

Zero field.


NetFlow Version 5 Data Export Format

The Version 5 data export format adds support for Border Gateway Protocol (BGP) autonomous system information and flow sequence numbers.

Because NetFlow uses UDP to send export datagrams, datagrams can be lost. The Version 5 header format contains a flow sequence number to find out whether flow export information has been lost. The sequence number is equal to the sequence number of the previous datagram plus the number of flows in the previous datagram. After receiving a new datagram, the receiving application can subtract the expected sequence number from the sequence number in the header to get the number of missed flows.

All fields in Version 5 export format are in network byte order. Figure 7 shows the NetFlow Version 5 export packet header format.

Figure 7 NetFlow Version 5 Export Packet Header Format

Table 6 lists the NetFlow Version 5 export packet header field names and descriptions.

Table 6 NetFlow Version 5 Export Packet Header Field Names and Descriptions 

Field
Description

Version

Version of NetFlow records exported in this packet.

Count

Number of FlowSet records (both template and data) contained within this packet.

System Uptime

Time in milliseconds since this device was first booted.

UNIX Seconds

Seconds since 0000 UTC 1970.

UNIX NanoSeconds

Residual nanoseconds since 0000 UTC 1970.

Flow Sequence Number

Sequence number of total flows seen.

Reserved

Zero field.

Engine Type

Type of flow switching engine: 0 for RP, 1 for VIP/LC.

Engine ID

VIP or LC slot number of the flow switching engine.


Table 7 describes the Version 5 export format header network byte order.

Table 7 NetFlow Version 5 Export Format Header Network Byte Order

Bytes
Content
Description

0 to 3

Version and count

NetFlow export format version number and number of flows exported in this packet (1 to 30)

4 to 7

SysUptime

Current time (in milliseconds) since the router booted

8 to 11

unix_secs

Seconds since 0000 UTC 1970

12 to 15

unix_nsecs

Residual nanoseconds since 0000 UTC 1970

16 to 19

flow_sequence

Sequence counter of total flows seen

20 to 23

Reserved

Unused (zero) bytes


Table 8 lists the byte definitions for the Version 5 flow record format.

Table 8 Version 5 Flow Record Format 

Bytes
Content
Description

0 to 3

srcaddr

Source IP address.

4 to 7

dstaddr

Destination IP address.

8 to 11

nexthop

IP address of the next hop router.

12 to 15

input and output

SNMP index of the input and output interfaces.

16 to 19

dPkts

Packets in the flow.

20 to 23

dOctets

Total number of Layer 3 bytes in the flow's packets.

24 to 27

First

SysUptime at start of flow.

28 to 31

Last

SysUptime at the time the last packet of flow was received.

32 to 35

srcport and dstport

TCP/UDP source and destination port number or equivalent.

36 to 39

pad1, tcp_flags, prot, and tos

Unused (zero) byte, cumulative OR of TCP flags, IP protocol (for example, 6 = TCP, 17 = UDP), and IP ToS.

40 to 43

src_as and dst_as

Autonomous system of the source and destination, either origin or peer.

44 to 47

src_mask, dst_mask, and pad2

Source and destination address prefix mask bits. Pad 2 is unused (zero) bytes.


NetFlow Version 1 Data Export Format

The NetFlow Version 1 data export format was the format supported in the initial Cisco IOS software releases containing NetFlow functionality. It is rarely used today. Do not use the Version 1 export format unless the legacy collection system you are using requires it. Use either the Version 9 export format or the Version 5 export format.

Figure 8 shows the NetFlow Version 1 export packet header format.

Figure 8 Version 1 Export Packet Header Format

Table 9 lists the NetFlow Version 1 export packet header field names and descriptions.

Table 9 NetFlow Version 1 Packet Header Field Names and Descriptions 

Field Name
Description

Version

Version of NetFlow records exported in this packet.

Count

Number of FlowSet records (both template and data) contained within this packet.

System Uptime

Time in milliseconds since this device was first booted.

UNIX Seconds

Seconds since 0000 UTC 1970.

UNIX NanoSeconds

Residual nanoseconds since 0000 UTC 1970.


Egress NetFlow Accounting Benefits: NetFlow Accounting Simplified

The Egress NetFlow Accounting feature can simplify NetFlow configuration. The following example shows how.

In Figure 9 and Figure 10 both incoming and outgoing (ingress and egress) flow statistics are required for the server. The server is attached to Router B. The "cloud" in the figure represents the core of the network and includes Multiprotocol Label Switching (MPLS) Virtual Private Networks (VPNs).

All traffic denoted by the arrows must be accounted for. The solid arrows represent IP traffic and the dotted arrows represent MPLS VPNs.

Figure 9 shows how the flow traffic was tracked before the introduction of the Egress NetFlow Accounting feature. Figure 10 shows how the flow traffic is tracked after the introduction of the Egress NetFlow Accounting feature. The Egress NetFlow Accounting feature simplifies configuration tasks and makes it easier for you to collect and track incoming and outgoing flow statistics for the server in this example.

Since only ingress flows could be tracked before the Egress NetFlow Accounting feature was introduced, the following NetFlow configurations had to be implemented for the tracking of ingress and egress flows from Router B:

Enable NetFlow on an interface on Router B to track ingress IP traffic from Router A to Router B.

Enable NetFlow on an interface on Router D to track ingress IP traffic from Router B to Router D.

Enable NetFlow on an interface on Router A to track ingress traffic from the MPLS VPN from Router B to Router A.

Enable NetFlow on an interface on Router B to track ingress traffic from the MPLS VPN from Router D to Router B.

Figure 9 Ingress-Only NetFlow Example

A configuration such as the one used in Figure 9 requires that NetFlow statistics from three separate routers be added together to obtain the flow statistics for the server.

In comparison, the example in Figure 10 shows NetFlow, the Egress NetFlow Accounting feature, and the MPLS Egress NetFlow Accounting feature being used to capture ingress and egress flow statistics for Router B, thus obtaining the required flow statistics for the server.

In Figure 10, the following NetFlow configurations are applied to Router B:

Enable NetFlow on an interface on Router B to track ingress IP traffic from Router A to Router B.

Enable the Egress NetFlow Accounting feature on an interface on Router B to track egress IP traffic from Router B to Router D.

Enable NetFlow an interface on Router B to track ingress traffic from the MPLS VPN from Router B to Router D.

Enable NetFlow on an interface on Router B to track ingress traffic from the MPLS VPN from Router B to Router A.

After NetFlow is configured on Router B, you can display all NetFlow statistics for the server by entering the show ip cache flow command or the show ip cache verbose flow command for Router B.

Figure 10 Egress NetFlow Accounting Example

.

NetFlow Subinterface Support Benefits: Fine-Tuning Your Data Collection

You can configure NetFlow on a per-subinterface basis. If your network contains thousands of subinterfaces and you want to collect export records from only a few subinterfaces, you can do that. The result is lower bandwidth requirements for NetFlow data export and reduced platform requirements for NetFlow data-collection devices.

The configuration of NetFlow on selected subinterfaces provides the following benefits:

Reduced bandwidth requirement between routing devices and NetFlow management workstations.

Reduced NetFlow workstation requirements; the number of flows sent to the workstation for processing is reduced.

NetFlow Multiple Export Destinations: Benefits

The NetFlow Multiple Export Destinations feature enables configuration of multiple destinations for the NetFlow data. With this feature enabled, two identical streams of NetFlow data are sent to the destination host. Currently, the maximum number of export destinations allowed is two.

The NetFlow Multiple Export Destinations feature improves the chances of receiving complete NetFlow data because it provides redundant streams of data. Because the same export data is sent to more than one NetFlow collector, fewer packets are lost.

NetFlow on a Distributed VIP Interface

On a Cisco 7500 series router with an Route Switch Processor (RSP) and with VIP controllers, the VIP hardware can be configured to switch packets received by the VIP interfaces with no per-packet intervention on the part of the RSP. This process is called distributed switching. When VIP distributed switching is enabled, the input VIP interface switches IP packets instead of forwarding them to the RSP for switching. Distributed switching decreases the demand on the RSP. VIP interfaces with distributed switching enabled can be configured for NetFlow.

How to Configure NetFlow and NetFlow Data Export

This section contains instructions for configuring NetFlow to capture and export network traffic data. Perform the following tasks to configure NetFlow to capture and export network traffic data:

Configure NetFlow (required)

Verify that NetFlow is Operational and View NetFlow Statistics (optional)

Configuring NetFlow Data Export Using the Version 9 Export Format (optional)

Verifying that NetFlow Data Export is Operational (optional)

Clearing NetFlow Statistics on the Router (optional)

Customizing the NetFlow Main Cache Parameters (optional)

Configure NetFlow

Perform the steps in this required task to enable NetFlow.

SUMMARY STEPS

1. enable

2. configure terminal

3. interface interface-type interface-number

4. ip flow {ingress | egress}

5. exit

6. Repeat Steps 3 through 5 to enable NetFlow on other interfaces

7. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

(Required) Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

(Required) Enters global configuration mode.

Step 3 

interface interface-type interface-number

Example:

Router(config)# interface ethernet 0/0

(Required) Specifies the interface that you want to enable NetFlow on and enters interface configuration mode.

Step 4 

ip flow {ingress | egress}

Example:

Router(config-if)# ip flow ingress

or

Example:

Router(config-if)# ip flow egress

(Required) Enables NetFlow on the interface.

ingress—captures traffic that is being received by the interface

egress—captures traffic that is being transmitted by the interface

This is the Egress NetFlow Accounting feature that is described in the "Egress NetFlow Accounting Benefits: NetFlow Accounting Simplified" section.

Step 5 

exit

Example:

Router(config-if)# exit

(Optional) Exits interface configuration mode and returns to global configuration mode.

Note You only need to use this command if you want to enable NetFlow on another interface.

Step 6 

Repeat Steps 3 through 5 to enable NetFlow on other interfaces

(Optional) —

Step 7 

end

Example:

Router(config-if)# end

(Required) Exits the current configuration mode and returns to privileged EXEC mode.

Verify that NetFlow is Operational and View NetFlow Statistics

Perform the steps in this optional task to verify that NetFlow is operational and to view the NetFlow statistics.

SUMMARY STEPS

1. show ip flow interface

2. show ip cache flow

3. show ip cache verbose flow

DETAILED STEPS


Step 1 show ip flow interface

Use this command to display the NetFlow configuration for an interface. The following is sample output from this command:

Router# show ip flow interface 
Ethernet0/0
  ip flow ingress
Router#

Step 2 show ip cache flow

Use this command to verify that NetFlow is operational, and to display a summary of the NetFlow statistics. The following is sample output from this command:

Router# show ip cache flow
IP packet size distribution (1103746 total packets):
   1-32   64   96  128  160  192  224  256  288  320  352  384  416  448  480
   .249 .694 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000

    512  544  576 1024 1536 2048 2560 3072 3584 4096 4608
   .000 .000 .027 .000 .027 .000 .000 .000 .000 .000 .000

IP Flow Switching Cache, 278544 bytes
  35 active, 4061 inactive, 980 added
  2921778 ager polls, 0 flow alloc failures
  Active flows timeout in 30 minutes
  Inactive flows timeout in 15 seconds
IP Sub Flow Cache, 21640 bytes
  0 active, 1024 inactive, 0 added, 0 added to flow
  0 alloc failures, 0 force free
  1 chunk, 1 chunk added
  last clearing of statistics never
Protocol         Total    Flows   Packets Bytes  Packets Active(Sec) Idle(Sec)
--------         Flows     /Sec     /Flow  /Pkt     /Sec     /Flow     /Flow
TCP-FTP            108      0.0      1133    40      2.4    1799.6       0.9
TCP-FTPD           108      0.0      1133    40      2.4    1799.6       0.9
TCP-WWW             54      0.0      1133    40      1.2    1799.6       0.8
TCP-SMTP            54      0.0      1133    40      1.2    1799.6       0.8
TCP-BGP             27      0.0      1133    40      0.6    1799.6       0.7
TCP-NNTP            27      0.0      1133    40      0.6    1799.6       0.7
TCP-other          297      0.0      1133    40      6.8    1799.7       0.8
UDP-TFTP            27      0.0      1133    28      0.6    1799.6       1.0
UDP-other          108      0.0      1417    28      3.1    1799.6       0.9
ICMP               135      0.0      1133   427      3.1    1799.6       0.8
Total:             945      0.0      1166    91     22.4    1799.6       0.8

SrcIf         SrcIPaddress    DstIf         DstIPaddress    Pr SrcP DstP  Pkts
Et0/0         192.168.67.6    Et1/0.1       172.16.10.200   01 0000 0C01    51 
Et0/0         10.10.18.1      Null          172.16.11.5     11 0043 0043    51 
Et0/0         10.10.18.1      Null          172.16.11.5     11 0045 0045    51 
Et0/0         10.234.53.1     Et1/0.1       172.16.10.2     01 0000 0800    51 
Et0/0         10.10.19.1      Null          172.16.11.6     11 0044 0044    51 
Et0/0         10.10.19.1      Null          172.16.11.6     11 00A2 00A2    51 
Et0/0         192.168.87.200  Et1/0.1       172.16.10.2     06 0014 0014    50 
Et0/0         192.168.87.200  Et1/0.1       172.16.10.2     06 0015 0015    52 
.
.
.
Et0/0         172.16.1.84     Et1/0.1       172.16.10.19    06 0087 0087    50 
Et0/0         172.16.1.84     Et1/0.1       172.16.10.19    06 0050 0050    51 
Et0/0         172.16.1.85     Et1/0.1       172.16.10.20    06 0089 0089    49 
Et0/0         172.16.1.85     Et1/0.1       172.16.10.20    06 0050 0050    50 
Et0/0         10.251.10.1     Et1/0.1       172.16.10.2     01 0000 0800    51 
Et0/0         10.162.37.71    Null          172.16.11.3     06 027C 027C    49 
Router#

Step 3 show ip cache verbose flow

Use this command to verify that NetFlow is operational and to display a detailed summary of the NetFlow statistics. The following is sample output from this command:

Router# show ip cache verbose flow
IP packet size distribution (1130681 total packets):
   1-32   64   96  128  160  192  224  256  288  320  352  384  416  448  480
   .249 .694 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000

    512  544  576 1024 1536 2048 2560 3072 3584 4096 4608
   .000 .000 .027 .000 .027 .000 .000 .000 .000 .000 .000

IP Flow Switching Cache, 278544 bytes
  35 active, 4061 inactive, 980 added
  2992518 ager polls, 0 flow alloc failures
  Active flows timeout in 30 minutes
  Inactive flows timeout in 15 seconds
IP Sub Flow Cache, 21640 bytes
  0 active, 1024 inactive, 0 added, 0 added to flow
  0 alloc failures, 0 force free
  1 chunk, 1 chunk added
  last clearing of statistics never
Protocol         Total    Flows   Packets Bytes  Packets Active(Sec) Idle(Sec)
--------         Flows     /Sec     /Flow  /Pkt     /Sec     /Flow     /Flow
TCP-FTP            108      0.0      1133    40      2.4    1799.6       0.9
TCP-FTPD           108      0.0      1133    40      2.4    1799.6       0.9
TCP-WWW             54      0.0      1133    40      1.2    1799.6       0.8
TCP-SMTP            54      0.0      1133    40      1.2    1799.6       0.8
TCP-BGP             27      0.0      1133    40      0.6    1799.6       0.7
TCP-NNTP            27      0.0      1133    40      0.6    1799.6       0.7
TCP-other          297      0.0      1133    40      6.6    1799.7       0.8
UDP-TFTP            27      0.0      1133    28      0.6    1799.6       1.0
UDP-other          108      0.0      1417    28      3.0    1799.6       0.9
ICMP               135      0.0      1133   427      3.0    1799.6       0.8
Total:             945      0.0      1166    91     21.9    1799.6       0.8

SrcIf          SrcIPaddress    DstIf          DstIPaddress    Pr TOS Flgs  Pkts
Port Msk AS                    Port Msk AS    NextHop              B/Pk  Active
Et0/0          192.168.67.6    Et1/0.1        172.16.10.200   01 00  10     799 
0000 /0  0                     0C01 /0  0     0.0.0.0                28  1258.1
Et0/0          10.10.18.1      Null           172.16.11.5     11 00  10     799 
0043 /0  0                     0043 /0  0     0.0.0.0                28  1258.0
Et0/0          10.10.18.1      Null           172.16.11.5     11 00  10     799 
0045 /0  0                     0045 /0  0     0.0.0.0                28  1258.0
Et0/0          10.234.53.1     Et1/0.1        172.16.10.2     01 00  10     799 
0000 /0  0                     0800 /0  0     0.0.0.0                28  1258.1
Et0/0          10.10.19.1      Null           172.16.11.6     11 00  10     799 
0044 /0  0                     0044 /0  0     0.0.0.0                28  1258.1
.
.
.
Et0/0          172.16.1.84     Et1/0.1        172.16.10.19    06 00  00     799 
0087 /0  0                     0087 /0  0     0.0.0.0                40  1258.1
Et0/0          172.16.1.84     Et1/0.1        172.16.10.19    06 00  00     799 
0050 /0  0                     0050 /0  0     0.0.0.0                40  1258.0
Et0/0          172.16.1.85     Et1/0.1        172.16.10.20    06 00  00     798 
0089 /0  0                     0089 /0  0     0.0.0.0                40  1256.5
Et0/0          172.16.1.85     Et1/0.1        172.16.10.20    06 00  00     799 
0050 /0  0                     0050 /0  0     0.0.0.0                40  1258.0
Et0/0          10.251.10.1     Et1/0.1        172.16.10.2     01 00  10     799 
0000 /0  0                     0800 /0  0     0.0.0.0              1500  1258.1
Et0/0          10.162.37.71    Null           172.16.11.3     06 00  00     798 
027C /0  0                     027C /0  0     0.0.0.0                40  1256.4
Router#

Configuring NetFlow Data Export Using the Version 9 Export Format

Perform the steps in this optional task to configure NetFlow Data Export using the Version 9 export format, perform the steps in this section. This section contains the following subsections:

Prerequisites

SUMMARY STEPS

DETAILED STEPS

Prerequisites

This task does not include the steps for configuring NetFlow. You must configure NetFlow by enabling it on at least one interface in the router in order to export traffic data with NetFlow Data Export. Refer to the "Configure NetFlow" section for information about configuring NetFlow.

SUMMARY STEPS

1. enable

2. configure terminal

3. ip flow-export destination {{ip-address | hostname} udp-port}

4. Repeat Step 3 once to configure an additional export destination

5. ip flow export source interface-type interface-number

6. ip flow-export version 9 [origin-as | peer-as] [bgp-nexthop]

7. ip flow-export template refresh-rate packets

8. ip flow-export template timeout-rate minutes

9. ip flow-export template options export-stats

10. ip flow-export template options refresh