In last two decades, use of network applications has evolved in a very dramatically manner. The main reasons behind this evolution are:

  • Advance Applications : instant messaging, online banking/shopping, VoIP, Tele-presence
  • Record increment of network users : billions of network users at present
  • Un-imaginary transmission speed: Google fiber provides 1Gbps transmission rate
  • Revolutionary change in CPU and memory capacity: all of us are aware of today’s CPU and memory processing capabilities as compared to the 1990s.
  • Multi-protocol network support: nowadays several network protocols are in use; for example, IPv4, IPv6, AppleTalk, Ethernet, etc.

But in the early 1990s, there was a very limited number of network applications; for example e-mail, print, and file servers. CPU usage and memory utilization were also very limited to process these services. Router and switches were empowered with NOS (network operating system was specially designed for implementing and administrative network services) but nowadays networking is not only limited to emails, web browsing, or file transfer; technologies like instant messaging, online banking, online shopping, and video conferencing are a part of today’s life and the future of networking can be seen with Google fiber, revolutionary Smart Cities projects, sensor-based technologies behind the use of “Big Data.” To handle these kinds of advancements, a network operating system must capable of fast convergence, high scalability and availability; so, with this article we will see how Cisco has evolved its IOS (Internetwork Operating Systems) to meet the requirement of current business demand.

CCNA Training – Resources (Intense)

Sometimes we feel that we are good enough in configuring network technologies like routing, switching, route-filtering, etc., but usually we don’t have time to think about command executions, meaning how it works, what the IOS platform provides, what kind of liberty there is for network implementation but, at some points, these implementations leave questions/queries in respect to Cisco IOS, especially the differentiation between IOS, IOS-XE, IOS-XR, and NX-OS. Sometimes we confuse different versions of IOS (I always had a question few years back, “What are the similarities and differences between these different IOS platforms?”).

If you do feel the same, then this article is a “must-read” for you.

Here we will go through the similarities and differences of Cisco’s IOS (IOS, IOS-XE, IOS-XR, and NX-OS); you will also come to know how all are different to fulfill specific requirement of a network design.

Let’s start with traditional Cisco IOS.

Cisco IOS

Cisco Internetwork Operating System, aka Cisco IOS, is a worldwide known CLI-based operating system that runs over most Cisco routers, switches, firewall and other network devices. Cisco IOS is a software-based platform used to maintain network infrastructure (both LAN & WAN) and telecommunications functions on various Cisco networking devices. Cisco IOS made history in term of the evolution of data communication by providing a revolutionary tool of computer networking to make information-intensive companies all over the world more productive. Cisco IOS provides the mechanism of a monolithic kernel, which means that every installation or implementation uses a single image and all processes share the same memory space. Traditional IOS does not support distributed memory allocation; that’s why there is no memory protection between processes. If one process fails, it can impact others, which might lead to a device reload.

Cisco IOS provides many cost-effective networking features to meet the present needs of evolving business. Cisco IOS supports twisted-pair to optical fiber, LAN to WAN, UNIX to Novell, NetWare to IBM SNA, and no other internetwork architecture provides this kind of liberty to work with wide range of protocols.

Main Cisco IOSes are released with “12” and “15” versions and these versions use some numbers and letters in general releases; for example, “a” is the major version number, “b” is the minor version number, and “c” is the release number.

T stands for Technology, E for Enterprise, S for Service provider, XA is a special functionality train, XB is a different special functionality train, etc.

Well-known IOS-supported devices: Cisco ISR Series Routers (800, 1900, 2900, 3900 series), Cisco 7200 and 7600 Series and all legacy routers and Cisco Catalyst 3750-X, 3560-X, 3750-E, 3560-E, 3750G, 3560G, 2960, and 2960-S Series Switches.

Cisco IOS-XE

IOS XE is just an evolution of the original IOS and has almost the same command line interface syntaxes as we have seen with classic Cisco IOS. The main reason to develop IOS XE was to provide better high availability for consistent network services even with critical network conditions and rapid feature delivery without impacting processing performance in a very feasible manner.

Cisco developed IOS-XE for both enterprise and service provider networks to meet present needs of evolving business and it increases operational efficiency by simplifying portability across platforms and extensibility outside IOS; this extensibility opens up new ways for application integration with IOS, which helps network services to run uninterrupted independently.

Key benefits of IOS-XE are:

  • Multi-Core CPUs and SMP
  • Separate Control Plane and Data Plane
  • Platform Abstraction
  • Application Integration: IOS XE supports the integration of non-IOS applications using well-defined APIs exported via Linux-shared client libraries and Common Management Enabling Technology (COMET) that allows XML-, SNMP-, and HTTP-based management of integrated applications
  • Facilitates programmability for cloud services

Overall, IOS XE is just an improved version of IOS. Below are some of the outputs of the IOS-XE commands:

Fig. 2 displays the output result of “show process cpu,” which provides the utilization of respective cores of the CPU.

Note: IOS XE widely used versions with Cisco ASR 1000 series are 3.1.0, 3.2.0, 3.3.0, 3.4.0, 3.5.0 and 3.6.0.

Well-known IOS XE-operated devices: ASR 1000 Series and Catalyst 4500E Series Switches

Cisco IOS XR

IOS XR is one of the best IOS platforms from the house of Cisco Systems and is used widely on high-end carrier routers, such as the CRS-1, 12000, and ASR9000 series.

IOS XR works as distributed operating system to provide modularity and memory protection between processes. Cisco’s self-healing feature provide a functionality to restart a failed process without disturbing others. Routing protocols (BGP, OSPF etc.) run in their own memory space. which means that, if one crashes, it will not interrupt others’ performance. From the service provider’s point of view, if a customer has some fault, it will not disturb other customers’ processes. While in traditional IOS there was monolithic kernel architecture and everything uses same memory space, that was why a single point of failure with any specific process causes a crash for other network services.

Fig. 3 displays the output result of “show version” command over Cisco 12000 series XR router and output clearly states about IOS XR version 5.1.1 :

IOS-XR command line interface syntaxes are almost all different from classic IOS. For example, instead of using following traditional static route command:

R1(config)#ip route <destination-network> <destination subnet mask> <next hop ip address/exit interface-id>

a static route can be configured over IOS XR using the following set of commands:

RP/0/RP0/CPU0:R1(config-static)# router static
RP/0/RP0/CPU0:R1(config-static-afi)# address-family ipv4 unicast
RP/0/RP0/CPU0:R1(config-static)#  < next hop ip address/exit interface-id >

After configuring the above command in IOS XR, you can check the static route using the “show route” command.

Key benefits with IOS-XR are:

  • High availability (ability to restart a failed process)
  • Distributed operating system model approach
  • Scalable to high end routing system
  • Support for XML configuration automation

The first IOS XR version (2.0) was announced with the CRS-1 and 12000 router series, when 3.2 was introduced, 2 while Version 3.9 was launched with the ASR9000 series. The most recent released version of IOS XR is 5.2.2 (at the time of writing this article).

Well-known IOS XR-supported devices: Cisco CRS-1 and CRS-3, Cisco ASR9000 and Cisco XR12000

Cisco NX-OS

Cisco NX-OS was specially designed and developed for Cisco Nexus series switches and MDS-series (used for fiber channel storage area network). NX-OS is one of the widely used network operating systems all over the world in most of the data centers. NX-OS is fully loaded with advanced virtualization, modularity, and scalability features to fulfill present need of data centers. Its modular building-block approach helps data center engineers to integrate evolving industry standards quickly and securely with best of integrity and high availability approach.

NX-OS provides self-healing and uninterrupted continuous availability from the maintenance and application up-grading.

Main features of NX-OS are:

  • Extensive automated fabric architectures scalability
  • High end extensibility and resiliency support
  • Supports virtualized device contexts and port channels
  • Improved Application Integrity and security
  • In-Service Software Upgrade (Interruption-free maintenance and updating)

Well-known NX OS-supported devices: Cisco Nexus 1000v, 2000, 3000, 4000, 5000, 6000, 7000, 9000 series switches

I hope all of you liked this article as you liked my recent posts. You are always welcome to offer any kind of query/feedback; I will try my best to resolve your queries. My next posts will cover hands-on interactive configuration examples of Cisco IOS XR routers configuration. I am in the process of designing IOS XR labs for you guys so that you can learn IOS XP easily.

And don’t forget to spread the link of this article on your Facebook, Twitter & LinkedIn so that maximum of people can get this exclusive piece of information. Keep reading @ and you can join our Facebook group, to get updates on new posts.