Ever since the Cisco Catalyst 6500 Series Switch was first introduced, NetFlow has existed on it. Originally used as the mechanism to forward traffic, NetFlow has evolved into a monitoring and feature acceleration technology, with Cisco Express Forwarding (EF) taking on the task of traffic forwarding.
The introduction of the Supervisor Engine 2T for the Cisco Catalyst 6500 Series Switch continues the advancement of NetFlow's capabilities. Demands for flow information are increasing as more and different types of traffic are traversing the ever-evolving network infrastructures of Cisco customers. IT organizations want to gather network traffic information to aid them in capacity planning, application analysis, security, IP accounting, and a wide range of other purposes.
This document will show how the Supervisor Engine 2T with Policy Feature Card 4 (PFC4) supports a wide variety of NetFlow Enhancements to support the needs of Cisco customers. Specifically, the following aspects of NetFlow will be covered:
• NetFlow Introduction
• Sup2T Increased NetFlow Scalability
• Egress NetFlow
• Sampled NetFlow
• Flexible NetFlow
• Yielding NetFlow Data Export
• NetFlow with Embedded Event Manager
Note: Throughout this paper, the term "Supervisor Engine 2T" will be used. When this term is used in reference to a feature or functionality, the reader should interpret it to mean that the feature or functionality is supported by the Supervisor Engine 2T with PFC4, as well as any linecards with Distributed Feature Card 4 (DFC4). When the terms "Supervisor Engine 32", "Supervisor Engine 720," or "Supervisors 32 and 720" are used, the reader should interpret those to mean the features or functionality that are supported by PFC3 and DFC3.
Before more advanced topics around NetFlow can be discussed, it is a good idea to understand basic NetFlow operation with the Cisco Catalyst 6500 Series Switch.
What is NetFlow? NetFlow is a process designed to collect information about traffic flows that pass through the switch. The collection of NetFlow records is a hardware-based process with no impact on traffic flow or performance. The exporting of NetFlow records to an external collector is a control plane process performed by either the Route Processor on the Supervisor engine or by a processor on a line card.
Currently, the WS-X6908-10G-2T/2TXL, WS-X6816-10T-2T/2TXL, WS-X6716-10G with DFC4/DFC4XL, and WS-X6716-10T with DFC4/DFC4XL line cards can perform NetFlow record export in a Supervisor Engine 2T-based system. All future 6900 Series modules will support this ability as well. Figure 1 shows an overview of the NetFlow record collection and export processes.
Figure 1. NetFlow Collection and Export Operation Overview
As traffic flows through the switch, forwarding operations are performed to determine the destination of the flow, to apply Quality of Service (QoS) and Access Control List (ACL) policies, and to collect NetFlow information. For the Cisco Catalyst 6500 Series Switch, these operations are performed by either the Policy Feature Card 4 (PFC4), located on the Supervisor engine, or by a Distributed Forwarding Card 4 (DFC4), located on a line card. Regardless of whether the PFC4 or DFC4 performs the forwarding operations, the process is the same.
Now that you have seen what NetFlow is, why use it?
NetFlow records provide a wealth of information about the numbers and types of flows traversing the network infrastructure. This information is used to assist in capacity planning, application assessment, network troubleshooting, and security operations. Cisco partners with several vendors that use NetFlow information to provide powerful services for network monitoring and protection, including:
• Arbor Networks, specializing in Distributed Denial-of-Service (DDoS) attack prevention
• Lancope, specializing in security, network, and application performance
• Plixer, specializing in performance and reliability
NetFlow is also a troubleshooting tool that can provide valuable information to network engineers. Since CEF is based on destination prefix and has no visibility into flows, using NetFlow without exporting the flow information allows a user to view the flow information from the CLI. This helps assist that user in solving problems should they arise.
Finally, NetFlow can also be used as a hardware assist for other features that have traditionally been implemented only in the software on other platforms. Web Cache Communications Protocol (WCCP), Network Address Translation (NAT), and Microflow Policing are all examples of features that can use the NetFlow infrastructure to achieve enhanced performance.
How does the Supervisor Engine 2T perform NetFlow lookup operations? Figure 2 shows an example of the lookup operation performed by the PFC4 or DFC4, with explanations of each step.
Figure 2. PFC4/DFC4 NetFlow Lookup Operation
Step 1: A Flow Key, is generated, based on the information in the packet header. (The Flow Key is described in more detail in the Flexible NetFlow section of this paper.)
Step 2: The Flow Key information is entered into a Hash Function, a mathematical function that converts a large, variable-sized amount of data into a small datum that may serve as an index. In this case, it converts the information in the Flow Key into a Lookup Key (index) and a Data Key, which are used as pointers into the NetFlow Lookup Table.
Step 3: Using the Lookup Key generated by the Hash Function in Step 2, the appropriate row in the NetFlow Lookup Table is determined.
Step 4: Using the Data Key generated by the Hash Function in Step 2, a comparison is performed on all the pages to see if this Data Key exists. If the Data Key already exists, this is considered a hit, and an index to the NetFlow Data Table is acquired. If there is no Data Key in this row, the Data Key is populated, and an index to the NetFlow Data Table is established for this flow.
Steps 5 and 6: Using the index acquired in Step 4, a comparison of the Flow Key to the information in the NetFlow Data Table is performed. If a similar flow already exists, no learning is required. If there is no existing flow, the flow is populated into the table.
Step 7: For existing flows, the flow statistics are updated in the NetFlow Statistics Table. For new flows, an entry in the NetFlow Statistics Table is established. NetFlow then increments those statistics for subsequent packets in that flow.
It is important to remember that not all platforms perform NetFlow operations in the same manner. What is described here is only for the Cisco Catalyst 6500 Series Switch with Supervisor Engine 2T. Also, all NetFlow operations are performed on the ingress forwarding engine (PFC4 and DFC4 are the forwarding engines), regardless of whether Ingress or Egress NetFlow collection is being done.
What happens to flows that cannot be populated because the table or row in the table are full? The underlying traffic will not be affected, but the statistics for any flows that cannot be populated will not be gathered. Since every packet of a flow goes through this same forwarding operation, a row entry can open up midway through the traffic flow. In that case, the flow entry will be created, and the statistics gathered for the remainder of the flow.
Sup2T Increased NetFlow Scalability
Due to the ever-increasing number of flows and types of traffic traversing today's networks, it is more important than ever for an IT organization to understand what is flowing through its infrastructure. The Supervisor Engine 2T for the Cisco Catalyst 6500 Series Switch supports an unprecedented level of NetFlow data collection for a single system, giving IT organizations the ability to monitor and control their environments with a higher level of confidence. Table 1 shows the evolution of the NetFlow data collection capabilities for the various Supervisor engines that are supported with the Cisco Catalyst 6500 Series Switch.
Table 1. NetFlow Data Collection Capabilities by Supervisor
3This is broken into a maximum of 512K Ingress entries and 512K Egress entries
Note the four-fold increase in the size of the NetFlow table from PFC3-based Supervisors to the PFC4-based Supervisor Engine 2T. Since the DFC4s also carry the same size NetFlow Tables as their PFC4 counterparts, this means that a system configured with all DFC4-equipped line cards can achieve millions of NetFlow entries to support the most flow-intensive environments.
One of the advantages to deploying DFC-equipped modules, whether they are DFC3 or DFC4, is that each DFC maintains its own unique NetFlow Table. Unlike other tables, (such as the Forwarding Information Base (FIB), Access Control List (ACL), QoS, and MAC tables) that are kept in a synchronized state between the PFC and DFC, the NetFlow Table is not synchronized among all of the forwarding engines within a single system. Therefore, each DFC-equipped module can gather its own NetFlow statistics just for the flows that enter the system on that module. This means that a 13-slot 6513-E chassis can support up to 13 million flow entries for the entire system if Supervisor Engine 2TXL and all DFC4XL-equipped modules are used. Figure 3 shows how this can be achieved.
Figure 3. 6513-E Achieves 13 Million Flow Entries
There are many use cases for such high-scalability requirements. Internet service providers, online retailers, online news organizations and large manufacturers are all examples of customers that require large NetFlow capacities.
Consider, for example, an automobile manufacturer who launches a new product during a high-profile televised sporting event. Their website could be hit with millions of short-lived queries about the new product. This requires a very large NetFlow capacity to allow the manufacturer to provide visibility into these new flows (for IP accounting, security, capacity, or other purposes), as well as the regular flows that exist in its infrastructure.
Another example is an international news organization reacting to a major news event that has just occurred. Millions of people will access the organization's website for information about the event, perhaps for days, depending on the type of event. A large number of NetFlow entries is required to support such an increase in volume.
Going back to Table 1, it is also important to note the change in the Hash Efficiency of the Supervisor Engine 2T, when compared to previous-generation Supervisors. The increase to 99 percent efficiency means that a guaranteed population of nearly the entire NetFlow Table is possible. This means there will be fewer instances where a row in the table is already full, and a flow's statistics will not be collected (what is referred to as "collisions"). To see the current utilization of the NetFlow Table, execute the show platform hardware capacity NetFlow command. Information for each PFC4 or DFC4 in the system will then be displayed.
The increased NetFlow scalability supported by the Supervisor Engine 2T makes it an ideal choice for organizations that want to track very large numbers of flows in their environments.
Until the introduction of the Supervisor Engine 2T, all Supervisors for the Cisco Catalyst 6500 Series Switch supported only Ingress NetFlow. In other words, NetFlow information was collected only before the final destination of the flow was known. The Supervisor Engine 2T supports the ability to perform Egress NetFlow, due to the two-cycle lookup process that differentiates it from prior generation Supervisor Engine 32 or Supervisor Engine 720 that performed a single-cycle lookup. The two-cycle lookup process allows NetFlow information to be gathered after the final destination of the flow is known.
Even though all forwarding engines (PFC4s and DFC4s) in the system can perform NetFlow lookups, it is important to remember that all lookups are performed on the ingress forwarding engine, even for Egress NetFlow. Consider the system that is configured in Figure 4.
Figure 4. 6506-E System with PFC4, DFC4s and CFCs
Looking at Figure 4, we will consider two cases: traffic going from Slot 2 to Slot 1, and traffic going from Slot 1 to Slot 3. In both cases, Egress NetFlow is configured on the outbound interface.
In the first case, the traffic enters the system on a line card that has a Centralized Forwarding Card (CFC). Since CFCs cannot perform any kind of lookups, these are performed by the PFC4 on the Supervisor Engine 2T in Slot 6. Part of this lookup process includes the Ingress and Egress NetFlow lookups. Once the destination is determined to be a port in Slot 1, the result is sent back to Slot 2, and the packet is sent across the switch fabric to Slot 1. The packet is then forwarded out the appropriate port. Every packet in the flow undergoes this same process.
In the second case, the traffic enters the system on a line card that is equipped with a DFC4. Since the DFC4 has the ability to do lookups, it does all the lookups for this traffic. Egress NetFlow lookup is performed as part of the lookup process. Once the destination is determined to be a port in Slot 3, the packet is sent across the switch fabric to Slot 3. The packet is then forwarded out the appropriate port. Every packet in the flow undergoes this same process.
Notice that in both cases, the egress line card has a DFC4, but Egress NetFlow lookups are performed on the ingress forwarding engine. Even though the DFC4 has the ability to do the NetFlow lookups, the DFC4 is never used on the egress module for lookup purposes.
There are several cases where Egress NetFlow can provide benefits. Consider the situation in Figure 5, where a customer is marking the Differentiated Services Code Point (DSCP) before traffic leaves the system.
Figure 5. Egress NetFlow to Monitor QoS Marking
If this customer uses Ingress NetFlow to monitor their QoS operations, they will only see traffic with DSCP = 40 in their records. This occurs because the NetFlow information is gathered before the DSCP remarking operations have occurred. If the customer wants to monitor their QoS to verify that their remarking is proceeding successfully, Egress NetFlow can be used, since the collection of NetFlow information occurs after the DSCP is changed to 45.
Another case where Egress NetFlow can bring a substantial benefit to an organization is in the area of network operations. Consider the setup in Figure 6, where many Access Layer Switches are aggregated into a single Distribution Layer Switch, which then connects to a Core Switch.
Figure 6. Egress NetFlow to Simplify Network Operations
At the Distribution Layer, it is certainly possible to configure all of the interfaces to the Access Layer switches with Ingress NetFlow. However, it would be much easier to configure Egress NetFlow on the links from the distribution to the Core, as this would require much less configuration. If these are User Access Switches, all of the traffic is most likely destined for the Core or Data Center, so no flows will be missed by enabling Egress NetFlow on just the uplinks to the core.
A third use for Egress NetFlow is for Multi-Protocol Label Switching (MPLS) Egress NetFlow. While the previous generation of Supervisor Engine 720s supports this capability with Cisco IOS 12.2(33)SXI4 and newer, it requires a recirculation of the frame after the MPLS tag is removed. This, in turn, affects overall traffic performance. With the Supervisor Engine 2T, MPLS Egress NetFlow is performed without recirculation and does not affect traffic performance.
The Supervisor Engine 2T's support of Egress NetFlow gives IT organizations the ability to more easily manage their NetFlow infrastructures, and allows for more visibility after forwarding decisions have been made.
Note: Egress NetFlow configuration is covered in the Flexible NetFlow portion of this document.
The Supervisor Engine 2T for the Cisco Catalyst 6500 Series Switch supports the ability to perform NetFlow sampling in hardware. Prior to the introduction of the Supervisor Engine 2T, all PFC3-based Supervisors for the Cisco Catalyst 6500 Series Switch performed NetFlow sampling in software, without preventing population of the NetFlow Table. Since the idea for sampling is to provide more efficient utilization of the NetFlow Table when resources are scarce, the function provided by the PFC3-based was not able to deliver the needed efficiency.
Figures 7 and 8 demonstrate the differences between sampling with the PFC3-based Supervisors.
Figure 7. NetFlow Sampling with PFC3-Based Supervisors
Figure 8. NetFlow Sampling with PFC4-Based Supervisors
Notice the difference between the NetFlow Table population between Figures 7 and 8. With the PFC3-based method of sampling, the NetFlow Table will still potentially fill up, even with sampling turned on. The sampling does not take place until the NDE process is undertaken on the CPU, which occurs after the NetFlow lookup is performed by the PFC3 and the flow populated into the NetFlow Table.
With the Supervisor Engine 2T, sampling occurs at the time of the NetFlow lookup by the PFC4, so that only the sampled information is populated into the NetFlow Table. The first version of code for the Supervisor Engine 2T (12.2(50)SY) will support 1/N sampling, as shown in Figure 8. This means that the system can be configured to sample 1 packet out of every N packets in a pool (in Figure 8 it is 1/5). Future versions of code will allow for time-based sampling, as well as M/N sampling where M packets will be able to be sampled out of an overall pool of N.
The Supervisor Engine 2T supports a random method of sampling, where the starting point for the sampling operation varies within each interval. This is demonstrated in Figure 8.
When would you would want to use sampling? The most obvious use case is in an environment where the number of flows far exceeds the number of NetFlow Entries supported by the system. In such a case, sampling allows for a more varied pool of results.
Note: Sampling configuration is covered in the Flexible NetFlow portion of this document.
The Supervisor Engine 2T introduces support for Flexible NetFlow to the Cisco Catalyst 6500 Series Switch. Flexible NetFlow provides a NetFlow architecture that can track multiple NetFlow applications simultaneously. For example, a user can create simultaneous and separate Flow Monitors for security analysis and traffic analysis. Previous generations of Supervisors for the Cisco Catalyst 6500 Series Switch were unable to provide this level of flexibility.
The Supervisor Engine 2T Flexible NetFlow supports NetFlow Version 9, which uses templates that consist of a collection of fields. Using templates brings the following benefits:
• Flexibility, as new fields can be added to the template without changing the structure of the record format
• Reusability, since the collector does not understand the semantics of the fields, the structural information allows it to interpret the flow record
• Efficiency, as flexible templates allow for the collection and export of only the required fields from the flow
There are three important components to Flexible NetFlow:
• Flow Records
• Flow Monitors
• Flow Exporters
The Flow Record defines what information NetFlow will track, and may be user-defined or a pre-defined scheme available in Cisco IOS Software. Each Flow Record is defined as a set of Key and Non-Key fields. Key Fields, defined using the match statement, trigger the creation of a new flow entry in the NetFlow Table every time their value changes. Non-Key Fields, defined using the collect statement, are data that is indexed by the Key Fields and are not used to create new flow entries. Table 2 lists the Key and Non-Key Fields supported in the first version of code for the Supervisor Engine 2T.
Table 2. Flexible NetFlow Key and Non-Key Fields Supported
datalink vlan input
ipv6 source address
flow cts source group-tag
ipv6 source prefix
flow cts destination group-tag
ipv6 source mask
interface input (snmp)
ipv6 destination address
ipv4 source address
interface output (snmp)
ipv6 destination prefix
ipv4 source prefix
routing destination as
ipv6 destination mask
ipv4 source mask
ipv4 destination address
routing next-hop address ipv4 (bgp)
transport tcp flags
ipv4 destination prefix
routing next-hop address ipv6 (bgp)
ipv4 destination mask
routing source as
routing vrf input
timestamp sys-uptime first
timestamp sys-uptime last
input physical interface
Flexible NetFlow allows the user to select Key and Non-Key fields to define flows. This capability gives the user flexibility, aggregation, and scalability beyond traditional NetFlow.
A Flow Monitor is essentially a NetFlow cache, and has two major components, the Flow Record and the Flow Exporter. The Flow Monitor can track both ingress and egress information. The Flow Record contains what information is being tracked by NetFlow (such as IP address, ports, protocol, etc.). The Flow Exporter describes the NetFlow export.
Flow Monitors may be used to track IPv4, IPv6, multicast, unicast, MPLS, and bridged traffic. Multiple Flow Monitors can be created and attached to a specific physical or logical interface. Flow Monitors can also include packet sampling information if required.
The Flow Exporter describes information about the NetFlow export that is sent to the reporting server or NetFlow collector. The NetFlow exporter includes the destination address of the reporting server, the type of transport, such as Universal Datagram Protocol (UDP) or Stream Control Transmission Protocol (SCTP), and the export format (for example, Version 9). There can be multiple exporters for each Flow Monitor, and the export is QoS-aware. The export stream will be prioritized with other traffic, based on its class of service or DSCP value.
Now that the important components of Flexible NetFlow are known, we will explain how to configure Flexible NetFlow with the Supervisor Engine 2T.
The first step in configuring Flexible NetFlow for the Supervisor Engine 2T is to configure a Flow Record. Figure 9 shows configuration of a Flow Record called `SAMPLE-FLOW'.
Figure 9. Flow Record Configuration
Remember that the Flow Record will contain the Key and Non-Key fields. In Figure 9, the Key Fields defined are:
• ipv4 source address
• ipv4 destination address
• transport source-port
• transport destination-port flow direction
The Non-Key Fields defined are:
• counter bytes
• counter packets
• timestamp sys-uptime first
• timestamp sys-uptime last
Remember that it is the Key Fields that will define a new flow in the NetFlow Table. To display information about a Flow Record, use the show flow record <name> command.
Once the Flow Record is configured, the next step is to configure a Flow Exporter. Figure 10 shows the configuration of two Flow Exporters.
Figure 10. Flow Exporter Configuration
Notice that multiple Flow Exporters can be configured with destinations in different VRFs if a virtualized infrastructure is being deployed. By default, Flexible NetFlow uses the NetFlow V9 export format if no other export format is specified. To display information about a Flow Exporter, use the show flow record <name> command. To display information about the template being used for the exporter, use the show flow record <name> templates command. The table displayed by this command shows the fields with details, such as field name and type id, offset from the beginning of a record and the length of the field. Please refer to "RFC 3954: Cisco Systems NetFlow Services Export Version" for more details.
With Flow Records and Exporters configured, the next step is to configure the Flow Monitor. Figure 11 shows the configuration of a Flow Mon itor called "SAMPLE-MONITOR".
Figure 11. Flow Monitor Configuration
A Flexible NetFlow Flow Monitor describes the information stored in the NetFlow Table. The Flow Monitor contains the Flow Records, which contain the Key and Non-Key fields within the NetFlow Table. Also, part of the Flow Monitor is the Flow Exporter, which contains information about the export of NetFlow information, including the destination address of the NetFlow collector. The Flow Monitor includes various characteristics, such as the timers for exporting, the size of the cache and, if required, the packet sampling rate. To display information about a Flow Monitor, use the show flow monitor <name> command.
The final step to configure Flexible NetFlow is to apply the Flow Monitor to an interface. Figure 12 shows the interface configuration with the Flow Monitor applied.
Figure 12. Interface Configuration for Flexible NetFlow
Notice that the same Flow Monitor can be applied in either direction, or in both directions simultaneously, on an interface. The "input" keyword specifies Ingress NetFlow, while the "output" keyword specifies Egress NetFlow. Different monitors can also be supported on the same interface in different directions, as long as the key fields of the monitors do not overlap.
Now that we have looked at Flexible NetFlow and how to configure it, we will examine two use cases for this technology, Application Tracking and Security Detection. Flexible NetFlow, unlike traditional NetFlow, allows the user to customize and focus on specific network information. Scalability of the NetFlow analysis is optimized and Flexible NetFlow gives the opportunity to track the important information for the organization. By targeting specific information, the amount of information will be reduced and the number of flows being exported reduced, allowing enhanced scalability and aggregation.
If, for instance, the user is interested in TCP application analysis, he or she would configure the tracking of the NetFlow field's source and destination IP addresses, TCP source, and destination ports. This information will effectively show who is sending and receiving the traffic on each application port.
In traditional NetFlow, packet information is used to create flows. However, this information is fixed and not configurable by the user. In addition, aggregation comes at the expense of lost information. By contrast, in Flexible NetFlow, the user can actually track multiple sets of information to make sure all flow information in the network is captured efficiently. In the above example, the user only needs four NetFlow fields to track application usage, compared to seven fields in traditional NetFlow. In traditional NetFlow, the user must track the seven key fields, and each field tracked leads to a greater number of flows.
For security analysis, Flexible NetFlow is an excellent attack detection tool with capabilities to track all parts of the IPv4 header and characterize this information into flows. It is expected that intrusion detection and prevention systems will listen to NetFlow data and, upon finding an issue in the network, create a virtual bucket or virtual cache that will be configured to track specific information and obtain details about the attack pattern or worm propagation. The capability to quickly create caches with specific information combined with input filtering (such as filtering all flows to a specific destination) allows Flexible NetFlow to be a better security detection tool than current flow technologies. It is expected that common attacks, such as port scans for worm target discovery and worm propagation, will be tracked in Flexible NetFlow.
We will discuss a common attack, in which TCP flags are used to flood open TCP requests to a destination server, such as a synchronize (SYN) flood attack. The attacking device sends a stream of TCP SYNs to a given destination address, but never sends the acknowledgement notification (ACK) in response to the servers SYN-ACK as part of the TCP 3-way handshake. The flow information needed for security monitoring requires the tracking of three important fields: destination address or subnet, TCP flags, and packet count. The security device monitors general NetFlow information, and this data triggers a detailed view of this particular attack. The detailed Flow Monitor includes input filtering to limit what traffic is visible in the NetFlow Table, along with the tracking of the specific information to diagnose the TCP-based attack. In this case, the user may want to filter all flow information to the server destination address or subnet, to limit the amount of information the security server needs to evaluate. If the security detection server decides it understands this attack, it programs another virtual cache or bucket to export payload information or sections of packets to take a deeper look at a signature within the packet.
Yielding NetFlow Data Export
A new feature introduced with the Supervisor Engine 2T is Yielding NetFlow Date Export (Yielding NDE). This allows a user to control the CPU utilized by the NetFlow Data Export process when NetFlow records are being exported to a collector. Remember that NetFlow statistics collection is performed in hardware, with no impact on forwarding performance. The NDE process is performed by either the CPU on the PFC4 or by a CPU on a line card if the line card supports NDE (see the NetFlow Overview section of this document for the line cards that support this capability). Figure 13 illustrates the NDE process.
Figure 13. NDE Process
Notice that modules with DFC4 but without the ability to perform direct NDE send their NetFlow data to the Supervisor through the Ethernet Out of Band Channel (EOBC) (see the NetFlow Introduction section for modules that support direct NDE). The EOBC is a communication channel used by the Supervisor to communicate with all line cards in the system to perform regular health checks, send and receive forwarding table updates, receive NetFlow data, and perform other tasks. It is important to note that this channel is not part of the normal data path, so the NDE information is not subject to any data congestion that could occur.
Since the amount of NetFlow data that can be collected by a system has increased dramatically with the Supervisor Engine 2T, it is important to have a mechanism to control the NDE process so that it does not affect other tasks performed by the CPU. The CPU still needs to process Layer 3 and Layer 2 protocols, manage the system, provide polling for SNMP, and be available for system configuration. The Yielding NDE feature was created to ensure that CPU resources would always be available for these other tasks in the event of a very large NDE requirement.
With the Yielding NDE feature, users can specify the upper limit for CPU usage by the Supervisor Engine 2T, as well as line cards. Beyond this limit, the NetFlow data export process will yield, or pause, the export process by reducing or even cutting off NDE. When CPU utilization is reduced, NDE gradually returns to a normal level. Figure 14 shows a graphical représentation of the Yielding NDE operation.
Figure 14. Yielding NDE Operation
In this example, the Yielding NDE threshold is configured at 70 percent CPU utilization, using the flow hardware export threshold 70 command. As the NDE process is executed, the system calculates how much more to increase the export rate, based on the current CPU utilization and the configured NDE threshold. At most, the system will increase the rate by 500 entries per second until it gets close to the threshold. If the threshold is crossed, then the rate is decreased quickly. The system leaves the rate unchanged for 5 seconds and then starts to increase the rate again as long as the CPU utilization is not within 10 percent of the NDE threshold. Remember that if the threshold is never crossed, the system will continue to step up the rate until the NDE process is complete.
The Yielding NDE function can also be applied to line cards that support direct NDE. To set the Yielding NDE threshold on a line card, use the flow hardware export threshold <25-90> linecard <25-90> command. The functionality is similar to operation for the CPU on the Supervisor, except that when determining whether or not to increase the rate after it is stepped down it will do so as long as the CPU utilization is not with 25 percent of the line card NDE threshold.
The Yielding NDE feature introduced by the Supervisor Engine 2T allows users to set a threshold beyond which the NDE process will yield CPU resources to other processes. This helps ensure that the NDE process will not affect other functions, such as the processing of Layer 2 protocols, Layer 3 protocols, or other system management processes.
NetFlow with Embedded Event Manager (EEM)
Cisco IOS® Embedded Event Manager (EEM) is a unique subsystem within Cisco IOS Software. This powerful, flexible tool automates tasks and customizes the behavior of Cisco IOS Software and the operation of the device. Customers can use EEM to create and run programs or scripts directly on a router or switch. The scripts are referred to as EEM policies, and can be programmed using a simple command-line-interface (CLI)-based interface or using a scripting language called Tool Command Language (Tcl). EEM allows customers to harness the significant intelligence within Cisco IOS Software to respond to real-time events, automate tasks, create customer commands, and take local automated action based on conditions detected by Cisco IOS Software.
The Cisco IOS EEM is a product-independent software feature consisting of a series of Event Detectors, an EEM Server, and interfaces to allow action routines, called Policies, to be invoked. There are also internal application programming interfaces for other Cisco IOS subsystems to take advantage of the EEM subsystem. The diagram in Figure 15 illustrates the EEM components.
Figure 15. Embedded Event Manager Architecture
Note there are two types of EEM Policies:
• Applet Policies: Easy-to-use interface, defined using the configuration CLI
• TCL Policies: More flexible and extensive capabilities, defined using the TCL programming language
Once one or more policies are defined, the Event Detector software will watch for the conditions that match those defined by each policy. When a condition occurs, the event is passed to the Event Manager Server. The server then invokes any policy that has registered for that particular event. The actions defined within the policy are then carried out.
The Supervisor Engine 2T introduces several new EEM Event Detectors for the Cisco Catalyst 6500 Series Switch. One is the Flexible NetFlow Event Detector, which triggers policies based on the detection of flows that match particular criteria. This can include when a new flow is seen with a particular destination IP address and port number; or when the rate of new flow entries exceeds some defined threshold. This provides a powerful set of triggers to detect and react to real-time network activity. Table 3 lists the NetFlow fields that can be used to trigger an EEM script.
Table 3. NetFlow Fields Used to Trigger EEM
Now that we know how Flexible NetFlow and EEM can interact, we will examine some use cases. Figures 16 and 17 show how these two features can work together to check for malformed packets or anomalous traffic.'
Figure 16. EEM and FNF Detect Malformed Packets
Figure 17. EEM and FNF Protect Against Anomalous Traffic
Figure 16 shows a Flexible NetFlow Event Detector that is configured to be triggered any time a TTL=0 packet is detected through NetFlow. Once this packet is detected, a syslog message is generated to inform the network operations team that such a flow record has been detected.
Figure 17 shows a Flexible NetFlow Event Detector that is configured to be triggered any time the flow rate on an interface exceeds 1Mbps. In this case, the user has chosen to shut the offending interface down and generate a syslog message notifying the network operations team of the action.
By combining the capabilities of Embedded Event Manager and Flexible NetFlow, the Supervisor Engine 2T for the Cisco Catalyst 6500 Series Switch provides a powerful tool with which users can monitor, protect, and manage their networks.
The Supervisor Engine 2T introduces several new NetFlow capabilities that significantly improve the Cisco Catalyst 6500 Series Switch's NetFlow portfolio:
• Increased NetFlow resource scalability benefits those organizations that need more NetFlow capacity than the previous generation could deliver
• More flexible information gathering capabilities, such as Egress NetFlow, Sampled NetFlow, and Flexible NetFlow, provide organizations with a larger set of options for determining which information they want to collect and from where they want to collect it
• Integration with EEM gives network operations groups a superior way to automate management of their networks
All of these enhancements make Supervisor Engine 2T-based systems ideal for organizations looking to utilize the latest NetFlow technology to monitor, manage, and protect the increasingly-diverse networks being deployed in their environments.
Appendix A: Supervisor Engine 2T Compared to Supervisor Engine 720
The following table compares the Supervisor Engine 2T and Supervisor Engine 720 NetFlow capabilities.