Flexible NetFlow NBAR Application Recognition Overview

NBAR enables creation of different flows for each application seen between any two IP hosts by applying a flow monitor having a flow record that collects the application name as a key or a nonkey field.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Information About Flexible NetFlow NBAR Application Recognition

Flexible NetFlow NBAR Application Recognition Overview

The DHCPv6 Guard feature blocks reply and advertisement messages that come from unauthorized DHCP servers and relay agents.

Packets are classified into one of the three DHCP type messages. All client messages are always switched regardless of device role. DHCP server messages are only processed further if the device role is set to server. Further processing of server messages includes DHCP server advertisements (for source validation and server preference) and DHCP server replies (for permitted prefixes).

If the device is configured as a DHCP server, all the messages need to be switched, regardless of the device role configuration.

How to Configure Flexible NetFlow NBAR Application Recognition

Configuring a Customized Flow Record

Perform this task to configure a customized flow record.

Customized flow records are used to analyze traffic data for a specific purpose. A customized flow record must have at least one match criterion for use as the key field and typically has at least one collect criterion for use as a nonkey field.

There are hundreds of possible permutations of customized flow records. This task shows the steps that are used to create one of the possible permutations. Modify the steps in this task as appropriate to create a customized flow record for your requirements.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    flow record record-name

    4.    description description

    5.    match {ipv4 | ipv6} {destination | source} address

    6.    Repeat Step 5 as required to configure additional key fields for the record.

    7.    collect interface {input | output}

    8.    Repeat Step 7 as required to configure additional nonkey fields for the record.

    9.    end

    10.    show flow record record-name

    11.    show running-config flow record record-name


DETAILED STEPS
      Command or Action Purpose
    Step 1 enable


    Example:
    Device> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.
     
    Step 2 configure terminal


    Example:
    Device# configure terminal
     

    Enters global configuration mode.

     
    Step 3 flow record record-name


    Example:
    Device(config)# flow record FLOW-RECORD-1
     

    Creates a flow record and enters Flexible NetFlow flow record configuration mode.

    • This command also allows you to modify an existing flow record.
     
    Step 4 description description


    Example:
    Device(config-flow-record)# description Used for basic traffic analysis
     

    (Optional) Creates a description for the flow record.

     
    Step 5 match {ipv4 | ipv6} {destination | source} address


    Example:
    Device(config-flow-record)# match ipv4 destination address
     

    Configures a key field for the flow record.

    Note   

    This example configures the IPv4 destination address as a key field for the record. For information about the other key fields available for the match ipv4 command, and the other match commands that are available to configure key fields, refer to the Cisco IOS Flexible NetFlow Command Reference .

     
    Step 6 Repeat Step 5 as required to configure additional key fields for the record.  

     
    Step 7 collect interface {input | output}


    Example:
    Device(config-flow-record)# collect interface input
     

    Configures the input interface as a nonkey field for the record.

    Note   

    This example configures the input interface as a nonkey field for the record. For information on the other collect commands that are available to configure nonkey fields, refer to the Cisco IOS Flexible NetFlow Command Reference.

     
    Step 8 Repeat Step 7 as required to configure additional nonkey fields for the record.  

     
    Step 9 end


    Example:
    Device(config-flow-record)# end
     

    Exits Flexible NetFlow flow record configuration mode and returns to privileged EXEC mode.

     
    Step 10 show flow record record-name


    Example:
    Device# show flow record FLOW_RECORD-1
     

    (Optional) Displays the current status of the specified flow record.

     
    Step 11 show running-config flow record record-name


    Example:
    Device# show running-config flow record FLOW_RECORD-1 
     

    (Optional) Displays the configuration of the specified flow record.

     

    Creating a Customized Flow Monitor

    Perform this required task to create a customized flow monitor.

    Each flow monitor has a separate cache assigned to it. Each flow monitor requires a record to define the contents and layout of its cache entries.

    Before You Begin

    If you want to use a customized record instead of using one of the Flexible NetFlow predefined records, you must create the customized record before you can perform this task.

    If you want to add a flow exporter to the flow monitor for data export, you must create the exporter before you can complete this task.


    Note


    You must use the no ip flow monitor command to remove a flow monitor from all of the interfaces to which you have applied it before you can modify the parameters for the record command on the flow monitor. For information about the ip flow monitor command, refer to the Cisco IOS Flexible NetFlow Command Reference.


    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    flow monitor monitor-name

      4.    description description

      5.    record {record-name | netflow-original | netflow {ipv4 | ipv6} record [peer]}

      6.    cache {entries number | timeout {active | inactive | update} seconds | type {immediate | normal | permanent}}

      7.    Repeat Step 6 as required to finish modifying the cache parameters for this flow monitor.

      8.    statistics packet protocol

      9.    statistics packet size

      10.    exporter exporter-name

      11.    end

      12.    show flow monitor [[name] monitor-name [cache [format {csv | record | table}]] [statistics]]

      13.    show running-config flow monitor monitor-name


    DETAILED STEPS
        Command or Action Purpose
      Step 1 enable


      Example:
      Device> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.
       
      Step 2 configure terminal


      Example:
      Device# configure terminal
       

      Enters global configuration mode.

       
      Step 3 flow monitor monitor-name


      Example:
      Device(config)# flow monitor FLOW-MONITOR-1
       

      Creates a flow monitor and enters Flexible NetFlow flow monitor configuration mode.

      • This command also allows you to modify an existing flow monitor.
       
      Step 4 description description


      Example:
      Device(config-flow-monitor)# description Used for basic ipv4 traffic analysis
       

      (Optional) Creates a description for the flow monitor.

       
      Step 5 record {record-name | netflow-original | netflow {ipv4 | ipv6} record [peer]}


      Example:
      Device(config-flow-monitor)# record FLOW-RECORD-1
       

      Specifies the record for the flow monitor.

       
      Step 6 cache {entries number | timeout {active | inactive | update} seconds | type {immediate | normal | permanent}}


      Example:
      Device(config-flow-monitor)# cache type normal
       

      (Optional) Modifies the flow monitor cache parameters such as timeout values, number of cache entries, and the cache type.

      • The values for the keywords associated with the timeout keyword have no effect when the cache type is set to immediate.
       
      Step 7 Repeat Step 6 as required to finish modifying the cache parameters for this flow monitor.  

       
      Step 8 statistics packet protocol


      Example:
      Device(config-flow-monitor)# statistics packet protocol
       

      (Optional) Enables the collection of protocol distribution statistics for Flexible NetFlow monitors.

       
      Step 9 statistics packet size


      Example:
      Device(config-flow-monitor)# statistics packet size
       

      (Optional) Enables the collection of size distribution statistics for Flexible NetFlow monitors.

       
      Step 10 exporter exporter-name


      Example:
      Device(config-flow-monitor)# exporter EXPORTER-1 
       

      (Optional) Specifies the name of an exporter that was created previously.

       
      Step 11 end


      Example:
      Device(config-flow-monitor)# end
       

      Exits Flexible NetFlow flow monitor configuration mode and returns to privileged EXEC mode.

       
      Step 12 show flow monitor [[name] monitor-name [cache [format {csv | record | table}]] [statistics]]


      Example:
      Device# show flow monitor FLOW-MONITOR-2 cache
       

      (Optional) Displays the status and statistics for a Flexible NetFlow flow monitor.

       
      Step 13 show running-config flow monitor monitor-name


      Example:
      Device# show running-config flow monitor FLOW_MONITOR-1
       

      (Optional) Displays the configuration of the specified flow monitor.

       

      Applying a Flow Monitor to an Interface

      Before it can be activated, a flow monitor must be applied to at least one interface. Perform this required task to activate a flow monitor.

      SUMMARY STEPS

        1.    enable

        2.    configure terminal

        3.    interface type number

        4.    {ip | ipv6} flow monitor monitor-name {input | output}

        5.    Repeat Steps 3 and 4 to activate a flow monitor on any other interfaces in the device over which you want to monitor traffic.

        6.    end

        7.    show flow interface type number

        8.    show flow monitor name monitor-name cache format record


      DETAILED STEPS
          Command or Action Purpose
        Step 1 enable


        Example:
        Device> enable
         

        Enables privileged EXEC mode.

        • Enter your password if prompted.
         
        Step 2 configure terminal


        Example:
        Device# configure terminal
         

        Enters global configuration mode.

         
        Step 3 interface type number


        Example:
        Device(config)# interface GigabitEthernet 0/0/0
        
         

        Specifies an interface and enters interface configuration mode.

         
        Step 4 {ip | ipv6} flow monitor monitor-name {input | output}

        Example:
        Device(config-if)# ip flow monitor FLOW-MONITOR-1 input
         

        Activates a flow monitor that was created previously by assigning it to the interface to analyze traffic.

         
        Step 5 Repeat Steps 3 and 4 to activate a flow monitor on any other interfaces in the device over which you want to monitor traffic.  

         
        Step 6 end


        Example:
        Device(config-if)# end
         

        Exits interface configuration mode and returns to privileged EXEC mode.

         
        Step 7 show flow interface type number


        Example:
        Device# show flow interface GigabitEthernet 0/0/0
        
         

        Displays the status of Flexible NetFlow (enabled or disabled) on the specified interface.

         
        Step 8 show flow monitor name monitor-name cache format record


        Example:
        Device# show flow monitor name FLOW_MONITOR-1 cache format record
         

        Displays the status, statistics, and flow data in the cache for the specified flow monitor.

         

        Configuration Examples for Flexible NetFlow NBAR Application Recognition

        Example: Configuring Flexible NetFlow for Network-Based Application Recognition

        The following example uses Network-based Application recognition (NBAR) to create different flows for each application seen between any two IP hosts by applying a flow monitor having a flow record that collects the application name as a key field.

        This sample starts in global configuration mode:

        !
        flow record rm_1
        match application name
        match ipv4 source address
        match ipv4 destination address
        collect interface input
        collect interface output
        collect counter packets
        !
        flow monitor mm_1
        record rm_1
        !
        interface FastEthernet0/0
        ip address 172.16.2.2 255.255.255.0
        ip flow monitor mm_1 input
        !
        end
        

        Additional References

        Related Documents

        Related Topic

        Document Title

        Cisco IOS commands

        Cisco IOS Master Command List, All Releases

        Flexible NetFlow conceptual information and configuration tasks

        Flexible NetFlow Configuration Guide

        Flexible NetFlow commands

        Cisco IOS Flexible NetFlow Command Reference

        Standards/RFCs

        Standard

        Title

        No new or modified standards/RFCs are supported by this feature.

        MIBs

        MIB

        MIBs Link

        None

        To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:

        http:/​/​www.cisco.com/​go/​mibs

        Technical Assistance

        Description

        Link

        The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

        http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

        Feature Information for Flexible NetFlow NBAR Application Recognition

        The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

        Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

        Table 1 Feature Information for Flexible NetFlow NBAR Application Recognition

        Feature Name

        Releases

        Feature Information

        Flexible NetFlow--NBAR Application Recognition

        15.0(1)M

        Cisco IOS XE Release 3.1S

        Network-based Application recognition (NBAR) enables creation of different flows for each application seen between any two IP hosts by applying a flow monitor having a flow record that collects the application name as a key or a nonkey field.

        The following commands were introduced or modified:

        collect application name, match application name, option (Flexible NetFlow), show flow monitor.