Abstract
Since its initial presentation in 2012, Network Function Virtualisation has promised for Service Provider networks the kind of flexibility, resource sharing and speed-of-deployment which has been available to Enterprise and Cloud solutions for a number of years.
Driven by the move away from fixed Internet access to ever-increasing data on mobile connections, the virtualisation and softwarisation of network functions through techniques such as Software Defined Networking in the mobile core has to be achieved at performance levels and at scale not seen to-date in their Enterprise counterparts; anecdotal evidence suggests that significant deployment and performance issues exist with these nascent technologies.
At the start of this PhD, common thinking was that software-based solutions such as OpenStack would be sufficient to provide a platform for future mobile networks – the author postulated that this was not the case and proposed a hybrid software/hardware forwarding device based on then-current NetFPGA solutions. Work was then undertaken to benchmark the performance of a software User Plane Function (UPF) built with then state-of-art components to validate the system performance, identifying and describing observed limitations, some of which were so severe as to negate any potential benefits in terms of flexibility.
As this phase was being completed, new technologies utilising P4 and P4Runtime were being commercialized and thinking in the industry was changing towards a new hardware/software split. The teams within the open networking community previously supporting development around the NetFPGA and OpenFlow moved to P4 and therefore the focus of the PhD changed to concentrate more on enabling new applications with these technologies. The lab was modified to be based on P4 and lighter-weight virtualisation stacks such as Kubernetes as the industry evolved in this direction.
The author proposed and developed a new device - the P4/P4Runtime-based Packet Broker – as a representative prototype of a component using such a software/hardware split that could be placed within an existing 3GPP core network (both traditional and softwarised) to demonstrate the flexibility of the P4 programming language and the dynamic P4Runtime control plane. The realised prototype was able to ‘steer’ individual flows based on IP 5-Tuple to alternate General Packet Radio Service (GPRS) Tunnelling Protocol (GTP) endpoints without the interaction of the 3GPP control plane and under direct user-application control via an RPC interface.
Load, latency and jitter measurements using representative GTP traffic were taken with the SD-Fabric based on UPF alone and with the new Packet Broker to demonstrate that the flexibility common in previously software-only solutions could be introduced without impacting performance with this more nuanced software/hardware split in the forwarding components.
Whilst the current Packet Broker identifies and operates on GTP-tunnelled IP today, the flexibility of both P4 and P4Runtime is such that new protocols can be easily supported, allowing the deployment of new solutions on existing packet cores or for more complex traffic steering based on application-derived data. The PhD Thesis summarises potential use-cases such as: the support for pre-programmed forwarding as would be required in the integration of satellites to terrestrial cellular packet cores; and, non-IP traffic such as with IoT applications where for energy-efficiency reasons a multi-header IP stack may not be appropriate in ratio to the amount of data.
This PhD Thesis also discusses some of the challenges currently being seen in the support of open networking initiatives from a more commercial perspective.