NBAR Protocol Pack Auto Update

Cisco provides periodic updates of NBAR2 Protocol Packs for Cisco IOS releases designated as long-lived, to improve NBAR2 traffic recognition capabilities on an ongoing basis. The Protocol Pack Auto Update feature helps to automate the process of updating any number of participating routers with the latest compatible Protocol Pack.

Overview

Protocol Pack Auto Update streamlines Protocol Pack administrative tasks. It enables network administrators to reduce the repetitive tasks in updating Protocol Packs across a large number of routers in a network.

Rather than operating on each router individually, administrators provide Protocol Pack updates through a centralized "Auto Update" server that stores downloaded Protocol Pack installation files for use by the various routers in the network, and controls the scheduling of updates. The process is controlled through a single configuration file on the server.

After the feature is set up, routers in the network that have Auto Update enabled check the server periodically. If a more up-to-date, compatible Protocol Pack is available, the router downloads the Protocol Pack file and installs it automatically.

Protocol Pack Auto Update – Major Topics

Topic

Section

Deployment

NBAR Protocol Pack Auto Update Deployment

Maintenance

Keeping Protocol Packs Up-to-Date

Router Procedures

Enabling Protocol Pack Auto Update

Disabling Protocol Pack Auto Update

Initiating Immediate Protocol Pack Update

Displaying Protocol Pack Auto Update Information

NBAR Protocol Pack Auto Update Deployment

Deployment Overview

To deploy Protocol Pack Auto Update in a network, set up an Auto Update server, download the Protocol Pack files for your routers, and create a configuration file customized to your needs. Then simply enable Auto Update on any number of routers within your network as described below.

Figure 1. Protocol Pack Auto Update – Server and Participating Routers

Elements of Protocol Pack Auto Update

  • Protocol Pack Auto Update server:

    • Downloaded Protocol Pack installation files for routers using Auto Update

    • Configuration file (NBAR_PROTOCOL_PACK_DETAILS.json)

    • Protocol Pack Auto Update log files

  • Routers: One or more routers with Protocol Pack Auto Update enabled.

    See Enabling Protocol Pack Auto Update.

Deployment Steps

  1. Set up a Protocol Pack Auto Update server in a location reachable by all routers using Auto Update. (Some CLI commands and output refer to this as the "source-server.")

    See Setting Up a Server for Protocol Pack Auto Update.

  2. On participating routers, enable Protocol Pack Auto Update.

    See Enabling Protocol Pack Auto Update.

    Example:

    Device#configure terminal
    Device(config)#ip nbar protocol-pack-auto-update
    Device(config-pp-auto-update)#source-server tftp://10.20.300.400/NbarAutoUpdate
    Device(config-pp-auto-update)#exit
    
    
  3. (Optional) By default, each router using Auto Update uses the settings provided in the configuration file on the Auto Update server. If required, use Protocol Pack Auto Update CLI commands on an individual router to override the default settings.

    See Configuring Local Protocol Pack Auto Update Settings on a Router.

Setting Up a Server for Protocol Pack Auto Update

The Protocol Pack Auto Update server contains the configuration file that controls the feature functionality, and stores the Protocol Pack installation files. To set up the server, use the following procedure.

  1. Set up a server in a network location reachable by all participating routers. Make note of the server IP address, to include it in the configuration file.

  2. On the server, create the parent directory for storing the configuration file and Protocol Pack installation files.

    /NbarAutoUpdate/pp_server/
    
    
  3. Within the parent directory, /NbarAutoUpdate/pp_server/, create the subdirectories for storing Protocol Pack installation files, organized by platform type.

    /NbarAutoUpdate/pp_server/asr
    /NbarAutoUpdate/pp_server/csr
    /NbarAutoUpdate/pp_server/isr
    /NbarAutoUpdate/pp_server/isr4k
    /NbarAutoUpdate/pp_server/other
    
    
  4. Download the latest Protocol Pack installation files that will be required for the routers using Auto Update. See NBAR2 Protocol Pack Library for information about Protocol Packs, including supported platforms. Download the files using the Download Software tool.

  5. Store the Protocol Pack files on the server, in subdirectories of /NbarAutoUpdate/pp_server/.

    • ASR directory – Protocol Pack files for Cisco ASR Series devices.

    • CSR directory – Protocol Pack files for Cisco CSR Cloud Services Routers.

    • ISR directory – Protocol Pack files for Cisco ISR Generation 2 (ISRG2) devices operating with Cisco IOS 15.x releases (not IOS XE).

    • ISR4K directory – Protocol Pack files for Cisco ISR4000 Series routers.

    • OTHER directory – Protocol Pack files for devices not included in more specific categories.

  6. Create the Auto Update JSON-format configuration file, as described in Protocol Pack Auto Update Configuration File and store the file in the Auto Update parent directory:

    /NbarAutoUpdate/pp_server/NBAR_PROTOCOL_PACK_DETAILS.json
    
    

Multiple Servers Option

It is strongly recommended to use a single server for the Auto Update configuration file and Protocol Pack installation files. However, it is possible to store the Protocol Pack files on a separate server. If doing this, specify the separate server location in the configuration file, where the path to Protocol Pack files is configured.

Protocol Pack Auto Update Configuration File

The Protocol Pack Auto Update configuration file is a JSON-format file, with the required filename NBAR_PROTOCOL_PACK_DETAILS.json. It is stored on the Protocol Pack Auto Update server in the Auto Update parent directory:

/NbarAutoUpdate/pp_server/NBAR_PROTOCOL_PACK_DETAILS.json

The configuration file specifies:

  • Server address

  • Locations of the downloaded Protocol Pack files

  • NBAR software version for each Protocol Pack file

  • Schedule for routers using Auto Update to check the server for updates

Protocol Pack File Locations

The configuration file provides the path for each downloaded Protocol Pack file stored on the server. Routers using Auto Update download the Protocol Pack files from these locations and install them automatically.

The location of each Protocol Pack file is specified by combining the server address, base directory, and specific file path.

  • The "protocol-pack-server" section of the configuration file provides the address and base directory.

  • The "nbar_pp_files" section provides the paths to individual Protocol Pack installation files.

For example, if the address and base directory are:
tftp://10.20.200.1/NbarAutoUpdate/pp_server/

...and the Protocol Pack file location is:
asr/pp-adv-asr1k-155-3.S2-23-20.0.0.pack

...then the complete path to the file is:
tftp://10.20.200.1/NbarAutoUpdate/pp_server/asr/pp-adv-asr1k-155-3.S2-23-20.0.0.pack

A router using Auto Update would use this complete path to download the file from the server.

Organization of the Protocol Pack Locations

The "nbar_pp_files" section of the configuration file lists the Protocol Pack files available on the server. Subsections correspond to the directories in which Protocol Packs are stored on the Protocol Pack Auto Update server. Typical subsections include.

  • ASR – Protocol Pack files for Cisco ASR Series devices.

  • CSR – Protocol Pack files for Cisco CSR Cloud Services Routers.

  • ISR – Protocol Pack files for Cisco ISR Generation 2 (ISRG2) devices operating with Cisco IOS 15.x releases (not IOS XE).

  • ISR4K – Protocol Pack files for Cisco ISR4000 Series routers.

  • OTHER – Protocol Pack files for devices not included in more specific categories.

Example of the nbar_pp_files section of a configuration file:


  "nbar_pp_files": {
      "ASR": {
        "23":"asr/pp-adv-asr1k-155-3.S2-23-20.0.0.pack"
      },
      "ISR": {
        "23":"isr/pp-adv-isrg2-155-3.M2-23-19.1.0.pack"
      },
      "ISR4K": {
        "23":"pp-adv-isr4000-155-3.Sa4-23-32.1.0.pack",
        "27":"pp-adv-isr4000-163.2-27-35.0.0.pack",
        "31":"pp-adv-isr4000-166.2-31-35.0.0.pack"
      },  
      "OTHER": {
        "23":"other/pp-adv-isr4000-155-3.Sa4-23-32.1.0.pack"
      }  
  } 

NBAR Software Version Specified for Each Protocol Pack File

Each Protocol Pack installation file is compatible with a specific NBAR software version. The version number typically appears in the filename of the Protocol Pack installation file. For example, the following Protocol Pack 20.0.0 installation file works with NBAR version 23:


        pp-adv-asr1k-155-3.S2-23-20.0.0.pack

   

In the configuration file, each line that specifies a Protocol Pack installation file location also indicates the matching NBAR software version. When adding Protocol Pack installation file locations, be sure to specifiy the correct NBAR software version for the file. Example:


        "23":"asr/pp-adv-asr1k-155-3.S2-23-20.0.0.pack"

   

Tip

Use the show ip nbar version command on a router to display the current NBAR software version of the installed OS.

Device#show ip nbar version
NBAR software version: 23
NBAR minimum backward compatible version: 21
...


Same Router Type, Different Versions of NBAR2

Identical routers running different OS versions may have different versions of NBAR2 and therefore require different Protocol Pack versions—for example, two Cisco ISR 4451 routers, one operating with Cisco IOS XE 3.13 and the other with 3.16. Download the correct Protocol Pack files for both and store them on the Auto Update server.

Configuration File Parameters

The following configuration file parameters provide the default Protocol Pack Auto Update behavior. Individual routers using Auto Update may override these parameters using local CLI commands.

Parameter

Description

protocol-pack-server

(Mandatory)

Location of protocol pack server.

Example: tftp://10.20.200.1/NbarAutoUpdate/pp_server/

nbar_pp_files

(Mandatory)

Provides file locations for protocol pack files for various platforms and NBAR versions, identified by NBAR software version number.

schedule {daily | weekly : | monthly :} [day ]

{hh : hh , mm : mm }

Schedule for the Auto Update upgrade interval. Routers using Auto Update check regularly for updates at the scheduled time.

  • monthly: Day of the month

  • weekly: Day of the week (0 to 6)

  • hh: Hour (24-hour time)

  • mm: Minute

The actual run time depends on the update-window option.

Default: Daily at 00:00

update-window

Maintenance window (in minutes) for NBAR protocol pack auto-update to operate within. The maintenance window is scheduled according to the time configured by the schedule parameters.

Default: 60

clear-previous

true: Causes unneeded Protocol Pack files to be removed after a cool-down period.

false: Configures the feature to not remove any files.

Default: enable

force-upgrade

true: New Protocol Pack updates will be applied with the force flag.

false: New Protocol Pack updates will not be applied with the force flag.

Default: disable

Configuration File: Minimal Example

This example of a minimal configuration file contains only the top-level nbar_auto_update_config section, and mandatory fields.

Because no schedule is configured, routers use the default schedule of checking daily at 00:00. The example specifies one Protocol Pack file for each of four platform types.

{
"nbar_auto_update_config":{
  "protocol-pack-server":"tftp://10.20.200.1/NbarAutoUpdate/pp_server/"
  },
  "nbar_pp_files":{
    "ASR":{"23":"asr/pp-adv-asr1k-155-3.S2-23-20.0.0.pack"},
    "CSR":{"23":"csr/pp-adv-csr1000v-155-3.S2-23-21.0.0.pack"},
    "ISR":{"23":"isr/pp-adv-isrg2-155-3.M2-23-19.1.0.pack"},
    "ISR4K":{"31":"pp-adv-isr4000-166.2-31-35.0.0.pack"}
  }
}

Configuration Files: Typical Example

This example of a typical configuration file contains the top-level nbar_auto_update_config section, plus mandatory and optional fields.

  • The Protocol Pack Auto Update server address is 10.20.200.1.

  • The schedule section specifies the update schedule as weekly on Saturdays at 2:30 AM. Routers using Auto Update check at this scheduled time for any available updates.

    Saturday is indicated by the weekly value of 6. The numbering system for days of the week is 0-6, where 0=Sunday and 6=Saturday.

    hh and mm specify an update time of 2:30 AM .

  • In the nbar_pp_files section, the NBAR version number (for example, 23) at the beginning of a line must match the NBAR version number that appears in the Protocol Pack filename.

{
  "nbar_auto_update_config": {
    "protocol-pack-server": "tftp://10.20.200.1/NbarAutoUpdate/pp_server/",
    "update-window":0,
    "force-upgrade":true,
    "clear-previous":true,
    "schedule": {
      "weekly": 6,
      "hh": 02,
      "mm": 30
    },
  },
  "nbar_pp_files": {
    "ASR": {
      "23":"asr/pp-adv-asr1k-155-3.S2-23-20.0.0.pack",
    },
    "CSR": {
      "23":"csr/pp-adv-csr1000v-155-3.S2-23-21.0.0.pack"
     },
    "ISR": {
      "23":"isr/pp-adv-isrg2-155-3.M2-23-18.0.0.pack",
      "23":"isr/pp-adv-isrg2-155-3.M2-23-19.1.0.pack"
    },
    "ISR4K":{
      "31":"pp-adv-isr4000-166.2-31-35.0.0.pack"
    }
  } 
}

Keeping Protocol Packs Up-to-Date

New Protocol Pack Releases

When new Protocol Pack releases become available:

  1. Download the new Protocol Pack installation files for the router models in the network using Auto Update.

  2. Store the Protocol Pack files in the correct directories on the server.

  3. Update the configuration file to include the new Protocol Pack files.

When Upgrading a Router OS

Protocol Pack installation files typically are compatible with a specific platform type running a specific Cisco IOS release.

After upgrading the OS of a router that is using Protocol Pack Auto Update:

  1. Use the show ip nbar version command to display the NBAR software version. In the following example, the NBAR software version is 23.

    Device#show ip nbar version
    
    NBAR software version:  23
    NBAR minimum backward compatible version:  21
    
    Loaded Protocol Pack(s): 
    
    Name:                            Advanced Protocol Pack
    Version:                         14.0
    Publisher:                       Cisco Systems Inc.
    NBAR Engine Version:             23
    State:                           Active
    
    
  2. If the NBAR software version has changed, check whether a more up-to-date compatible Protocol Pack is available for the release. (See the NBAR2 Protocol Library page for information about Protocol Pack release compatibility.)

  3. If so, download the new Protocol Pack installation file to provide to routers using Auto Update.

  4. Store the Protocol Pack file in the correct directory on the server.

  5. Update the configuration file to include the new Protocol Pack file.

    Ensure that the new line in the configuration file is in the correct location, and that the specified NBAR2 version number matches the version number in the Protocol Pack filename.

    "23":"asr/pp-adv-asr1k-155-3.S2-23-20.0.0.pack"
    
    

Enabling Protocol Pack Auto Update

Enabling Protocol Pack Auto Update on a router requires:

  • Enabling the feature

  • Specifying the Protocol Pack Auto Update server to use, or ensuring that it has been specified already

SUMMARY STEPS

  1. configure terminal
  2. ip nbar protocol-pack-auto-update
  3. source-server protocol-pack-auto-update-server
  4. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

Device#configure terminal

Enters global configuration mode.

Step 2

ip nbar protocol-pack-auto-update

Example:

Device(config)#ip nbar protocol-pack-auto-update
Device(config-auto-pp-update)#

Enables NBAR protocol pack auto update.

Step 3

source-server protocol-pack-auto-update-server

Example:

Device(config-auto-pp-update)#source-server tftp://10.20.300.400/NbarAutoUpdate

(Required only if the Protocol Pack Auto Update server has not already been specified)

Specifies the location of the Protocol Pack Auto Update server and the directory containing the configuration file, NBAR_PROTOCOL_PACK_DETAILS.json.

Step 4

exit

Example:

Device(config-auto-pp-update)#exit

Exits global configuration mode.

Disabling Protocol Pack Auto Update

Disables Protocol Pack Auto Update on a router.

SUMMARY STEPS

  1. configure terminal
  2. no ip protocol-pack-auto-update
  3. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

no ip protocol-pack-auto-update

Example:

Device(config)# no ip nbar protocol-pack-auto-update

Disables NBAR protocol pack auto update.

Step 3

exit

Example:

Device(config)# exit

Exits global configuration mode.

Initiating Immediate Protocol Pack Update

Initiates an immediate Protocol Pack update using the Protocol Pack Auto Update mechanism.

SUMMARY STEPS

  1. configure terminal
  2. ip nbar protocol-pack-auto-update now
  3. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2

ip nbar protocol-pack-auto-update now

Example:

Device(config)# ip nbar protocol-pack-auto-update now

Initiates a protocol pack update using the auto update mechanism.

Step 3

exit

Example:

Device(config)# exit

Exits global configuration mode.

Displaying Protocol Pack Auto Update Information

Displays the Protocol Pack Auto Update configuration, copied files, and statistics for an individual router using Protocol Pack Auto Update.

SUMMARY STEPS

  1. show ip nbar protocol-pack auto-update

DETAILED STEPS

Command or Action Purpose

show ip nbar protocol-pack auto-update

Example:

Device# show ip nbar protocol-pack-auto-update

Displays the protocol pack auto update configuration, copied files, and statistics.

The following example shows the information provided in the output of this command.

Device# show ip nbar protocol-pack-auto-update

NBAR Auto-Update:
=================

Configuration:
=============
force-upgrade             	 : (Default)  Enabled
clear-previous            	 : (Default)  Enabled
update-window             	 : (Default)  30
source-server             	 :                 tftp://10.20.200.1/NbarAutoUpdate/
protocol-pack-directory   	 : (Default)  harddisk:
schedule                  	 : (Default)  03:22

Copied files:
==========
File          	 : harddisk:/NbarAutoUpdate/AsrNbarPP
Copied        	 : *11:29:11.000 UTC Mon Jan 5 2015


Last run result: SUCCESS
Last auto-update run                   	 : *11:29:12.000 UTC Mon Jan 5 2015
Last auto-update success               	 : *11:29:12.000 UTC Mon Jan 5 2015
Last auto-update successful update     	 : *11:29:12.000 UTC Mon Jan 5 2015

Last auto-update server-config update  	 : *16:15:13.000 UTC Mon Jan 5 2015
Success count                          		 : 3
Failure count                          		 : 0
Success rate                           		 : 100 percent

Next AU maintenance estimated to run at	 : *17:15:13.000 UTC Mon Jan 5 2015
Next AU update estimated to run at     	 : *03:41:00.000 UTC Tue Jan 6 2015

Configuring Local Protocol Pack Auto Update Settings on a Router

To configure local Protocol Pack Auto Update settings on a router, use the command sub-mode described here. Configuring local settings on the router overrides any settings specified in the centralized configuration file.

SUMMARY STEPS

  1. configure terminal
  2. ip nbar protocol-pack-auto-update
  3. Use one or more of the Protocol Pack Auto Update sub-mode commands to configure local settings on the router.
  4. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

Device#configure terminal

Enters global configuration mode.

Step 2

ip nbar protocol-pack-auto-update

Example:

Device(config)#ip nbar protocol-pack-auto-update
Device(config-auto-pp-update)#

Enters Protocol Pack Auto Update configuration sub-mode, indicated by a change in the prompt to include "(config-auto-pp-update)".

Step 3

Use one or more of the Protocol Pack Auto Update sub-mode commands to configure local settings on the router.

See Protocol Pack Auto Update Sub-mode Commands.

Step 4

exit

Example:

Device(config-auto-pp-update)#exit

Exit the command sub-mode.

Protocol Pack Auto Update Sub-mode Commands

Protocol Pack Auto Update sub-mode commands configure local Auto Update settings on a router. For information on entering the command sub-mode, see Configuring Local Protocol Pack Auto Update Settings on a Router.

Use exit when finished to exit the command sub-mode.

Command

Description

clear-previous {enable | disable }

enable : Causes unneeded Protocol Pack files to be removed after a cool-down period.

disable : Configures the feature to not remove any files.

Default: Enable

force-upgrade {enable | disable }

enable : New Protocol Pack updates will be applied with the "force" flag.

disable : New Protocol Pack updates will not be applied with the "force" flag.

Default: Disable

protocol-pack-directory directory

Local directory in which to save new Protocol Pack files.

Default: File system with highest space availability

schedule {daily | weekly | monthly } [day ] [hh:mm ]

Schedule the NBAR2 Protocol Pack Auto Update upgrade interval. The actual run time depends on the update-window option.

Default: Daily at 00:00

update-window minutes

Maintenance window (in minutes) for NBAR2 Protocol Pack Auto Update to operate within. The maintenance window occurs according to the time configured by the schedule option.

Range: 0 to 60

Default: 60

Example: Overriding Update Window

The following command sets the update window to 10 minutes, overriding the setting specified in the Protocol Pack Auto Update configuration file.

Device# configure terminal
Device(config)# ip nbar protocol-pack-auto-update
Device(config-auto-pp-update)# update-window 10