Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.2
Configuring Network-Based Application Recognition
Downloads: This chapterpdf (PDF - 145.0KB) | Feedback

Configuring Network-Based Application Recognition

Table Of Contents

Configuring Network-Based Application Recognition

NBAR Configuration Task List

Configuring a Traffic Class

Configuring a Traffic Policy

Attaching a Traffic Policy to an Interface

Verifying Traffic Policy Configuration

Monitoring and Maintaining NBAR

NBAR Configuration Example

Configuring a Traffic Class with NBAR Example


Configuring Network-Based Application Recognition


This chapter describes the tasks for configuring the Network-Based Application Recognition (NBAR) feature.

For complete conceptual information, see the section "Network-Based Application Recognition" in the "Classification Overview" chapter in this book.

For a complete description of the NBAR commands mentioned in this chapter, refer to the Cisco IOS Quality of Service Solutions Command Reference. To locate documentation of other commands that appear in this chapter, use the command reference master index or search online.

To identify the hardware platform or software image information associated with a feature, use the Feature Navigator on Cisco.com to search for information about the feature or refer to the software release notes for a specific release. For more information, see the "Identifying Supported Platforms" section in the "Using Cisco IOS Software" chapter in this book.

NBAR Configuration Task List

Your interface to NBAR is through the Modular QoS Command-Line Interface (Modular QoS CLI) feature. The Modular QoS CLI provides a model for QoS configuration under Cisco IOS software. The Modular QoS CLI provides a clean separation between the specification of a classification policy and the specification of other policies that act based on the results of the applied classification.

Configuring a QoS policy typically requires the configuration of traffic classes, the configuration of policies that will be applied to those traffic classes, and the attaching of policies to interfaces using the following commands:

class-map

policy-map

service-policy

Use the class-map command to define one or more traffic classes by specifying the criteria by which traffic is classified.

Use the policy-map command to define one or more QoS policies (such as shaping, policing, and so on) to apply to traffic defined by a class map.

Use the service-policy command to attach a traffic to an interface on the router.

For additional information on the Modular QoS CLI, see the "Modular Quality of Service Command-Line Interface Overview" chapter in this book.

To configure NBAR, perform the tasks described in the following sections. The tasks in the first three sections are required; the tasks in the remaining two sections are optional.

Configuring a Traffic Class (Required)

Configuring a Traffic Policy (Required)

Attaching a Traffic Policy to an Interface (Required)

Verifying Traffic Policy Configuration (Optional)

Monitoring and Maintaining NBAR (Optional)


Note You must enable Cisco Express Forwarding (CEF) on the router prior to configuring the NBAR feature. For information on how to enable CEF, refer to the Cisco IOS Switching Services Configuration Guide.


See the end of this chapter for the section "NBAR Configuration Example."

Configuring a Traffic Class

To configure a traffic class and the match criteria that will be used to identify traffic as belonging to that class, use the class-map global configuration command. For more information about match criteria, see the section"Creating a Traffic Class" in the chapter "Configuring the Modular Quality of Service Command-Line Interface" in this book. To define the match criteria, use the following commands beginning in global configuration mode.

In the following procedure, all traffic matching a specified protocol will be classified as belonging to the traffic class. The traffic class will classify traffic while the traffic policy configuration will determine how to treat the traffic.

For instance, if you wanted all FTP traffic to be marked with the QoS group value of 1, you would use the match protocol ftp command in class-map configuration mode, and use the set qos-group 1 command in policy-map class configuration mode (assuming the traffic policy uses the specified class). Therefore, the classification purpose (classifying FTP traffic) would be handled in the traffic class, while the QoS feature (marking the QoS group value to 1) would be handled in the traffic policy.

 
Command
Purpose

Step 1 

Router(config)# class-map [match-all | match-any] class-name

Specifies the user-defined name of the class map. The match-all option specifies that all match criteria in the class map must be matched. The match-any option specifies that one or more match criteria must match.

Step 2 

Router(config-cmap)# match protocol protocol-name

Specifies a protocol supported by NBAR as a matching criterion.

Configuring a Traffic Policy

To specify the QoS policies to apply to traffic classes defined by a traffic class, use the following commands beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# policy-map policy-name

Specifies the traffic policy name entered by the user.

Step 2 

Router(config-pmap)# class class-name

Specifies the name of a previously defined traffic class.

Step 3 

Router(config-pmap-c)#

Enters policy-map class configuration mode, a prerequisite for entering QoS policies.

Attaching a Traffic Policy to an Interface

To attach a traffic policy to an interface and to specify the direction in which the traffic policy should be applied (on either packets coming into the interface or packets leaving the interface), use the following commands in interface configuration mode, as needed:

.

Command
Purpose

Router(config-if)# service-policy output policy-map-name

Specifies the name of the traffic policy to be attached where it can be applied to all packetes leaving the interface.

Router(config-if)# service-policy input policy-map-name

Specifies the name of the traffic policy to be attached where it can be appliced to all packets entering the interface.


To detach a policy map from an interface, use the no service-policy [input | output] policy-map-name command.

Verifying Traffic Policy Configuration

To display the configuration of a traffic policy and its associated traffic classes, use the following commands in privileged EXEC mode, as needed:

Command
Purpose

Router# show class-map

Displays all traffic class information.

Router# show class-map class-name

Displays the traffic class information of the user- specified traffic class.

Router# show policy-map

Displays all configured policy maps.

Router# show policy-map policy-map-name

Displays the user-specified policy map.

Router# show policy-map interface

Displays statistics and configurations of all input and output policies attached to an interface.

Router# show policy-map interface-spec

Displays configuration and statistics of the input and output policies attached to a particular interface.

Router# show policy-map interface-spec [input]

Displays configuration and statistics of the input policy attached to an interface.

Router# show policy-map interface-spec [output]

Displays configuration statistics of the output policy attached to an interface.

Router# show policy-map interface-spec [input | output] class class-name

Displays the configuration and statistics for the class name configured in the policy.


Monitoring and Maintaining NBAR

NBAR can determine which protocols and applications are currently running on a network. NBAR includes the Protocol Discovery feature that provides an easy way of discovering application protocols operating on an interface so that appropriate QoS policies can be developed and applied. With Protocol Discovery, you can discover any protocol traffic supported by NBAR and obtain statistics associated with that protocol.

To monitor and maintain the NBAR feature, use the following commands in privileged EXEC mode, as needed:

Command
Purpose

Router# show ip nbar port-map [protocol-name]

Displays the TCP/User Datagram Protocol (UDP) port number(s) used by NBAR to classify a given protocol.

Router# show ip nbar protocol-discovery

Displays the statistics for all interfaces on which Protocol Discovery is enabled.


NBAR Configuration Example

The following "Configuring a Traffic Class with NBAR Example" section provides an NBAR configuration example.

For information on how to configure NBAR, see the section "NBAR Configuration Task List" in this chapter.

Configuring a Traffic Class with NBAR Example

In the following example, all SQL*Net traffic leaving fastethernet interface 0/1 is marked with the IP precedence value of 4. In the example, NBAR is used to identify SQL*Net traffic, while the treatment of SQL*Net traffic (in this case, it is forwarded with the IP precedence bit set as 4) is determined by the traffic policy configuration (the set ip precedence 4 command in policy-map class configuration mode).


Router(config)# class-map sqlnettraffic
Router(config-cmap)# match protocol sqlnet

Router(config)# policy-map sqlsetipprec1
Router(config-pmap)# class sqlnettraffic
Router(config-pmap-c)# set ip precedence 4

Router(config)# interface fastethernet 0/1
Router(config-if)# service-policy output sqlsetipprec1