Configuring Flexible NetFlow
Flow is defined as a unique set of key fields attributes, which might include fields of packet, packet routing attributes, and input and output interface information. A NetFlow feature defines a flow as a sequence of packets that have the same values for the feature key fields. Flexible NetFlow (FNF) allows you to collect and optionally export a flow record that specifies various flow attributes. NetFlow collection supports IP, IPv6 and Layer 2 traffic.
Note
This chapter provides Catalyst 4500 switch specific information. For platform independent configuration and command information refer to the following links
Cisco IOS Flexible NetFlow Configuration Guide:
http://www.cisco.com/en/US/partner/docs/ios/fnetflow/configuration/guide/12_4t/fnf_12_4t_book.html
Cisco IOS Flexible NetFlow Command Reference:
http://www.cisco.com/en/US/partner/docs/ios/fnetflow/command/reference/fnf_book.html
Note
When IP routing is disabled, on the interface configured with NetFlow Lite, packets are not received on NetFlow collector. Enable IP routing for the NetFlow collector to work.
The following items apply to the Catalyst 4500 series switch:
1.
The Catalyst 4500 series switch supports ingress flow statistics collection for switched and routed packets; it does not support Flexible Netflow on egress traffic.
2.
Supervisor Engine 8-E supports a 100,000 entry hardware flow table, which is shared across all the ports and VLANs on the switch. To limit the number of table entries on a given interface or VLAN, enter the cache entries number command.
The following example illustrates how to configure the flow monitor m1 cache to hold 1000 entries. With this configuration, interface gig 3/1 can create a maximum of 1000 flows and interface gig 3/2 can create a maximum of 1000 flows:
! exporter specifies where the flow records are send to
! record specifies packet fields to collect
match ipv4 source address
match ipv4 destination address
collect counter bytes long
collect counter packets long
collect timestamp sys-uptime first
collect timestamp sys-uptime last
! monitor refers record configuration and optionally exporter
! configuration. It specifies the cache size i.e. how many unique flow
cache timeout inactive 30
!interface GigabitEthernet 3/1
! layer2-switched allows collection of flow records even when the packet is
ip flow monitor m1 layer2-switched input
interface GigabitEthernet 3/2
3.
Flow collection is supported on multiple targets (Port, VLAN, per-port per-VLAN (FNF can be enabled on a specific VLAN on a given port)) and on a port-channel (FNF is configured on the port-channel interface, rather than individual member ports).
Note
The switch does not support tunnels and SVI statistics.
4.
64 unique flow record configurations are supported.
5.
Flow QoS/UBRL and FNF cannot be configured on the same target. (For information on Flow-based QoS, see the section Flow-based QoS.)
6.
14,000 unique IPv6 addresses can be monitored.
7.
On a given target, one monitor per traffic type is allowed. However, you can configure multiple monitors on the same target for different traffic types.
For example, the following configuration is allowed:
ip flow monitor <name> input
ipv6 flow monitor <name> input
The following configuration is not allowed:
interface GigabitEthernet 3/1
8.
On a given target monitoring Layer 2 and Layer 3, simultaneous traffic is not supported:
interface channel-group 1
datalink flow monitor m1 input
!
9.
Selection of Layer 2 and Layer 3 packet fields in a single flow record definition is not allowed. However, ingress 802.1Q VLAN Id of packet and Layer 3 packet field selection is allowed.
10.
In order to attach a monitor to port or port-vlan targets, a flow record matching on ingress 802.1Q VLAN Id as key field, must match on input interface also as key field.
11.
Only permanent and normal flow cache types are supported.
12.
Supervisor Engine 8-E does not support predefined records like traditional routers (record neflow ipv4 original-input).
13.
Supervisor Engine 8-E does not support flow based sampler.
14.
On VLAN interfaces, when you use the interface option with the Cos, Tos, TTL or Packet length options, the system displays inaccurate results for the interface input field.
15.
The configuration of the flow exporter does not support the option output features.
16.
Flow aging in flow cache is controlled through active and in-active timer configuration. The minimum for active and in-active aging timers is 5 seconds. The timers must be in units of 5 seconds.
Note
Flows in the hardware table are deleted after 5 seconds of in-activity irrespective of the active or in-active timer configuration values. This allows you to create new hardware flows quickly.
17.
First and Last-seen flow timestamp accuracy is within 3 seconds.
18.
2048 Flow monitors and records are supported.
- When TTL is configured as a flow field, the following values are reported for a given packet TTL value. Table 59-1 lists the packet TTL and reported values.
Table 59-1 TTL Map: TTL Configured
|
|
0 |
0 |
1 |
1 |
2-10 |
10 |
11-25 |
25 |
26-50 |
50 |
51-100 |
100 |
100-150 |
150 |
150-255 |
255 |
- When packet length is configured as a flow field, the following values are reported for a given packet length value. Table 59-2 lists the packet length and reported values.
l
Table 59-2 Packet Length Map: Packet Length Configured
|
|
0-64 |
64 |
65-128 |
128 |
129-256 |
256 |
257-512 |
512 |
513-756 |
756 |
757-1500 |
1500 |
1500-4000 |
4000 |
4000+ |
8192 |
The following table lists the options available through FNF and the supported fields.
Table 59-3 Options Available through FNF and the Supported Fields
|
|
|
Data Link Fields (Layer 2 Flow Label + A94) |
dot1q priority |
802 1Q user |
|
dot1q vlan |
802.1Q VLAN ID |
Ingress VLAN is supported as key field. Egress VLAN is supported as non-key field |
mac destination-address |
Upstream destination MAC address |
|
mac source-address |
Down stream source MAC address |
|
|
destination address |
IPv4 destination address |
Yes |
DSCP |
IPv4 DSCP (part of TOS) |
|
fragmentation flags |
IPv4 fragmentation flags |
Supported as non key. DF flag is not supported |
is-multicast |
Indicator of an IPv4 multicast packet (0 - if it's not, 1 - if it is) |
Supported as non-key |
Precedence |
IPv4 precedence |
|
Protocol |
IPv4 protocol |
|
source address |
IPv4 source address |
|
total length |
IPv4 datagram |
Values are reported based on Table 59-2 . |
Total length minimum |
Minimum packet size seen |
|
Total length maximum |
Maximum packet size seen |
|
Tos |
IPv4 Type of Service (TOS) |
|
ttl |
Pv4 Time to Live (TTL) |
Values are reported based on Table 59-1 . |
ttl minimum |
FNF supports this field only in mon-key mode |
|
ttl maximum |
FNF supports this field only in mon-key mode |
|
|
destination address |
IPv6 destination address |
|
dscp |
IPv6 DSCP (part of IPv6 traffic class) |
|
flow-label |
IPv6 flow label |
|
is-multicast |
Indicator of an IPv6 multicast packet (0 - if it's not, 1 - if it is) |
Supported as a non-key field |
hop-limit |
IPv6 hop limit (replaces IPv4 ttl) |
Values are reported based on Table 59-1 . |
hop-limit minimum |
IPv6 minimum hop limit value seen in the flow. It can be used as a non-key field only. |
|
hop-limit maximum |
IPv6 maximum hop limit value seen in the flow. It can be used as a non-key field only. |
|
next-header |
IPv5 next header type |
Only first next header is reported |
total length |
IPv6 total packet length |
Values are based on Table 59-2 . |
Total length minimum |
Minimum packet size seen |
|
Total length maximim |
Maximum packet size seen |
|
protocol |
IPv6 next header type in the last IPv6 extension header |
|
source address |
IPv6 source address |
|
traffic-class |
IPv6 traffic class |
Yes |
|
forwarding-status |
Forwarding status for the packet (forwarded, terminated in the router, dropped by ACL, RPF, CAR) |
Supported as a non-key field |
|
Field |
Description |
Comments |
TCP Header Fields |
destination-port TCP destination number |
TCP destination port |
|
flags [ack] [fin] [psh] [rst] [syn] [urg] |
TCP flags. |
Supported as non-key fields. |
source-port |
TCP source port |
|
UDP Header Fields |
destination-port |
UDP destination port |
|
source-port |
UDP source port |
|
ICMP Header Fields |
code |
ICMP code |
|
type |
ICMP type |
|
IGMP Header Fields |
type |
IGMP |
|
Interface Fields |
input |
Input interface index |
|
output |
Input interface index |
Output interface can be supported only as non-key. |
Flexible NetFlow feature related fields |
direction: input |
|
|
Counter Fields |
bytes |
32 bit counters |
|
bytes long |
64 bit counter |
|
packets |
32 bit counters |
|
packets long |
64 bit counter of the packets in the flow |
|
Timestamp |
first seen |
Time-stamp of the first packet that is accounted in the flow (in milliseconds, starting from the router boot-up) |
3 sec accuracy |
last seen |
Time-stamp of the last packet that is accounted in the flow (in milliseconds, starting from the router boot-up) |
3 sec accuracy |
Configuring Flow Monitor Cache Values
Setting active cache timeout to a small value may cause the flows to be exported more frequently to the remote collector. This also causes software to delete flows from the local cache after exporting. So, cache statistics reported by switch may not display the actual flows being monitored.