The first topic that the CCIE written exam covers as shown on the Cisco website asks the CCIE candidate what the difference is between traditional IOS and IOS-XE.
1.1.a Describe basic software architecture differences between IOS and IOS XE
- 1.1.a [i] Control plane and Forwarding plane
- 1.1.a [ii] Impact to troubleshooting and performances
- 1.1.a [iii] Excluding specific platform’s architecture
Traditional IOS is often referred to as monolithic software that was meant to take on all the tasks of network processing/switching for all Cisco networking devices. Today, software has been partitioned into three main groups to focus on specific operations in each part of the network.
NX-OS – Datacenter networking – this software provides a focus on hot standby redundancy, virtualization, and extremely fast overall processing performance.
IOS-XR – Core Networking – this software provides a focus on Backbone routing and switching, Network virtualization/VPNs, configuration update efficiencies, and convergence
IOS-XE – Edge Networking – this software provides all around performance needed for the various operations/tasks edge networking equipment requires.
Here are the common characteristics between IOS/IOS-XE:
- IOS-XE takes all the features IOS has built upon and adds more functionality and Application portability bridging the gap for next generation networking devices.
- IOS-XE retains the same look and feel with minor differences to commands
Here are the specific differences:
- IOS-XE runs a modern Linux operating system that uses a single daemon.
- Functionality of other features of the system are run as their own processes on the host networking machine.
- Running applications as separate processes can take advantage of symmetrical multiprocessing, this allows next gen networking devices to use multiple CPU cores by load balancing those processes to different cores.
- IOS runs all the required modules to perform network operations in the same memory. If something were to happen in a virtualized environment consisting of multiple virtual networks a problem with a single process could bring all those networks down.
- With IOS-XE running on a system daemon within Linux and all network operations are separate in their own processes, if one should fail it will not affect the other networking processes limiting the impact of a previously perilous network event.
- Control Plane and Data plane now have physical separation through modular blades installed into the chassis, each having dedicated hardware resources.
- IOS-XE maintains logical separation of Control Plane and Data Plane using seperate driver instances for each bay or blade slot in the chassis, so if one drive bay fails it does not impact the others.
- You can even patch drivers for a specific bay without causing the entire chassis to go down for the update.
- IOS-XE uses the Forwading and Feature Manager (FFM) and Forwarding Engine Driver (FED)
- FFM uses APIs to manage Control Plane processes, maintaining the forwarding states for the system
- FED is programmed by the FFM and allows drivers to affect the data plane.