Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Discern Version Numbers

Decipher Numbers and Letters of Cisco IOS versions

Trains, Throttles, and Rebuilds

Trains

Throttles

Rebuilds

Cisco IOS Best Practices

ISR routers

Catalyst 6500 switches

Related Information

Introduction

This document describes Cisco IOS® version, or naming, conventions and defines various components that constitute an Cisco IOS version.

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

This document is not restricted to specific software and hardware versions.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Background Information

Cisco IOS is the world leader in network infrastructure software, because the company combines innovation and business-critical services for enterprise networks. This document describes Cisco IOS naming convention and defines various components that constitute an Cisco IOS version.

Discern Version Numbers

Question: Which of these Cisco IOS versions is the most recent?

12.2(33)SXI9

15.0(1)M8

12.0(33)SB10

12.2(55)SE4

15.2(2)T1

Answer: All of these Cisco IOS versions could be latest available for their respective platforms on Cisco.com. The point is that between different Cisco platforms, you cannot determine chronology simply based on version number. Within a platform you still cannot reliably use Cisco IOS version to determine what is most recent. You can rely on a higher rebuild number of the same train and throttle is newer than a Cisco IOS with a lower rebuild number that matches.

In real world, it would be understandable to think that a Catalyst 6500 switch that runs Cisco IOS version 12.2(33)SXI8 runs the older version compared to a 2911 router that runs Cisco IOS version15.1(4)M4. Because different platforms ultimately run different Cisco IOS versions, business units for each platform control their Cisco IOS release process. However, there are some efforts to try to get things more consistent across business units. For example, Cisco IOS version 12.2(33)SRE for 7600 routers migrated to version 15.0(1)S. More Cisco IOS versions are likely to collapse to a uniform number system in the future.

Decipher Numbers and Letters of Cisco IOS versions

Note: This section uses the terms "train", "throttle", and "rebuild".  For now, pay attention to how they are numbered. Details about these terms are provided in the next section.

Consider this Cisco IOS version:

The first set of numbers (in red) before the parenthesis is the first part of the throttle. In this case "12.4".

Immediately after the throttle number is the train identifier (in red). This gives us some information as to the feature set or "build strategy". In this case "T" is the second part of this Cisco IOS version Train for a combined train ID of 12.4T.

The second set of numbers within the parenthesis (in green) indicates the throttle number. The last number after the throttle identifier (in blue) is the rebuild number. This tells us how many times a throttle has been rebuilt. Effectively it tells us how many rounds of bug fixes that an Cisco IOS version has seen. In this example the rebuild number is "7".

Question:  What is the train, throttle, and rebuild number of Cisco IOS version 15.0(1)M8 ?

Answer:   Train = 15.0M    Throttle = 15.0(1)M      Rebuild = 8

Trains, Throttles, and Rebuilds

There are three sets of numbers that give us information about any version of Cisco IOS. These numbers represent the hierarchy that governs how Cisco IOS versions are created.

Trains

The Cisco IOS Train is something like major version number if you think about conventional software nomenclature. This is where the foundation of an Cisco IOS feature set is established. More features can be added later when a new throttle is created.

Use Cisco ISR G1/G2 as an example, here are some of the recent trains:

12.2M

12.4T

15.0M

15.1T       (The M and T are important, they are explained later.)

To some degree you can look at the train to identify the platform that an Cisco IOS is made from. Some common examples are:

Platform

Trains

ISR Routers G1/G2 (1800, 2800, 3800, 1900, 2900, 3900, etc)

12.2M, 12.4M, 12.4T, 15.0M, 15.1T

Catalyst 6500 - Supervisor 32, Supervisor 720, Supervisor VS-720

12.2(18)SX, 12.2(33)SX

7600 Router

12.2(33)SR, 15.0S

Throttles

Cisco IOS Throttle is roughly a minor version number where some new features and bug fixes can have been added. For Cisco IOS the general rule of thumb is that new features are not added "mid-throttle". In other words, when new feature need to be added, they would be added when a new throttle is started.

Again use Cisco ISR G1/G2 as an example, and build for the previous train numbers are:

12.2(10)

12.4(20)T

15.0(1)M

15.1(3)T

Rebuilds

Cisco IOS Rebuilds typically consist of bug fixes. The addition of new features to a rebuild is generally avoided but it does happen sometimes. With rebuilds it can be confidently stated that one version of Cisco IOS is more recent than another. For example, 12.4(24)T7 is newer than 12.4(24)T5.

Again use ISR G1/G2 Cisco IOS versions as an example:

12.2(10b)

12.4(20)T3

15.0(1)M8

15.1(3)T2

From these values it can be told that 15.0(1)M8 has been rebuilt 8 times. That means that there have been 8 rounds of bug fixes for this version of Cisco IOS. Older ISR mainline versions use lowercase numbers in alphabetical order to indicate the same convention. In our example the Cisco IOS versions would have been:

12.2(10) -> 12.2(10a) -> 12.2(10b)

One thing to note is that when an Cisco IOS version is established it effectively has a rebuild number of 0, which is then suppressed. This can help some understand that each rebuild is just an improvement upon the previous version.

15.0(1)M0 -> 15.0(1)M1 - 15.0(1)M1 and so on

You can see sometimes that a software bug has an integrated fix in one of such interim images, for example, 15.0(1)M0.2.

Cisco IOS Best Practices

Note that the next best practice recommendations are generic and cannot apply to all the networks. Before you implement any of the recommendations below, evaluate them in context of your network requirements.

As a general rule an Cisco IOS version with more rebuilds would be expected to be more stable than a previous version with less rebuilds. When you move from one Cisco IOS version to another, the closer to the destination Cisco IOS is to the current version, less you need to worry about changes such as memory requirements, commands that are deprecated, hardware that is not supported in previous versions, and so on.

To upgrade to the latest revision, 15.0(1)M4 -> 15.0(1)M8, for instance, is a relatively tiny jump.  On the other hand, if you want to downgrade from 12.2(33)SXJ3 to 12.2(18)SXF17b requires review and evaluation prior to downgrade.

When you upgrade Cisco IOS make sure that the hardware has enough installed memory to support the new Cisco IOS. When you download an Cisco IOS glance over the configuration to see if any new features are in use that cannot be supported on the downgrade target Cisco IOS.

ISR routers

For ISR G1 routers, jump to Cisco IOS version 15.x is a big one as memory requirements go from 256MB on earlier train of Cisco IOS to 512MB.

If possible run mainline (15.0(1)Mx, 15.1(4)Mx, etc) Cisco IOS version as it gets more rebuilds and is more widely deployed.

If possible, do not run T Train (Technology Train, 15.1(2)Tx, and so on) New features are introduced in T Train and generally there is a potential for more issues because of this. Note that new equipment can require T Train Cisco IOS image, as usually there cannot be a supported mainline version of Cisco IOS at the time the new hardware is released.

Catalyst 6500 switches

Avoid modular Cisco IOS (ION) whenever possible, modular Cisco IOS has been discontinued for the latest Catalyst 6500 throttle (SXJ).

You can recognize a modular Cisco IOS because it has a "v" in the filename instead of "m". For example:

Modular:   s3223-ipservicesk9_wan-vz.122-33.SXI8.bin

Regular:   s3223-ipservicesk9_wan-mz.122-33.SXI8.bin

Related Information

- Cisco Technical Support & Downloads