Centering on the two major system principles of device openness and network programmability, the white box switch is open and decouples the underlying network hardware and upper-level operating software, and at the same time opens the programmability of the underlying chip to the upper-level application. Generally speaking, the system architecture of white box switch has several parts including bare metal hardware, chip interface, boot system, operating system and application.
Bare metal hardware
The bare-metal hardware of the white box switch mainly includes CPU, ASIC, power supply, fan, storage and related interface modules, the core of which is the ASIC switching chip, which is responsible for high-speed forwarding of data packets. ASIC chips can be divided into two categories: fixed function chips and programmable chips. Fixed-function chips generally only support basic network protocol algorithms and some custom functions. For white-box switches, the focus is on realizing the programmable chip interface of the control plane. The programmable chip has a general-purpose data processing pipeline, and can use the chip interface to flexibly and efficiently design various network protocol algorithms, becoming the key to the programmable data plane of the white box switch.
The chip interface of the white box switch abstracts the functions of the underlying chip and provides a set of programming interfaces to the upper layer software. The chip interface here is a broad concept. It not only refers to the traditional SDK interface in the narrow sense, but also includes the standard and programmable abstraction encapsulated by the SDK in the concept of Software-Defined Networking (SDN) in the broad sense. interface. The chip interface in the narrow sense is generally the chip SDK provided by the hardware manufacturer, and there is a tendency to form a unified standard; the chip interface in the broad sense can be divided into the southbound interface of the control plane and the chip programmable language of the data plane according to the realization position of the network programmability. .
The boot system is a boot program stored in the firmware of the mainboard of the white box switch, which can guide and install different operating systems. The boot system of a traditional hardware-software integrated network switch is bound by the manufacturer, and only a specific operating system can be installed, while the white box switch supports a system-open boot to install a custom operating system.
Operating system and applications
An operating system is an underlying software that runs on a white box switch and controls the behavior of the Ethernet switch hardware. The operating system itself generally does not include too many network functions, but various network applications can be developed based on the chip interface, such as common routing and switching, network management, access control and other applications. At the same time, a white box switch generally includes a basic operating system, which can be used as a basic platform layer for modular development, and a new operating system can be built as a part.