blob: ff61e7f44dd45fc422036e8dacd9171142632324 [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
57Management Server. 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
69The Management Server needs to have an IP address assigned to it, which can be either:
70
71* A public static IP address
72
73* Behind NAT with port forwarding with the ports listed above forwarded to the
74 Management Server
75
76In either case, the Management Server's IP address should be assigned using
77a reserved DHCP if possible, which eases the installation process.
Zack Williams589ac232021-08-19 08:52:18 -070078
79BESS-based Network Topology
80---------------------------
81
Zack Williams5d2d6782021-08-26 13:08:44 -070082The :doc:`Software-only BESS UPF </edge_deployment/bess_upf_deployment>`, is
83supported for production use in the Aether 1.5 release. This UPF can be used
84for deployments that do not have P4 switching hardware.
Zack Williams589ac232021-08-19 08:52:18 -070085
86.. image:: images/edge_mgmt_only.svg
87 :alt: BESS network topology
88
89
Zack Williams2dfb6242021-08-24 09:19:00 -070090`BESS <https://github.com/NetSys/bess>`_ runs on an x86 compute server, and is
91deployed using Kubernetes. In production it requires an SR-IOV capable network
92card, and specific K8s CNIs to be used.
Zack Williams589ac232021-08-19 08:52:18 -070093
Zack Williams2dfb6242021-08-24 09:19:00 -070094The Management Server and Switch must be configured with multiple VLANs and
95subnets with routing required for the BESS UPF.
Zack Williams589ac232021-08-19 08:52:18 -070096
97P4-based Network Topology
98-------------------------
Zack Williams9026f532020-11-30 11:34:32 -070099
Zack Williams5d2d6782021-08-26 13:08:44 -0700100.. note::
101
102 The P4-based SD-Fabric UPF is an advanced feature and is of beta quality in
103 the Aether 1.5 release. It requires one or more P4-capable switches using
104 the Tofino chipset.
105
Zack Williams9026f532020-11-30 11:34:32 -0700106If only a single P4 switch is used, the :doc:`Simple
Zack Williams1ae109e2021-07-27 11:17:04 -0700107<trellis:supported-topology>` topology can be used, but provides no network
108redundancy:
Zack Williams9026f532020-11-30 11:34:32 -0700109
Zack Williams1ae109e2021-07-27 11:17:04 -0700110.. image:: images/edge_single.svg
Zack Williams589ac232021-08-19 08:52:18 -0700111 :alt: Single Switch Topology
Zack Williams9026f532020-11-30 11:34:32 -0700112
Zack Williams2dfb6242021-08-24 09:19:00 -0700113If another switch is added, the "Paired Leaves" (aka :doc:`Paired Switches
114<trellis:supported-topology>`) topology can be used, which can tolerate the
115loss of a leaf switch and still retain connections for all dual-homed devices.
116Single homed devices on the failed leaf would lose their connections (the
117single-homed server is shown for reference, and not required). If HA is needed
118for single-homed devices, one option would be to deploying multiple of those
119devices in a way that provides that redundancy - for example, multiple eNBs
120where some are connected to each leaf and have overlapping radio coverage:
Zack Williams9026f532020-11-30 11:34:32 -0700121
Zack Williams1ae109e2021-07-27 11:17:04 -0700122.. image:: images/edge_paired_leaves.svg
Zack Williams589ac232021-08-19 08:52:18 -0700123 :alt: Paired Leaves Topology
Zack Williamse8c3b2c2021-02-01 12:47:28 -0700124
Zack Williams1ae109e2021-07-27 11:17:04 -0700125For larger deployments, a 2x2 fabric can be configured (aka :doc:`Single-Stage
126Leaf-Spine <trellis:supported-topology>`), which provide Spine redundancy, but
127does not support dual-homing of devices.
128
129.. image:: images/edge_2x2.svg
Zack Williams589ac232021-08-19 08:52:18 -0700130 :alt: 2x2 Fabric Topology
Zack Williams1ae109e2021-07-27 11:17:04 -0700131
Zack Williams2dfb6242021-08-24 09:19:00 -0700132Other topologies as described in the :doc:`Trellis Documentation
Zack Williams589ac232021-08-19 08:52:18 -0700133<trellis:supported-topology>` can possibly be used, but are not actively being
134tested at this time.
Zack Williams1ae109e2021-07-27 11:17:04 -0700135
Zack Williams589ac232021-08-19 08:52:18 -0700136Additionally, the P4-based topologies can support running both the BESS UPF and
137P4 UPF on the same hardware at the same time if desired (for testing, or
138simultaneous 4G/5G support).
Zack Williamse8c3b2c2021-02-01 12:47:28 -0700139
Zack Williams589ac232021-08-19 08:52:18 -0700140Hardware Descriptions
141---------------------
Zack Williamse8c3b2c2021-02-01 12:47:28 -0700142
Zack Williams589ac232021-08-19 08:52:18 -0700143Fabric Switch
144"""""""""""""
Zack Williams9026f532020-11-30 11:34:32 -0700145
Zack Williams589ac232021-08-19 08:52:18 -0700146To use the P4 UPF, you must use fabric switches based on the `Intel (previously
147Barefoot) Tofino chipset
148<https://www.intel.com/content/www/us/en/products/network-io/programmable-ethernet-switch/tofino-series.html>`_.
149There are two variants of this switching chipset, with different resources and
150capabilities.
Zack Williams9026f532020-11-30 11:34:32 -0700151
Zack Williams589ac232021-08-19 08:52:18 -0700152Aether currently supports these P4 switch models:
Zack Williams9026f532020-11-30 11:34:32 -0700153
154* `EdgeCore Wedge100BF-32X
Zack Williams589ac232021-08-19 08:52:18 -0700155 <https://www.edge-core.com/productsInfo.php?cls=1&cls2=180&cls3=181&id=335>`_,
156 a Dual Pipe Tofino ASIC
Zack Williams9026f532020-11-30 11:34:32 -0700157
158* `EdgeCore Wedge100BF-32QS
Zack Williams589ac232021-08-19 08:52:18 -0700159 <https://www.edge-core.com/productsInfo.php?cls=1&cls2=180&cls3=181&id=770>`_,
160 a Quad Pipe Tofino ASIC, which has more chip resources and a faster embedded
161 system with more memory and storage.
Zack Williams9026f532020-11-30 11:34:32 -0700162
Zack Williams589ac232021-08-19 08:52:18 -0700163The P4 UPF and SD-Fabric features run within the constraints of the Dual Pipe
164system for production deployments, but for development of features in P4, the
165larger capacity of the Quad Pipe is desirable.
166
167These switches feature 32 QSFP+ ports capable of running in 100GbE, 40GbE, or
1684x 10GbE mode (using a split DAC or fiber cable) and have a 1GbE management
169network interface.
170
Zack Williams2dfb6242021-08-24 09:19:00 -0700171See also the :ref:`Rackmount of Equipment
Zack Williams589ac232021-08-19 08:52:18 -0700172<edge_deployment/site_planning:rackmount of equipment>` for how the Fabric
173switches should be rackmounted to ensure proper airflow within a rack.
174
175Compute Server
176""""""""""""""
177
Zack Williams1ae109e2021-07-27 11:17:04 -0700178These servers run Kubernetes, Aether connectivity apps, and edge applications.
Zack Williams9026f532020-11-30 11:34:32 -0700179
Zack Williams1ae109e2021-07-27 11:17:04 -0700180Minimum hardware specifications:
Zack Williams9026f532020-11-30 11:34:32 -0700181
182* AMD64 (aka x86-64) architecture
Zack Williams9026f532020-11-30 11:34:32 -0700183
Zack Williams2dfb6242021-08-24 09:19:00 -0700184* 8 CPU Cores (minimum), 16+ recommended
Zack Williams9026f532020-11-30 11:34:32 -0700185
Zack Williams589ac232021-08-19 08:52:18 -0700186* 32GB of RAM (minimum), 128GB+ recommended
187
188* 250 GB of storage (SSD preferred), 1TB+ recommended
189
190* 2x 40GbE or 100GbE Ethernet network card to P4 switches, with DPDK support
191
Zack Williams2dfb6242021-08-24 09:19:00 -0700192* 1x 1GbE management network port, with PXE boot support. 2x required for BESS
193 UPF.
Zack Williams589ac232021-08-19 08:52:18 -0700194
195Optional but highly recommended:
196
197* Lights out management support, with either a shared or separate NIC and
198 support for HTML5 console access.
Zack Williams9026f532020-11-30 11:34:32 -0700199
200Management Server
201"""""""""""""""""
202
203One management server is required, which must have at least two 1GbE network
Zack Williams1ae109e2021-07-27 11:17:04 -0700204ports, and runs a variety of network services to bootstrap and support the
205edge.
Zack Williams9026f532020-11-30 11:34:32 -0700206
Zack Williams1ae109e2021-07-27 11:17:04 -0700207In current Aether deployments, the Management Server also functions as a router
208and VPN gateway back to Aether Central.
Zack Williams9026f532020-11-30 11:34:32 -0700209
Zack Williams1ae109e2021-07-27 11:17:04 -0700210Minimum hardware specifications:
Zack Williams9026f532020-11-30 11:34:32 -0700211
Zack Williams1ae109e2021-07-27 11:17:04 -0700212* AMD64 (aka x86-64) architecture
Zack Williams589ac232021-08-19 08:52:18 -0700213
214* 4 CPU cores, or more
215
216* 8GB of RAM, or more
217
218* 120GB of storage (SSD preferred), or more
219
Zack Williams2dfb6242021-08-24 09:19:00 -0700220* 2x 1GbE Network interfaces (one for WAN, one to the management switch) with
221 PXE boot support.
Zack Williams1ae109e2021-07-27 11:17:04 -0700222
223Optional:
224
Zack Williams589ac232021-08-19 08:52:18 -0700225* 10GbE or 40GbE network card with DPDK support to connect to fabric switch
226
227* Lights out management support, with either a shared or separate NIC and
228 support for HTML5 console access.
Zack Williams9026f532020-11-30 11:34:32 -0700229
230Management Switch
231"""""""""""""""""
232
Zack Williams1ae109e2021-07-27 11:17:04 -0700233A managed L2/L3 management switch is required to provide connectivity within
234the cluster for bootstrapping equipment. It is configured with multiple VLANs
235to separate the management plane, fabric, and the out-of-band and lights out
236management connections on the equipment.
Zack Williams9026f532020-11-30 11:34:32 -0700237
Zack Williams1ae109e2021-07-27 11:17:04 -0700238Minimum requirements:
239
Zack Williams2dfb6242021-08-24 09:19:00 -0700240* 8x 1GbE Copper Ethernet ports (adjust to provide a sufficient number for
241 every copper 1GbE port in the system)
Zack Williams1ae109e2021-07-27 11:17:04 -0700242
243* 2x 10GbE SFP+ or 40GbE QSFP interfaces (only required if management server
244 does not have a network card with these ports)
245
246* Managed via SSH or web interface
247
Zack Williams2dfb6242021-08-24 09:19:00 -0700248* LLDP protocol support, for debugging cabling issues
Zack Williams589ac232021-08-19 08:52:18 -0700249
Zack Williams1ae109e2021-07-27 11:17:04 -0700250* Capable supporting VLANs on each port, with both tagged and untagged traffic
251 sharing a port.
252
Zack Williams589ac232021-08-19 08:52:18 -0700253
Zack Williams1ae109e2021-07-27 11:17:04 -0700254Optional:
255
Zack Williams589ac232021-08-19 08:52:18 -0700256* PoE+ support, which can power eNB and monitoring hardware, if using
257 Management switch to host these devices.
Zack Williams1ae109e2021-07-27 11:17:04 -0700258
259eNB Radio
260"""""""""
261
262The LTE eNB used in most deployments is the `Sercomm P27-SCE4255W Indoor CBRS
Zack Williams589ac232021-08-19 08:52:18 -0700263Small Cell
264<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 -0700265
Zack Williams589ac232021-08-19 08:52:18 -0700266While this unit ships with a separate power brick, it also supports PoE+ power
267on the WAN port, which provides deployment location flexibility. Either a PoE+
268capable switch or PoE+ power injector should be purchased.
Zack Williams1ae109e2021-07-27 11:17:04 -0700269
Zack Williams2dfb6242021-08-24 09:19:00 -0700270If connecting directly to the fabric switch through a QSFP to 4x SFP+ split
Zack Williams589ac232021-08-19 08:52:18 -0700271cable, a 10GbE SFP+ to 1GbE Copper media converter should be purchased. The `FS
272UMC-1S1T <https://www.fs.com/products/101476.html>`_ has been used for this
273purpose successfully.
274
275Alternatively, the Fabric's 10GbE SFP+ could be connected to another switch
276(possibly the Management Switch) which would adapt the speed difference, and
277provide PoE+ power, and power control for remote manageability.
278
279
280Testing Hardware
Zack Williams1ae109e2021-07-27 11:17:04 -0700281----------------
282
283The following hardware is used to test the network and determine uptime of
Zack Williams2dfb6242021-08-24 09:19:00 -0700284edges. It is currently required, to properly validate that an edge site is
Zack Williams1ae109e2021-07-27 11:17:04 -0700285functioning properly.
Zack Williams9026f532020-11-30 11:34:32 -0700286
Hyunsun Moon2b626762021-03-26 16:21:14 -0700287Monitoring Raspberry Pi and CBRS dongle
288"""""""""""""""""""""""""""""""""""""""
289
Zack Williams1ae109e2021-07-27 11:17:04 -0700290One pair of Raspberry Pi and CBRS band supported LTE dongle is required to
291monitor the connectivity service at the edge.
Hyunsun Moon2b626762021-03-26 16:21:14 -0700292
Zack Williams2dfb6242021-08-24 09:19:00 -0700293The Raspberry Pi model used in Aether is a `Raspberry Pi 4 Model B/2GB
Hyunsun Moon2b626762021-03-26 16:21:14 -0700294<https://www.pishop.us/product/raspberry-pi-4-model-b-2gb/>`_
295
296Which is configured with:
297
Zack Williams2dfb6242021-08-24 09:19:00 -0700298* Raspberry Pi case (HiPi is recommended for PoE Hat)
Zack Williams589ac232021-08-19 08:52:18 -0700299
Zack Williams2dfb6242021-08-24 09:19:00 -0700300* A power source, either one of:
Zack Williams589ac232021-08-19 08:52:18 -0700301
302 * PoE Hat used with a PoE switch (recommended, allows remote power control)
303
304 * USB-C Power Supply
305
Hyunsun Moon2b626762021-03-26 16:21:14 -0700306* MicroSD Card with Raspbian - 16GB
307
Zack Williams1ae109e2021-07-27 11:17:04 -0700308One LTE dongle model supported in Aether is the `Sercomm Adventure Wingle
Hyunsun Moon2b626762021-03-26 16:21:14 -0700309<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 -0700310
311
312Example BoMs
313------------
314
315To help provision a site, a few example Bill of Materials (BoM) are given
316below, which reference the hardware descriptions given above.
317
318Some quantities are dependent on other quantities - for example, the number of
319DAC cables frequently depends on the number of servers in use.
320
Zack Williams5d2d6782021-08-26 13:08:44 -0700321These BoMs do not include UE devices. It's recommended that the testing
Zack Williams589ac232021-08-19 08:52:18 -0700322hardware given above be added to every BoM for monitoring purposes.
323
324
Zack Williams5d2d6782021-08-26 13:08:44 -0700325BESS UPF Testing BoM
Zack Williams589ac232021-08-19 08:52:18 -0700326""""""""""""""""""""
327
328The following is the minimum BoM required to run Aether with the BESS UPF.
329
330============ ===================== ===============================================
331Quantity Type Purpose
332============ ===================== ===============================================
3331 Management Switch Must be Layer 2/3 capable for BESS VLANs
3341 Management Server
3351-3 Compute Servers Recommended at least 3 for Kubernetes HA
3361 (or more) eNB
3371x #eNB PoE+ Injector Required unless using a PoE+ Switch
338Sufficient Cat6 Network Cabling Between all equipment
339============ ===================== ===============================================
340
Zack Williams5d2d6782021-08-26 13:08:44 -0700341P4 UPF Testing BoM
Zack Williams589ac232021-08-19 08:52:18 -0700342""""""""""""""""""
343
344============ ===================== ===============================================
345Quantity Type Description/Use
346============ ===================== ===============================================
3471 P4 Fabric Switch
3481 Management Switch Must be Layer 2/3 capable
3491 Management Server At least 1x 40GbE QSFP ports recommended
3501-3 Compute Servers Recommended at least 3 for Kubernetes HA
3512x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
Zack Williams2dfb6242021-08-24 09:19:00 -07003521 QSFP to 4x SFP+ DAC Split cable between Fabric and eNB
Zack Williams589ac232021-08-19 08:52:18 -07003531 (or more) eNB
3541x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
355 converter fabric to eNB
3561x #eNB PoE+ Injector Required unless using a PoE+ Switch
357Sufficient Cat6 Network Cabling Between all equipment
358============ ===================== ===============================================
359
Zack Williams5d2d6782021-08-26 13:08:44 -0700360P4 UPF Paired Leaves BoM
Zack Williams589ac232021-08-19 08:52:18 -0700361""""""""""""""""""""""""
362
363============ ===================== ===============================================
364Quantity Type Description/Use
365============ ===================== ===============================================
3662 P4 Fabric Switch
3671 Management Switch Must be Layer 2/3 capable
3681 Management Server 2x 40GbE QSFP ports recommended
3693 Compute Servers
3702 100GbE QSFP DAC cable Between Fabric switches
3712x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
Zack Williams2dfb6242021-08-24 09:19:00 -07003721 (or more) QSFP to 4x SFP+ DAC Split cable between Fabric and eNB
Zack Williams589ac232021-08-19 08:52:18 -07003731 (or more) eNB
3741x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
375 converter fabric to eNB
3761x #eNB PoE+ Injector Required unless using a PoE+ Switch
377Sufficient Cat6 Network Cabling Between all equipment
378============ ===================== ===============================================
379
380
Zack Williams5d2d6782021-08-26 13:08:44 -0700381P4 UPF 2x2 Leaf Spine Fabric BoM
Zack Williams589ac232021-08-19 08:52:18 -0700382""""""""""""""""""""""""""""""""
383
384============ ===================== ===============================================
385Quantity Type Description/Use
386============ ===================== ===============================================
3874 P4 Fabric Switch
3881 Management Switch Must be Layer 2/3 capable
3891 Management Server 2x 40GbE QSFP ports recommended
3903 Compute Servers
3918 100GbE QSFP DAC cable Between Fabric switches
3922x #Server 40GbE QSFP DAC cable Between Compute, Management, and Fabric Switch
Zack Williams2dfb6242021-08-24 09:19:00 -07003931 (or more) QSFP to 4x SFP+ DAC Split cable between Fabric and eNB
Zack Williams589ac232021-08-19 08:52:18 -07003941 (or more) eNB
3951x #eNB 10GbE to 1GbE Media Required unless using switch to convert from
396 converter fabric to eNB
3971x #eNB PoE+ Injector Required unless using a PoE+ Switch
398Sufficient Cat6 Network Cabling Between all equipment
399============ ===================== ===============================================
400