Key principles for designing a 5G packet core
Despite the emphasis on high bandwidth mobility, 5G is unlike previous mobile networks in that it will support any kind of access, fixed or mobile; it is the first truly multiservice network and will handle voice, internet, machine-to-machine and IoT communications. Thus, as well as needing to be very reliable, it needs to be extremely flexible and scalable.
In order to accomplish this the core must be architected following cloud-native principles: virtualized and containerized, using micro-services and able to be fully disaggregated to support many different configurations. On this last point, for example, it must support multi-access edge computing (MEC) for distributing specific core processes close to the end device, which will be important for low-latency, industrial automation use cases.
Lock-in and proprietary implementations of the packet core will be the enemy of agility and rapid innovation. Unlike any previous telecom network, 5G will have to adopt the principles well known in the webscale world, relying on cloud-native solutions and architecting the core to allow for maximum collaboration.
Disaggregation and micro-services within the packet core
Cloud-native architectures are ideally suited to distributed web applications that need to scale very fast, usually being built on Kubernetes (K8s) using containers and micro-services for optimum efficiency. The packet core fits this profile, but there are some key differences from the architecture of webscale applications that relate to the architecture of mobile networks and the unique needs of the network functions that make up the packet core. Fortunately, there are cloud-native tools that can be integrated with K8s to accomplish this.
The key benefit of cloud-native packet core applications is their ability to efficiently use the underlying compute and storage resources. This is best accomplished by breaking down functions into the smallest parts so that when scaling needs to happen quickly, only those functions that are needed are scaled up. These small-scale functions are referred to as micro-services, which need their entire lifecycle to be managed, scaled, restarted and updated independently of each other.
For instance, key parts of the cloud-native packet core that can be distributed in this way involve the separation of the control and user planes (CUPS). There are services, such as massive IoT networks that demand very little from the user plane but a lot from the control plane. A micro-services architecture can re-allocate resources to the control plane when there is a lot of IoT activity or to the user plane for bandwidth-heavy services such as video streaming.
Containers are the most efficient way to package micro-services. Unlike virtual machines (VMs), which include the complete guest operating system (OS), containers leverage host OS functions such as partitioning of processes, the network stack and file systems. This means they take up less memory than VMs and spin-up faster for scaling and healing.
Being supported by the underlying Linux kernel application programming interface (API), containers are also very portable. A cloud-native network function (CNF) can run seamlessly in a development, staging or production environment, and their associated workloads are easy to redistribute onto private, public or hybrid clouds.
Maximizing throughput and minimizing latency
Typical packet core network gateway implementations support basic policy control and enforcement function (PCEF) capabilities requiring external elements for frequently used IP services. Some examples of these IP services are deep packet inspection (DPI), firewall (FW) and network address translation (NAT).
The majority of data traffic requires these IP services. If external to the packet core gateway, packets need to be pulled from and put back into separate network elements, this will result in increased processing and additional latency. Excessive delay will have a significant impact on the realization of optimal performance of services and applications.
Packet core architectures with an ultra-low latency gateway with integrated IP services will better address the emerging ultra-reliable low-latency communication (uRLLC) requirements of 5G. Integrated IP services minimize latency, eliminate function-to-function traffic and reduce server footprint as packets only need to be processed once.
Packet cores must be able to scale to support huge capacities, with large deployments having the ability to scale to over 1Tbps using multiple servers that pack an increasing number of processor cores. Highly distributed deployments at the edge of the network (for example, MEC) are at the opposite end of the scale, mandating a small server footprint.
Minimal server footprint deployments must still provide impressive throughput capabilities. For example, a 3-core implementation can act as a fully functional 5G user plane function (UPF) and edge router, delivering over 5 Gb/s of throughput with all the value-added and integrated IP services previously described, as well as acting as a front-end for all applications at the MEC site.
Maintaining state in a cloud-native packet core
For maximum flexibility, it is ideal in micro-services architectures that entities be state-efficient. However, the state of some entities must be preserved. For instance, in the packet core control plane, the individual subscribers connected to the network and their sessions must be processed according to 3GPP standards, which requires the caching of session states during processing and then the storing of that state information in a resilient, high-performance, key-value data store.
The data store must be optimized to work with temporary caching, which allows efficient transaction processing at high rates, while optimizing redundancy and scaling operations by preserving state information to process future subscriber transactions — even enabling the engine to purge its cache to release resources when needed.
Managing multi-generational networks and protocols
Unlike webscale services, CSPs are not building their cloud-native cores in a greenfield scenario. Most CSPs are still running 2G, 3G and 4G services today. It would be a waste of existing investments and effort to upgrade these networks to a cloud-native architecture, and it would risk disrupting service continuity for subscribers. It makes more sense to use a common core platform to run these multi-generational services.
When a multi-generational packet core is deployed within a K8s environment, load balancer (LB) functions for TCP/UDP tunneling and packet forwarding will be needed, as well as authentication, authorization and accounting that use the Diameter protocol. The packet core also needs to support multiple network interfaces. Multus is an open-source container network interface (CNI) plugin for K8s that enables this. Preservation of source and destination IP address is also an important capability within the packet core. Kube-router is an open-source Layer 4 proxy in tunnel mode that uses IP virtual server (IPVS) to achieve this. Istio can be used to perform http-based load balancing with packet core K8s clusters, as well as canary-style upgrades.
You should evaluate vendors based on the degree to which they have combined cloud-native components and principles into their core network design. I have outlined above, some of the things to look for, and examples of cloud-native components that could be used in a packet core implementation. There are also many good examples of cloud-native components that I have not covered.
The shift to 5G is both incremental and a step-change at the same time. On the one hand, there is a great deal of continuity between 4G and 5G. But on the other hand, it is a massive cultural transformation for the telecom world and a tremendous opportunity to leverage the efficiencies of the webscale way of working. Find competitive differentiation not in your own proprietary engineering expertise, but in the speed and rapidity with which you innovate, leveraging the larger development community to build solutions faster in order to meet the needs, especially of your enterprise customers. Cloud-native will be the winning approach for 5G packet cores.
Want to know more? Visit our Cloud Packet Core solutions page to see how our cloud-native features and capabilities help you deploy a webscale-class packet core.