Annals of Telecommunications

, Volume 71, Issue 11–12, pp 573–581 | Cite as

Network function virtualization: through the looking-glass

  • Anandatirtha Nandugudi
  • Massimo Gallo
  • Diego Perino
  • Fabio Pianese


The fields of networking and telecommunications are presently witnessing the transition of a number of Network Function Virtualization (NFV) principles and techniques from research into practice. This survey attempts to capture the NFV phenomenon in its multi-faceted historical development over the last two decades, by answering the question “What are the main goals of NFV systems?” and by highlighting the advantages and technical limits of NFV in supporting those goals. By focusing on the whys and hows of NFV, we propose a reasoned overview of the most significant design elements of NFV as a complementary synthesis to the analytical taxonomies of papers and standards that are usually found in survey documents.


Network Function Virtualization Modularity Performance Hardware virtualization Networking 


  1. 1.
  2. 2.
    Anderson JW, Braud R, Kapoor R, Porter G, Vahdat A (2012) xOMB: extensible open middleboxes with commodity serversGoogle Scholar
  3. 3.
    Anwer B, Benson T, Feamster N, Levin D (2015) Programming slick network functions. In: 1st ACM SIGCOMM Symposium on Software Defined Networking Research, p 14Google Scholar
  4. 4.
    Baentsch M, Baun L, Molter G, Rothkugel S, Sturn P (1997) World wide web caching: the application-level view of the internet. IEEE Commun Mag 35(6):170–178CrossRefGoogle Scholar
  5. 5.
    Ballani H, Costa P, Gkantsidis C, Grosvenor MP, Karagiannis T, Koromilas L, O’Shea G (2015) Enabling end-host network functions. In: ACM SIGCOMM 2015, pp 493–507Google Scholar
  6. 6.
    Barbette T, Soldani C, Mathy L (2015) Fast userspace packet processing. In: 11th ACM/IEEE ANCS, pp 5–16Google Scholar
  7. 7.
    Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A (2003) Xen and the art of virtualization. ACM SIGOPS Oper Syst Rev 37(5):164–177CrossRefGoogle Scholar
  8. 8.
    Belay A, Prekas G, Klimovic A, Grossman S, Kozyrakis C, Bugnion E (2014) IX: a protected dataplane operating system for high throughput and low latency. In: 11th USENIX OSDI, pp 49–65Google Scholar
  9. 9.
    Bonafiglia R, Cerrato I, Ciaccia F, Nemirovsky M, Risso F (2015) Assessing the performance of virtualization technologies for nfv: a preliminary benchmarking. In: 4th European Workshop on Software Defined Networks, pp 67–72Google Scholar
  10. 10.
    Bremler-Barr A, Harchol Y, Hay D (2015) Openbox: enabling innovation in middlebox applications. In: Proceedings of the 2015 ACM SIGCOMM Workshop on Hot Topics in Middleboxes and Network Function Virtualization, pp 67–72Google Scholar
  11. 11.
    Cohen B (2003) Incentives build robustness in bittorrent. In: NetEcon’03 Workshop, p 6Google Scholar
  12. 12.
    Costa P, Donnelly A, Rowstron A, O’Shea G (2012) Camdoop: exploiting in-network aggregation for big data applications. In: USENIX NSDI, pp 29–42Google Scholar
  13. 13.
    Dobrescu M, Egi N, Argyraki K, Chun BG, Fall K, Iannaccone G, Knies A, Manesh M, Ratnasamy S (2009) RouteBricks: exploiting parallelism to scale software routers. In: Proceedings of ACM SIGOPSGoogle Scholar
  14. 14.
  15. 15.
    Freedman MJ, Freudenthal E, Mazières D. (2004) Democratizing content publication with Coral. In: USENIX NSDIGoogle Scholar
  16. 16.
    Han S, Jang K, Park K, Moon S (2010) Packetshader: a gpu-accelerated software router. SIGCOMM Comput Commun Rev 40(4):195–206CrossRefGoogle Scholar
  17. 17.
    Honda M, Huici F, Raiciu C, Araujo J, Rizzo L (2014) Rekindling network protocol innovation with user-level stacks. SIGCOMM Comput Commun Rev 44(2):52–58CrossRefGoogle Scholar
  18. 18.
    Hwang J, Ramakrishnan K, Wood T (2014) NetVM: high performance and flexible networking using virtualization on commodity platforms. In: USENIX NSDIGoogle Scholar
  19. 19.
    Intel: DPDK framework.
  20. 20.
    Jacobson V, Smetters DK, Thornton JD, Plass MF, Briggs NH, Braynard RL (2009) Networking named content. In: Proceedings of ACM CoNEXTGoogle Scholar
  21. 21.
    Jain R, Paul S (2013) Network virtualization and software defined networking for cloud computing: a survey. IEEE Commun Mag 51(11):24–31CrossRefGoogle Scholar
  22. 22.
    Jain S et al (2013) B4: experience with a globally-deployed software defined wan. SIGCOMM Comput Commun Rev 43(4):3–14CrossRefGoogle Scholar
  23. 23.
    Jeong E, Wood S, Jamshed M, Jeong H, Ihm S, Han D, Park K (2014) mTCP: a highly scalable user-level tcp stack for multicore systems. In: USENIX NSDIGoogle Scholar
  24. 24.
    Kim J, Jang K, Lee K, Ma S, Shim J, Moon S (2015) NBA (Network Balancing Act): a high-performance packet processing framework for heterogeneous processors. In: 10th European Conference on Computer Systems, EuroSys ’15, pp 22:1–22:14Google Scholar
  25. 25.
    Kohler E, Morris R, Chen B, Jannotti J, Kaashoek MF (2000) The click modular router. ACM Transactions Computer SystemsGoogle Scholar
  26. 26.
    Laufer R, Gallo M, Perino D, Nandugudi A (2016) CliMB: enabling network function composition with click middleboxes. In: ACM HotMiddlebox’16Google Scholar
  27. 27.
    Li Y, Chen M (2015) Software-defined network function virtualization: a survey. IEEE Access 3:2542–2553CrossRefGoogle Scholar
  28. 28.
    Mai L et al (2014) NetAgg: using middleboxes for application-specific on-path aggregation in data centres. In: 10th ACM CoNEXT, pp 249–262Google Scholar
  29. 29.
    Marinos I, Watson RN, Handley M (2015) Network stack specialization for performance. ACM SIGCOMM Comput Commun Rev 44(4):175–186CrossRefGoogle Scholar
  30. 30.
    Martins J, Ahmed M, Raiciu C, Olteanu V, Honda M, Bifulco R, Huici F (2014) ClickOS and the art of network function virtualization. In: USENIX NSDIGoogle Scholar
  31. 31.
    Mijumbi R, Serrat J, Gorricho JL, Bouten N, Turck FD, Boutaba R (2016) Network function virtualization: state-of-the-art and research challenges. IEEE Commun Surv Tutorials 18(1): 236–262CrossRefGoogle Scholar
  32. 32.
    Palkar S, Lan C, Han S, Jang K, Panda A, Ratnasamy S, Rizzo L, Shenker S (2015) E2: a framework for nfv applications. In: 25th Symposium on Operating Systems Principles, pp 121–136Google Scholar
  33. 33.
    Perino D, Gallo M, Laufer R, Ben Houidi Z, Pianese F (2016) A programmable data plane for heterogeneous nfv platform. In: 1st IEEE INFOCOM SWFAN WorkshopGoogle Scholar
  34. 34.
    Pfaff B, Pettit J, Koponen T, Jackson E, Zhou A, Rajahalme J, Gross J, Wang A, Stringer J, Shelar P et al (2015) The design and implementation of open vswitch. In: USENIX NSDI, pp 117–130Google Scholar
  35. 35.
    Popuri S (2014) A tour of the Mini-OS kernel.
  36. 36.
    Ramasubramanian V, Sirer EG (2004) The design and implementation of a next generation name service for the internet. ACM SIGCOMM Comput Commun Rev 34(4):331–342CrossRefGoogle Scholar
  37. 37.
    Rizzo L (2012) netmap: a novel framework for fast packet I/O. In: Proceedings of USENIX SecurityGoogle Scholar
  38. 38.
    Rizzo L, Lettieri G (2012) Vale, a switched ethernet for virtual machines. In: 8th ACM CoNEXT, pp 61–72Google Scholar
  39. 39.
    Saltzer JH, Reed DP, Clark DD (1984) End-to-end arguments in system design. ACM Trans Comput Syst 2(4):277–288CrossRefGoogle Scholar
  40. 40.
    Sekar V, Egi N, Ratnasamy S, Reiter MK, Shi G (2012) Design and implementation of a consolidated middlebox architecture. In: USENIX NSDI, pp 323–336Google Scholar
  41. 41.
    Singh A et al (2015) Jupiter rising: a decade of clos topologies and centralized control in google’s datacenter network. ACM SIGCOMM Comput Commun Rev 45(4):183–197CrossRefGoogle Scholar
  42. 42.
    Smolyar I, Ben-Yehuda M, Tsafrir D (2015) Securing self-virtualizing ethernet devices. In: 24th USENIX Security Symposium (USENIX Security 15), Washington, D.C, pp 335–350Google Scholar
  43. 43.
    Stoenescu R et al (2015) In-net: in-network processing for the masses. In: 10th European Conference on Computer Systems, EuroSys ’15. ACM, pp 23:1–23:15Google Scholar
  44. 44.
    Sun W, Ricci R (2013) Fast and flexible: parallel packet processing with gpus and click. In: 9th ACM/IEEE ANCS , pp 25–36Google Scholar
  45. 45.
    Tennenhouse DL, Smith JM, Sincoskie WD, Wetherall DJ, Minden GJ (1997) A survey of active network research. IEEE Commun Mag 35(1):80–86CrossRefGoogle Scholar
  46. 46.
    Woo S, Jang K, Han D, Park K (2012) Towards an Open Middlebox Platform for Modular Function Composition. In: USENIX NSDI. PosterGoogle Scholar
  47. 47.
    Wood T, Ramakrishnan K, Hwang J, Liu G, Zhang W (2015) Toward a software-based network: integrating software defined networking and network function virtualization. IEEE Netw 29(3):36–41CrossRefGoogle Scholar
  48. 48.
    Wu W, Crawford M, Bowden M (2007) The performance analysis of linux networking–packet receiving. Comput Commun 30(5):1044–1057CrossRefGoogle Scholar

Copyright information

© Institut Mines-Télécom and Springer-Verlag France 2016

Authors and Affiliations

  • Anandatirtha Nandugudi
    • 1
  • Massimo Gallo
    • 2
  • Diego Perino
    • 2
  • Fabio Pianese
    • 2
  1. 1.INRIA Sophia-Antipolis (work performed at Nokia Bell Labs)NozayFrance
  2. 2.Nokia Bell LabsNozayFrance

Personalised recommendations