This page is an attempt to maintain a list of all network operating systems (NOSs) and network-centric applications that that are available in the market today, in no particular order.
Network Operating Systems
Sometimes it can be hard to tell the difference between a dis-agreggated “operating system” which is modular and open source or a full stack (closed) solution. Where its a full-stack product, I’ll list it as an OS.
Cumulus Linux is a Debian based Linux distribution that runs on a variety of commodity hardware. Cumulus is active in the Open Compute Project and contributed multiple projects back to the community.
- Open Network Install Environment(ONIE) contributed to the OCP
- ifupdown2 now in Debian stable
Big Switch Switch Light
Switch Light OS is an SDN-centric NOS that Big Switch has developed to closely integrate with whitebox hardware and ensure that OpenFlow-like functions will operate on the current generation of switching silicon for the data center.
- Built on Linux
- Open-sourced to form the basis of Open Network Linux (see next)
Open Network Linux
Open Network Linux (ONL) is a Linux distribution for “bare metal” switches, that is, network forwarding devices built from commodity components. ONL uses ONIE to install onto on-board flash memory.
- Open Network Linux is a part of the Open Compute Project
- Currently ONL is OpenFlow-centric
PicOS is qualified to run bare metal switches from several manufacturers. Pica8 sells PicOS separately or bundled with their own whitebox switches.
- Switching and routing stack built on the XORP routing community (General public license now owned by Pica8)
- Switching and routing support for existing networks
- Open-vSwitch (OVS) support and CrossFlow technology enables mixing of switching, routing and OpenFlow traffic
FTOS was originally developed by Force10 Networks. Dell acquired Force10 and has continued to develop the NOS with new features. At the same time, Dell Networks has embraced partnerships with Cumulus and BigSwitch to sell Whitebrand (or britebox) switching using open network hardware for those customers who want choices for NOS on their hardware.
OcNOS™ is a NOS for data center and enterprise networking, including advanced capabilities such as extensive protocol support for MPLS (Multiprotocol Label Switching). Available for OCP hardware.
IPFusion has previously been OEMing its operating system to network vendors in a modular format and many vendors routing protocols are actually ZebOS components. Management APIs may also be provided by ZebOS. (See also Tail-F)
Cisco has had many operating systems over the decades and several of them are listed here.
IOS – a monolithic operating system that runs single threaded on a wide range of CPUs. Designed and developed in a different era. Obsolete at current time and on life support for recalcitrant customers. The software architecture was a product of its time and made it prone to memory leaks and packaging problems for different CPUs and motherboards. It was difficult to fix bugs and hard to add features. Bugs would often reappear in the mainline due to internal problems with library management at compile time.
IOS-SX – a fork of IOS was made in the mid-2000s, with Ethernet Switching features added to the code. It had all the limitations of IOS and took some years to stabilise into a reliable operating system. Many customers remain fearful to move on based on the pain experienced to date. Attempts to modularise this code and support modern features like process restart, ISSU, etc have been abandoned due to poor results (aka bugs).
- Supports Spanning Tree
- Instant Access is an 802.1BR implementation for Cat6800 family and acts like a virtual stacking function
- Backward compatibility remains vital for many customers and will be around for many years to come
IOS-XE – Addresses to IOS monolithic problem by abstracting some modules.
- The underlying operating system is based on a Linux distro but there is no access to it
- Runs on multi-core CPUs
- Isolates control plane and data plane in the software architecture
- Stabilises the operational interfaces for SNMP, XML, HTTP for external operations
- Runs on multiple hardware platforms from different business units but mostly in the mid-to-low end market (perhaps reflecting the its rumoured skunkworks development internally)
Since, historically, IOS has served as an Operating System as well as providing the key Routing Infrastructure, there has always been an aspect of Platform Dependent (PD) and Platform Independent (PI) code within IOS. IOS XE allows the platform dependent code to be abstracted from a single monolithic image. By moving drivers outside of IOS, IOS XE enables a more purely PI-focused IOS process. This provides a more efficient software delivery model for both the core IOS team, as well as platform developers, since the software can be developed, packaged and released independently. LINK
NX-OS – “Nexus Operating System” was developed to replace IOS-SX and modernise Cisco’s internal development process and tooling for software. Targeted at the Data Centre and
- A highly customised version Linux is the base operating system
- Support for multiple CPUs (although most versions use only one CPU)
- Multithreaded preemptive multitasking capabilities
- Support for Virtual Device Contexts and 802.1BR–called Fabric Extensions (FEX) by Cisco
- Implements memory protected process for process recovery and fault detection
- Fault detection through process monitoring to detect internal errors
IOS-XR – The premium, high-end operating system developed internally by Cisco using a range of third party software.
- Preemptive, memory protected, multitasking, microkernel-based operating system
- Uses QNX as the operating system kernel on CRS and ASR families. Uses Linux kernel on NCS family where routing functions and the system administration functions are run on separate virtual machines (VMs)
- Improved high availability (largely through support for hardware redundancy and fault containment methods such as protected memory spaces for individual processes and process restartability)
- Better scalability for large hardware configurations (through a distributed software infrastructure and a two-stage forwarding architecture)
- A package based software distribution model (allowing optional features such as multicast routing and MPLS to be installed and removed while the router is in service)
- The ability to install package upgrades and patches (potentially while the router remains in service)
- A web-based GUI for system management (making use of a generic, XML management interface)
- intended for service provider operations
This software is usually found on the largest of Cisco routers and premium pricing applies. The Cisco CRS, NCS and ASR routers are the current product families.
CatOS/CatalystOS – acquired when Cisco bought Crescendo communications in the late 1990’s. Used for the now obsolete Catalyst 5000 and 6000/6500 product families.
- Although supported for many years because of customer reluctance to upgrade, it is now widely regarded as obsolete
- The CLI was unlike any other Cisco IOS product
Junos is loosely based on FreeBSD. (needs more info here)
In June 2016, Avaya announced disagregation of its NOS from their hardware.
From the press release: Avaya’s approach to network operating system software is fundamentally different. Avaya has implemented a protocol change at the most foundational layer of the operating system software. This change negates the need for up to 10 legacy protocols (for details see Appendix A) that makes once formidable networking tasks now possible, all while improving performance elements in a switch.
The EOS (Extensible Operating System) is
- A single image of EOS that runs on all Arista switches
- Uses a Linux kernel
- All networking software runs in user processes for compatibility
- Full access to Linux operating system – can run most Linux software
Conf-D is a set of software modules for a wide range of hardware platforms that offers NetCONF and YANG, SNMP and other management APIs.
Tail-F was acquired by Cisco in 2014 but still sells its Conf-D products pseudo-independently to support existing contracts (and could be a good source of competitor intelligence for Cisco).
Facebook developed its own operating system for switches inside its data centre and then released parts of the code into the public domain via the OpenCompute project.
Microsoft SONiC (Azure Cloud Switch)
Microsoft announced that is has built its own network operating system for whitebox switches in its own data centres.
HP Enterprise has two operating systems in active development – ProVision and Comware. HP also was a key stakeholder in the OpenSwitch operating system (see below)
ComWare – HP acquired 3Com to build out its networking business, the ComWare operating system has been at the centre of the HP Networking for big iron. It runs on the chassis-based switches and WAN routers, has a broad range of features and protocols.
ProVision – This operating system runs on ProCurve network hardware that we developed internally at HP. Mostly focussed on LAN Switching and very popular in campus networks.
Note that HP Enterprise has a Whitebrand product strategy that offers their own brand of whitebox Ethernet switches running 3rd party operating systems such as Cumulus, PicOS etc. HP Enterprise seems keen to offer a wide range of products so that customers can partner for all their needs.
OpenSwitch is a community-based, open source network operating system. In June 2016, the project transferred to Linux Foundation (reference).
Announced Oct 2015 and a consortium led by HP with notable support from VMware, Arista and Broadcom. Will update when I understand more.
These are applications that run on a Network Operating System. Since the only NOSs available are Linux, they are all Linux applications.
A pre-release product that is “Developer-friendly and operations-focussed L2 & L3 network protocol stack, written in Go, open source and runs on all commoditized network hardware with any open linux operating system.
FBOSS is Facebook’s software stack for controlling and managing network switches that consists of a number of user-space applications, libraries, and utilities.
Reached 10 submission limit - please email us at operations @ packetpushers.net for more help.