Classical IOS is based upon a monolithic kernel. This monolithic kernel runs all of its modules within the same memory space, providing no CPU or memory separation. Therefore, in the event of a single process/module crashing, the entire system would become unresponsive.

Another disadvantage is around upgrades, as the entire IOS has to be upgraded, rather than individual components, resulting in disruption to the entire system (unless you have the expensive dual-supervisor hardware).


In contrast to the monolithic nature of IOS, IOS-XE is built on a Linux based kernel to be both modular and highly-available in nature. With IOS-XE, IOS runs as a daemon upon the Linux kernel with each of the various functions running as separate processes (sub-packages).

With this new modular design, each of the sub-packages are isolated allowing for individual components to be upgraded without affecting the entire system. This also limits the scope of a failure within the system in the event of a component failure.

You see, this modular design is essential once you peel back the covers to the architecture of the platforms that IOS-XE supports, and the IOS-XE design really starts to make sense. For example, if we take the ASR1k with its distributed architecture, it consists of multiple:

  • RP's (Route Processors) - Control plane.
  • ESP's (Embedded Services Processor) - Forwarding plane.
  • SPA's (Shared Port Adapters) - Interface connectivity.

Figure 1: ASR1k high-level architecture.

By running IOS-XE, separate processes can be run on each of the components, and the various layers (control plane, forwarding plane) can be upgraded in isolation without affecting the entire system.

Cisco IOS-XE is comprised of a number of sub-packages that make up a consolidated package for the related platform (shown below[1]). In addition, optional sub-packages can also be installed along with the system's consolidated package.

Sub-Package Description
RPBase Provides the operating system software for the route processor.
RPControl Controls the control plane processes that interface between Cisco IOS Software and the rest of the platform.
RPAccess Provides the software required for router access such as SSL and SSH.
RPIOS Provides the Cisco IOS Software kernel, which is where Cisco IOS Software features are stored and run.
ESPBase Provides the ESP operating system and control processes and the ESP software.
SIPBase Controls the Session Initiation Protocol (SIP) carrier card operating system and control processes.
SIPSPA Provides the shared port adapter (SPA) driver and associated field-programmable device (FPD) images


  1. "IOS XE Software Subpackages Flashcards | Quizlet." Accessed 14 Nov. 2018. ↩︎

Ready to Master Network Automation? Start Your Journey Today!
Our membership provides:
  • Full deep-dive course library (inc. Batfish, pyATS, Netmiko)
  • Code repositories inc. full course code, scripts and examples
  • 24x7 multi-vendor labs (Arista, Cisco, Juniper)
  • Private online community
  • Live monthly tech sessions
  • Access to tech session library

Join Now ➜