blob: c6254885b8669a4f62a89ca06263a1235152096d [file] [log] [blame]
..
SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
SPDX-License-Identifier: Apache-2.0
Overview
========
There are many ways to deploy Aether, depending on the requirements of the edge
site. The Reliability, Availability, and Serviceability (RAS) of each set of
equipment will differ depending on the characteristics of each edge.
This document provides several hardware deployment options and explains the
differences between them.
Deployment Options
------------------
Development Environments
""""""""""""""""""""""""
For users looking for a development or fully software-simulated environment,
there is ``Aether-in-a-Box (AiaB)`` - instructions for running this can be
found in the :doc:`Aether SD-Core Developer Guide </developer/sdcore>`. AiaB
is only suitable for testing and developing software, and can't connect to
physical hardware, but is a good choice for learning about the different
software components within Aether.
Production Environments
"""""""""""""""""""""""
Deploying Aether on hardware is required for both production deployments and
hardware testing. Before deploying Aether, a detailed plan including the
network topology, hardware, and all cabling needs to be created.
For redundancy of workloads running in Kubernetes, at least 3 compute nodes
must be available. A single or pair of compute nodes can be used, but software
would need to be configured without High Availability (HA) enabled.
The topologies below are *simplified physical topologies* to show the equipment
needed and the minimal connectivity between devices. Within these topologies,
multiple VLANs, routing, and other network-level configuration is required to
make a functional Aether edge.
There are also possible RAS improvements that can be done at a topology level -
for example, fabric switch connections can be made with using two cables, and
configured to tolerate the failure or replacement of one cable or NIC port,
which is recommended especially for inter-switch links.
Edge Connectivity
-----------------
Aether's is a managed service, and Aether Edges require a constant connection
via VPN to the 4G and 5G core in Aether Central for managing subscriber
information.
At a minimum, the site must provide a public static IP address that can be used
for the VPN connection. This can be behind NAT using port forwarding can be
configured to the Aether Edge within the network.
Additionally, for initial installation and setup and and managing
updates to the edge sites, access via SSH (public key only) is required.
BESS-based Network Topology
---------------------------
The :doc:`Software-only BESS UPF
</edge_deployment/bess_upf_deployment>`, which can be used for deployments that
do not have P4 switching hardware.
.. image:: images/edge_mgmt_only.svg
:alt: BESS network topology
BESS runs on an x86 compute server, and is deployed using Kubernetes. In
production it requires a SR-IOV capable network card, and specific K8s CNIs to
be used.
The Management Server and Switch must be configured with multiple VLANs which
provide subnets required for routing within the BESS UPF.
P4-based Network Topology
-------------------------
If only a single P4 switch is used, the :doc:`Simple
<trellis:supported-topology>` topology can be used, but provides no network
redundancy:
.. image:: images/edge_single.svg
:alt: Single Switch Topology
If another switch is added, and a "Paired Leaves" (aka :doc:`Paired Switches
<trellis:supported-topology>`) topology is used, which can tolerate the loss of
a leaf switch and retain connections for all dual-homed devices. Single homed
devices on the failed leaf would need another form of HA, for example,
deploying multiple eNBs where some are connected to each leaf, and can provide
radio coverage.:
.. image:: images/edge_paired_leaves.svg
:alt: Paired Leaves Topology
For larger deployments, a 2x2 fabric can be configured (aka :doc:`Single-Stage
Leaf-Spine <trellis:supported-topology>`), which provide Spine redundancy, but
does not support dual-homing of devices.
.. image:: images/edge_2x2.svg
:alt: 2x2 Fabric Topology
Other topologies as described in the :doc:`Trellis Documentaiton
<trellis:supported-topology>` can possibly be used, but are not actively being
tested at this time.
Additionally, the P4-based topologies can support running both the BESS UPF and
P4 UPF on the same hardware at the same time if desired (for testing, or
simultaneous 4G/5G support).
Hardware Descriptions
---------------------
Fabric Switch
"""""""""""""
To use the P4 UPF, you must use fabric switches based on the `Intel (previously
Barefoot) Tofino chipset
<https://www.intel.com/content/www/us/en/products/network-io/programmable-ethernet-switch/tofino-series.html>`_.
There are two variants of this switching chipset, with different resources and
capabilities.
Aether currently supports these P4 switch models:
* `EdgeCore Wedge100BF-32X
<https://www.edge-core.com/productsInfo.php?cls=1&cls2=180&cls3=181&id=335>`_,
a Dual Pipe Tofino ASIC
* `EdgeCore Wedge100BF-32QS
<https://www.edge-core.com/productsInfo.php?cls=1&cls2=180&cls3=181&id=770>`_,
a Quad Pipe Tofino ASIC, which has more chip resources and a faster embedded
system with more memory and storage.
The P4 UPF and SD-Fabric features run within the constraints of the Dual Pipe
system for production deployments, but for development of features in P4, the
larger capacity of the Quad Pipe is desirable.
These switches feature 32 QSFP+ ports capable of running in 100GbE, 40GbE, or
4x 10GbE mode (using a split DAC or fiber cable) and have a 1GbE management
network interface.
See also the :ref:`Rackmount of Eqiupment
<edge_deployment/site_planning:rackmount of equipment>` for how the Fabric
switches should be rackmounted to ensure proper airflow within a rack.
Compute Server
""""""""""""""
These servers run Kubernetes, Aether connectivity apps, and edge applications.
Minimum hardware specifications:
* AMD64 (aka x86-64) architecture
* 8 CPU Cores (minimum), 16-64 recommended
* 32GB of RAM (minimum), 128GB+ recommended
* 250 GB of storage (SSD preferred), 1TB+ recommended
* 2x 40GbE or 100GbE Ethernet network card to P4 switches, with DPDK support
* 1x 1GbE management network port. 2x required for BESS UPF.
Optional but highly recommended:
* Lights out management support, with either a shared or separate NIC and
support for HTML5 console access.
Management Server
"""""""""""""""""
One management server is required, which must have at least two 1GbE network
ports, and runs a variety of network services to bootstrap and support the
edge.
In current Aether deployments, the Management Server also functions as a router
and VPN gateway back to Aether Central.
Minimum hardware specifications:
* AMD64 (aka x86-64) architecture
* 4 CPU cores, or more
* 8GB of RAM, or more
* 120GB of storage (SSD preferred), or more
* 2x 1GbE Network interfaces (one for WAN, one to the management switch)
Optional:
* 10GbE or 40GbE network card with DPDK support to connect to fabric switch
* Lights out management support, with either a shared or separate NIC and
support for HTML5 console access.
Management Switch
"""""""""""""""""
A managed L2/L3 management switch is required to provide connectivity within
the cluster for bootstrapping equipment. It is configured with multiple VLANs
to separate the management plane, fabric, and the out-of-band and lights out
management connections on the equipment.
Minimum requirements:
* 8x 1GbE Copper ports (adjust to provide a sufficient number for every copper
1GbE port in the system)
* 2x 10GbE SFP+ or 40GbE QSFP interfaces (only required if management server
does not have a network card with these ports)
* Managed via SSH or web interface
* Support the LLDP protocol for debugging cabling issues
* Capable supporting VLANs on each port, with both tagged and untagged traffic
sharing a port.
Optional:
* PoE+ support, which can power eNB and monitoring hardware, if using
Management switch to host these devices.
eNB Radio
"""""""""
The LTE eNB used in most deployments is the `Sercomm P27-SCE4255W Indoor CBRS
Small Cell
<https://www.sercomm.com/contpage.aspx?langid=1&type=prod3&L1id=2&L2id=1&L3id=107&Prodid=751>`_.
While this unit ships with a separate power brick, it also supports PoE+ power
on the WAN port, which provides deployment location flexibility. Either a PoE+
capable switch or PoE+ power injector should be purchased.
If connecting directly to the fabric switch through a QSFP to 4x SFP+ splitter
cable, a 10GbE SFP+ to 1GbE Copper media converter should be purchased. The `FS
UMC-1S1T <https://www.fs.com/products/101476.html>`_ has been used for this
purpose successfully.
Alternatively, the Fabric's 10GbE SFP+ could be connected to another switch
(possibly the Management Switch) which would adapt the speed difference, and
provide PoE+ power, and power control for remote manageability.
Testing Hardware
----------------
The following hardware is used to test the network and determine uptime of
edges. It's currently required, to properly validate that an edge site is
functioning properly.
Monitoring Raspberry Pi and CBRS dongle
"""""""""""""""""""""""""""""""""""""""
One pair of Raspberry Pi and CBRS band supported LTE dongle is required to
monitor the connectivity service at the edge.
The Raspberry Pi model used in Pronto is a `Raspberry Pi 4 Model B/2GB
<https://www.pishop.us/product/raspberry-pi-4-model-b-2gb/>`_
Which is configured with:
* HighPi Raspberry Pi case for P4
* Either a:
* PoE Hat used with a PoE switch (recommended, allows remote power control)
* USB-C Power Supply
* MicroSD Card with Raspbian - 16GB
One LTE dongle model supported in Aether is the `Sercomm Adventure Wingle
<https://www.sercomm.com/contpage.aspx?langid=1&type=prod3&L1id=2&L2id=2&L3id=110&Prodid=767>`_.
Example BoMs
------------
To help provision a site, a few example Bill of Materials (BoM) are given
below, which reference the hardware descriptions given above.
Some quantities are dependent on other quantities - for example, the number of
DAC cables frequently depends on the number of servers in use.
These BOMs do not include UE devices. It's recommended that the testing
hardware given above be added to every BoM for monitoring purposes.
BESS UPF Testing BOM
""""""""""""""""""""
The following is the minimum BoM required to run Aether with the BESS UPF.
============ ===================== ===============================================
Quantity Type Purpose
============ ===================== ===============================================
1 Management Switch Must be Layer 2/3 capable for BESS VLANs
1 Management Server
1-3 Compute Servers Recommended at least 3 for Kubernetes HA
1 (or more) eNB
1x #eNB PoE+ Injector Required unless using a PoE+ Switch
Sufficient Cat6 Network Cabling Between all equipment
============ ===================== ===============================================
P4 UPF Testing BOM
""""""""""""""""""
============ ===================== ===============================================
Quantity Type Description/Use
============ ===================== ===============================================
1 P4 Fabric Switch
1 Management Switch Must be Layer 2/3 capable
1 Management Server At least 1x 40GbE QSFP ports recommended
1-3 Compute Servers Recommended at least 3 for Kubernetes HA
2x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
1 QSFP to 4x SFP+ DAC Splitter between Fabric and eNB
1 (or more) eNB
1x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
converter fabric to eNB
1x #eNB PoE+ Injector Required unless using a PoE+ Switch
Sufficient Cat6 Network Cabling Between all equipment
============ ===================== ===============================================
P4 UPF Paired Leaves BOM
""""""""""""""""""""""""
============ ===================== ===============================================
Quantity Type Description/Use
============ ===================== ===============================================
2 P4 Fabric Switch
1 Management Switch Must be Layer 2/3 capable
1 Management Server 2x 40GbE QSFP ports recommended
3 Compute Servers
2 100GbE QSFP DAC cable Between Fabric switches
2x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
1 (or more) QSFP to 4x SFP+ DAC Splitter between Fabric and eNB
1 (or more) eNB
1x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
converter fabric to eNB
1x #eNB PoE+ Injector Required unless using a PoE+ Switch
Sufficient Cat6 Network Cabling Between all equipment
============ ===================== ===============================================
P4 UPF 2x2 Leaf Spine Fabric BOM
""""""""""""""""""""""""""""""""
============ ===================== ===============================================
Quantity Type Description/Use
============ ===================== ===============================================
4 P4 Fabric Switch
1 Management Switch Must be Layer 2/3 capable
1 Management Server 2x 40GbE QSFP ports recommended
3 Compute Servers
8 100GbE QSFP DAC cable Between Fabric switches
2x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
1 (or more) QSFP to 4x SFP+ DAC Splitter between Fabric and eNB
1 (or more) eNB
1x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
converter fabric to eNB
1x #eNB PoE+ Injector Required unless using a PoE+ Switch
Sufficient Cat6 Network Cabling Between all equipment
============ ===================== ===============================================