Adding Application Recognition Modules

Adding application recognition modules (also known as Packet Description Language Modules [PDLMs]) is an optional process. However, adding PDLMs extends the functionality of Network-Based Application Recognition (NBAR) by enabling NBAR to recognize additional protocols on your network.

This module contains concepts and tasks for adding application recognition modules (or PDLMs) to your network.

Prerequisites for Adding Application Recognition Modules

Before adding application recognition modules (or PDLMs), read the information in the "Classifying Network Traffic Using NBAR" module.

Information About Adding Application Recognition Modules

Before adding application recognition modules (or PDLMs), you should understand the following concepts:

PDLM Functionality

A PDLM is a separate file available on Cisco.com. A PDLM is used to add support for a protocol that is currently not available as part of the Cisco IOS software.

A PDLM extends the list of protocols that NBAR can recognize. PDLMs also allow NBAR to recognize new protocols without requiring you to install a new Cisco IOS image or reconfigure your router.

New PDLMs are released by Cisco only and can be loaded from flash memory. Contact your local Cisco representative to request additions or changes to the set of protocols classified by NBAR.

To view a list of currently available PDLMs, go to the following URL:

http://www.cisco.com/cgi-bin/tablebuild.pl/pdlm

PDLM Versioning

A PDLM adds new protocols to the list of protocols that NBAR supports. Before you download a new PDLM, you need to be aware of the following concepts.

Native and Nonnative PDLMs

A native PDLM is a PDLM that is embedded within the Cisco IOS software. You receive it automatically along with the Cisco IOS software.

A nonnative PDLM is not embedded within the Cisco IOS software. You can download it individually from Cisco.com.

Separate Version Numbers

There are separate version numbers associated with the NBAR software and the Cisco IOS software. These version numbers are used together to maintain the PDLM version.

  • PDLM version--This is the version of the PDLM (either native or nonnative).

  • Cisco IOS NBAR software version--This is the version of NBAR that resides with the Cisco IOS software.


Note

Each nonnative PDLM also contains the Cisco IOS NBAR software version in which the PDLM was created.


Internal Module Names

Both the native and nonnative PDLMs contain internal module names. These internal module names are unique and independent. They are used to indicate the protocol that the PDLM module represents (for example, BitTorrent or DirectConnect), and they are used to control the module version number (for example, module version 3).

Required Conditions

In order for a PDLM (either native or nonnative) to be downloaded or overridden, both of the following conditions much be met:

  • The module version of the PDLM being downloaded must be higher than the module version currently installed.

For example, if a PDLM called BitTorrent.pdlm (with the internal module name "bittorrent") is currently at version 3, the resident PDLM (either native or nonnative) with the same internal module name ("bittorrent) is overridden as long as the module version is either 1 or 2.

  • The Cisco IOS NBAR software version of the PDLM must be less than or equal to the Cisco IOS NBAR software version of the Cisco IOS image.


Note

To display the Cisco IOS NBAR software version (of the Cisco IOS image), use the show ip nbar version command. For more information about the show ip nbar version command, see the Cisco IOS Quality of Service Solutions Command Reference.


How to Add Application Recognition Modules

Downloading a PDLM

A PDLM is used to add support for a protocol that is currently not available as part of the Cisco IOS software. A PDLM extends the functionality of NBAR by enabling NBAR to recognize additional protocols on the network.

To download (install) a PDLM, perform the following steps.

Each PDLM has specific Cisco IOS release requirements and specific restrictions that you need to consider before you download a PDLM. These requirements and restrictions, and other helpful information for installing a particular PDLM, are described in a series of PDLM readme files.

To view a list of currently available PDLMs, or to view the readme files for each PDLM, go to the following URL (Cisco login required):

http://www.cisco.com/cgi-bin/tablebuild.pl/pdlm


Note

Use the PDLM readme files in conjunction with the information included in this module.


Before you begin

Protocols introduced when you download a PDLM are commonly added to subsequent Cisco IOS releases. Support for the protocol that you would like to add via a PDLM may already be in your Cisco IOS release. Therefore, before you load a PDLM, review the list of NBAR protocols currently supported by the Cisco IOS release that you are using. To check the list of NBAR protocols supported in your Cisco IOS release, enter the match protocol ? command and view the options that appear. The options correspond to the NBAR supported protocols.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. ip nbar pdlm pdlm-name
  4. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

ip nbar pdlm pdlm-name

Example:


Router(config)# ip nbar pdlm flash://citrix.pdlm

Extends or enhances the list of protocols recognized by NBAR through a Cisco-provided PDLM.

  • For the pdlm-name argument, enter the URL at which the PDLM can be found on the flash card.

Step 4

end

Example:


Router(config)# end

(Optional) Exits global configuration mode.

Verifying the Downloaded PDLMs

After you download the PDLM, you may want to verify that the PDLM is now on your network. You may also want to check if there are earlier versions of the PDLM already on your network.

To display information about the downloaded PDLMs, perform the following steps.

SUMMARY STEPS

  1. enable
  2. show ip nbar pdlm
  3. show ip nbar version [pdlm-name ]
  4. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

show ip nbar pdlm

Example:


Router# show ip nbar pdlm

Displays the PDLM in use by NBAR.

Step 3

show ip nbar version [pdlm-name ]

Example:


Router# show ip nbar version

Displays information about the version of the NBAR software in your Cisco IOS release or the version of an NBAR PDLM on your Cisco IOS router.

  • (Optional) Enter the name of the PDLM.

Step 4

exit

Example:


Router# exit

(Optional) Exits privileged EXEC mode.

Configuration Examples for Adding Application Recognition Modules

Example Downloading a PDLM

In the following example. the Citrix PDLM is downloaded to the router from flash memory:


Router> enable 

Router# configure terminal 

Router(config)# ip nbar pdlm flash://citrix.pdlm 

Router(config)# end 

Example Verifying the Downloaded PDLMs

You can use the output of the show ip nbar pdlm command and the show ip nbar version command to verify information about the downloaded PDLMs on your network.

Sample show ip nbar pdlm Command Output

In this example of the show ip nbar pdlm command, the Citrix PDLM has been loaded from flash memory:


Router# show ip nbar pdlm
 
The following PDLMs have been loaded:
flash://citrix.pdlm

Sample show ip nbar version Command Output

The following is sample output from the show ip nbar version command:


Router# show ip nbar version
NBAR software version:  3
1   base                 Mv: 2
2   ftp                  Mv: 2
3   http                 Mv: 7, Nv: 3; slot1:http_vers.pdlm
4   static-port          Mv: 6
5   tftp                 Mv: 1
6   exchange             Mv: 1
7   vdolive              Mv: 1
8   sqlnet               Mv: 1
9   rcmd                 Mv: 1
10  netshow              Mv: 1
11  sunrpc               Mv: 2
12  streamwork           Mv: 1
13  citrix               Mv: 5
14  napster              Mv: 2
15  fasttrack            Mv: 2
16  gnutella             Mv: 1
17  kazaa                Mv: 6, Nv: 3; slot1:kazaa2_vers.pdlm
18  custom-protocols     Mv: 1
19  rtsp                 Mv: 1
20  rtp                  Mv: 2
21  mgcp                 Mv: 1
22  skinny               Mv: 1
23  h323                 Mv: 1
24  sip                  Mv: 1
25  rtcp                 Mv: 1

The table below describes the fields shown in the display.

Table 1. show ip nbar version Field Descriptions

Field

Description

NBAR software version

NBAR software version that is running in the current Cisco IOS software. In this particular example, version 3 is shown.

Mv

Resident Module Version. The Resident Module Version is the version of the NBAR-supported PDLM protocol and, therefore, varies by protocol. The Resident Module Version of TFTP, for example, is 1.

Nv

Minimum version of the NBAR software that is required to load a nonnative PDLM. This number is available only for nonnative PDLMs that were loaded onto the router, such as the Kazaa PDLM (protocol 17); in that case, the Nv version is 3.

Where to Go Next

To classify network traffic on the basis of a custom protocol, see the "Creating a Custom Protocol" module.

Additional References

The following sections provide references related to adding application recognition modules.

Related Documents

Related Topic

Document Title

QoS commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples

Cisco IOS Quality of Service Solutions Command Reference

Concepts and information about NBAR

"Classifying Network Traffic Using NBAR" module

Information about enabling Protocol Discovery

"Enabling Protocol Discovery" module

Configuring NBAR using the MQC

"Configuring NBAR Using the MQC" module

Creating a custom protocol

"Creating a Custom Protocol" module

Technical Assistance

Description

Link

The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

http://www.cisco.com/techsupport

Feature Information for Adding Application Recognition Modules

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 2. Feature Information for Adding Application Recognition Modules

Feature Name

Releases

Feature Information

QoS: DirectConnect PDLM

12.4(4)T

Provides support for the DirectConnect protocol and PDLM. The DirectConnect protocol can now be recognized when using the Modular Quality of Service (QoS) Command-Line Interface (CLI) (MQC) to classify traffic.

The following sections provide information about the QoS: DirectConnect PDLM feature:

NBAR - BitTorrent PDLM

12.4(2)T

Provides support for the BitTorrent PDLM and protocol. The BitTorrent protocol can now be recognized when using the MQC to classify traffic.

The following sections provide information about the NBAR - BitTorrent PDLM feature:

NBAR PDLM Versioning

12.3(4)T

Enables the ability to verify the Cisco IOS and NBAR PDLM versions for ensuring software compatibility.

The following sections provide information about the NBAR PDLM Versioning feature:

  • Information About Adding Application Recognition Modules

  • How to Add Application Recognition Modules.