Cisco NX-OS/IOS Netflow Comparison
Cisco NX-OS/IOS Netflow Comparison
Objective
This tech note outlines the main differences in NetFlow between Cisco® NX-OS Software and Catalyst 6500 Sup720/Sup32 running Cisco IOS® Software. Sample configurations are included for Cisco NX-OS and Cisco IOS Software for some common features to demonstrate the similarities and differences. Please refer to the NX-OS documentation on Cisco.com for a complete list of supported features.
It should be noted that the Catalyst 6500 range now ships a new supervisor, the sup2T, which supports Flexible NetFlow in a similar manner to the NX-OS Software. More details of this and of the sup2T can be obtained from http://www.cisco.com/en/US/prod/collateral/switches/ps5718/ps708/white_paper_c11-652021.html#wp9000272
NetFlow Overview
NetFlow provides flow-based statistics collection that is useful for troubleshooting, traffic analysis, performance monitoring, and security threat prevention. Cisco NX-OS supports a flexible architecture that allows an administrator collect different data for different applications per interface.
Important Cisco NX-OS and Cisco IOS Software Differences
In Cisco NX-OS:
- The NetFlow feature supports stateful process restarts and In-Service-Software-Upgrades (ISSU) if two supervisors are present in a chassis.
- Non NetFlow features do not have any dependencies on NetFlow. In Cisco IOS Software, Reflexive ACLs, NAT, TCP Intercept, SLB, and WCCP have dependencies on the flow mask configuration.
- NetFlow command-line interface (CLI) configuration and verification commands are not available until you enable the NetFlow feature with the feature netflow command.
- Two flow modes are supported: full and sampled for layer-2 and layer-3 NetFlow collection. The NX-OS supports layer-2 NetFlow (MAC accounting), whereas Cisco IOS Software supports Bridged NetFlow (IP accounting in a VLAN).
- Sampled mode supports packet-based sampling (1-64 out of 1-8192).
- In sampled mode, the sampling occurs before the NetFlow cache is populated.
- The M1 series line-card modules support 512,000 NetFlow cache entries (ingress and egress flows). F1 series line-card modules do not support NetFlow.
- The M1 series line-card modules perform the NetFlow Data Export (NDE) packet formatting processing on the local CPU to offload processing from the supervisor module. The supervisor module sends the NDE formatted packet to the NetFlow export destination(s).
- A flexible architecture is used that consist of flow records, flow exports, and flow monitors that allows different NetFlow collection requirements to be applied to different interfaces for ingress and egress traffic flows.
- Cisco NX-OS supports more key and non-key fields (L2 and L3) when creating flow records. It can also collect additional information such as TCP flags, which are useful for security auditing.
- NetFlow collects multicast traffic statistics by default. Cisco IOS software requires the global ip multicast netflow output-counters command.
- NetFlow Versions 5 and 9 export formats are supported (Version 9 is recommended for the greatest flexibility and is required for layer-2 NetFlow).
- A source interface must be configured for each flow export.
- Cisco NX-OS defaults to User Datagram Protocol (UDP) port 9995 for NetFlow Data Export. Cisco IOS Software requires the UDP port to be specified.
- A NetFlow export packet can be configured with a specific DSCP QoS value using the dscp <#> flow-export command.
- Cisco NX-OS provides more granular aging timers (session timer and aggressive threshold).
- The default aging timer values are different than in Cisco IOS Software.
Things You Should Know
The following list provides some additional facts about Cisco NX-OS that should be helpful when configuring and managing NetFlow.
- Configuring NetFlow is a four-step process: Configure the record or use a predefined record, configure the exporter, configure the monitor, and apply the monitor to an interface or VLAN.
- If the feature netflow command is removed, all relevant NetFlow configuration information is also removed.
- NetFlow consumes hardware resources (ternary content-addressable memory [TCAM], CPU, etc.), so understanding the resource utilization on a device is important before enabling NetFlow.
- NetFlow is processed after the ACL processing on an interface, so an ACL (ingress or egress) will impact what flows are collected.
- Sampling mode preserves CPU and NetFlow cache entries in high-traffic environments.
- A traffic direction (input or output) needs to be specified when a flow monitor is applied to an interface. Layer-2 NetFlow (MAC accounting) only supports the input option.
- Egress NetFlow is supported allowing packets to be captured after they are un-encapsulated.
- Multiple NetFlow export destinations can be configured per exporter to improve resiliency.
- NetFlow is VRF aware so exported data can be sent to a collector in a specified VRF instance. This is configured under a flow exporter with the destination x.x.x.x use-vrf <instance> command.
- The active-aging flow timeout is 1800 seconds by default
- The inactive-aging flow timeout is 15 seconds by default.
- The fast-aging flow timeout is disabled by default.
- The aggressive-aging flow threshold is disabled by default.
- TCP session aging is disabled by default.
- The show running-config netflow command can be used to view the running NetFlow configuration.
Configuration Comparison
The following sample code shows configuration similarities and differences between the Cisco NX-OS and Cisco IOS Software CLIs. There are several significant differences: Cisco NX-OS allows NetFlow to be enabled and disabled globally, and it uses a more flexible architecture that allows different statistics to be collected for different applications, whereas the Cisco IOS Software on the Catalyst 6500 supports one flow mask and export pair for the entire chassis. The Cisco IOS Software syntax shown here is from Cisco IOS Software release 12.2SXH.
Cisco IOS CLI | Cisco NX-OS CLI |
---|---|
Enabling the NetFlow Feature |
Cisco IOS Software does not have the ability to enable or disable NetFlow. | feature netflow |
---|
Configuring a Layer-3 NetFlow Flow Record (Custom) |
Cisco IOS Software does not have the ability to create custom layer-3 NetFlow records. A system wide flow mask is defined. The following example uses interface-full. mls netflow interface mls flow ip interface-full mls nde sender version 5 |
flow record Netflow-Record-1description Custom-Flow-Record
match ipv4 source address match ipv4 destination address match transport destination-port collect counter bytes collect counter packets |
---|
Configuring a Layer-2 NetFlow Flow Record (Custom) |
Cisco IOS Software does not have the ability to create custom layer-2 NetFlow records to capture MAC address information or reference it as a key field. | flow record Netflow-Record-1description Layer-2-Flow-Record
match datalink mac source-address match datalink mac destination-address collect counter bytes collect counter packets |
---|
Configuring a NetFlow Flow Export |
ip flow-export source GigabitEthernet2/2ip flow-export version 9
ip flow-export destination 192.168.11.2 2000 |
flow exporter Netflow-Exporter-1description Production-Netflow-Exporter
destination 192.168.11.2 source Ethernet2/2 version 9 |
---|
Configuring a NetFlow Monitor with a Custom Record |
Cisco IOS Software does not have the ability to create flow monitors that associate NetFlow records to NetFlow exporters. | flow monitor Netflow-Monitor-1description Applied Inbound-Eth-1/1
record Netflow-Record-1 exporter Netflow-Exporter-1 |
---|
Configuring a NetFlow Monitor with an Original Record |
Cisco IOS Software does not have the ability to create flow monitors that associate NetFlow records to NetFlow exporters. | flow monitor Netflow-Monitor-2description Use Predefined “Original-Netflow-Record”
record netflow-original exporter Netflow-Exporter-1 |
---|
Adjusting NetFlow Timers |
mls aging fastmls aging long 120
mls aging normal 32 |
flow timeout active 120flow timeout inactive 32
flow timeout fast 32 threshold 100 flow timeout session flow timeout aggressive threshold 75 |
---|
Configuring a NetFlow Sampler |
mls sampling packet-based 64 8000mls flow int-full
mls nde sender version 5 |
sampler NF-Sampler-1description Sampler-for-high-traffic-environment
mode 1 out-of 1000 |
---|
Applying a NetFlow Monitor to an Interface |
interface gigabitethernet 1/1ip flow ingress | interface ethernet 1/1ip flow monitor Netflow-Monitor-1 input |
---|
Applying a NetFlow Monitor to a VLAN |
ip flow ingress layer2-switched vlan 10 | vlan configuration 10ip flow monitor Netflow-Monitor input |
---|
Applying a Layer-2 NetFlow Monitor an Interface |
Cisco IOS Software does not have the ability to apply a layer-2 flow monitor to an interface and specify the input or output direction. Cisco IOS software uses a global command to specify the VLAN for which only ingress bridged-traffic is captured. See the previous example. | interface etherent 1/1switchport
switchport access vlan 100 mac packet-classify layer2-switched flow monitor Netflow-Monitor-L2 input |
---|
Applying a NetFlow Sampler to an Interface |
interface gigabitethernet1/1mls netflow sampling | interface ethernet 1/1ip flow monitor Netflow-Monitor-1 input sampler NF-Sampler-1 |
---|
Applying a NetFlow Sampler to a VLAN |
Cisco IOS Software does not have the ability to apply a sampler to a VLAN. | vlan configuration 10ip flow monitor Netflow-Monitor-1 input sampler NF-Sampler-1 |
---|---|
Applying a Layer-2 NetFlow Sampler an Interface |
Cisco IOS Software does not have the ability to apply a layer-2 sampler to an interface. | interface etherent 1/1switchport
switchport access vlan 100 mac packet-classify layer2-switched flow monitor Netflow-Monitor-L2 input sampler NF-Sampler-1 |
---|
Verification Command Comparison
The following table compares some useful show commands for verifying and troubleshooting NetFlow.
Cisco NX-OS NetFlow | Cisco IOS Software NetFlow | Command Description |
---|---|---|
show flow exporter | show mls nde | Displays the configured exporter maps |
show flow interface | – | Displays interfaces configured for NetFlow |
show flow monitor | – | Displays information about monitor maps |
show flow record | – | Displays information about record maps |
show flow timeout | – | Displays the NetFlow timeout value |
show hardware flow aging | show mls netflow aging | Displays the NetFlow table aging timeout value |
show hardware flow entry | show mls netflow ip flow | Displays flow-specific information |
show hardware flow ip | show mls netflow ip | Displays the IP NetFlow table |
show hardware flow l2 | – | Displays the Layer-2 NetFlow table |
show hardware flow sampler | show mls sampling | Displays the NetFlow sampling configuration |
show hardware flow utilization module | show mls netflow table summary | Displays NetFlow table utilization per module |
show sampler | show flow-sampler | Displays information about sampler maps |