blob: f13956991a6cb831a0c89c63c3480e11c8feac06 [file] [log] [blame]
Hung-Wei Chiu77c969e2020-10-23 18:13:07 +00001..
2 SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
3 SPDX-License-Identifier: Apache-2.0
4
Hung-Wei Chiu77c969e2020-10-23 18:13:07 +00005Overview
6========
Zack Williams9026f532020-11-30 11:34:32 -07007
Zack Williams1ae109e2021-07-27 11:17:04 -07008There are many ways to deploy Aether, depending on the requirements of the edge
9site. The Reliability, Availability, and Serviceability (RAS) of each set of
10equipment will differ depending on the characteristics of each edge.
Zack Williams9026f532020-11-30 11:34:32 -070011
Zack Williams1ae109e2021-07-27 11:17:04 -070012This document provides several hardware deployment options and explains the
13differences between them.
Zack Williams9026f532020-11-30 11:34:32 -070014
Zack Williams1ae109e2021-07-27 11:17:04 -070015Deployment Options
16------------------
17
18Development Environments
19""""""""""""""""""""""""
20
21For users looking for a development or fully software-simulated environment,
22there is ``Aether-in-a-Box (AiaB)`` - instructions for running this can be
Andy Bavierf73c3d22021-08-30 10:29:06 -070023found in the :doc:`Setting Up Aether-in-a-Box </developer/aiab>`. AiaB
Zack Williams1ae109e2021-07-27 11:17:04 -070024is only suitable for testing and developing software, and can't connect to
25physical hardware, but is a good choice for learning about the different
Zack Williams589ac232021-08-19 08:52:18 -070026software components within Aether.
Zack Williams1ae109e2021-07-27 11:17:04 -070027
28Production Environments
29"""""""""""""""""""""""
30
31Deploying Aether on hardware is required for both production deployments and
Zack Williams589ac232021-08-19 08:52:18 -070032hardware testing. Before deploying Aether, a detailed plan including the
33network topology, hardware, and all cabling needs to be created.
Zack Williams1ae109e2021-07-27 11:17:04 -070034
35For redundancy of workloads running in Kubernetes, at least 3 compute nodes
36must be available. A single or pair of compute nodes can be used, but software
37would need to be configured without High Availability (HA) enabled.
Zack Williamse8c3b2c2021-02-01 12:47:28 -070038
Zack Williams589ac232021-08-19 08:52:18 -070039The topologies below are *simplified physical topologies* to show the equipment
40needed and the minimal connectivity between devices. Within these topologies,
41multiple VLANs, routing, and other network-level configuration is required to
42make a functional Aether edge.
43
44There are also possible RAS improvements that can be done at a topology level -
Zack Williams2dfb6242021-08-24 09:19:00 -070045for example, fabric switch connections can be made with two cables, and
Zack Williams589ac232021-08-19 08:52:18 -070046configured to tolerate the failure or replacement of one cable or NIC port,
47which is recommended especially for inter-switch links.
48
49Edge Connectivity
50-----------------
51
52Aether's is a managed service, and Aether Edges require a constant connection
53via VPN to the 4G and 5G core in Aether Central for managing subscriber
54information.
55
Zack Williams2dfb6242021-08-24 09:19:00 -070056The edge site must provide internet access to the Aether edge, specifically the
Zack Williamsb7d45152022-03-11 09:37:34 -070057Management Router. The traffic required is:
Zack Williams589ac232021-08-19 08:52:18 -070058
Zack Williams2dfb6242021-08-24 09:19:00 -070059* VPN connection (ESP protocol, Ports UDP/500 and UDP/4500) to Aether Central
60
61* SSH (TCP/22). used for installation, troubleshooting, and updating the site.
62
63* General outgoing internet access used for installation of software and other
64 components from ONF and public (Ubuntu) software repositories.
65
66The open ports can be restricted to specific internet addresses which are used
67for Aether.
68
Zack Williamsb7d45152022-03-11 09:37:34 -070069The Management Router needs to have an IP address assigned to it, which can be
70either:
Zack Williams2dfb6242021-08-24 09:19:00 -070071
72* A public static IP address
73
74* Behind NAT with port forwarding with the ports listed above forwarded to the
Zack Williamsb7d45152022-03-11 09:37:34 -070075 Management Router
Zack Williams2dfb6242021-08-24 09:19:00 -070076
Zack Williamsb7d45152022-03-11 09:37:34 -070077In either case, the Management Router's IP address should be assigned using
Zack Williams2dfb6242021-08-24 09:19:00 -070078a reserved DHCP if possible, which eases the installation process.
Zack Williams589ac232021-08-19 08:52:18 -070079
80BESS-based Network Topology
81---------------------------
82
Zack Williams5d2d6782021-08-26 13:08:44 -070083The :doc:`Software-only BESS UPF </edge_deployment/bess_upf_deployment>`, is
Zack Williamsb7d45152022-03-11 09:37:34 -070084supported for production as of the Aether 1.5 and later releases. This UPF can
85be used for deployments that do not have P4 switching hardware.
Zack Williams589ac232021-08-19 08:52:18 -070086
87.. image:: images/edge_mgmt_only.svg
88 :alt: BESS network topology
89
90
Zack Williams2dfb6242021-08-24 09:19:00 -070091`BESS <https://github.com/NetSys/bess>`_ runs on an x86 compute server, and is
92deployed using Kubernetes. In production it requires an SR-IOV capable network
93card, and specific K8s CNIs to be used.
Zack Williams589ac232021-08-19 08:52:18 -070094
Zack Williamsb7d45152022-03-11 09:37:34 -070095The Management Router and Switch must be configured with multiple VLANs and
Zack Williams2dfb6242021-08-24 09:19:00 -070096subnets with routing required for the BESS UPF.
Zack Williams589ac232021-08-19 08:52:18 -070097
98P4-based Network Topology
99-------------------------
Zack Williams9026f532020-11-30 11:34:32 -0700100
Zack Williamsb7d45152022-03-11 09:37:34 -0700101The P4-based SD-Fabric UPF is an advanced feature and has graduated to
102production use in the Aether 2.0 release. It requires one or more
103P4-capable switches using the Tofino chipset.
Zack Williams5d2d6782021-08-26 13:08:44 -0700104
Zack Williamsb7d45152022-03-11 09:37:34 -0700105Single or multi-switch topologies can be used as described in the
106:ref:`SD-Fabric Specifications for Topology <sdfabric:specification:topology>`.
107The following topologies are actively being tested as a part of Aether:
Zack Williams5d2d6782021-08-26 13:08:44 -0700108
Zack Williamsb7d45152022-03-11 09:37:34 -0700109If only a single P4 switch is used, the **Single Switch** topology can be used, but provides no network
Zack Williams1ae109e2021-07-27 11:17:04 -0700110redundancy:
Zack Williams9026f532020-11-30 11:34:32 -0700111
Zack Williams1ae109e2021-07-27 11:17:04 -0700112.. image:: images/edge_single.svg
Zack Williams589ac232021-08-19 08:52:18 -0700113 :alt: Single Switch Topology
Zack Williams9026f532020-11-30 11:34:32 -0700114
Zack Williamsb7d45152022-03-11 09:37:34 -0700115If another switch is added, the **Paired Leaves** (aka "Single Leaf Pair")
116topology can be used, which can tolerate the loss of a leaf switch and still
117retain connections for all dual-homed devices. Single homed devices on the
118failed leaf would lose their connections (the single-homed server is shown for
119reference, and not required). If HA is needed for single-homed devices, one
120option would be to deploying multiple of those devices in a way that provides
121that redundancy - for example, multiple eNBs where some are connected to each
122leaf and have overlapping radio coverage:
Zack Williams9026f532020-11-30 11:34:32 -0700123
Zack Williams1ae109e2021-07-27 11:17:04 -0700124.. image:: images/edge_paired_leaves.svg
Zack Williams589ac232021-08-19 08:52:18 -0700125 :alt: Paired Leaves Topology
Zack Williamse8c3b2c2021-02-01 12:47:28 -0700126
Zack Williamsb7d45152022-03-11 09:37:34 -0700127All SD-Fabric P4-based topologies can support running both the BESS UPF and P4
128UPF on the same hardware at the same time within an edge deployment.
Zack Williams1ae109e2021-07-27 11:17:04 -0700129
Zack Williamsb7d45152022-03-11 09:37:34 -0700130Connectivity Alternatives
131-------------------------
Zack Williams1ae109e2021-07-27 11:17:04 -0700132
Zack Williamsb7d45152022-03-11 09:37:34 -0700133The diagrams above show logical topologies, but depending on the site strategy,
134alternative topologies may be desirable. The below diagrams use the "Single
135Switch" topology, but could be applied to any of the Aether equipment
136topologies given above.
Zack Williams1ae109e2021-07-27 11:17:04 -0700137
Zack Williamsb7d45152022-03-11 09:37:34 -0700138One example would be to place the rackmount equipment in a datacenter
139environment away from the radio hardware and use existing networking equipment
140to route from the radios back to the Aether edge hardware. Also shown in this
141example is using a PoE switch to power the radios.
142
143.. image:: images/edge_routed_radios.svg
144 :alt: Edge with routed radios
145
146Another example would be to use the management switch as the main network
147connection point, and possibly use it to PoE power the radios as well:
148
149.. image:: images/edge_mgmtswitch_primary.svg
150 :alt: Edge with mgmtswitch as primary connection point
151
152Note that these topologies may require additional configuration in the
153switching and routing equipment, including the equipment outside of the Aether
154edge.
Zack Williamse8c3b2c2021-02-01 12:47:28 -0700155
Zack Williams589ac232021-08-19 08:52:18 -0700156Hardware Descriptions
157---------------------
Zack Williamse8c3b2c2021-02-01 12:47:28 -0700158
Zack Williams589ac232021-08-19 08:52:18 -0700159Fabric Switch
160"""""""""""""
Zack Williamsb7d45152022-03-11 09:37:34 -0700161
162See the :ref:`SD-Fabric Switch Hardware Selection Documentation
163<sdfabric:deployment:switch hardware selection>`.
Zack Williams589ac232021-08-19 08:52:18 -0700164
165Compute Server
166""""""""""""""
167
Zack Williamsb7d45152022-03-11 09:37:34 -0700168The Compute Servers run Kubernetes, Aether connectivity apps, and edge
169applications.
Zack Williams9026f532020-11-30 11:34:32 -0700170
Zack Williams1ae109e2021-07-27 11:17:04 -0700171Minimum hardware specifications:
Zack Williams9026f532020-11-30 11:34:32 -0700172
173* AMD64 (aka x86-64) architecture
Zack Williams9026f532020-11-30 11:34:32 -0700174
Zack Williams2dfb6242021-08-24 09:19:00 -0700175* 8 CPU Cores (minimum), 16+ recommended
Zack Williams9026f532020-11-30 11:34:32 -0700176
Zack Williams589ac232021-08-19 08:52:18 -0700177* 32GB of RAM (minimum), 128GB+ recommended
178
179* 250 GB of storage (SSD preferred), 1TB+ recommended
180
181* 2x 40GbE or 100GbE Ethernet network card to P4 switches, with DPDK support
182
Zack Williams2dfb6242021-08-24 09:19:00 -0700183* 1x 1GbE management network port, with PXE boot support. 2x required for BESS
184 UPF.
Zack Williams589ac232021-08-19 08:52:18 -0700185
186Optional but highly recommended:
187
188* Lights out management support, with either a shared or separate NIC and
189 support for HTML5 console access.
Zack Williams9026f532020-11-30 11:34:32 -0700190
Zack Williamsb7d45152022-03-11 09:37:34 -0700191Management Router
Zack Williams9026f532020-11-30 11:34:32 -0700192"""""""""""""""""
193
Zack Williamsb7d45152022-03-11 09:37:34 -0700194One Management Router is required - this is a standard server which must have
195at least two 1GbE network ports, and performs network tasks such as running a
196VPN connection to Aether Central, performing NAT for the management network,
197as well as running a variety of network services to bootstrap and support the
Zack Williams1ae109e2021-07-27 11:17:04 -0700198edge.
Zack Williams9026f532020-11-30 11:34:32 -0700199
Zack Williams1ae109e2021-07-27 11:17:04 -0700200Minimum hardware specifications:
Zack Williams9026f532020-11-30 11:34:32 -0700201
Zack Williams1ae109e2021-07-27 11:17:04 -0700202* AMD64 (aka x86-64) architecture
Zack Williams589ac232021-08-19 08:52:18 -0700203
204* 4 CPU cores, or more
205
206* 8GB of RAM, or more
207
208* 120GB of storage (SSD preferred), or more
209
Zack Williams2dfb6242021-08-24 09:19:00 -0700210* 2x 1GbE Network interfaces (one for WAN, one to the management switch) with
211 PXE boot support.
Zack Williams1ae109e2021-07-27 11:17:04 -0700212
213Optional:
214
Zack Williams589ac232021-08-19 08:52:18 -0700215* 10GbE or 40GbE network card with DPDK support to connect to fabric switch
216
217* Lights out management support, with either a shared or separate NIC and
218 support for HTML5 console access.
Zack Williams9026f532020-11-30 11:34:32 -0700219
220Management Switch
221"""""""""""""""""
222
Zack Williams1ae109e2021-07-27 11:17:04 -0700223A managed L2/L3 management switch is required to provide connectivity within
224the cluster for bootstrapping equipment. It is configured with multiple VLANs
225to separate the management plane, fabric, and the out-of-band and lights out
226management connections on the equipment.
Zack Williams9026f532020-11-30 11:34:32 -0700227
Zack Williams1ae109e2021-07-27 11:17:04 -0700228Minimum requirements:
229
Zack Williams2dfb6242021-08-24 09:19:00 -0700230* 8x 1GbE Copper Ethernet ports (adjust to provide a sufficient number for
231 every copper 1GbE port in the system)
Zack Williams1ae109e2021-07-27 11:17:04 -0700232
Zack Williamsb7d45152022-03-11 09:37:34 -0700233* 2x 10GbE SFP+ or 40GbE QSFP interfaces (only required if management router
Zack Williams1ae109e2021-07-27 11:17:04 -0700234 does not have a network card with these ports)
235
236* Managed via SSH or web interface
237
Zack Williams2dfb6242021-08-24 09:19:00 -0700238* LLDP protocol support, for debugging cabling issues
Zack Williams589ac232021-08-19 08:52:18 -0700239
Zack Williams1ae109e2021-07-27 11:17:04 -0700240* Capable supporting VLANs on each port, with both tagged and untagged traffic
241 sharing a port.
242
243Optional:
244
Zack Williams589ac232021-08-19 08:52:18 -0700245* PoE+ support, which can power eNB and monitoring hardware, if using
246 Management switch to host these devices.
Zack Williams1ae109e2021-07-27 11:17:04 -0700247
248eNB Radio
249"""""""""
250
251The LTE eNB used in most deployments is the `Sercomm P27-SCE4255W Indoor CBRS
Zack Williams589ac232021-08-19 08:52:18 -0700252Small Cell
253<https://www.sercomm.com/contpage.aspx?langid=1&type=prod3&L1id=2&L2id=1&L3id=107&Prodid=751>`_.
Zack Williams1ae109e2021-07-27 11:17:04 -0700254
Zack Williams589ac232021-08-19 08:52:18 -0700255While this unit ships with a separate power brick, it also supports PoE+ power
256on the WAN port, which provides deployment location flexibility. Either a PoE+
257capable switch or PoE+ power injector should be purchased.
Zack Williams1ae109e2021-07-27 11:17:04 -0700258
Zack Williams2dfb6242021-08-24 09:19:00 -0700259If connecting directly to the fabric switch through a QSFP to 4x SFP+ split
Zack Williams589ac232021-08-19 08:52:18 -0700260cable, a 10GbE SFP+ to 1GbE Copper media converter should be purchased. The `FS
261UMC-1S1T <https://www.fs.com/products/101476.html>`_ has been used for this
262purpose successfully.
263
264Alternatively, the Fabric's 10GbE SFP+ could be connected to another switch
265(possibly the Management Switch) which would adapt the speed difference, and
266provide PoE+ power, and power control for remote manageability.
267
Zack Williams589ac232021-08-19 08:52:18 -0700268Testing Hardware
Zack Williams1ae109e2021-07-27 11:17:04 -0700269----------------
270
271The following hardware is used to test the network and determine uptime of
Zack Williams2dfb6242021-08-24 09:19:00 -0700272edges. It is currently required, to properly validate that an edge site is
Zack Williams1ae109e2021-07-27 11:17:04 -0700273functioning properly.
Zack Williams9026f532020-11-30 11:34:32 -0700274
Hyunsun Moon2b626762021-03-26 16:21:14 -0700275Monitoring Raspberry Pi and CBRS dongle
276"""""""""""""""""""""""""""""""""""""""
277
Zack Williams1ae109e2021-07-27 11:17:04 -0700278One pair of Raspberry Pi and CBRS band supported LTE dongle is required to
279monitor the connectivity service at the edge.
Hyunsun Moon2b626762021-03-26 16:21:14 -0700280
Zack Williams2dfb6242021-08-24 09:19:00 -0700281The Raspberry Pi model used in Aether is a `Raspberry Pi 4 Model B/2GB
Hyunsun Moon2b626762021-03-26 16:21:14 -0700282<https://www.pishop.us/product/raspberry-pi-4-model-b-2gb/>`_
283
284Which is configured with:
285
Zack Williams2dfb6242021-08-24 09:19:00 -0700286* Raspberry Pi case (HiPi is recommended for PoE Hat)
Zack Williams589ac232021-08-19 08:52:18 -0700287
Zack Williams2dfb6242021-08-24 09:19:00 -0700288* A power source, either one of:
Zack Williams589ac232021-08-19 08:52:18 -0700289
290 * PoE Hat used with a PoE switch (recommended, allows remote power control)
291
292 * USB-C Power Supply
293
Hyunsun Moon2b626762021-03-26 16:21:14 -0700294* MicroSD Card with Raspbian - 16GB
295
Zack Williams1ae109e2021-07-27 11:17:04 -0700296One LTE dongle model supported in Aether is the `Sercomm Adventure Wingle
Hyunsun Moon2b626762021-03-26 16:21:14 -0700297<https://www.sercomm.com/contpage.aspx?langid=1&type=prod3&L1id=2&L2id=2&L3id=110&Prodid=767>`_.
Zack Williams589ac232021-08-19 08:52:18 -0700298
299
300Example BoMs
301------------
302
303To help provision a site, a few example Bill of Materials (BoM) are given
304below, which reference the hardware descriptions given above.
305
306Some quantities are dependent on other quantities - for example, the number of
307DAC cables frequently depends on the number of servers in use.
308
Zack Williams5d2d6782021-08-26 13:08:44 -0700309These BoMs do not include UE devices. It's recommended that the testing
Zack Williams589ac232021-08-19 08:52:18 -0700310hardware given above be added to every BoM for monitoring purposes.
311
312
Zack Williams5d2d6782021-08-26 13:08:44 -0700313BESS UPF Testing BoM
Zack Williams589ac232021-08-19 08:52:18 -0700314""""""""""""""""""""
315
316The following is the minimum BoM required to run Aether with the BESS UPF.
317
318============ ===================== ===============================================
319Quantity Type Purpose
320============ ===================== ===============================================
3211 Management Switch Must be Layer 2/3 capable for BESS VLANs
Zack Williamsb7d45152022-03-11 09:37:34 -07003221 Management Router
Zack Williams589ac232021-08-19 08:52:18 -07003231-3 Compute Servers Recommended at least 3 for Kubernetes HA
3241 (or more) eNB
3251x #eNB PoE+ Injector Required unless using a PoE+ Switch
326Sufficient Cat6 Network Cabling Between all equipment
327============ ===================== ===============================================
328
Zack Williams5d2d6782021-08-26 13:08:44 -0700329P4 UPF Testing BoM
Zack Williams589ac232021-08-19 08:52:18 -0700330""""""""""""""""""
331
332============ ===================== ===============================================
333Quantity Type Description/Use
334============ ===================== ===============================================
3351 P4 Fabric Switch
3361 Management Switch Must be Layer 2/3 capable
Zack Williamsb7d45152022-03-11 09:37:34 -07003371 Management Router At least 1x 40GbE QSFP ports recommended
Zack Williams589ac232021-08-19 08:52:18 -07003381-3 Compute Servers Recommended at least 3 for Kubernetes HA
3392x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
Zack Williams2dfb6242021-08-24 09:19:00 -07003401 QSFP to 4x SFP+ DAC Split cable between Fabric and eNB
Zack Williams589ac232021-08-19 08:52:18 -07003411 (or more) eNB
3421x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
343 converter fabric to eNB
3441x #eNB PoE+ Injector Required unless using a PoE+ Switch
345Sufficient Cat6 Network Cabling Between all equipment
346============ ===================== ===============================================
347
Zack Williams5d2d6782021-08-26 13:08:44 -0700348P4 UPF Paired Leaves BoM
Zack Williams589ac232021-08-19 08:52:18 -0700349""""""""""""""""""""""""
350
351============ ===================== ===============================================
352Quantity Type Description/Use
353============ ===================== ===============================================
3542 P4 Fabric Switch
3551 Management Switch Must be Layer 2/3 capable
Zack Williamsb7d45152022-03-11 09:37:34 -07003561 Management Router 2x 40GbE QSFP ports recommended
Zack Williams589ac232021-08-19 08:52:18 -07003573 Compute Servers
3582 100GbE QSFP DAC cable Between Fabric switches
3592x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
Zack Williams2dfb6242021-08-24 09:19:00 -07003601 (or more) QSFP to 4x SFP+ DAC Split cable between Fabric and eNB
Zack Williams589ac232021-08-19 08:52:18 -07003611 (or more) eNB
3621x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
363 converter fabric to eNB
3641x #eNB PoE+ Injector Required unless using a PoE+ Switch
365Sufficient Cat6 Network Cabling Between all equipment
366============ ===================== ===============================================