Using NetFlow Filtering or Sampling to Select the Network Traffic to Track

Last Updated: November 27, 2012

This module contains information about and instructions for selecting the network traffic to track through the use of NetFlow filtering or sampling. The NetFlow Input Filtering and Random Sampled NetFlow features, described in this module, allow you to collect data from specific subsets of traffic.

  • The NetFlow Input Filters feature provides NetFlow data for a specific subset of traffic by letting you create filters to select flows for NetFlow processing. For example, you can select flows from a specific group of hosts.
  • The Random Sampled NetFlow feature provides NetFlow data for a subset of traffic in a Cisco router by processing only one randomly selected packet out of n sequential packets (n is a user-configurable parameter).

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

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Prerequisites for Using NetFlow Filtering or Sampling to Select Network Traffic to Track

Prerequisites for NetFlow Input Filters

Before you can configure the NetFlow Input Filters feature, you must:

  • Configure the router for IP routing.
  • Configure Cisco Express Forwarding (CEF) switching or distributed Cisco Express Forwarding (dCEF) switching on the router and on the interfaces that you want to enable NetFlow Input Filters on (fast switching is not supported).
  • Create traffic classes and define NetFlow sampler maps.

Note


The NetFlow Input Filters feature is supported in the Version 5 and Version 9 NetFlow export formats.

Prerequisites for Random Sampled NetFlow

Before you can configure the Random Sampled NetFlow feature, you must:

  • Configure the router for IP routing.
  • Configure Cisco Express Forwarding (CEF) switching or distributed CEF (dCEF) switching on the router and on the interfaces that you want to enable Random Sampled NetFlow on (fast switching is not supported).
  • Configure NetFlow Version 5 or Version 9 data export if you want to export NetFlow data (otherwise, NetFlow data is visible in the cache, but is not exported).
  • Configure NetFlow Version 9 if you want to use sampler option templates or view NetFlow sampler IDs.

Restrictions for Using NetFlow Filtering or Sampling to Select Network Traffic to Track

Restrictions for NetFlow Input Filters

On Cisco 7500 platforms, the NetFlow Input Filters feature is supported only in distributed mode.

Restrictions for Random Sampled NetFlow

If full NetFlow is enabled on an interface, it takes precedence over Random Sampled NetFlow (which will thus have no effect). This means that you should disable full NetFlow on an interface before enabling Random Sampled NetFlow on that interface.

Enabling Random Sampled NetFlow on a physical interface does not automatically enable Random Sampled NetFlow on subinterfaces; you must explicitly configure it on subinterfaces. Also, disabling Random Sampled NetFlow on a physical interface (or a subinterface) does not enable full NetFlow. This restriction prevents the transition to full NetFlow from overwhelming the physical interface (or subinterface). If you want full NetFlow, you must explicitly enable it.

If you enable Random Sampled NetFlow with Version 5 data export, sampler option templates are not exported, and sampler IDs are exported in the least significant three bits of the last byte of the Version 5 record pad field. Use NetFlow Version 9 if you want to use sampler option templates or view NetFlow sampler IDs.

Information About Using NetFlow Filtering or Sampling to Select Network Traffic to Track

Roadmap Using NetFlow Filtering or Sampling to Select the Network Traffic to Track

The table below provides a roadmap that includes links to associated information and configuration instruction for selecting traffic of interest.

Table 1 Roadmap: Selecting the Network Traffic to Track Using Sampling and Filtering

Traffic of Interest

Links to Associated Information and Configuration Instructions

A specific subset of NetFlow traffic for the purpose of class-based traffic analysis and monitoring (including on-network or off-network traffic)

Associated information:

Configuration instructions:

Statistical sampling of network traffic for traffic engineering or capacity planning purposes

Associated information:

Configuration instructions:

Filtering and Sampling of NetFlow Traffic

NetFlow provides highly granular per-flow traffic statistics in a Cisco router. A flow is a unidirectional stream of packets that arrive at the router on the same subinterface, have the same source and destination IP addresses, Layer 4 protocol, TCP/UDP source and destination ports, and the same type of service (ToS) byte in the IP headers. The router accumulates NetFlow statistics in a NetFlow cache and can export them to an external device (such as the Cisco Networking Services (CNS) NetFlow Collection Engine) for further processing.

Full NetFlow accounts for all traffic entering the subinterface on which it is enabled. But in some cases, you might gather NetFlow data on only a subset of this traffic. The Random Sampled NetFlow feature and the NetFlow Input Filters feature each provide ways to limit incoming traffic to only traffic of interest for NetFlow processing. Random Sampled NetFlow provides NetFlow data for a subset of traffic in a Cisco router by processing only one randomly selected packet out of n sequential packets. The NetFlow Input Filters feature provides the capability to gather NetFlow data on only a specific user-defined subset of traffic.


Note


Random Sampled NetFlow is more statistically accurate than Sampled NetFlow. NetFlow's ability to sample packets was first provided by a feature named Sampled NetFlow. The methodology that the Sampled NetFlow feature uses is deterministic sampling, which selects every nth packet for NetFlow processing on a per-interface basis. For example, if you set the sampling rate to 1 out of 100 packets, then Sampled NetFlow samples the 1st, 101st, 201st, 301st, and so on packets. Sampled NetFlow does not allow random sampling and thus can make statistics inaccurate when traffic arrives in fixed patterns.

Note


The Random Sampled NetFlow algorithms are applied after input filtering.

The table below compares the NetFlow Input Filters feature and the NetFlow Random Sampled feature.

Table 2 Comparison of the NetFlow Input Filters Feature and the Random Sampled NetFlow Feature

Comparison Category

NetFlow Input Filters Feature

Random Sampled NetFlow Feature

Brief description

This feature enables you to gather NetFlow data on only a specific subset of traffic. You do this by creating filters to select flows for NetFlow processing. For example, you can select flows from a specific group of hosts. This feature also lets you select various sampling rates for selected flows.

This feature provides NetFlow data for a subset of traffic in a Cisco router by processing only one randomly selected packet out of n sequential packets (n is a user-configurable parameter). Packets are sampled as they arrive (before any NetFlow cache entries are made for those packets).

Main uses

You can use this feature for class-based traffic analysis and monitoring on-network or off-network traffic.

You can use this feature for traffic engineering, capacity planning, and applications where full NetFlow is not needed for an accurate view of network traffic.

Export format support

This feature is supported in the Version 5 and Version 9 NetFlow export formats.

This feature is supported in the Version 5 and Version 9 NetFlow export formats.

Cisco IOS release support

12.3(4)T.

12.3(2)T, 12.2(18)S, and 12.0(26)S.

Subinterface support

You can configure NetFlow Input Filters per subinterface as well as per physical interface.

You can select more than one filter per subinterface and have all of the filters run simultaneously.

You can configure the Random Sampled NetFlow feature per subinterface as well as per physical interface.

Traffic is collected only on the subinterfaces on which Random Sampled NetFlow is configured. As with full NetFlow, enabling Random Sampled NetFlow on a physical interface does not enable Random Sampled NetFlow on subinterfaces automatically--you must explicitly configure it on the subinterfaces.

Memory impact

This feature requires no additional memory. It allows you to use a smaller NetFlow cache than full NetFlow, because it significantly reduces the number of flows. This feature requires an insignificant amount of memory for each configured NetFlow sampler.

This feature allows a smaller NetFlow cache than full NetFlow, because it significantly reduces the number of flows. This feature requires an insignificant amount of memory for each configured NetFlow sampler.

Performance impact

Accounting of classified traffic saves router resources by reducing the number of flows being processed and exported. The amount of bandwidth saved depends on the usage and the class-map criteria.

However, performance might degrade depending on the number and complexity of class maps configured in a policy.

Statistical traffic sampling substantially reduces consumption of router resources (especially CPU resources) while providing valuable NetFlow data.

This feature substantially reduces the impact of NetFlow data export on interface traffic. For example, a sampling rate of 1 out of 100 packets reduces the export of NetFlow data by about 50 percent.

NetFlow Input Filters Flow Classification

For the NetFlow Input Filters feature, classification of packets can be based on any of the following: IP source and destination addresses, Layer 4 protocol and port numbers, incoming interface, MAC address, IP Precedence, DSCP value, Layer 2 information (such as Frame-Relay DE bits or Ethernet 802.1p bits), and Network-Based Application Recognition (NBAR) information. The packets are classified (filtered) on the above criteria, and flow accounting is applied to them on subinterfaces.

The filtering mechanism uses the Modular QoS Command-Line Interface (MQC) to classify flows. You can create multiple filters with matching samplers on a per-subinterface basis. For example, you can subdivide subinterface traffic into multiple classes based on type of service (ToS) values or destination prefixes (or both). For each class, you can also configure sampling at a different rate, using higher rates for higher-priority classes of traffic and lower rates for lower-priority ones.

MQC has many policies (actions) such as bandwidth rate and queuing management. These policies are applied only if a packet matches a criterion in a class map that is applied to the subinterface. A class map contains a set of match clauses and instructions on how to evaluate the clauses and acts as a filter for the policies, which are applied only if a packet's content satisfies the match clause. The NetFlow Input Filters feature adds NetFlow accounting to the MQC infrastructure, which means that flow accounting is done on a packet only if it satisfies the match clauses.

Two types of filter are available:

  • ACL-based flow-mask filters
  • Fields of filter (source IP address, destination IP address, source application port, destination application port, port protocol, ToS bits, and TCP flags)

Random Sampled NetFlow Sampling Mode

Sampling mode makes use of an algorithm that selects a subset of traffic for NetFlow processing. In the random sampling mode that the Random Sampled NetFlow feature uses, incoming packets are randomly selected so that one out of each n sequential packets is selected on average for NetFlow processing. For example, if you set the sampling rate to 1 out of 100 packets, then NetFlow might sample the 5th packet and then the 120th, 199th, 302nd, and so on. This sample configuration provides NetFlow data on 1 percent of total traffic. The n value is a parameter from 1 to 65535 packets that you can configure.

Random Sampled NetFlow The NetFlow Sampler

A NetFlow sampler map defines a set of properties (such as the sampling rate and NetFlow sampler name) for NetFlow sampling. Each NetFlow sampler map can be applied to one or many subinterfaces as well as physical interfaces. You can define up to eight NetFlow sampler maps.

For example, you can create a NetFlow sampler map named mysampler1 with the following properties: random sampling mode and a sampling rate of 1 out of 100 packets. This NetFlow sampler map can be applied to any number of subinterfaces, each of which would refer to mysampler1 to perform NetFlow sampling. Traffic from these subinterfaces is merged (from a sampling point of view). This introduces even more "randomness" than random per-subinterface NetFlow sampling does, but statistically it provides the same sampling rate of 1 out of 100 packets for each participating subinterface.

The sampling in random sampled NetFlow is done by NetFlow samplers. A NetFlow sampler is defined as an instance of a NetFlow sampler map that has been applied to a physical interface or subinterface. If full NetFlow is configured on a physical interface, it overrides random sampled NetFlow on all subinterfaces of this physical interface.

How to Configure NetFlow Filtering or Sampling


Note


You need to configure input filtering before you apply the random sampled NetFlow algorithms.

Configuring NetFlow Input Filters to Reduce the Impact of NetFlow Data Export

Perform the following tasks to configure NetFlow input filters. Configuring NetFlow input filters reduces the impact of NetFlow data export.

Creating a Class Map for a Policy Map for NetFlow Input Filtering

Perform the following steps to create a class map for a policy map for NetFlow input filtering.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    class-map class-map-name [match-all | match-any]

4.    match access-group access-group

5.    end


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Router> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Router# configure terminal

 

Enters global configuration mode.

 
Step 3
class-map class-map-name [match-all | match-any]


Example:

Router(config)# class-map my_high_importance_class

 

Creates a class map to be used for matching packets to a specified class.

  • The class-map-name argument is the name of the class for the class map. The name can be a maximum of 40 alphanumeric characters. The class name is used for both the class map and for configuring policy for the class in the policy map.
  • The match-all | match-anykeywords determine how packets are evaluated when multiple match criteria exist. Packets must either meet all of the match criteria (match-all) or only one of the match criteria (match-any) to be considered a member of the class.

Entering the class-mapcommand enables class-map configuration mode, in which you can enter one of the match commands to configure the match criteria for this class.

 
Step 4
match access-group access-group


Example:

Router(config-cmap)# match access-group 101

 

Configures the match criteria for a class map on the basis of the specified access control list (ACL).

  • The access-group argument is a numbered ACL whose contents are used as the match criteria against which packets are checked to determine if they belong to this class. An ACL number can be a number from 1 to 2699.
 
Step 5
end


Example:

Router(config-cmap)# end

 

Exits the current configuration mode and returns to privileged EXEC mode.

 

Creating a Sampler Map for a Policy Map for NetFlow Input Filtering

Perform the following steps to create a sampler map for a policy map for NetFlow input filtering.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    flow-sampler-map sampler-map-name

4.    mode random one-out-of packet-interval

5.    end


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Router> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Router# configure terminal

 

Enters global configuration mode.

 
Step 3
flow-sampler-map sampler-map-name


Example:

Router(config)# flow-sampler-map my_high_sampling

 

Defines a statistical sampling NetFlow export flow sampler map.

  • The sampler-map-name argument is the name of the flow sampler map to be defined.

Entering the flow-sampler-map command enables the flow sampler configuration mode.

 
Step 4
mode random one-out-of packet-interval


Example:

Router(config-sampler-map)# mode random one-out-of 100

 

Specifies a statistical sampling NetFlow export random sampling mode and a packet interval.

  • The random keyword specifies that sampling uses the random sampling mode.
  • The one-out-of packet-interval argument-keyword pair specifies the packet interval (one out of every npackets) from which to sample. For n, you can specify from 1 to 65535 (packets).
 
Step 5
end


Example:

Router(config-sampler-map)# end

 

Exits the current configuration mode and returns to privileged EXEC mode.

 

Creating a Class-Based Policy Containing NetFlow Sampling Actions

Perform thefollowing steps to create a class-based policy that contains NetFlow sampling actions.

You can assign only one NetFlow input filters sampler to a class. Assigning a subsequent NetFlow input filters sampler to a class overwrites the previous sampler. Removing a NetFlow sampler map also removes the NetFlow input filters sampler from the corresponding policy map.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    policy-map policy-map-name

4.    class {class-name | class-default}

5.    netflow-sampler sampler-map-name

6.    end


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Router> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Router# configure terminal

 

Enters global configuration mode.

 
Step 3
policy-map policy-map-name


Example:

Router(config)# policy-map mypolicymap

 

Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy.

  • The policy-map-name argument is the name of the policy map. The name can be a maximum of 40 alphanumeric characters.

Entering the policy-mapcommand enables quality of service (QoS) policy-map configuration mode, in which you can configure or modify the class policies for that policy map.

 
Step 4
class {class-name | class-default}


Example:

Router(config-pmap)# class my_high_importance_class

 

Specifies the name of the class whose policy you want to create or change or specifies the default class (commonly known as the class-default class) before you configure its policy.

  • The class-name argument is the name of the class for which you want to configure or modify policy.
  • The class-default keyword specifies the default class so that you can configure or modify its policy.

Entering the class command enables QoS policy-map class configuration mode.

 
Step 5
netflow-sampler sampler-map-name


Example:

Router(config-pmap-c)# netflow-sampler high_sampling

 

Enables a NetFlow input filter sampler.

  • The sampler-map-name argument is the name of the NetFlow sampler map to apply to the class.

You can assign only one NetFlow input filter sampler to a class. Assigning another NetFlow input filter sampler to a class overwrites the previous one.

 
Step 6
end


Example:

Router(config-pmap-c)# end

 

Exits the current configuration mode and returns to privileged EXEC mode.

 

Applying a Policy Containing NetFlow Sampling Actions to an Interface

Perform the following steps to apply a policy containing NetFlow sampling actions to an interface.

After you define a service policy with the policy-mapcommand, you use the service-policy command in interface configuration mode to attach it to one or more interfaces, thus specifying the service policy for those interfaces. Although you can assign the same service policy to multiple interfaces, each interface can have only one service policy attached. You can apply the service policy only in the input direction.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-type interface-number

4.    service-policy {input | output} policy-map-name

5.    end


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Router> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Router# configure terminal

 

Enters global configuration mode.

 
Step 3
interface interface-type interface-number


Example:

Router(config)# interface POS 1/0

 

Specifies the interface and enters interface configuration mode.

 
Step 4
service-policy {input | output} policy-map-name


Example:

Router(config-if)# service-policy input mypolicymap

 

Attaches a policy map to an input interface or virtual circuit (VC), or an output interface or VC, to be used as the service policy for that interface or VC.

  • The input keyword attaches the specified policy map to the input interface or input VC.
  • The output keyword attaches the specified policy map to the output interface or output VC.
  • The policy-map-name is the name of a service policy map (created through use of the policy-map command) to be attached. The name can be a maximum of 40 alphanumeric characters.
 
Step 5
end


Example:

Router(config-if)# end

 

Exits the current configuration mode and returns to privileged EXEC mode.

 
Troubleshooting Tips

Use the debug flow-sampler class-basedcommand to display debugging output for NetFlow input filters.

Configuring Random Sampled NetFlow to Reduce the Impact of NetFlow Data Export

Perform the following tasks to configure and verify the configuration for the Random Sampled NetFlow feature:

Defining a NetFlow Sampler Map

Perform the following task to define a NetFlow sampler map.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    flow-sampler-map sampler-map-name

4.    mode random one-out-of sampling-rate

5.    end


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Router> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Router# configure terminal

 

Enters global configuration mode.

 
Step 3
flow-sampler-map sampler-map-name


Example:

Router(config)# flow-sampler-map mysampler1

 

Defines a NetFlow sampler map and enters flow sampler map configuration mode.

  • The sampler-map-name argument is the name of the NetFlow sampler map to be defined.
 
Step 4
mode random one-out-of sampling-rate


Example:

Router(config-sampler)# mode random one-out-of 100

 

Enables random mode and specifies a sampling rate for the NetFlow sampler.

  • The random keyword specifies that sampling uses the random mode.
  • The one-out-of sampling-rate keyword-argument pair specifies the sampling rate (one out of every n packets) from which to sample. For n, you can specify from 1 to 65535 (packets).
 
Step 5
end


Example:

Router(config-sampler)# end

 

Exits the current configuration mode and returns to privileged EXEC mode.

 

Applying a NetFlow Sampler Map to an Interface

Perform the following task to apply a NetFlow sampler map to an interface.

You can apply a NetFlow sampler map to a physical interface (or a subinterface) to create a NetFlow sampler.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface interface-type interface-number

4.    flow-sampler sampler-map-name

5.    end


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

Router> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Router# configure terminal

 

Enters global configuration mode.

 
Step 3
interface interface-type interface-number


Example:

Router(config)# ethernet 1/0.2

 

Specifies the interface and enters interface configuration mode.

 
Step 4
flow-sampler sampler-map-name


Example:

Router(config-if)# flow-sampler mysampler1

 

Applies a NetFlow sampler map to the interface to create the NetFlow sampler.

  • The sampler-map-name argument is the name of the NetFlow sampler map to apply to the interface.
 
Step 5
end


Example:

Router(config-if)# end

 

Exits the current configuration mode and returns to privileged EXEC mode.

 

Verifying the Configuration of Random Sampled NetFlow

Perform the following tasks to verify the configuration of the Random Sampled NetFlow feature.

SUMMARY STEPS

1.    show flow-sampler

2.    show ip cache verbose flow

3.    show ip flow export template


DETAILED STEPS
Step 1   show flow-sampler

Use this command to display attributes (including mode, sampling rate, and number of sampled packets) of one or all Random Sampled NetFlow samplers to verify the sampler configuration. For example:



Example:
Router# show flow-sampler
Sampler : mysampler1, id : 1, packets matched : 10, mode : random sampling mode
  sampling interval is : 100
 Sampler : myflowsampler2, id : 2, packets matched : 5, mode : random sampling mode 
  sampling interval is : 200

To verify attributes for a particular NetFlow sampler, use the show flow-sampler sampler-map-namecommand. For example, enter the following for a NetFlow sampler named mysampler1:



Example:
Router# show flow-sampler mysampler1
Sampler : mysampler1, id : 1, packets matched : 0, mode : random sampling mode
  sampling interval is : 100
Step 2   show ip cache verbose flow

Use this command to display additional NetFlow fields in the header when Random Sampled NetFlow is configured. For example:



Example:
Router# show ip cache verbose flow
...
SrcIf          SrcIPaddress    DstIf          DstIPaddress    Pr TOS Flgs  Pkts
Port Msk AS                    Port Msk AS    NextHop              B/Pk  Active
BGP: BGP NextHop
Et1/0          8.8.8.8         Et0/0*         9.9.9.9         01 00  10       3 
0000 /8  302                   0800 /8  300   3.3.3.3               100     0.1
BGP: 2.2.2.2         Sampler: 1  Class: 1  FFlags: 01  

This example shows the NetFlow output of the show ip cache verbose flow command in which the sampler, class-id, and general flags are set. What is displayed for a flow depends on what flags are set in the flow. If the flow was captured by a sampler, the output shows the sampler ID. If the flow was marked by MQC, the display includes the class ID. If any general flags are set, the output includes the flags.

NetFlow flags (FFlags) that might appear in the show ip cache verbose flow command output are:

  • FFlags: 01 (#define FLOW_FLAGS_OUTPUT 0x0001)--Egress flow
  • FFlags: 02 (#define FLOW_FLAGS_DROP 0x0002)--Dropped flow (for example, dropped by an ACL)
  • FFlags: 04 (#define FLOW_FLAGS_MPLS 0x0004)--MPLS flow
  • FFlags: 08 (#define FLOW_FLAGS_IPV6 0x0008)--IPv6 flow
  • FFlags: 10 (#define FLOW_FLAGS_RSVD 0x0010)--Reserved

IPv6 and RSVD FFlags are seldom used. If FFlags is zero, the line is omitted from the output. If multiple flags are defined (logical ORed together), then both sets of flags are displayed in hexadecimal format.

Step 3   show ip flow export template

Use this command to display the statistics for the NetFlow data export (such as template timeout and refresh rate) for the template-specific configurations. For example:



Example:
Router# show ip flow export template
Template Options Flag = 0
   Total number of Templates added = 0
   Total active Templates = 0
   Flow Templates active = 0
   Flow Templates added = 0
   Option Templates active = 0
   Option Templates added = 0
   Template ager polls = 0
   Option Template ager polls = 0
Main cache version 9 export is enabled
 Template export information
   Template timeout = 30
   Template refresh rate = 20
 Option export information
   Option timeout = 30
   Option refresh rate = 20

Troubleshooting Tips

Use the debug flow-samplercommand to display debugging output for the Random Sampled NetFlow feature.

Configuration Examples for Configuring NetFlow Filtering and Sampling

Example Configuring NetFlow Input Filters to Reduce the Impact of NetFlow Data Export

Example Creating a Class Map for a Policy Map for NetFlow Input Filtering

The following example shows how to create a class map for a policy map for NetFlow input filtering. In the example, class maps named my_high_importance_class and my_medium_importance_class are created.

configure terminal
!
class-map my_high_importance_class
 match access-group 101
 exit
!
class-map my_medium_importance_class
 match access-group 102
 end

Example Creating a Sampler Map for a Policy Map for NetFlow Input Filtering

The following example shows how to create a sampler map for a policy map for NetFlow input filtering. In the following example, sampler maps called my_high_sampling, my_medium sampling, and my_low_samplng are created for use with a policy map for NetFlow input filtering.

configure terminal
!
flow-sampler-map my_high_sampling
 mode random one-out-of 1
 exit
!
flow-sampler-map my_medium_sampling
 mode random one-out-of 100
 exit
!
flow-sampler-map my_low_sampling
 mode random one-out-of 1000
 end

Example Creating a Policy Containing NetFlow Sampling Actions

The following example shows how to create a class-based policy containing three NetFlow sampling actions. In this example, a sampling action named my_high_sampling is applied to a class named my_high_importance_class, a sampling action named my_medium_sampling is applied to a class named my_medium_importance_class, and a sampling action named my_low_sampling is applied to the default class.

configure terminal
!
policy-map mypolicymap
 class my_high_importance_class
 netflow sampler my_high_sampling
 exit
!
class my_medium_importance_class
 netflow-sampler my_medium_sampling
 exit
!
class class-default
 netflow-sampler my_low_sampling
end

Example Applying a Policy to an Interface

The following example shows how to apply a policy containing NetFlow sampling actions to an interface. In this example, a policy named mypolicymap is attached to interface POS1/0 and also to interface ATM2/0.

configure terminal
!
interface POS1/0
 service-policy input mypolicymap
 exit
!
interface ATM2/0
 service-policy input mypolicymap
 end

Example Configuring Random Sampled NetFlow to Reduce the Impact of NetFlow Data Export

Example Defining a NetFlow Sampler Map

The following example shows how to define a NetFlow sampler map named mysampler1:

configure terminal
!
flow-sampler-map mysampler1
 mode random one-out-of 100
 end

Example Applying a NetFlow Sampler Map to an Interface

The following example shows how to enable CEF switching and apply a NetFlow sampler map named mysampler1 to Ethernet interface 1 to create a NetFlow sampler on that interface:

configure terminal
!
ip cef
!
interface ethernet 1/0
 flow-sampler mysampler1
 end

Additional References

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Commands List, All Releases

NetFlow commands

Cisco IOS NetFlow Command Reference

Overview of Cisco IOS NetFlow

Cisco IOS NetFlow Overview

The minimum information about and tasks required for configuring NetFlow and NetFlow Data Export

Getting Started with Configuring NetFlow and NetFlow Data Export

Tasks for configuring NetFlow to capture and export network traffic data

Configuring NetFlow and NetFlow Data Export

Tasks for configuring MPLS Aware NetFlow

Configuring MPLS Aware NetFlow

Tasks for configuring MPLS egress NetFlow accounting

Configuring MPLS Egress NetFlow Accounting and Analysis

Tasks for configuring Random Sampled NetFlow

Using NetFlow Filtering or Sampling to Select the Network Traffic to Track

Tasks for configuring NetFlow aggregation caches

Configuring NetFlow Aggregation Caches

Tasks for configuring NetFlow BGP next hop support

Configuring NetFlow BGP Next Hop Support for Accounting and Analysis

Tasks for configuring NetFlow multicast support

"Configuring NetFlow Multicast Accounting"

Tasks for detecting and analyzing network threats with NetFlow

Detecting and Analyzing Network Threats With NetFlow

Tasks for configuring NetFlow Reliable Export With SCTP

NetFlow Reliable Export With SCTP

Tasks for configuring NetFlow Layer 2 and Security Monitoring Exports

NetFlow Layer 2 and Security Monitoring Exports

Tasks for configuring the SNMP NetFlow MIB

Configuring SNMP and using the NetFlow MIB to Monitor NetFlow Data

Tasks for configuring the NetFlow MIB and Top Talkers feature

Configuring NetFlow Top Talkers using Cisco IOS CLI Commands or SNMP Commands

Information for installing, starting, and configuring the CNS NetFlow Collection Engine

Cisco CNS NetFlow Collection Engine Documentation

Standards

Standards

Title

No new or modified standards are supported by this feature.

--

MIBs

MIBs

MIBs Link

None

To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFCs

Title

No new or modified RFCs are supported by this feature.

--

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for Using NetFlow Filtering or Sampling to Select Network Traffic to Track

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Table 3 Feature Information for Using NetFlow Filtering or Sampling to Select Network Traffic to Track

Feature Name

Releases

Feature Information

NetFlow Input Filters

12.3(4)T, 12.2(25)S 12.2(27)SBC 15.0(1)S

The NetFlow Input Filters feature provides NetFlow data for a specific subset of traffic by letting you create filters to select flows for NetFlow processing. For example, you can select flows from a specific group of hosts. This feature also lets you select various sampling rates for selected flows. The NetFlow Input Filters feature is used, for example, for class-based traffic analysis and monitoring on-network or off-network traffic.

The following commands were introduced or modified by this feature: netflow-sampler and debug flow-sampler.

Random Sampled NetFlow

12.3(4)T, 12.2(18)S, 12.0(26)S, 12.2(27)SBC 12.2(33)SRC

Random Sampled NetFlow provides NetFlow data for a subset of traffic in a Cisco router by processing only one randomly selected packet out of n sequential packets (n is a user-configurable parameter). Packets are sampled as they arrive (before any NetFlow cache entries are made for those packets). Statistical traffic sampling substantially reduces consumption of router resources (especially CPU resources) while providing valuable NetFlow data. The main uses of Random Sampled NetFlow are traffic engineering, capacity planning, and applications where full NetFlow is not needed for an accurate view of network traffic.

In Cisco IOS Release 12.2(33)SRC, this feature was enhanced to support IPv6 unicast and IPv4 multicast functionality.

The following commands were introduced by this feature: debug flow-sampler, flow-sampler, flow-sampler-map, mode (flow sampler map configuration), and show flow-sampler.

The following command was modified by this feature: ip flow-export.

Glossary

ACL --Access control list. A roster of users and groups of users kept by a router. The list is used to control access to or from the router for a number of services.

BGP --Border Gateway Protocol. Interdomain routing protocol that replaces Exterior Gateway Protocol (EGP). A BGP system exchanges reachability information with other BGP systems. BGP is defined by RFC 1163.

BGP next hop --IP address of the next hop to be used to reach a certain destination.

CEF --Cisco Express Forwarding. Layer 3 IP switching technology that optimizes network performance and scalability for networks with large and dynamic traffic patterns.

dCEF --Distributed Cisco Express Forwarding. A type of CEF switching in which line cards (such as Versatile Interface Processor (VIP) line cards) maintain identical copies of the forwarding information base (FIB) and adjacency tables. The line cards perform the express forwarding between port adapters; this relieves the Route Switch Processor of involvement in the switching operation.

fast switching --Cisco feature in which a route cache is used to expedite packet switching through a router.

flow --Unidirectional stream of packets between a given source and destination. Source and destination are each defined by a network-layer IP address and transport-layer source and destination port numbers.

MQC --Modular QoS command-line interface. A CLI structure that lets you create traffic polices and attach them to interfaces. A traffic policy contains a traffic class and one or more QoS features. The QoS features in the traffic policy determine how the classified traffic is treated.

NBAR --Network-Based Application Recognition. A classification engine in Cisco IOS software that recognizes a wide variety of applications, including web-based applications and client/server applications that dynamically assign Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) port numbers. After the application is recognized, the network can invoke specific services for that application. NBAR is a key part of the Cisco Content Networking architecture and works with QoS features to let you use network bandwidth efficiently.

NetFlow --Cisco IOS security and accounting feature that maintains per-flow information.

NetFlow sampler --A set of properties that are defined in a NetFlow sampler map that has been applied to at least one physical interface or subinterface.

NetFlow sampler map --The definition of a set of properties (such as the sampling rate) for NetFlow sampling.

NetFlow v9 --NetFlow export format Version 9. A flexible and extensible means for carrying 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.

ToS --type of service. Second byte in the IP header that indicates the desired quality of service for a specific datagram.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.

© 2012 Cisco Systems, Inc. All rights reserved.