How to Upgrade Cisco Router IOS via TFTP and Understanding Cisco IOS Naming Convention

By | December 25, 2014

Cisco network equipment is powered by the Cisco IOS software which is stored in flash memory of the router and moved into the RAM during boot process. Fundamentally it provides the area to execute commands to configure and administer the device. Cisco may release different version and different feature set IOS image for same platform (hardware), so you may have to upgrade existing IOS to new IOS supporting advanced features and facilities. In this article I would like to cover How to Upgrade Cisco router IOS via TFTP.

Before going on to IOS upgrade process it’s important to understand Cisco IOS Naming Convention for different versions of IOS. Once you have the basic idea regarding IOS naming, you may decide whether the upgrade is needed or which version you need to go and upgrade and so on. So let’s have a look at Cisco IOS naming.


If you’re already familiar with IOS Software naming convention, skip the following and jump right over to >> Cisco device management Upgrade Cisco Router IOS process

Understanding Cisco IOS Naming Convention and IOS versions

Cisco vends multiple variants of IOS software for routers and switches. Beginners can’t distinguish the slight variations in the IOS software but actually some commands (especially advanced features) work on some routers but not on others.

Cisco provides two major commands to check IOS version and related information includes model number, types of interfaces, amount of memory, software version, and configuration setting.

“show version”

The first popular command is “show version” to check IOS info. Let me give you a screenshot of my production router running right here.

Now I’m gonna explain what you got from “show version” command
From the figure,

  1. IOS Software series and version [c1900]
  2. Flash content IOS image name [c1900-universalk9-mz.SPA.151-4.M4.bin]
  3. Hardware platform [CISCO1941] Read more about Cisco 1941 integrated Router
  4. Number of Interfaces and DRAM


Cisco 1900 Series Integrated Router


“show flash”

Basically the IOS is stored in router’s flash. “show flash” command displays the flash content including IOS image.
Following screenshot shows flash content of my production router sitting besides me.


From above example we have seen I’m running (by the way my company) IOS ‘c1900-universalk9-mz.SPA.151-4.M4.bin’ IOS software.
Now let’s break the IOS file name…

c1900 (Platform/ Router Series)

Cisco routers are available in different series, a series is Platform or hardware architecture where IOS will run. Different devices have different hardware architecture and an IOS is supplied for specific hardware may not run on another. c1900 indicates that the IOS compiled for 1900 series router.

universalk9 (Feature set)

This universal image offers all the Cisco IOS features including strong payload cryptography features such as IPSec VPN, SSL VPN, and Secure Unified Communications. ‘k9’ refers to the inclusion of encryption support.

Sometimes Cisco may use special notation to represent Feature set. Those are given in the following table.


mz (Type)

Type refers compression and IOS image run location. mz indicates image runs from RAM and image iz zip compressed. It should be decompressed before running.

.SPA (Digitally Signed Cisco Software Identification)

This 3 character designates digitally signed Cisco IOS software.
These file extensions are:

151-4 (Version Number)

This is the version number of IOS software image. Here the version is 151-4
Major Release: 15
Minor Release: 1
Feature Release: 4
Release type: M
Rebuild number: 4

M4 (Extended Maintenance Release)

Represents additional release (Extended Maintenance) which supports some extra capabilities. There are M1, M2, M3 M4, M5 etc.

T (Standard Maintenance Release)

T provides a comprehensive portfolio of over 2000 abilities, including the leading-edge functionality and hardware support (Standard Maintenance).

.bin (Binary file)

.bin is the file extension of IOS image, it specifies the image is a Binary file.

In a nutshell:-

Let me fly-back through the naming with simple memorable representation, c1900-universalk9-mz.SPA.151-4.M4.bin is,
One more example using feature set notation


What a fantastic nomenclature has been done by Cisco! Single term consist of many more information about Cisco IOS Software.

How to Upgrade Cisco Router IOS via TFTP Server

SolarWinds provides free Cisco TFTP server and it is most recommended and stable TFTP server available in the internet. You may download it from the following link.

Step 1:
Install and start SolarWinds TFTP Server

Link: SolarWinds TFTP Server download for Cisco

Step 2:
Previously we have seen how to backup Cisco router IOS and restore corrupted IOS from RMMON mode. The upgrade process is almost similar to restore process; the only difference is we will stay in configuration mode instead of RMMON, since current IOS is running fine.

Now decide to which IOS version to be upgraded, for this run ‘show flash’ command and note down the IOS image name. Prepare new IOS image in the root directory of TFTP server.


For demo atmosphere, I’m running ‘c1841-ipbase-mz.123-14.T7.bin’ which is basic version of IOS for 1841 series routers. I would like to upgrade to ‘c1841-advipservicesk9-mz.124-15.T1.bin’ to support advanced IP and cryptographic services.

Put the IOS image file in TFTP server root directory (C:\TFTP-Root).


Step 3:
Enter to privilege mode and issue the commands.

Router#copy tftp: flash:
Address or name of remote host []?
Source filename []? c1841-advipservicesk9-mz.124-15.T1.bin
Destination filename [c1841-advipservicesk9-mz.124-15.T1.bin]?

Accessing tftp://
Loading c1841-advipservicesk9-mz.124-15.T1.bin from
[OK - 33591768 bytes]

33591768 bytes copied in 3.475 secs (1014963 bytes/sec)

Now check the flash content again, there will be 2 images (c1841-advipservicesk9-mz.124-15.T1.bin and c1841-ipbase-mz.123-14.T7.bin). Delete the old IOS file using delete command, then reload router.

Router#show flash

System flash directory:
File Length Name/status
5 33591768 c1841-advipservicesk9-mz.124-15.T1.bin
4 13832032 c1841-ipbase-mz.123-14.T7.bin
2 28282 sigdef-category.xml
1 227537 sigdef-default.xml
[47679619 bytes used, 16336765 available, 64016384 total]
63488K bytes of processor board System flash (Read/Write)

Router#delete c1841-ipbase-mz.123-14.T7.bin
Delete filename [c1841-ipbase-mz.123-14.T7.bin]?
Delete flash:/c1841-ipbase-mz.123-14.T7.bin? [confirm]
Proceed with reload? [confirm]

Wow! That’s done, you have successfully upgraded your Cisco IOS software. I wrote this tutorial from my real experience, a normal CCNA class doesn’t cover this kind of device administration information.

I will be posting Backup Cisco Router Config (Cisco Running configuration backup) guide in my next article, we will also implement Cisco backup software using auto backup archive command.

Hope this post was informative for you and I would request you to share this article, like our facebook page.

Leave a Reply

Your email address will not be published. Required fields are marked *