In this lesson, we’ll take a look at IOS XE and the difference between IOS and IOS XE. Let’s start with a short talk about IOS.
IOS is what we call “monolithic”. What this means is that the OS and all its processes run in the same address space on the same hardware.
The OS and all running processes share the same memory and CPU.
There are some downsides to using a monolithic kernel. Since resources are shared, one process could make the entire system unresponsive.
For example, the “logging” process could require so many memory and CPU cycles that BGP is unable to perform some of its tasks. It’s also possible that when a single process crashes, it takes down the entire system. This is unacceptable nowadays in networking.
Upgrading the IOS image is also an issue. You always have to replace the entire file and reboot the system (unless you use redundant supervisors). It’s also not possible to replace only certain features.
IOS XE is different…instead of using IOS as the operating system, we now use a Linux operating system where IOS runs as a separate process (daemon) on Linux. All system functions now run as separate processes which has a lot of advantages.
We can now use multiprocessing, this means that the workload of processes can be shared across multiple CPUs. When a single process crashes, it no longer takes down the entire OS.
The IOS XE software is no longer one “big” file that has everything…it has individual sub-packages. It’s possible to upgrade an individual sub-package instead of upgrading everything.
Cisco IOS XE consists of different sub packages that provide a specific function:
- RPBase: provides the operating system software for the route processor.
- RPControl: controls the control plane processes that interface between the IOS process and the rest of the platform.
- RPAccess: used for access to the router through protocols like SSH / SSL.
- RPIOS: provides the Cisco IOS kernel
- ESPBase: provides the ESP operating system and control processes, and the ESP software. The ESP (Embedded Services Processor) is responsible for the data plane and all flows through the data plane. It is also responsible for features/tasks like QoS, ACLs, VPNs, Netflow, NAT, etc.
- SIPBase: this controls the SIP operating system and control processes. A SIP (Shared Port Adapter Interface Processor) is a carrier card that you insert in a router slot. The SIP can hold one or more SPAs and it provides the connection between the route processor and SPA.
- SIPSPA: provides the SPA driver and Field Programmable Device (FPD). The SPA (Shared Port Adapter) is inserted in the subslot of a SIP and provides the interface between the network and SIP.
The complete image that has all sub-packages is called a consolidated package. This is the most simple solution since it’s a single image file. It’s also possible to run individual sub-packages, the advantage of this is that the router will only run the software that you require on your router so you will save some memory and your router will boot faster.
IOS XE looks and feels the exact same as IOS. The CLI is pretty much the same so if you worked with IOS then you will feel right at home with IOS XE.
I hope this has given you an idea of the difference between IOS and IOS XE. The big takeaway from this lesson is that IOS XE is now a modular system. Instead of running everything in the same address space like IOS, everything is separated. This makes IOS XE far better scalable.