Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Methods

1. Using FMC

2. Using CLI

3. Using Netflow

4. Continuous Monitoring and Adjustment

Related Information

Introduction

This document describes how to perform Elephant Flow Detection in a Cisco Firepower Threat Defense (FTD) environment.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these products:

- Firepower Management Center (FMC)

- Firepower Threat Defense (FTD)

- Netflow

Components Used

The information in this document is based on an FMC that runs software Version 7.1 or later. The information in this document was created from the devices in a specific lab environment. All the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Background Information

Elephant Flow Detection in Cisco Firepower is crucial for identifying and managing large, long-lived flows that can consume significant network resources and affect performance. Elephant flows can occur in data-heavy applications like video streaming, large file transfers, and database replication. This can be identified using these methods:

Methods

1. Using FMC

Elephant flow detection was introduced in release 7.1. Release 7.2 allows easier customization and the option to bypass or even throttle elephant flows. Intelligent Application Bypass (IAB) is deprecated from version 7.2.0 onwards for Snort 3 devices.

Detection of the Elephant flow can be done under Analysis > Connections > Events > Predefined Searches > Elephant Flows.

Connection Events

This document provides Step-by-Step process for configuring Elephant Flow on Access Control Policy

https://www.cisco.com/c/en/us/td/docs/security/secure-firewall/management-center/device-config/720/management-center-device-config-72/elephant-flow.html#task_sxp_h2d_jsb

2. Using CLI

a. Snort instance CPU spiking can also indicate that the network is dealing with the Elephant flow which can be identified using folllowing command:

show asp inspect-dp snort

Here is an example for the command output.

> show asp inspect-dp snort

SNORT Inspect Instance Status Info Id Pid

Cpu-Usage    Conns      Segs/Pkts  Status  tot (usr | sys)

-- ----- ---------------- ---------- ---------- ----------

0  16450   8% (  7%|  0%)   2.2 K      0        READY

1  16453   9% (  8%|  0%)   2.2 K      0        READY

2  16451   6% (  5%|  1%)   2.3 K      0        READY

3  16454   5% (  5%|  0%)   2.2 K      1        READY

4  16456   6% (  6%|  0%)   2.3 K      0        READY

5  16457   6% (  6%|  0%)   2.3 K      0        READY

6  16458   6% (  5%|  0%)   2.2 K      1        READY

7  16459   4% (  4%|  0%)   2.3 K      0        READY

8  16452   9% (  8%|  1%)   2.2 K      0        READY

9  16455 100% (100%|  0%)   2.2 K   5     READY       <<<< High CPU utilization 10 16460   7% (  6%|  0%)   2.2 K      0        READY

-- ----- ---------------- ---------- ---------- ----------

Summary   15% ( 14%|  0%)  24.6 K      7

b. Also, "top" command output from root mode can also help to check any Snort instance going high.

c. Export the connection detail using this command to check for the top traffic passing through the firewall.

show asp inspect-dp snort

show conn detail | redirect disk0:/con-detail.txt

The file can be found under "/mnt/disk0" from Linux mode. Copy the same to /ngfw/var/common to get it downloaded from FMC.

expert cp

/mnt/disk0/<file name> /ngfw/var/common/

Here is an example for the connection detail output.

UDP inside: 10.x.x.x/137 inside: 10.x.x.43/137, flags - N1, idle 0s, uptime 6D2h, timeout 2m0s, bytes 123131166926 <<< 123 GB and uptime seems to be 6 days 2 hours

Connection lookup keyid: 2255619827

UDP inside: 10.x.x.255/137 inside: 10.x.x.42/137, flags - N1, idle 0s, uptime 7D5h, timeout 2m0s, bytes 116338988274

Connection lookup keyid: 1522768243

UDP inside: 10.x.x.255/137 inside: 10.x.x.39/137, flags - N1, idle 0s, uptime 8D1h, timeout 2m0s, bytes 60930791876

Connection lookup keyid: 1208773687

UDP inside: 10.x.x.255/137 inside: 10.x.x0.34/137, flags - N1, idle 0s, uptime 9D5h, timeout 2m0s, bytes 59310023420

Connection lookup keyid: 597774515

3. Using Netflow

Elephant flows are high-volume traffic flows that can impact network performance. Detecting these flows involves monitoring network traffic to identify patterns indicating large, persistent flows. Cisco Firepower provides tools and features to detect and analyze network traffic, including elephant flows. NetFlow tool helps collecting the IP traffic information for monitoring.

This document provides Step-by-Step process for configuring NetFlow policy on FMC

https://www.cisco.com/c/en/us/support/docs/security/secure-firewall-management-center-virtual/221612-htz-01-2024-configure-netflow-in-fmc.html

Use a NetFlow collector and analyzer (for example: Cisco Stealthwatch, SolarWinds, or any other NetFlow analysis tool) to analyze the collected data. Once elephant flows are identified, you can take steps to mitigate their impact:

- Traffic Shaping and QoS:    Implement Quality of Service (QoS) policies to prioritize traffic and limit the bandwidth of elephant flows.

- Access Control Policies:    Create access control policies to manage and restrict elephant flows.

- Segmentation:    Use network segmentation to isolate high-volume flows and minimize their impact on the rest of the network.

- Load Balancing:    Implement load balancing to distribute traffic more evenly across network resources.

4. Continuous Monitoring and Adjustment

Regularly monitor your network traffic to detect new elephant flows and adjust your policies and configurations as needed.

With this process, you can effectively detect and manage elephant flows in your Cisco Firepower deployment, ensuring better network performance and resource utilization.

Related Information

Cisco Secure Firewall Management Center Device Configuration Guide, 7.2

Configure NetFlow in FMC