Cisco routers use a proprietary operating system, called Cisco IOS® Software, which offers standards-based support of every major routing protocol, as well as special features that offer performance advantages in end-to-end Cisco internetworks. Cisco IOS Software provides a relatively simple command-line interface (CLI) that is used both to accept user commands and to display router output. This lesson describes how to select the appropriate software for your router, taking into account available memory and protocols that are needed to run the network.

When choosing an IOS image for your router, the most important factors to take into account are:

Hardware Support

The first thing to check when choosing a Cisco IOS Software release is hardware support. You can find the software requirements of your hardware in the Cisco Product Documentation on Cisco.com. This information is needed to find out what version of software supports the hardware you want to run. For example, the minimum software version for running a Cisco 7100 Gigabit Ethernet port adapter, PA-GE=, is 12.1(5)E2 or 12.2(7)T .

Now, compile a list of the different software versions that support all your hardware. After having compiled a list of the software versions that are compatible with your hardware, you should determine which features have to be deployed within your network.

Feature Support

It is important to check for feature support, especially if you plan to use recent software features. For instance, if you want to run both IP and Internetwork Packet Exchange (IPX) in your network, you would need to have at least desktop-version software.

If you want to keep the same features as the version that is currently running on your router, but don't know which feature set you are using, do a show version command on your router. Then look at the features table below to see which features you have.

The second line of the show version command should be similar to the following:

IOS (tm) 2500 Software (C2500-JS-L), Version 12.0(9), RELEASE SOFTWARE (fc1)  

In this sample, the JS in (2500-JS-L) represents the Enterprise Plus feature subset.

Cisco IOS Software Release Version

You still have to choose the particular Cisco IOS Software release you want to run. Provided it is not a deferred release, any of them are fine as long as they support your hardware, contain the features you want, and are compatible with your router's memory (see Memory Requirements). Nonetheless, we've put together some general recommendations and guidelines to make it easier for you.

Release Format

Cisco IOS Software releases use the format A.B(C)D, where:

Thus, in software release 12.2(7)T, 12.2 is the major release, 7 is the maintenance version, and T is the release extension.

Note: Older releases are often more stable than new ones, but also contain fewer features.

Cisco IOS Software Image Status

The Cisco IOS Software image is either ED, LD, GD, or DF:

When choosing a release, we recommend a GD release, when possible. Only choose an ED release if your hardware and software features leave you no other choice.

Before installing a new Cisco IOS Software image on your router, check if your router meets the memory requirements for that image. To do this, issue the show version command on your router, and look for the following lines:

...
cisco RSP4 (R5000) processor with 65536K/2072K bytes of memory
...
16384K bytes of processor board System flash (Read ONLY)

The first line tells you how much Dynamic RAM (DRAM) and Packet memory are installed in your router. Some platforms use a fraction of their DRAM as Packet memory. The memory requirements take this into account, so you have to add both numbers to find the amount of DRAM available on your router (from a memory requirement point of view).

Example 1: Separate DRAM and Packet Memory

... 
cisco RSP4 (R5000) processor with 65536K/2072K bytes of memory
...

The Cisco 4000, 4500, 4700, and 7500 routers have separate DRAM and Packet memory, so you only need to look at the first number. This shows that the router has 65536K (or 64M) of DRAM.

Example 2: Combined DRAM and Packet Memory

... 
cisco 2611 (MPC860) processor (revision 0x202) with 29696K/3072K bytes of memory 
...

The Cisco 1000, 1600, 2500, 2600, 3600, and 7200 routers use a fraction of DRAM as Packet memory, so you need to add both numbers to find out the real amount of DRAM. In this example, the router has 29696K + 3072K = 32768K (or 32M) of DRAM.

Example 3: Available Flash Memory

...
cisco RSP4 (R5000) processor with 65536K/2072K bytes of memory
...
16384K bytes of processor board System flash (Read ONLY)

The bottom line tells you how much Flash memory is available. Some of it might already be in use. To find out the amount of free Flash memory, issue a show flash command:

Router#show flash 

System flash directory: 
File   Length   Name/status 
  1    8407884  c2600-io3s56i-mz.121-6 
[8407948 bytes used, 8369268 available, 16777216 total] 
16384K bytes of processor board System flash (Read/Write)  

In this example, approximately 8.4 MB of Flash memory is used by the software image and 8.3 MB is still available. You need to satisfy both the DRAM and the Flash requirements to be able to use the software you choose. If you do not meet the requirements, you can either add more Flash memory or more DRAM in the router, or choose another Cisco IOS Software release. You may also consider a reduced feature set or an older release, since they have fewer features, and therefore fewer requirements.

To find the memory requirements for a particular release, see the Cisco IOS Upgrade Planner on Cisco.com Software Center or see the release notes for a particular Cisco IOS Software release.

Software images are named according to a scheme that identifies what features and platform it runs on. The names have three parts, separated by dashes: for example, xxxx-yyyy-ww

xxxx Platform
yyyy Features
ww Where it executes from and if compressed


In this table, the first column represents the Cisco IOS naming convention and the second column displays the router plaform indicated by the name.

IOS Platform
as5200 5200
c3640 3640 (not 3620)
c2500 2500
c4500 4500, 4700
rsp 7500
c7000 7000, 7010


The second part of the image name identifies the special capabilities of the image. It is a series of letters identifying the features supported by the image. The letters are always specified in alphabetical order. For example:

Feature Description
a APPN
b Appletalk
c - Comm-server/Remote Access Server (RAS) subset (SNMP, IP, Bridging, IPX, Atalk, Decnet, FR, HDLC, PPP, X,25, ARAP, tn3270, PT, XRemote, LAT) (non-CiscoPro)
- CommServer lite (CiscoPro)
c2 Comm-server/Remote Access Server (RAS) subset (SNMP, IP, Bridging, IPX, Atalk, Decnet, FR, HDLC, PPP, X,25, ARAP, tn3270, PT, XRemote, LAT) (CiscoPro)
d Desktop subset (SNMP, IP, Bridging, WAN, Remote Node, Terminal Services, IPX, Atalk, ARAP) (11.2 - Decnet)
d2 reduced Desktop subset(SNMP, IP, IPX, ATALK, ARAP)
g ISDN subset (SNMP, IP, Bridging, ISDN, PPP, IPX, Atalk)
i IP subset (SNMP, IP, Bridging, WAN, Remote Node, Terminal Services)
j Enterprise subset (includes all features except encryption and firewall; formerly bpx, includes protocol translation)
k Kitchen sink (enterprise for high-end), same as bx
n IPX
p Service Provider (IP RIP/IGRP/EIGRP/OSPF/BGP, CLNS ISIS/IGRP)
r IBM base option (SRB, SDLLC, STUN, DLSW, QLLC) - used with i, in, d
s Plus
x X.25 in 11.1 and earlier releases. FR/X.25 in 11.2 (IPeXchange)
y

- Reduced IP (SNMP, IP RIP/IGRP/EIGRP, Bridging, ISDN, PPP) (C1003/4)
- Reduced IP (SNMP, IP RIP/IGRP/EIGRP, Bridging, WAN - X.25) (C1005)
- IP variant (no Kerberos, Radius, NTP, OSPF, PIM, SMRP, NHRP...) (c1600)

y2 - IP variant (SNMP, IP RIP/IGRP/EIGRP, WAN - X.25, OSPF, PIM) (C1005)
- IP Plus variant (no Kerberos, Radius, NTP, ...) (c1600)
z Managed modems
40 40-bit encryption
56 56-bit encryption

This is not a complete list. For a complete list, go to "Software Naming Conventions for IOS - Features" on CCO.


The following characters specify where the image runs in the router:

f flash
m RAM (Random Access Memory)
r ROM (Read-Only Memory)
l relocatable

The following may be added if the image has been "zip" or "mzip" compressed:

z zip compressed (note lower case)
x mzip compressed

"Zipping" is a method Cisco uses to compress some run-from-RAM images that is much more effective in reducing the size of the compressed image than a UNIX compress. It is self-unzipping so that the user does not need to change ROMs to use zipped images. The user treats the image like any run-from-RAM image, but when the image is loaded into RAM for execution, it's first action is to "unzip."

If we execute the command, show version, and look for the system image file, we will be able to determine the platform and feature set of the Cisco IOS Software image.

Example Description
c2500-js56-l Runs on a 2500 platform; supports Enterprise Plus with 56 bit encryption and the image is relocatable.
c4000-ps-mz Runs on a 4000 platform; supports Service Provider Plus, and runs from RAM and is compressed.

If you have a Smartnet Contract with Cisco, the following tools are available for Cisco.com registered users to help select the correct software version and protocol: Software Advisior, Hardware Software Compatibility Matrix, Memory Calculator Tool, and IOS Upgrade Planner for downloading images. Go to TAC Web Tools page on Cisco.com to find these and other useful tools.

Click Here to Launch Pop Quiz

 Next, go to Cisco IOS Command Hierarchy.

All contents are Copyright © 2000-2002 Cisco Systems, Inc. All rights reserved. Important Notices and Privacy Statement.