The telecom industry is evolving to the new standardized 5G Core based on the cloud native service-based architecture (SBA) and New Radio (NR). 5G wireless technology is meant to deliver ultra-low latency, higher multi-Gbps peak data speeds, more reliability, massive network capacity, increased availability, and a more consistent user experience.
Communication Service Providers (CSP) are looking for new revenue sources to grow their businesses, especially in the enterprise area, which will be increasingly important in the future. With the introduction of 5G and edge computing, they are now better positioned to provide new offerings.
The Cloud Native Architecture is at the heart of the new 5G core which utilizes Cloud Native Network Functions (CNF) and Kubernetes to run individual components of 5G. Cloud native services demand scalability, performance and agility, while 5G services are too sensitive to latency. A bare metal Kubernetes infrastructure is best suited to run these 5G services with the lowest latency while providing scalability, performance and agility.
5G and Cloud Native
Fig1: The service-based reference architecture for 5G systems (image reference 3gpp 23.501)
Cloud native computing brings 5G to the open user arena, where it can be rapidly adopted with support from the open source community in addition to traditional vendors.
Accelerating 5G Deployment with Diamanti
Diamanti delivers purpose-built infrastructure for modern, distributed applications.
The Diamanti platform is the first and only bare-metal, hyperconverged Kubernetes solution integrated with a patented I/O-optimized architecture, delivering transformational application performance. With Diamanti, Kubernetes becomes an out-of-the-box solution, allowing CSP to focus on deploying modern applications across on-premises and hybrid cloud infrastructure.
Diamanti’s full stack allows Communications Service Providers (CSP) to focus on bringing on new services to market quickly without worrying about the infrastructure.
Fig 2: Diamanti Full Stack for running 5G core applications
Deploying 5G Core components on Diamanti
This tutorial demonstrates a 5G core deployment on Diamant using free5gc (version 3.0.4) project.
A critical aspect for this tutorial is that we will be using the Diamanti Container Network Interface (CNI), which can assign static or dynamic IP addresses from Layer 2 or overlay network, as well as bind multiple interfaces to each pod – which are very important for CNFs. For more details on Diamanti CNI features, please refer to Diamanti CNI.
One important thing to note here is we are deploying Network Functions (NF) both as Cloud Native Network Functions (CNF) as well as Virtual Network Functions (VNF). Diamanti Kubernetes platform brings flexibility to run both CNF and VNF (using KVM) on the same platform providing an easy transition path from VNFs to CNFs. In this example, UPF is running as VNF while the rest of the components are running as CNF.
Create Diamanti Endpoints
The first step in this deployment is to create the static endpoints for each network function, which will assign a static IP address for each pod. Diamanti’s “dctl” utility provides an easy way to create these static endpoints, shown in the figure below.
Here we list all the endpoints we created:
In the figure above, you can see that for each NF, we have created a static endpoint with static IP.
Deploy the 5G core components
The next steps are to deploy the database, followed by NRF installation and other NF.
After applying all the manifests, you can see each pod status and IP.
From the above figure, you can see we got the same static IP we have created.
UPF VM created and orchestrated by Diamanti KVM
Inside the pod
Diamanti CNI separates the control interface and data interface. From the output below, we can see the management interface (mgmt0), separate from the data interface (eth0).
Let’s see what’s going in logs
From the NRF logs we can see that different NFs will get registered once they are deployed. The logs show the 5G core components communication over a service-based interface.
Next, see the PFCP connection with UPF
Test the UE Registration
Here we do a UE registration flow
From the Amf logs below, you can see the UE Registration and Authentication requests.
Check this flow from tcpdump capture.
Summary
In this post, we have deployed 5G core using free5gc using Diamanti static endpoint which makes the 5g configuration and setup very easy. Diamanti Container Network Interface (CNI) allows multiple interfaces to a pod which can be exposed to a load balancer. Diamanti being a HCI platform, solves the primary problem from edge-site to core-site like data replication, traffic isolation, or latency. Diamanti solves the performance issues and makes orchestration a breeze across multiple clouds and multiple clusters.
Benefits of Kubernetes over a Diamanti bare metal infrastructure?
- Network deployment and operations are simplified through easier life cycle management of the cloud infrastructure. Since the virtualization layer is not part of the cloud stack, fewer teams are involved, thereby streamlining management and operations. The reduced complexity also results in faster fault isolation and troubleshooting.
- With the elimination of the virtualization layer, the infrastructure overhead is drastically reduced. With Diamanti 95% of resources are available for the applications.
More compute and storage resources are now available for application deployments, thereby increasing hardware efficiency. This is especially important for edge computing, which often has resource constraints in remote sites.
- Another big advantage is that virtualization software license fees are not needed, resulting in substantial TCO savings for CSPs.
- Application performance is better and more deterministic on bare metal deployments since Diamanti removes bottlenecks like the guest operating system and virtual switches with the virtualization layer.
- Another advantage is that the introduction of new hardware acceleration technologies, like smart network interface cards(Ultima cards) and support for graphics processing units, needed for very demanding applications become easier for new 5G use cases.
References
- Free5gc https://github.com/free5gc/free5gc
- Free5gc compose https://github.com/free5gc/free5gc-compose/
- Diamanti CNI https://diamanti.com/redefine-kubernetes-networking-with-the-diamanti-cni-plugin/
- Diamanti KVM https://diamanti.com/kvm-and-diamanti/
- Diamanti Spektra https://diamanti.com/product/diamanti-spektra/
- 3GPP 23.501 Specification # 23.501
- TDD
Abbreviations
AMF – Access and Mobility Management Function
AUSF – Authentication Server Function
UDSF – Unstructured Data Storage Function
NEF – Network Exposure Function
NRF – Network Repository Function
NSSF – Network Slice Selection Function
PCF – Policy Control Function
SMF – Session Management Function
UDM – Unified Data Management
UDR – Unified Data Repository
UPF – User Plane Function
AF – Application Function.
CHF – CHarging Function.
UE – User Equipment
RAN – Radio Access Network.
CSP – Communications service provider.
CNI – Container Network Interface.
UE – User Equipment.
VM – Virtual Machine.
SA – Stand Alone.
TDD – Time Division Duplexing
NR- New Radio