System approach While we were working on completing our Private 5G book, we were finalizing the Hands-On Experience Appendix. This required a little more, um, hands-on work than we would normally do, which provided the impetus for this column.
Our book Private 5G is based on our experience designing and implementing a Kubernetes-based open source cloud that hosts a managed 5G connectivity service in addition to other edge tasks.
Edge applications can use local leakage, meaning they can communicate directly with IoT devices (and the like) without their packets leaving the enterprise. This on-premises connectivity-as-a-Service is then offered as a managed cloud service (rather than a traditional telco service), including an API and dashboard that makes it easy to monitor and control connectivity on the fly. We hope that Private 5G will be as easy to deploy and use as Wi-Fi is today.
(For the reader ready to argue that Wi-Fi is sufficient for all edge use cases, we’ll leave the 5G vs Wi-Fi debate for another time.)
It should come as no surprise that designing/implementing Private 5G is not quite the same as deploying/operating Private 5G, and since the main purpose of the appendix is to help readers with the latter, we’ve decided to take the system we’ve created. for a test drive. But before we get to that, there’s an important qualification. The system we’ve been talking about, Aether, is not a collection of isolated components that leave the dirty work of operationalization to someone else.
Aether contains all the integration glue needed to create an operating system to support live traffic, a topic we’ve written a whole book about, but that doesn’t mean it’s easy for ivory tower architects like Bruce and I to raise Aether without a little friction . Some of the challenges were our missteps, but some point to the inherent difficulties in the telco-to-cloud transition that Aether is trying to catalyze.
Hardware
The first step is getting a small 5G mobile radio, which isn’t exactly available at Best Buy or the closest equivalent these days. We used a Bridgestone Indoor 5G Sub-6G Small Cell from Sercomm. We also have experience with the Sercomms 4G counterpart (which is cheaper and easier to find).
You’ll also need a User Equipment Starter Kit, or UE, and although several smartphones support CBRS (eg iPhone 11, Google Pixel 4 or newer), we recommend including a 5G dongle that can be connected to the Raspberry Pi. . Getting 5G hardware is still a problem today, but it’s likely a short-term situation.
The next piece of hardware you’ll need is a server (or VM) to run Aether on, but the requirements aren’t too steep (quad-core, 12GB RAM, running Ubuntu 20.04 or 22.04). Note that the approach I describe uses the CBRS spectrum that is allocated in the US; other countries are in various stages of setting similar quotas. You will have to do your own research there. In the UK you will probably need to speak to Ofcom.
Settings
In the second step, 5G is more unfamiliar to anyone who has installed a Wi-Fi AP: the configuration of a small mobile radio. It has three parts. The first part is setting parameters related to RF, which I am not at all qualified to do. Their names are mysterious (eg FreqSsb, Arfcn), their settings are seemingly arbitrary (eg 3609120, 643356) and the formulas for their calculation are not exactly intuitive:
These (and other) parameters are related to the control the operator has over how the available frequency band is used, which is part of the value that 5G brings. Obviously I still have a lot to learn, but thankfully the default defaults work. The other part is connecting the small cell to the local area network, which is simple, only complicated by the fact that the radio has two 802.3 ports: one known as WAN (but labeled 2.5G on a Sercomm 5G small cell) and the other known as LAN (but labeled 1G on Sercomm 5G small cell). The WAN port is how the small cell connects to the internet (indirectly through the Mobile Core, which you’ll get to in a moment).
The LAN port is used to connect the radio to the management network, which is worth noting because eventually you’ll need to learn TR-069/TR-098 (instead of SNMP/MIB) since you’ll technically be managing on-prem telco devices instead of internet devices per the IETF . There is also an O1 Management interface, which is O-RAN’s approach to managing RAN elements, but I haven’t had a chance to use it yet. It’s probably better to have too many programming interfaces than too few, but I could do everything I needed through the dashboard, which is enough to get started.
The third part is configuring the Spectrum Allocation Server (SAS), which is responsible for managing access to the three levels of CBRS spectrum or whatever frequency band you are using. You’ll need to familiarize yourself with the SAS requirements and get credentials from the SAS provider (we use Google) if you want to get past turning it on and see if it starts. (You’ll also need to attach a GPS antenna, which the radio needs to tell SAS its exact location.)
SIM city
Step three is interesting because it has to do with how you assemble a system from building block components. As I mentioned earlier, the mobile cellular network defines a global naming scheme that allows any two devices connected to the RAN to communicate with each other. You need to configure both the small mobile radio and the Mobile Core software suite so that they know how to join this global network.
This means defining the Mobile Country Code (MCC) and Mobile Network Code (MNC) you plan to use. This MCC/MNC pair forms the Public Land Mobile Network (PLMN) code, where we used two different IDs in different settings: 315010 created from MCC=315 (US) and MNC=010 (CBRS) and 00101 created from MCC=001 (TEST ) and MNC=01 (TEST). And since you’ll technically be the MNO responsible for the private 5G network you roll out, you’ll also need to burn SIM cards to be inserted into all UEs. SIM cards contain a unique identifier (called an IMSI), which is a 15-digit number with a PLMN code as a prefix.
(You can buy a 5G SIM writer on Amazon, where one product description reads: PLS Kind Note: The cards will be provided by professional engineers, PLS be professional, you must have sim card knowledge, if you don’t have it, PLS don’t buy it!)
Back to normal
Finally, in step four, you’ll be back in familiar IP-land, but your ability to juggle IP subnets, Linux bridges, and iptable rules will be taxed to the max. I won’t go into all the details and your mileage will vary depending on how deeply you want to integrate the RAN into your enterprise network, but by my count there are up to seven subnets in play.
This is partly because the Mobile Core is implemented in Kubernetes (with its own set of intra-cluster and service-visible addresses), partly because the backhaul that connects the small mobile radios to the Mobile Core is an overlay network (for example, running on your local enterprise network) and partly because the forwarding plane of the mobile core, the user plane function (UPF) running as a Kubernetes-hosted microservice is itself an IP router that forwards packets between the RAN and the rest. internet. You will definitely find that access to diagnostic tools like ping, traceroute and tcpdump is essential (which is one of the reasons we recommend connecting at least one Pi+Dongle UE).
I am sure that Wi-Fi configuration has never been so complicated. To some extent, this may be due to where the line is drawn between customer and provider: telcos try to keep the end system they sell to subscribers simple, but have embraced the operational complexity of the network equipment (such as base stations) they manage.
In contrast, anyone who buys a Wi-Fi AP from a vendor assumes that it will be easy to install. One might expect that in time small cells deployed in businesses (and perhaps homes) could be pre-configured before shipping or automatically configured after installation, but our goal in the book is to demystify 5G, including all the configuration steps.
If you’re an enterprise system administrator (or a hobbyist who wants to try out the technology at home), you’ll need to know about all of this. That’s why we wrote the book! This is also why it is important to have access to open source implementations of all these technologies.