English

PicOS® System Overview

Posted on Sep 27, 2024 by
31

In traditional network architectures, the tight integration of hardware and software limits enterprises’ flexibility in using network equipment. The introduction of the PicOS® operating system has completely changed this dynamic. As a white-box switching system, PicOS® decouples hardware from software, allowing businesses to choose hardware and operating systems based on their needs. This flexibility eliminates vendor lock-in and offers better cost efficiency and faster innovation, helping businesses transition their network architecture to the software-defined era.

PicOS®: A Linux-based, Flexible Operating System(NOS)

Before white-box switches, networking and routing vendors sold hardware and software as bundled systems, much like servers were sold 20 years ago. Today, companies commonly buy server hardware from vendors like Dell or HP and software from providers like Red Hat or Microsoft. At Pica8, networking is taking a similar path, with key benefits in separating hardware from software.

  • Lower Total Cost of Ownership: Different Original Design Manufacturers (ODMs) now offer standardised switching hardware platforms. These ODMs use commercial silicon chips from suppliers like Broadcom, Mellanox, and Intel. This combination allows the industry to view networking hardware as a commodity, much like in the server industry.

  • No Vendor Lock-In: With this approach, businesses can change their operating system while continuing to buy hardware from the same vendor. Alternatively, they can keep their operating system and switch to a different hardware vendor.

  • Faster Innovation: Today, if we want vendors to offer groundbreaking application-specific integrated circuits (ASICs), they must develop a complete routing and switching stack to compete with existing network providers. The separation of software and hardware allows hardware vendors to focus on delivering top-tier hardware, while software vendors can concentrate on driving software innovation.

PicOS®: A Linux-based, Flexible Operating System(NOS)

What Makes PicOS® Flexible?

  • PicOS® is not tied to any specific hardware, as the operating system is decoupled from the switch ASIC, CPU, or memory.

  • PicOS® runs as a userspace application on an unmodified Linux (Debian) kernel, allowing network programming and optimisation using existing Linux tools.

  • The switching and routing stack is built on the XORP routing community (now under Pica8's General Public License).

  • Through the integration of Open vSwitch (OVS), PicOS® fully supports OpenFlow.

PicOS® Architecture

PicOS® is built from the following components:

  • Unmodified Linux Kernel: PicOS® operates on a standard, unmodified Debian Linux kernel. By keeping the kernel intact, we can update it quickly, benefiting from the latest innovations.

  • vASIC® Technology: This is a hardware abstraction layer that enables support for multiple hardware platforms and ASICs without needing any changes to PicOS® tools.

  • Traditional Switching and Routing Protocols: After acquiring XORP, Pica8 continues to refine its leading routing and switching stack.

  • Hardware-Accelerated Open vSwitch (OVS): PicOS® leverages Open vSwitch to stay aligned with the rapidly evolving OpenFlow and SDN technologies. We are porting and modifying the open-source OVS to utilise switch ASICs for wire-speed traffic processing. OVS provides industry-leading OpenFlow support and integrates seamlessly with CloudStack or OpenStack.

PicOS® Configuration

There is considerable confusion in the industry regarding the best way to manage and configure network devices. At Pica8, we believe the best practice is simply to use the best tool for the specific task. It’s that straightforward. Here are a few examples:

Vendor-Specific CLI: Text-based CLIs are still the most common configuration system. Examples include IOS CLI and JUNOS CLI. For network operations teams, having a unified configuration environment for troubleshooting and monitoring is essential. A good CLI should offer key features such as:

  • Commit and commit confirmed

  • Rollback configuration

  • Command completion and online help

  • Hierarchical configuration

JSON/REST API: Application programming interface(API) enables interaction with the switch. The CLI should use a JSON API, as most network devices have APIs built into the CLI, allowing partial access to device configurations.

Linux-Based Configuration: Managing network devices should be similar to managing any other Linux server. In the Linux world, configuration managers like Puppet and Chef standardise and automate server deployment. With PicOS®, you can use a full Linux system, and every part of the switch can be configured via the Linux shell.

OpenFlow API: We believe that the complexity and diversity of current routing and switching protocols are just another form of vendor lock-in. The future of networking lies in a clear ASIC abstraction layer, allowing network software to control devices. This abstraction is managed by the OpenFlow protocol.

Traditional Routing and Switching

High-Level Architecture

PicOS® offers comprehensive routing and switching capabilities, with its stack (L2/L3 mode) divided into two subsystems:

  • 1. The higher-level subsystem (user level) consists of routing protocols, routing information bases, and support processes. These routing daemons update the kernel routing table via a standard netlink interface.

  • 2. The vASIC daemon monitors the kernel routing table and syncs it with ASIC. It manages the forwarding path and provides APIs for the higher level, ensuring the higher-level code remains independent of forwarding path details.

For routing protocols, PicOS® uses a multi-process architecture, with one process per protocol, plus additional processes for management and coordination. Inter-process communication is handled by Extensible Resource Locators (XRLs), similar to URLs, improving reliability, extensibility, and ease of use.

High-Level Architecture

Robustness

The routing and coordination processes in PicOS® run in user space on a traditional Linux operating system. Routing processes are protected from each other and can have their resources constrained according to administrative preference. Furthermore, routing processes can crash without affecting the kernel, forwarding plane, or each other. If a routing protocol does crash, the RIB will remove its routes from the forwarding engine and optionally inform the re-starting routing process of the routes it previously held.

Fast Convergence

Routing protocol implementations have often been scanner-based. Periodically, a scanner runs to accumulate changes, update the forwarding table, notify neighbours, etc. These implementations lead to low CPU utilization but also bring poor route convergence properties. In modern networks, fast convergence is a priority.

SDN: OpenFlow and OVSDB

PicOS® leverages Open vSwitch a production quality, multi-layer virtual switch licensed under the open source Apache 2.0 license. OVS runs as a process within PicOS®.

The OpenFlow protocol is driven by the Open Networking Foundation (ONF), a leader in software-defined networking (SDN). The OpenFlow protocol governs three essential components of SDN: an OpenFlow physical switch, OpenFlow virtual switch to manage virtual machines, and an OpenFlow controller to organize all network pieces.

PicOS® leverages the Userland OVS implementation modified to interact with the PicOS® vASIC to download OpenFlow states to the ASIC.

SDN: OpenFlow and OVSDB

Mixing SDN and Traditional Routing and Switching

In PicOS®, we can use OpenFlow and traditional switching/routing simultaneously. Some typical examples of applications include:

  • In an OpenFlow data centre, the edge devices need to interact with traditional switching/ routing devices (Spanning tree, OSPF, BGP)

  • In a traditional data centre using switching and routing, monitoring and tapping can be done on the switches and rules triggered by the OpenFlow protocol.

The “CrossFlow” mode is what we call the mode of operation using both OpenFlow and L2/L3 on the same switch.

Every port in the switch is either legacy or a CrossFlow port. A legacy port uses traditional L2/ L3, while a CrossFlow port can be controlled by OpenFlow. All the typical OVS commands can be used in CrossFlow mode (either locally via OVS commands or via an SDN controller using OpenFlow and OVSDB).

A CrossFlow port can have local-control enabled or disabled. Local-control is the switch capacity to process protocol packets like BPDU, LLDP, BGP or OSPF PDU. Local-control also enabled standard switch behaviors like MAC learning and packet flooding. Without local-control enabled on a CrossFlow port, MAC learning and packet domain flooding are not enabled because packet behaviour is completely handled by the OpenFlow protocol.

CrossFlow Port Modes

CrossFlow Mode OFF

  • The port is controlled by the switch local PicOS® control plane

  • All broadcasts turned on and auto-learning turned on

  • Packet forwarded by looking up the TCAM or the FIB

  • PicOS® controls the TCAM and FIB completely

CrossFlow Mode ON and Local-control OFF

  • The port is totally controlled by the SDN controller

  • All broadcasts turned off and auto-learning turned off

  • Packet forwarded by looking up the TCAM or the FIB

  • TCAM and FIB managed by the SDN controller.

CrossFlow Mode ON and Local-control ON

  • The port is controlled by the switch local PicOS® control plane

  • All broadcasts turned on and auto-learning turned on

  • User or controller can add flows in the TCAM to control traffic

CrossFlow Port Modes

S5810 PicOS® Switches

The S5810-48TS is an L3 switch designed specifically for industry users such as Internet Service Providers (ISPs) and telecom operators. It features 48 Gigabit RJ45 downlinks and 4 10G SFP+ uplinks, utilising advanced Broadcom chips to deliver a switching capacity of 176 Gbps and a forwarding rate of 132 Mpps. Pre-installed with the PicOS® operating system, it not only integrates comprehensive SDN capabilities but is also compatible with the AmpCon™ management platform, offering users a low-cost, highly flexible, programmable, and scalable network solution.

S5810 PicOS® Switches

Summary

With the evolution of networking to a new software led model, PicOS® is the OS that can bridge the gap, and help your organization seamlessly migrate from a world of lock in to a world of freedom. PicOS® has both conventional tools and APIs and new SDN technology to support any network. Whether you are a traditional network engineer or Linux guru, PicOS® has the right tools for you.

You might be interested in

Knowledge
Knowledge
Knowledge
See profile for Sheldon.
Sheldon
Decoding OLT, ONU, ONT, and ODN in PON Network
Mar 14, 2023
436.0k
Knowledge
See profile for Irving.
Irving
What's the Difference? Hub vs Switch vs Router
Dec 17, 2021
383.5k
Knowledge
See profile for Sheldon.
Sheldon
What Is SFP Port of Gigabit Switch?
Jan 6, 2023
375.0k
Knowledge
See profile for Migelle.
Migelle
PoE vs PoE+ vs PoE++ Switch: How to Choose?
May 30, 2024
460.4k
Knowledge
Knowledge
Knowledge
Knowledge
See profile for Moris.
Moris
How Much Do You Know About Power Cord Types?
Sep 29, 2021
332.5k