blob: c6254885b8669a4f62a89ca06263a1235152096d [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
23found in the :doc:`Aether SD-Core Developer Guide </developer/sdcore>`. AiaB
24is 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 -
45for example, fabric switch connections can be made with using two cables, and
46configured 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
56At a minimum, the site must provide a public static IP address that can be used
57for the VPN connection. This can be behind NAT using port forwarding can be
58configured to the Aether Edge within the network.
59
60Additionally, for initial installation and setup and and managing
61updates to the edge sites, access via SSH (public key only) is required.
62
63BESS-based Network Topology
64---------------------------
65
66The :doc:`Software-only BESS UPF
67</edge_deployment/bess_upf_deployment>`, which can be used for deployments that
68do not have P4 switching hardware.
69
70.. image:: images/edge_mgmt_only.svg
71 :alt: BESS network topology
72
73
74BESS runs on an x86 compute server, and is deployed using Kubernetes. In
75production it requires a SR-IOV capable network card, and specific K8s CNIs to
76be used.
77
78The Management Server and Switch must be configured with multiple VLANs which
79provide subnets required for routing within the BESS UPF.
80
81P4-based Network Topology
82-------------------------
Zack Williams9026f532020-11-30 11:34:32 -070083
Zack Williams9026f532020-11-30 11:34:32 -070084If only a single P4 switch is used, the :doc:`Simple
Zack Williams1ae109e2021-07-27 11:17:04 -070085<trellis:supported-topology>` topology can be used, but provides no network
86redundancy:
Zack Williams9026f532020-11-30 11:34:32 -070087
Zack Williams1ae109e2021-07-27 11:17:04 -070088.. image:: images/edge_single.svg
Zack Williams589ac232021-08-19 08:52:18 -070089 :alt: Single Switch Topology
Zack Williams9026f532020-11-30 11:34:32 -070090
Zack Williams1ae109e2021-07-27 11:17:04 -070091If another switch is added, and a "Paired Leaves" (aka :doc:`Paired Switches
92<trellis:supported-topology>`) topology is used, which can tolerate the loss of
93a leaf switch and retain connections for all dual-homed devices. Single homed
94devices on the failed leaf would need another form of HA, for example,
95deploying multiple eNBs where some are connected to each leaf, and can provide
96radio coverage.:
Zack Williams9026f532020-11-30 11:34:32 -070097
Zack Williams1ae109e2021-07-27 11:17:04 -070098.. image:: images/edge_paired_leaves.svg
Zack Williams589ac232021-08-19 08:52:18 -070099 :alt: Paired Leaves Topology
Zack Williamse8c3b2c2021-02-01 12:47:28 -0700100
Zack Williams1ae109e2021-07-27 11:17:04 -0700101For larger deployments, a 2x2 fabric can be configured (aka :doc:`Single-Stage
102Leaf-Spine <trellis:supported-topology>`), which provide Spine redundancy, but
103does not support dual-homing of devices.
104
105.. image:: images/edge_2x2.svg
Zack Williams589ac232021-08-19 08:52:18 -0700106 :alt: 2x2 Fabric Topology
Zack Williams1ae109e2021-07-27 11:17:04 -0700107
Zack Williams589ac232021-08-19 08:52:18 -0700108Other topologies as described in the :doc:`Trellis Documentaiton
109<trellis:supported-topology>` can possibly be used, but are not actively being
110tested at this time.
Zack Williams1ae109e2021-07-27 11:17:04 -0700111
Zack Williams589ac232021-08-19 08:52:18 -0700112Additionally, the P4-based topologies can support running both the BESS UPF and
113P4 UPF on the same hardware at the same time if desired (for testing, or
114simultaneous 4G/5G support).
Zack Williamse8c3b2c2021-02-01 12:47:28 -0700115
Zack Williams589ac232021-08-19 08:52:18 -0700116Hardware Descriptions
117---------------------
Zack Williamse8c3b2c2021-02-01 12:47:28 -0700118
Zack Williams589ac232021-08-19 08:52:18 -0700119Fabric Switch
120"""""""""""""
Zack Williams9026f532020-11-30 11:34:32 -0700121
Zack Williams589ac232021-08-19 08:52:18 -0700122To use the P4 UPF, you must use fabric switches based on the `Intel (previously
123Barefoot) Tofino chipset
124<https://www.intel.com/content/www/us/en/products/network-io/programmable-ethernet-switch/tofino-series.html>`_.
125There are two variants of this switching chipset, with different resources and
126capabilities.
Zack Williams9026f532020-11-30 11:34:32 -0700127
Zack Williams589ac232021-08-19 08:52:18 -0700128Aether currently supports these P4 switch models:
Zack Williams9026f532020-11-30 11:34:32 -0700129
130* `EdgeCore Wedge100BF-32X
Zack Williams589ac232021-08-19 08:52:18 -0700131 <https://www.edge-core.com/productsInfo.php?cls=1&cls2=180&cls3=181&id=335>`_,
132 a Dual Pipe Tofino ASIC
Zack Williams9026f532020-11-30 11:34:32 -0700133
134* `EdgeCore Wedge100BF-32QS
Zack Williams589ac232021-08-19 08:52:18 -0700135 <https://www.edge-core.com/productsInfo.php?cls=1&cls2=180&cls3=181&id=770>`_,
136 a Quad Pipe Tofino ASIC, which has more chip resources and a faster embedded
137 system with more memory and storage.
Zack Williams9026f532020-11-30 11:34:32 -0700138
Zack Williams589ac232021-08-19 08:52:18 -0700139The P4 UPF and SD-Fabric features run within the constraints of the Dual Pipe
140system for production deployments, but for development of features in P4, the
141larger capacity of the Quad Pipe is desirable.
142
143These switches feature 32 QSFP+ ports capable of running in 100GbE, 40GbE, or
1444x 10GbE mode (using a split DAC or fiber cable) and have a 1GbE management
145network interface.
146
147See also the :ref:`Rackmount of Eqiupment
148<edge_deployment/site_planning:rackmount of equipment>` for how the Fabric
149switches should be rackmounted to ensure proper airflow within a rack.
150
151Compute Server
152""""""""""""""
153
Zack Williams1ae109e2021-07-27 11:17:04 -0700154These servers run Kubernetes, Aether connectivity apps, and edge applications.
Zack Williams9026f532020-11-30 11:34:32 -0700155
Zack Williams1ae109e2021-07-27 11:17:04 -0700156Minimum hardware specifications:
Zack Williams9026f532020-11-30 11:34:32 -0700157
158* AMD64 (aka x86-64) architecture
Zack Williams9026f532020-11-30 11:34:32 -0700159
Zack Williams589ac232021-08-19 08:52:18 -0700160* 8 CPU Cores (minimum), 16-64 recommended
Zack Williams9026f532020-11-30 11:34:32 -0700161
Zack Williams589ac232021-08-19 08:52:18 -0700162* 32GB of RAM (minimum), 128GB+ recommended
163
164* 250 GB of storage (SSD preferred), 1TB+ recommended
165
166* 2x 40GbE or 100GbE Ethernet network card to P4 switches, with DPDK support
167
168* 1x 1GbE management network port. 2x required for BESS UPF.
169
170Optional but highly recommended:
171
172* Lights out management support, with either a shared or separate NIC and
173 support for HTML5 console access.
Zack Williams9026f532020-11-30 11:34:32 -0700174
175Management Server
176"""""""""""""""""
177
178One management server is required, which must have at least two 1GbE network
Zack Williams1ae109e2021-07-27 11:17:04 -0700179ports, and runs a variety of network services to bootstrap and support the
180edge.
Zack Williams9026f532020-11-30 11:34:32 -0700181
Zack Williams1ae109e2021-07-27 11:17:04 -0700182In current Aether deployments, the Management Server also functions as a router
183and VPN gateway back to Aether Central.
Zack Williams9026f532020-11-30 11:34:32 -0700184
Zack Williams1ae109e2021-07-27 11:17:04 -0700185Minimum hardware specifications:
Zack Williams9026f532020-11-30 11:34:32 -0700186
Zack Williams1ae109e2021-07-27 11:17:04 -0700187* AMD64 (aka x86-64) architecture
Zack Williams589ac232021-08-19 08:52:18 -0700188
189* 4 CPU cores, or more
190
191* 8GB of RAM, or more
192
193* 120GB of storage (SSD preferred), or more
194
Zack Williams1ae109e2021-07-27 11:17:04 -0700195* 2x 1GbE Network interfaces (one for WAN, one to the management switch)
196
197Optional:
198
Zack Williams589ac232021-08-19 08:52:18 -0700199* 10GbE or 40GbE network card with DPDK support to connect to fabric switch
200
201* Lights out management support, with either a shared or separate NIC and
202 support for HTML5 console access.
Zack Williams9026f532020-11-30 11:34:32 -0700203
204Management Switch
205"""""""""""""""""
206
Zack Williams1ae109e2021-07-27 11:17:04 -0700207A managed L2/L3 management switch is required to provide connectivity within
208the cluster for bootstrapping equipment. It is configured with multiple VLANs
209to separate the management plane, fabric, and the out-of-band and lights out
210management connections on the equipment.
Zack Williams9026f532020-11-30 11:34:32 -0700211
Zack Williams1ae109e2021-07-27 11:17:04 -0700212Minimum requirements:
213
Zack Williams589ac232021-08-19 08:52:18 -0700214* 8x 1GbE Copper ports (adjust to provide a sufficient number for every copper
215 1GbE port in the system)
Zack Williams1ae109e2021-07-27 11:17:04 -0700216
217* 2x 10GbE SFP+ or 40GbE QSFP interfaces (only required if management server
218 does not have a network card with these ports)
219
220* Managed via SSH or web interface
221
Zack Williams589ac232021-08-19 08:52:18 -0700222* Support the LLDP protocol for debugging cabling issues
223
Zack Williams1ae109e2021-07-27 11:17:04 -0700224* Capable supporting VLANs on each port, with both tagged and untagged traffic
225 sharing a port.
226
Zack Williams589ac232021-08-19 08:52:18 -0700227
Zack Williams1ae109e2021-07-27 11:17:04 -0700228Optional:
229
Zack Williams589ac232021-08-19 08:52:18 -0700230* PoE+ support, which can power eNB and monitoring hardware, if using
231 Management switch to host these devices.
Zack Williams1ae109e2021-07-27 11:17:04 -0700232
233eNB Radio
234"""""""""
235
236The LTE eNB used in most deployments is the `Sercomm P27-SCE4255W Indoor CBRS
Zack Williams589ac232021-08-19 08:52:18 -0700237Small Cell
238<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 -0700239
Zack Williams589ac232021-08-19 08:52:18 -0700240While this unit ships with a separate power brick, it also supports PoE+ power
241on the WAN port, which provides deployment location flexibility. Either a PoE+
242capable switch or PoE+ power injector should be purchased.
Zack Williams1ae109e2021-07-27 11:17:04 -0700243
Zack Williams589ac232021-08-19 08:52:18 -0700244If connecting directly to the fabric switch through a QSFP to 4x SFP+ splitter
245cable, a 10GbE SFP+ to 1GbE Copper media converter should be purchased. The `FS
246UMC-1S1T <https://www.fs.com/products/101476.html>`_ has been used for this
247purpose successfully.
248
249Alternatively, the Fabric's 10GbE SFP+ could be connected to another switch
250(possibly the Management Switch) which would adapt the speed difference, and
251provide PoE+ power, and power control for remote manageability.
252
253
254Testing Hardware
Zack Williams1ae109e2021-07-27 11:17:04 -0700255----------------
256
257The following hardware is used to test the network and determine uptime of
258edges. It's currently required, to properly validate that an edge site is
259functioning properly.
Zack Williams9026f532020-11-30 11:34:32 -0700260
Hyunsun Moon2b626762021-03-26 16:21:14 -0700261Monitoring Raspberry Pi and CBRS dongle
262"""""""""""""""""""""""""""""""""""""""
263
Zack Williams1ae109e2021-07-27 11:17:04 -0700264One pair of Raspberry Pi and CBRS band supported LTE dongle is required to
265monitor the connectivity service at the edge.
Hyunsun Moon2b626762021-03-26 16:21:14 -0700266
267The Raspberry Pi model used in Pronto is a `Raspberry Pi 4 Model B/2GB
268<https://www.pishop.us/product/raspberry-pi-4-model-b-2gb/>`_
269
270Which is configured with:
271
272* HighPi Raspberry Pi case for P4
Zack Williams589ac232021-08-19 08:52:18 -0700273
274* Either a:
275
276 * PoE Hat used with a PoE switch (recommended, allows remote power control)
277
278 * USB-C Power Supply
279
Hyunsun Moon2b626762021-03-26 16:21:14 -0700280* MicroSD Card with Raspbian - 16GB
281
Zack Williams1ae109e2021-07-27 11:17:04 -0700282One LTE dongle model supported in Aether is the `Sercomm Adventure Wingle
Hyunsun Moon2b626762021-03-26 16:21:14 -0700283<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 -0700284
285
286Example BoMs
287------------
288
289To help provision a site, a few example Bill of Materials (BoM) are given
290below, which reference the hardware descriptions given above.
291
292Some quantities are dependent on other quantities - for example, the number of
293DAC cables frequently depends on the number of servers in use.
294
295These BOMs do not include UE devices. It's recommended that the testing
296hardware given above be added to every BoM for monitoring purposes.
297
298
299BESS UPF Testing BOM
300""""""""""""""""""""
301
302The following is the minimum BoM required to run Aether with the BESS UPF.
303
304============ ===================== ===============================================
305Quantity Type Purpose
306============ ===================== ===============================================
3071 Management Switch Must be Layer 2/3 capable for BESS VLANs
3081 Management Server
3091-3 Compute Servers Recommended at least 3 for Kubernetes HA
3101 (or more) eNB
3111x #eNB PoE+ Injector Required unless using a PoE+ Switch
312Sufficient Cat6 Network Cabling Between all equipment
313============ ===================== ===============================================
314
315P4 UPF Testing BOM
316""""""""""""""""""
317
318============ ===================== ===============================================
319Quantity Type Description/Use
320============ ===================== ===============================================
3211 P4 Fabric Switch
3221 Management Switch Must be Layer 2/3 capable
3231 Management Server At least 1x 40GbE QSFP ports recommended
3241-3 Compute Servers Recommended at least 3 for Kubernetes HA
3252x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
3261 QSFP to 4x SFP+ DAC Splitter between Fabric and eNB
3271 (or more) eNB
3281x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
329 converter fabric to eNB
3301x #eNB PoE+ Injector Required unless using a PoE+ Switch
331Sufficient Cat6 Network Cabling Between all equipment
332============ ===================== ===============================================
333
334P4 UPF Paired Leaves BOM
335""""""""""""""""""""""""
336
337============ ===================== ===============================================
338Quantity Type Description/Use
339============ ===================== ===============================================
3402 P4 Fabric Switch
3411 Management Switch Must be Layer 2/3 capable
3421 Management Server 2x 40GbE QSFP ports recommended
3433 Compute Servers
3442 100GbE QSFP DAC cable Between Fabric switches
3452x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
3461 (or more) QSFP to 4x SFP+ DAC Splitter between Fabric and eNB
3471 (or more) eNB
3481x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
349 converter fabric to eNB
3501x #eNB PoE+ Injector Required unless using a PoE+ Switch
351Sufficient Cat6 Network Cabling Between all equipment
352============ ===================== ===============================================
353
354
355P4 UPF 2x2 Leaf Spine Fabric BOM
356""""""""""""""""""""""""""""""""
357
358============ ===================== ===============================================
359Quantity Type Description/Use
360============ ===================== ===============================================
3614 P4 Fabric Switch
3621 Management Switch Must be Layer 2/3 capable
3631 Management Server 2x 40GbE QSFP ports recommended
3643 Compute Servers
3658 100GbE QSFP DAC cable Between Fabric switches
3662x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
3671 (or more) QSFP to 4x SFP+ DAC Splitter between Fabric and eNB
3681 (or more) eNB
3691x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
370 converter fabric to eNB
3711x #eNB PoE+ Injector Required unless using a PoE+ Switch
372Sufficient Cat6 Network Cabling Between all equipment
373============ ===================== ===============================================
374