Lib1Net – Providing Acceleration and Flexibility for VNFs at the Network Edge.
MOVING INTELLIGENCE TO THE NETWORK EDGE
In the world of telecommunications, the emphasis is now on moving intelligence towards the network edge. 5G is the driving force behind this movement with its high bandwidth and low latency requirements. Telco core networks will struggle to deal with the quantity of data that is expected from 5G and the content it enables. Expanding core infrastructure is not efficient nor scalable and hence telcos are working to reduce the amount of data travelling through the core network by moving virtual network functions to the network edge.
The rapid evolution of network functions virtualisation (NFV) has led to the virtualisation of network functions that were previously hardware solutions. These virtual network functions (VNFs) will always be critical to the functioning of the core network but it is now possible to move some of this intelligence to the network edge on VNF capable network hardware.
To date, the number of VNF vendors in the industry is limited. The onboarding process generally requires a close relationship between the VNF consumer and the VNF vendor making it difficult for new vendors to get a foot hold in the industry. To simplify this process, our Emutex team have developed Lib1Net, a library to help with both VNF development and onboarding by standardising the VNFs interface with network devices.
Lib1Net – PROVIDING ACCELERATION AND FLEXIBILITY FOR VNFs AT THE NETWORK EDGE
The Telco network infrastructure is far from standard. It is a black box with many orchestration technologies and network topologies that are defined depending on the requirements of the network. So, how can a VNF vendor make a simple decision such as what type of network interface their VNF should support? Whether dealing with virtual machines or Docker containers, virtual switches, such as Open vSwitch (OVS), or hardware switches, there are many variations on what type of network device can be presented to the VNF. DPDK based devices are clearly big in the industry but Linux managed network devices are also possible. This is where Lib1Net can assist both the VNF development and onboarding process.
Lib1Net is a library that provides a simple API for receiving and transmitting packets within a VNF. Lib1Net provides out of the box DPDK packet acceleration whilst also supporting network devices managed by Linux. The intelligence of interfacing with different types of network devices is hidden away from the VNF whilst the control of what network devices can be attached to the VNF is given to the VNF consumer when onboarding through a simple configuration file. Lib1Net also provides a unique container to container network interface, Lib1Net Link, achieving zero copy networking between containers. This can negate the need for a switching mechanism when service chaining.
USE CASE: MAXIMISING HARDWARE UTILISATION FOR SERVICE CHAINING
Service chaining is a common VNF configuration at the network edge where VNFs are linked to one another in series. In order to network these containers together a switch is needed to route packets between them. For the switching mechanism there are two options; purchase network hardware with enough CPU resources for the service chain as well as an onboard hardware switch, or, purchase a network device with enough CPU resources for both the service chain and a software switch. Lib1Net provides a third option which aims to maximise hardware usage at the network edge for Docker based VNFs.
The Lib1Net Link interface provides a zero-copy interface between Docker containers. As part of the Lib1Net configuration file the interface can be defined assuming that the connecting VNF also supports the Link interface. The idea is simple, cut out the switching mechanism when it’s not required. In the case of a hardware switch this means cost savings as network equipment with hardware switches onboard can be expensive. For software switches it means that the switch is not needed for the service chain. This can mean freeing CPU resources to enable further VNFs or it can mean a lower cost, lower form factor device to run the same service chain.
Developing your VNF with Emutex’s Lib1Net provides flexibility as well as out of the box DPDK packet acceleration. Lib1Net enables VNF consumers to attach their preferred network device therefore simplifying and accelerating the onboarding process. When configuring VNFs in a service chain, Lib1Net’s Link interface can free up valuable resources by transmitting packets between Docker containers without the need for an external switching mechanism.