2018 · 14 citations · 23 references
Cluster ComputingNetwork VirtualizationEngineeringVirtual Network FunctionsSoftware-defined NetworkingEdge ComputingCloud ComputingVirtualized InfrastructureComputer ArchitectureComputer EngineeringParallel ProgrammingComputer ScienceParallel ComputingAdvanced NetworkingNetwork Function VirtualizationCustom Hardware
Network Function Virtualization (NFV) aims to reduce costs and increase flexibility of networks by moving functionality traditionally implemented in custom hardware into software packet processing applications, or virtual network functions (VNFs), running on commodity servers in a cloud. This paper describes the design and implementation of libVNF, a library to build high performance, horizontally scalable VNFs. Unlike existing frameworks for VNF development, our library (i) can be used for the development of L2/L3 middleboxes as well as VNFs that are transport layer endpoints; (ii) seamlessly supports multiple network stacks in the backend; and (iii) enables distributed implementation of VNFs via functions for distributed state and replica management. We have implemented a variety of VNFs using our library to demonstrate the expressiveness of our API. Our evaluation shows that building VNFs using libVNF can reduce the number of lines of code in the VNF by up to 50%. Further, optimizations in our library ensure that the performance of VNFs built with our library scales well with increasing number of CPU cores and distributed replicas.
23
Pat Bosshart, Dan Daly, Glen Gibb et al. · ACM SIGCOMM Computer Communication Review · 2014 · 2.7K citations
Strawman Proposal, Engineering, Software-defined Networking +9
Eddie Kohler, Robert Morris, Benjie Chen et al. · ACM Transactions on Computer Systems · 2000 · 2.4K citations · Full text
Gateway (Telecommunications), Engineering, Routing Protocol +15
Aaron Gember-Jacobson, Raajay Viswanathan, Chaithan Prakash et al. · 2014 · 478 citations · Full text
Shoumik Palkar, Chang Lan, Sangjin Han et al. · 2015 · 324 citations · Full text