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). In addition, optional sub-packages can also be installed along with the system's consolidated package.
|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|
"IOS XE Software Subpackages Flashcards | Quizlet." https://quizlet.com/162034765/ios-xe-software-subpackages-flash-cards/. Accessed 14 Nov. 2018. ↩︎