readersclub / opensource-networking-technologies

Introduction to Open Source Networking Technologies EDX MOOC
MIT License
12 stars 0 forks source link

Chapter 3. Disaggregated Hardware #4

Open anitsh opened 4 years ago

anitsh commented 4 years ago
anitsh commented 4 years ago

By the end of this chapter, you should be able to: Discuss about the hardware of disaggregated and open networking Ethernet switches and wireless access points. Review the Open Compute Project and the Telecom Infra Project.

You should remember that all Ethernet switches have a similar hardware design. They have two main components:

        A packet switching/processing ASIC chipset controls
        A CPU which hosts the software/firmware and the packet switching ASIC.

All commercial vendors lock their software with their hardware, meaning that you cannot make any changes to software, nor install a different software.

A bare metal switch includes the same hardware components, but allows you to install a network operating system.

A network operating system should support the hardware which you are planning to use. For example, if you have a 32 x 100G port switch based on Cavium, you need to choose a NOS that supports that hardware (for example Open Network Linux).

Network Operating Systems provide a hardware compatibility guide, which can help you understand what hardware they support.

In this chapter, we will take a more in-depth look at hardware disaggregation and open source hardware of network switches and wireless access points.

Commercial Networking Products vs Open Source Hardware image

As we already mentioned, a disaggregated network device allows you to install your choice of operating system. You are not locked or bound to use a specific software.

Proprietary Network Device Details
Cisco Catalyst 3750 Switch A combination of hardware and Cisco IOS software
Juniper M10iRouter A combination of hardware and Juniper Junos OS
Arista 7170 Switch A combination of hardware and Arista EOS software
Disaggregated Network Device Details
Edge-Core AS5712 (48 x 10G switch) Comes with no software/OS.You can check compatibility and install OpenSwitch/Open Network Linux (ONL)/Cumulus Linux/Pica8/Big Switch, etc.
Mellanox SN2700 Comes with no software/OS.You can check compatibility and install Cumulus Linux.
Alpha Networks SNX-60x0-486F(48-port 10G SFP) Comes with no software/OS.You can check compatibility and install ONL/OpenSwitch/Cumulus Linux, etc.
Inventec DCS7032Q2832 x 100GB Comes with no software/OS.You can check compatibility and install ONL/OpenSwitch/Cumulus Linux, etc.
anitsh commented 4 years ago

OCP Projects

The Open Compute Project (OCP) was announced by Facebook, along with Intel, RackSpace, Goldman Sachs, and Andy Bechtolsheim, in April 2011. The effort was the result of a redesign of Facebook's data center in Prineville, Oregon. The aim of OCP is to create open source standards for high density and highly-efficient IT equipment for data centers, including server, storage, network, and security.

OCP publishes the open hardware specifications for the data center and enterprise IT systems. There are multiple project workgroups within OCP, each including a project charter and a team working towards producing and enhancing the open source technologies within that project.

The Data Center Facility Project focuses on the design of a data center facility that maximizes mechanical performance and thermal and electrical efficiency. The project focuses on five functional areas of the data center:

        Data Center Facility Power
        Data Center Facility Cooling
        IT Space Layout and Design
        Data Center Facility Monitoring and Control
        Data Center Facilities Operation.

The High Performance Computing (HPC) Project focuses on "developing a fully open heterogenous computing, networking and fabric platform for a multi-node processor that is agnostic to any computing group".

The Rack & Power Project specifies standards for OCP racks which are in 19” and 21” form factors. The racks are designed to provide direct power to the server in a highly efficient way.

The Hardware Management Project is related to small embedded systems that manage the hardware, either a PCB board or a rack. OpenBMC is an open source project hosted by The Linux Foundation that is part of this category. OpenBMC (Open Baseboard Management Controllers) is very similar to management systems you may have seen on most servers, such as HPE iLO (Integrated Lights Out), Dell DRAC (Dell Remote Access Controller), and IPMI (Intelligent Platform Management Interface), where there is a System on a Chip (SoC) that has its own CPU, memory and operating system, and sensors that are connected to the system that it's managing and monitoring (such as a server or a network switch). image

The Server Project aims to build highly efficient servers similar to blades that plug directly into a rack. OCP servers are designed to support high-density configurations and to have multiple servers within 1U of space. This project includes open source hardware designs for blade servers, chassis and management systems. image

The Storage Project provides open source specifications for building high-density storage systems with high performance and a simple hardware design such as JBOD (Just a Bunch of Disks). The redundancy and filesystem is handled by software (such as ZFS). image

The Open Compute Networking Project provides open source hardware specifications to build networking devices, mainly Ethernet switches. OCP networking specifications are mostly contributed to companies such as Facebood, Mellanox Technologies, Edgecore Networks, etc. The OCP network switch specification provides switch hardware designs starting from 48 x 1G up to 32 x 400G ports. These switches are based on merchant silicon chipsets from companies such as Mellanox Technologies, Broadcom Inc., and Cavium, with a CPU board (based on Intel or ARM processors) which supports standard network operating systems.

A merchant silicon is a readymade chipset that delivers a standard set of functions, which is sold by a chip manufacturer. For example, a switch silicon provides standard L2/L3 switching functions. image

Non-merchant silicons are mainly designed by vendors (such as Cisco, HPE, Juniper, etc.). The designs are delivered to a silicon manufacturer to build a proprietary chipset for that vendor. image

The Open Network Install Environment (ONIE) is an open source initiative of the Open Compute Project which provides a standard method to install a network operating system on bare metal network switches. Once a bare metal switch starts, it loads ONIE firmware to help install a network operating system image

Once ONIE starts, if no OS is installed on the switch, it shows a standard Linux GRUB boot loader menu. image

anitsh commented 4 years ago

Telecom Infra Project Similar to the Open Compute Project, which addresses open source hardware and software used to build data centers and enterprise IT, the Telecom Infra Project is a workgroup meant to create open source standards for telecommunication and service provider companies. The Telecom Infra Project includes multiple project groups:

        Backhaul Projects
        The Backhaul project group includes projects such as Multimeter wave (mmWave) networks and Open Optical and Packet Transport projects. The aim of this project group is to enhance the functionalities in wireless and backhaul networks by introducing options for ease of configuration, faster convergence, and better scalability.
        Access Projects
        This project group includes projects such as RAN, Edge Computing and site optimization. The aim of this project group is to innovate and enhance the connectivity within the Radio Access Network (RAN) to make the internet connectivity easier and more stable. The RAN (Radio Access Network) project group itself includes projects such as OpenCellular, OpenRAN, CrowdCell and vRAN Fronthaul.
        Core & Management Projects
        This project group includes projects such as AI (Artificial Intelligence), AMI (Applied Machine Learning) and end-to-end network slicing. The aim of this project group is to improve the efficiency and flexibility of telecom core networks, while simplifying the processes and reducing the operation costs.
anitsh commented 4 years ago

How Ethernet Switches Are Built

Now, let’s take a look at how Ethernet switches are built. After reading this section, you will find out Ethernet switches are based on fairly simple design.

It starts with a silicon vendor; you need to choose which chipset you want to use to build your Ethernet switch.

To make it simple, there are very few companies worldwide producing merchant Ethernet switch chipset (Silicon). A merchant silicon is a chipset that is already designed, tested and built by a chipset manufacturer, which can be bought by anyone looking to build an Ethernet switch.

The following table provides a high level description of a chipset manufacturer and most recent chipsets:

Chip Manufacturer Chipset
Broadcom Inc. Strata SGX Family: Helix (1G) Trident 2, 2+, 3 (10G/40G) Tomahawk 2, 3 (100G/200G/400G) Strata DNX Family (Large buffer): Qumran Jericho
Mellanox Technologies Spectrum, Spectrum 2 (10G/40G/100G/200G/400G)
Cavium XPliant (1G/10G/40G/100G)
Barefoot Networks Tofino (10G/40G/100G)
Marvell Technology Group Prestera switching family
Microsemi (Vitesse) Gigabit switch chipsets
Intel Corporation FM6000 series (10G/40G)

Notes: We did not include the small SOHO chip manufacturers. If you would like to learn more about how a switch chipset silicon works, you can download the Intel FM6000 datasheet

Once you sign the non-disclosure agreement (NDA) with a chipset manufacturer, you will get access to a world of information (thousands of pages of datasheets, schematic designs, PCB layouts, software specifications, drivers, etc.).

An Ethernet switch hardware has a simple design and components. In simple terms, a switch consists of the following components:

        Chassis:
        Just the metal part, with your choice of colors and assembly (For example, a pink or lipstick red would make it unique).
        Power supplies:
        Two redundant AC-DC power supply systems, it's ready-made available from many factories.
        Fans:
        Enough to cool down and dissipate the heat.
        Control System:
        To control fans, system management.
        CPU PCBA:
        An x86, Power PC ,or ARM-based processor with its RAM, flash, and PCIe, which runs the NOS.
        Switch main board PCBA:
        The main board which hosts the main switch silicon, interface cages, CPLDs (Complex Programmable Logic Devices), and PHYs (in the case of RJ45 interfaces), this PCB normally has between 16 to 22 layers.

Take a look at the below switch diagram. It’s a real picture of an Edge-Core AS5712 48 x 10G, 6 x 40G switch based on Broadcom Trident 2. The middle-fat heat sink is protecting the Broadcom Trident 2. Normally, these BGA ASICS are large, as they have many interface pins underneath the silicon.

An Edge-Core AS5712 48 x 10G, 6 x 40G Switch image

The CPLDs (Complex Programmable Logic Devices) are chipsets that have duties for system start up, managing the LEDs, fans, and temperature sensors. The CPLDs are connected back to the CPU through the UART (Universal Asynchronous Receiver-Transmitter) or the I2C bus. I2C (IC to IC Interconnect) is a digital communication protocol used mostly in electronic systems. It is similar to RS485, where you can daisy chain multiple devices, and each device will have a static IP.

The diagram below shows the connectivity between different components in the switch: image

The CPU board has a direct PCIe connection to the switch chipset. This connection requires a driver, which is provided by the chipset vendor. CPLD 1 has the function to control the fans, temperature, and LEDs. This CPLD has an exposed I2C interface which is connected to the CPU board. CPLD 2 and CPLD 3 control the SFPs. Remember that this switch doesn't have any on-board PHY, and uses the 10G/1G SFPs for interfaces. CPLD 2 and CPLD 3 control the SFPs.

anitsh commented 4 years ago

Types of Switches You may have heard about the terms of white-box, brite-box, and bare metal switches. These terms are very similar, but have some minor differences.

A bare metal switch is an Ethernet switch without a NOS (Network Operating System). A bare metal switch normally covers both open source hardware, as well as proprietary hardware. Some examples of bare metal switches are:

        An Edge-Core AS4610 (open source hardware)
        A Mellanox SN2700 (proprietary hardware).

A white-box switch is similar to a bare metal switch, with a few optional features:

        You can ask the manufacturer to label it with your own brand (OEM)
        They are sold without any NOS
        In general, they cover open source hardware switches.

For example, an Edge-Core AS4610 (open source hardware) is a white-box switch.

Brite-box switches are switch hardware bundled with a NOS. This model was popular a few years ago, when companies like Pica8 were selling their NOS along an Edge-Core switch as a bundled product (switch hardware and NOS).

The following table summarizes the differences between white-, brite- and bare metal switches:

Type You can install any NOS What is included with purchase Hardware Support NOS NOS Support
Bare metal switch Yes Switch hardware only Hardware manufacturer Purchased separately NOS vendor
White-box switch Yes Switch hardware only Hardware manufacturer Purchased separately NOS vendor
Brite-box switch Not supported by its vendor Switch hardware and a NOS Company selling the brite-box switch Already included Company selling the brite-box switch
anitsh commented 4 years ago

Bare Metal Ethernet Switches There are multiple bare metal switches available on the market. These switches come with different speeds and port densities. Next, we will look at a few notable bare metal switches.

Edge-Core Switches: Edge-Core is the bare metal switch brand name of Accton Technology. The Edge-Core portfolio of bare metal switches includes many product lines based on different switch silicons. All Edge-Core switches are shipped with a CPU board and an ONIE environment for easy installation of a NOS. A few notable Edge-Core switches are highlighted below:

Switch Model Main Ports Switch Chipset
AS4610 48 x 1G RJ45 Broadcom Helix 4
AS5712 48 x 10G Broadcom Trident 2
AS5812 48 x 10G Broadcom Trident 2+
AS5912 48 x 10G Broadcom Qumran-MX
AS6712 32 x 40G Broadcom Trident 2
AS6812 32 x 40G Broadcom Trident 2+
AS7816 64 x 100G Broadcom Tomahawk 2
AS7712 32 x 100G Broadcom Tomahawk
AS7512 32 x 100G Cavium Xpliant
AS7900 32 x 400G Broadcom Tomahawk 3

Facebook Switches: They are Ethernet switches manufactured for Facebook by companies such as Accton Technologies. They are known as Wedge and Backpack Switches. Some examples of Facebook switches are highlighted below:

Switch Model Main Ports Switch Chipset
Wedge 16 x 40G Broadcom Trident 2
Wedge 100 32 x 100G Broadcom Tomahawk
Backpack (Chassis-based) 128 x 100G Broadcom Tomahawk
Wedge 100C 32 x 100G Cavium Xpliant
Wedge 100B 32 x 100G / 65 x 100G Barefoot Tofino T10

Wedge System Building Blocks image

Facebook Wedge 100B based on Barefoot Networks Tofino Chip image

Mellanox Bare Metal Switches: They are based on Mellanox Spectrum/Switch-X2 series of chipsets. Below are a few examples:

Switch Model Main Ports Switch Chipset
MSX1410 48 x 10G / 12 x 40G Mellanox Switch-X2
MSX1710 48 x 10G / 36 x 40G Mellanox Switch-X2
SN 270 48 x 10G / 32 x 100G Mellanox Spectrum

Barefoot Tofino-Based Switches: Barefoot Networks produce programmable switch silicons. Please take a look at the following example:

Switch Model Main Ports Switch Chipset
Wedge 100B 32 x 100G / 65 x 100G Barefoot Tofino T10

Recently, Arista Networks also announced their new line of switches, Arista 7710, which is based on Tofino chipsets.

Video comparison on hardware.

anitsh commented 4 years ago

Bare Metal Wireless Access Points Wireless access points have become commodity hardware and there are initiatives to produce bare metal, open hardware wireless access points. Similar to Ethernet switches, wireless access points are based on a CPU system on a chip (SOC) controlling multiple wireless radio chips for 2.4GHz, 5GHz, and 802.11ad 60GHz radios.

Bare metal wireless access points come with no firmware/operating system. Customers can choose and install the operating system and software features they need. Currently, the only supported OS for wireless access points is Linux (mainly, the OpenWRT Linux). image

To better understand, you can imagine a wireless access point as a PC with single or multiple Wi-Fi cards. The CPU drives the wireless modules, creates SSIDs (Service Set Identifiers), sets encryption, authentication, etc.

OpenWRT Linux is a open source distribution that aims to support wireless access points. It includes many drivers for CPU and Wi-Fi cards. You can find compatible OpenWRT Linux firmware, install it on your home access point and have fun controlling your access point, even for consumer-grade wireless access points (such as TP-Link, Linksys, etc.).

OpenWRT is an open platform for wireless access points. It allows loading different software modules to control the wireless. For example, on a wireless access point running OpenWRT:

        You can install CAPWAP (Control and Provisioning of Wireless Access Points protocol) software to create a lightweight access point that can be controlled by a wireless controller.
        You can install an SNMP or a NETCONF server software to allow your wireless access point to be managed by an SDN controller such as OpenDaylight.

Currently, only Edge-Core is producing bare-metal wireless access points. There are different models, based on different chipsets from Qualcomm, Broadcom, etc. Bare metal access points come with no operating system.

The other wireless access points are mostly sold with an operating system which can be changed to OpenWRT. You can take a look at the OpenWRT webpage to see what access points are supported.

You can also find more details on the OCP Wiki for Networking/Specs and Designs page.

Video on wireless device.

anitsh commented 4 years ago

Learning Objectives (Review) You should now be able to: Discuss about the hardware of disaggregated and open networking Ethernet switches and wireless access points. Review the Open Compute Project and the Telecom Infra Project.

Summary

In this chapter, we reviewed the hardware architecture of Ethernet switches and wireless access points. We've presented some good hardware examples from the Open Compute Project, and we discovered how disaggregated Ethernet switches are built and how they can help the industry to improve the performance and software features by decoupling the hardware and software from each other.