Cisco’s Internetworking Operating System, or IOS, is a family of network operating systems that is used on several models of the company’s routers and switches. IOS enables routing, switching, internetworking, and a variety of telecommunications functions on a whole series of Cisco network device platforms.
IOS has gone through several phases of evolution, and any respectable network administrator that knows a thing or two about Cisco devices should know about IOS, including the various flavors that are available, and their basic functions.
In this article, we’ll give you an overview of what IOS is, what it does, and the various permutations that are available.
Cisco IOS should not be confused with Apple’s iOS mobile operating system. The former uses an uppercase “I” while the latter uses a lowercase “i.”
What is Cisco IOS?
Routers and switches, in their most basic form, are really specialized computers that perform very specific tasks. As such, they require an operating system to operate.
IOS is Cisco’s network operating system used by these specialized devices. Through a command line interface, these devices can be configured using text commands with the proper syntax to perform various functions.
The IOS operating system exists within a binary file that resides in the flash memory of the device. When the device is booted up, that file is read, and the OS is loaded into memory.
History of IOS
IOS was originally developed for routers. However, over time, it eventually found its way into Cisco switches.
Traditionally, each router or switch must run a specific IOS version compatible with that platform. There are several IOS versions that are made available for each platform, depending upon the features that you want to enable.
In the past, these binary files could be freely downloaded from Cisco’s download utility. Even though you did need a license to use them legally, they were made available using the honor system.
IOS Up to version 12.4
This was the case for IOS versions up to and including 12.4. IOS was monolithic in nature, with a single binary file that was compatible only with a single platform that delivered very specific features.
If you wanted to add new features, you needed to download the appropriate binary file for your platform that supported those features.
Note: Rumor has it that Cisco decided to skip versions 13 and 14 because 13 is considered unlucky in the western world, while 14 is considered unlucky in several Asian cultures.
IOS Version 15 and on
From version 15 and on, Cisco decided to end the honor system and begin to deliver IOS with the appropriate licensing mechanisms.
Versions 15 and on are no longer monolithic in nature, but modular. This means that the same IOS file is installed for all devices with all available features.
Features however are enabled selectively based on the license that has been purchased from Cisco. This has vastly simplified the deployment of the operating systems on all devices.
Version 15 and later can be installed on devices in either the bundle mode or install mode.
Bundle mode – This mode of installation maintains the monolithic nature of the IOS binary file. When a device boots up, the binary file is “unbundled” and loaded into RAM from where it operates. This is a simpler deployment method but is less flexible and uses more RAM.
Install mode – This installation mode, the default mode for modern Cisco routers and switches, deploys the operating system using what is known as a package provisioning file named packages.conf. This is used to boot the device. This mode also installs several .pkg files in the flash memory. This installation mode is more reminiscent of software installation on a PC.
Other IOS flavors
IOS was originally written in the C programming language, and the binary files typically used by many devices were still based on C. Two particular developments have resulted in porting IOS to Linux-based operating systems. Specifically, these are the IOS-XR and IOS-XE.
IOS-XE
IOS extended edition, or IOS-XE is a release of IOS that is Linux-based. It was originally released for the ASR 1000 series routers.
Another separate release was made available for the Catalyst 3850 switch as well. IOS-XE essentially runs as a service on top of the Linux kernel which means that additional applications can also be run on the platform.
IOS-XR
IOS-XR is also Linux-based, but shares very little infrastructure with the IOS-XE since it has arisen out of a need for eXtreme Reliability, which is where it gets its name.
Platforms such as the ASR 9000 which are carrier grade devices use IOS-XR and enjoy extensive high-reliability features, better scalability, and the ability to upgrade or patch the software potentially while the device remains in service.
IOS configuration modes
Virtually all IOS versions and flavors follow the same configuration modes. As soon as you boot up such a device and log in to the command line interface, you will see a prompt similar to this:
Router>
This is User Executive Mode. In this mode, you are able to perform very limited verification commands including ping and some show commands.
By entering the enable command and the appropriate password if applicable, you can enter Privileged Executive Mode like so:
Router>enable
Router#
In this mode you can perform more verification commands including extensive show commands as well as debugging.
By issuing the configure terminal command you enter in Global Configuration Mode like so:
Router#configure terminal
Router(config)#
In this mode, you can configure global parameters including hostname, routing, and other features. From here, you can enter more specific configuration modes such as:
Interface configuration mode by issuing the interface command. In this mode you can configure specific parameters on an interface,
Router(config)#interface gigabitethrnet0/0
Router(config-if)#
Routing engine configuration mode by issuing the router command and then the routing protocol you choose to configure. In this mode you can configure specific parameters of the specified dynamic routing protocol:
Router(config)#router eigrp 1
Router(config-router)#
Other configuration modes can be entered as well, including access lists, line commands, route-maps, as well as QoS commands of various types.
Other network operating systems used by Cisco devices
IOS is not the only network operating system used by Cisco devices. Some others include:
CatOS – Cisco’s Catalyst switches used this operating system before IOS was developed for use with them. CatOS is virtually non-existent today.
NX-OS – Nexus Operating System is the OS used by Cisco’s data center series of Nexus switches. It is also a Linux-based OS, and is actually somewhat similar to IOS in syntax but has a fundamentally different application methodology.
ASA software – Cisco’s Adaptive Security Appliance runs ASA software which is also a Linux-based OS.
Conclusion
Cisco IOS is a reliable and powerful operating system used by a large number of routers and switches worldwide. It has a wide range of features and functionalities that provide robust network connectivity and high reliability.
With its scalability, performance, and security, it remains a crucial component in modern networking infrastructure, helping organizations to stay connected and secure in an increasingly complex and connected world.
Helpful links:
- IOS command line configuration modes
- Cisco IOS website
- Cisco IOS-XR homepage
- Cisco IOS-XE homepage
- Cisco NX-OS website
Related Posts
- How to Configure SNMP on Cisco Devices (Routers, Switches)
- Comparing Cisco IOS Configurations (Config Compare Tools)
- Cisco Access List Configuration Examples (Standard, Extended ACL) on Routers Etc
- PPTP Remote Access VPN Configuration on Cisco Routers
- Cisco IOS Zone Based Firewall Configuration Example (ZBF)