Guest

Netflow

NetFlow Performance Analysis

Last Updated: May, 2007

The Cisco IOS® NetFlow feature set allows for the tracking of individual IP flows as they are received at a Cisco router or switching device. Network administrators can use the NetFlow flow records for a variety of purposes, including accounting, billing, network planning, traffic engineering, and user or application monitoring.

NetFlow services are available on Cisco IOS Software-based routers including Cisco 800 thru 7500 Series Routers, as well as the Cisco Catalyst® 6500 Series Switch, Cisco 7600, 10000, 12000 Series Routers and CRS-1 devices.
For more details on NetFlow, refer to the "NetFlow Services Solutions Guide" white paper at: http://www.cisco.com/en/US/products/sw/netmgtsw/ps1964/products_implementation_design_guide09186a00800d6a11.html
Although many Cisco customers want to deploy NetFlow services, they are naturally cautious about introducing new technology into their network without completely understanding the potential performance impact. This paper examines the CPU impact of enabling NetFlow services in various scenarios on several different Cisco hardware platforms.
This information is valuable for planning potential NetFlow implementations, but these results are not a replacement for proper customer lab testing, pilot deployments, and other types of solution validation.

Testing Methodology

For the following selection of routers, tests were performed using Cisco IOS Software Release 12.0S. The platforms and configurations tested include:

• Cisco 2600 Router

• Cisco 2851 Router

• Cisco 3640 Router

• Cisco 3745 Router

• Cisco 7200 Router with Network Processing Engine NPE-300

• Cisco 7200 Router with Network Services Engine NSE-1

• Cisco 7500 Router with Route Switch Processor 8 using Cisco Express Forwarding

• Cisco 7500 Router with Route Switch Processor 8 using Distributed Cisco Express Forwarding

• Cisco 12000 Internet Router running Distributed Cisco Express Forwarding (Engine 1)

• Cisco 12000 Internet Router running Distributed Cisco Express Forwarding, with 1:100 sampling enabled

For the following selection of routers an enhanced selection of tests were run using Cisco IOS Software Release 12.4T:

• Cisco 1841 Router

• Cisco 2811 Router

• Cisco 3845 Router

• Cisco 7200 Router with Network Processing Engine NPE-400

• Cisco 7200 Router with Network Processing Engine NPE-G1

• Cisco 7200 Router with Network Processing Engine NPE-G2

• Cisco 7301 Router

Seventeen test cases were defined and not all are run on all the platforms listed. The test cases are documented below. A mnemonic has been assigned to each test case to make it easier to understand the charts and graphs in the "Test Results" and "Test Analysis" sections of this document. Table 1 describes the test cases.

Table 1. NetFlow Test Cases

Mnemonic

Test Description

Baseline

Baseline test without NetFlow enabled; provides a context for the tests that follow

NF-load

Statistics generated immediately after NetFlow services are enabled on the router; tests any unusual initialization requirements of NetFlow. No traffic is running.

NF-enable

NetFlow version 5 enabled but no export destination defined; documents the effects of NetFlow on the router itself

NF-NDE

NetFlow version 5 enabled and NetFlow Data Export (NDE) destination also defined; tests the effects of NDE on the router

NF-NDE-2

NetFlow version 5 enabled and two different NDE destinations also defined; tests the effects of NDE with multiple destinations on the router

v9-NDE1

NetFlow version 9 enabled and NetFlow Data Export (NDE) destination also defined; tests the effects of NDE on the router

v9-NDE2

NetFlow version 9 enabled and two different NDE destinations also defined; tests the effects of NDE with multiple destinations on the router

NF-NDE-AS

NetFlow version 5 enabled and recording autonomous-system origin of packets; NDE destination also defined; used to test the effects of maintaining information about autonomous systems with NetFlow

V9-NDE-AS-NH

NetFlow version 9 enabled and recording autonomous-system peer of packets and BGP next-hop; NDE destination also defined; used to test the effects of maintaining information about autonomous systems with NetFlow

NF-Prefix-V8

NetFlow configured with a version 8 prefix aggregation scheme (but no NDE); compare results with NetFlow version 5

NF-AS-V8-NDE

NetFlow configured with a version 8 autonomous system aggregation scheme and NDE; compare results with NetFlow v5

NF-AS-TOS

NetFlow configured with a version 8 autonomous system- Type of Service (ToS) aggregation scheme and NDE; compare results with NetFlow version 5

FNF-load

Statistics generated immediately after Flexible NetFlow services are enabled on the router; tests any unusual initialization requirements of Flexible NetFlow

FNF-enable

NetFlow-original on all interfaces, no export; documents the effects of NetFlow on the router itself

FNF-NDE-AS

NetFlow version 9 enabled and recording autonomous-system origin of packets; NDE destination also defined; used to test the effects of maintaining information about autonomous systems with Flexible NetFlow

FNF-NDE-AS-NH

NetFlow version 9 enabled and recording autonomous-system peer of packets and BGP next-hop; NDE destination also defined; used to test the effects of maintaining information about autonomous systems with Flexible NetFlow

Each test case was performed with three different IP flow sets: 10,000, 45,000, and 65,000 flows (this represents the number of unique IP flows that were seen by the router for each test). For some platforms 70,000 flows were tested instead of 65,000 flows. The flows were sent in a loop, so that the NetFlow cache was populated by the first iteration of the traffic stream and used for switching the packets on subsequent iterations.
For the enhanced selection of tests, multicast traffic was always flowing and for certain platforms, an additional set of tests with 2,000 flows were also run. The enhanced selection of tests include Flexible NetFlow.
To ensure accuracy of the results and to eliminate any anomalies, output of the tests was not collected until NetFlow had been running for ten minutes (the NF-load test case was the exception to this rule). Six samples of output were taken at one-minute intervals following that. The numbers presented in the "Test Results" portion of this document represent the average of those results.
As the timeouts for each flow set are constant, the packet per second (pps) rates presented to the router are different for each flow set.

Table 2. Flow Counts and PPS

Flow Count

PPS

2,000

274

10,000

1394

45,000

6326

65,000

8903

Note that the testing provided a "worst-case scenario" in terms of the traffic flows seen by the routers, and the results must be viewed in that context.
All packet sizes were 64 bytes, a scenario that tends to be more stressful on a router than a mixed traffic stream of various sizes.
At each flow rate, there was no duplication of flows until the test began its second iteration through the testing loop.

Test Results

This section presents the results of the test cases described in the previous section. Interpretations and conclusions to be drawn from the data are discussed in the "Test Analysis and Conclusions" section of this document.
The results are presented in raw, tabular format, so that readers will have all available information, and can utilize the numbers to extrapolate the results into their own environment.

CPU Load Results

Tables 2 through 18 give results from the CPU utilization tests.

Table 3. CPU Utilization: Cisco 1841 Series

Mnemonic

2,000 Flows

10,000 Flows

45,000 Flows

65,000 Flows

Baseline

4

6

18

23

NF-load

2

2

2

2

NF-enable

5

10

33

44

NF-NDE

5

10

34

45

NF-NDE-2

5

10

34

45

NF-NDE-AS

5

10

34

45

NF-Prefix-V8

5

10

34

45

NF-AS-V8-NDE

5

10

34

44

NF-AS-TOS

5

11

34

44

V9-NDE-1

5

10

35

45

V9-NDE-2

5

10

34

45

V9-NDE-AS-NH

5

10

35

45

FNF-load

2

2

2

2

FNF-enable

5

12

43

58

FNF-NDE-AS

5

12

42

58

FNF-NDE-AS-NH

5

12

43

59

Table 4. CPU Utilization: Cisco 2600 Series

Mnemonic

10,000 Flows

45,000 Flows

65,000 Flows

Baseline

16

16

16

NF-load

25

42

49

NF-enable

35

62

68

NF-NDE

39

64

69

NF-NDE-2

39

64

70

NF-NDE-AS

39

64

70

NF-Prefix-V8

40

63

70

NF-AS-V8-NDE

40

63

70

NF-AS-TOS

40

65

70

Table 5. CPU Utilization: Cisco 2811 Series

Mnemonic

2,000 Flows

10,000 Flows

45,000 Flows

65,000 Flows

Baseline

4

7

20

27

NF-load

2

2

2

2

NF-enable

6

12

38

50

NF-NDE

6

13

42

53

NF-NDE-2

6

13

41

53

NF-NDE-AS

6

13

41

53

NF-Prefix-V8

6

13

41

53

NF-AS-V8-NDE

6

13

41

53

NF-AS-TOS

6

13

41

53

V9-NDE-1

6

13

41

53

V9-NDE-2

6

13

41

53

V9-NDE-AS-NH

6

13

41

53

FNF-load

2

2

2

2

FNF-enable

7

16

52

69

FNF-NDE-AS

7

15

53

71

FNF-NDE-AS-NH

7

15

52

71

Table 6. CPU Utilization: Cisco 2851 Router

Mnemonic

10,000 Flows

45,000 Flows

65,000 Flows

Baseline

10

22

25

v5, NDE 1

14

36

48

v5, NDE 2

13

36

49

v9, NDE1

15

33

48

v9, NDE2

14

37

60

Table 7. CPU Utilization: Cisco 3640 Router

Mnemonic

10,000 Flows

45,000 Flows

65,000 Flows

Baseline

6

3

7

NF-load

9

13

15

NF-enable

16

33

39

NF-NDE

17

33

40

NF-NDE-2

17

35

39

NF-NDE-AS

17

33

39

NF-Prefix-V8

20

35

41

NF-AS-V8-NDE

19

33

41

NF-AS-TOS

17

33

42

Table 8. CPU Utilization: Cisco 3745 Router

Mnemonic

10,000 Flows

45,000 Flows

65,000 Flows

Baseline

10

23

28

v5, NDE 1

14

35

47

v5, NDE 2

14

35

51

v9, NDE1

14

35

49

v9, NDE2