Previous Page Next Page

Chapter 10. NBAR

This chapter is an overview of the Network-Based Application Recognition (NBAR) feature in Cisco IOS. It helps you decide in which situations NBAR is the appropriate mechanism for accounting and performance management. Based on concrete examples, you will be able to identify the appropriate CLI commands and MIB functions and quickly get NBAR setups operational.

NBAR provides network traffic classification. NBAR recognizes a wide variety of applications by inspecting the IP packet's payload up to OSI Layer 7. It can identify web-based and other difficult-to-classify applications, which can be static (using fixed TCP or UDP port numbers) or stateful (dynamically assigning TCP or UDP port numbers). Figure 10-1 illustrates the parts of the data packet inspected by NBAR.

Figure 10-1. Parts of the Data Packet Inspected by NBAR


When NBAR recognizes an application, it classifies the traffic for performance and accounting purposes. This enables an operator to invoke services for that specific application, such as offering more or less bandwidth, low- or high-latency queuing, or blocking certain packets. It also enables the operator to define different accounting types for each service. Accounting can use different QoS mechanisms to separate and condition the traffic differently, according to its relative priority. NBAR ensures that network bandwidth is used efficiently by supporting the following QoS features:

These additional services are outside the scope of accounting and performance management and therefore are not covered in this book.

NBAR provides a special Protocol Discovery feature that determines which applications and protocols are traversing the network element at any given time by capturing key statistics that are associated with each protocol. The application protocol specifications are defined in a Packet Description Language Module (PDLM). The existing modules can be extended to support emerging application protocols by using the extensible Packet Description Language (PDL). Right now, the use of PDL and the development of PDLMs are limited to Cisco; however, this restriction might be lifted in the future. PDLMs are discussed more thoroughly later in this chapter.

Note

NBAR Protocol Discovery can be used independently of or in conjunction with NBAR traffic classification!


NBAR Functionality

The following principles apply for NBAR:

Note

Previously, Cisco Express Forwarding (CEF or dCEF) was a prerequisite for NBAR. This limitation has been removed in Cisco IOS Software Release 12.4T. However, turning off CEF has a negative performance impact on the router, so you should enable CEF whenever possible.


Distributed NBAR

Originally, NBAR was not supported on distributed platforms, such as the VIP-enabled Cisco 7500 series routers and the Catalyst 6000 family of switches with a FlexWAN module. The Distributed Network-Based Application Recognition (DNBAR) feature was introduced in IOS releases 12.1(6)E, 12.2(4)T3, and 12.2(14)S. On these distributed platforms, DNBAR implements NBAR functionality on a VIP or FlexWAN module. Packets entering an interface on the VIP or FlexWAN are classified by NBAR, and separate reports are available on these modules. It is important to note that the DNBAR feature is identical to NBAR. Therefore, the term NBAR is used to describe both the NBAR and DNBAR features.

NBAR Classification Details

NBAR can classify applications based on the following characteristics:

NBAR offers additional capabilities that help classify applications:

The following sections explain some of the features in this list in more detail. They describe features that are advanced or not intuitive, compared to evident features such as identifying applications by port number.

Classification of HTTP by URL, Host, or MIME

NBAR can classify application traffic by looking beyond a packet's TCP/UDP port numbers. This ability is called subport classification. NBAR looks at the TCP/UDP payload and classifies packets based on content within the payload, such as transaction identifier, message type, or other similar data. Classification of HTTP by URL, host, or MIME type is an example of subport classification. NBAR classifies HTTP traffic by text within the URL or Host fields of a GET request using regular expression matching. NBAR uses the UNIX filename specification as the basis for the URL or host specification format. The NBAR engine then converts the specified match string into a regular expression. NBAR does not classify packets that are part of a pipelined request. With pipelined requests, multiple requests are pipelined at the server before previous requests are serviced. For HTTP requests, in-depth analysis can be performed.

For request messages (client to server), the following HTTP header fields can be identified:

For response messages (server to client), the following header fields can be identified:

Classification of Citrix ICA Traffic by Application Name

NBAR can classify Citrix Independent Computing Architecture (ICA) traffic and perform subport classification of Citrix traffic based on Citrix published applications. NBAR can monitor Citrix ICA client requests for a published application destined for a Citrix ICA Master browser. After the client makes a request to the published application, the Citrix ICA Master browser directs the client to the server with the most available memory. The Citrix ICA client then connects to this Citrix ICA server for the application. NBAR statefully tracks Citrix ICA client/server messages and classifies requests for given Citrix application names and traffic. NBAR performs a regular expression match using a user-specified application name string on the contents of the Citrix ICA control packets carrying the published application name.

NBAR Packet Description Language Module (PDLM)

Even though NBAR supports a long list of static and stateful protocols, new transport protocols will always be developed, and they will require extensions to the existing definitions. Recent examples are new peer-to-peer applications as well as new voice applications and others. NBAR PDLMs, which can be downloaded from the Cisco website, let you add support for new protocols without requiring an IOS release upgrade or a router reload. A PDLM can be loaded at runtime.

NBAR Scope

NBAR does not support certain scenarios:

Previous Page Next Page
Digital markedsføring