Magma Brings a Systems Approach to Wireless Networking
Wireless networking is one of those technologies that is, for most of us, so ubiquitous that we take it for granted. WiFi permeates our homes, offices and coffee shops, while cellular networks allow us to stay connected in many other settings. Of course, network access of any sort is a lot less ubiquitous once you get out of densely populated areas. It turns out that making networking ubiquitous requires some fresh thinking about how wireless networks are built. This fresh approach has been realized in an open source project called Magma, which we’ll get to in a moment.
The internet architecture predates practical wireless data networks by several decades. Yet wireless connectivity was quite seamlessly integrated into the internet, because the internet abstracts the details of link layers from the rest of the architecture. For many networking people, wireless networks were just another link layer, and we could largely avoid thinking about them. They provided a convenient way to get a packet from A to B, but our network architecture didn’t really have to change.
While the internet architecture was sufficiently general to accommodate wireless networks, it was another story bringing data services to the voice network. Over the past 20 years, a whole parallel architecture has been developed by the telecommunications industry to bring data networking to the cellular network, which was initially rolled out in support of voice services. Data has become gradually more central to the cellular architecture since first being added to 2G, but its history as something added on to a network built for voice has had lingering effects.
One of the most striking differences between the internet architecture and that of the cellular network is the abstraction of the access technology, or lack thereof. If you access the internet over Ethernet, WiFi, or even a cellular network, nothing in the core of the internet changes based on your access technology. The core routers have no features or state related to the access technology. However, if you look at the core of the mobile network, you see a completely different set of components, depending on whether the access technology is 3G, 4G or 5G. Hence, deploying a mobile network means that once you choose the radio technology, a whole lot of other technology choices are made for you. This greatly complicates the deployment of cellular networks. Depending on what spectrum you can get access to, you make choices about radio technology, and that drives a whole lot of other technology choices in the core of your network. If you have a mix of spectrum for different regions, that complexity pervades the core.
Which brings us back to Magma. Magma was developed to tackle the problem of making network access more ubiquitous, particularly in regions where cellular technology is likely the best way to bring networking to underserved populations. One of the principles of Magma is that, like the internet, the access technology should only affect the edge. So Magma has been designed as a mobile core solution that terminates protocols that are specific to a particular wireless technology, as close to the radio edge as possible. This applies both to various generations of cellular technology (4G/LTE/5G) or unlicensed spectrum such as WiFi. The core software implementation of Magma is completely insulated from the details of the radio technology.
Magma made a number of other design decisions that align with the way modern, cloud native systems are built, and which contrast with traditional telco architectures. One such decision was to use a centralized control and management plane that exposes a single northbound API for configuration and management of the network. This closely resembles the way software-defined networking has transformed data center operations: A centralized controller allows the network to be managed as a single entity rather than a collection of individually managed boxes, and the central API supports a model in which higher-level software automates the provisioning of network services and policies. Automation and ease of management are critical requirements for operators trying to extend network connectivity to underserved communities in a cost-effective way.
Open source software running on commodity hardware are important ingredients to making networks cost-effective, but it’s important to realize that these are not sufficient on their own. If an operator is to run a network made up of open source components, it needs to be reliable and easily manageable. Magma has adopted cloud native techniques, such as the use of small fault domains and independently restartable services, to make a mobile core implementation that is reliable and can be incrementally upgraded without taking down the network. Every part of the system is extensively instrumented to facilitate troubleshooting and other network operations.
Magma is still at quite an early stage, but is already making an impact in allowing rural communities to obtain network access when the economics would be challenging with more traditional approaches. For example, Muralnet is using Magma to extend network access to Native American communities, while Brisanet has similarly deployed it into remote areas of Brazil. And in terms of network architecture, Magma is bringing a systems approach to the world of mobile and wireless networks, a significant step toward simplifying the deployment of networks where they have historically been hardest to build and operate.
As we move into an era of networking where billions of devices connect to “the edge,” Magma represents an opportunity to bring best practices from the internet and cloud networking to the edge, so networking becomes truly ubiquitous.