Skip to main content
Log in

Network function virtualization: through the looking-glass

  • Published:
Annals of Telecommunications Aims and scope Submit manuscript


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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others


  1. Linux New API.

  2. Anderson JW, Braud R, Kapoor R, Porter G, Vahdat A (2012) xOMB: extensible open middleboxes with commodity servers

  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 14

  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–178

    Article  Google Scholar 

  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–507

  6. Barbette T, Soldani C, Mathy L (2015) Fast userspace packet processing. In: 11th ACM/IEEE ANCS, pp 5–16

  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–177

    Article  Google Scholar 

  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–65

  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–72

  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–72

  11. Cohen B (2003) Incentives build robustness in bittorrent. In: NetEcon’03 Workshop, p 6

  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–42

  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 SIGOPS

  14. ETSI: NFV Whitepaper.

  15. Freedman MJ, Freudenthal E, Mazières D. (2004) Democratizing content publication with Coral. In: USENIX NSDI

  16. Han S, Jang K, Park K, Moon S (2010) Packetshader: a gpu-accelerated software router. SIGCOMM Comput Commun Rev 40(4):195–206

    Article  Google Scholar 

  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–58

    Article  Google Scholar 

  18. Hwang J, Ramakrishnan K, Wood T (2014) NetVM: high performance and flexible networking using virtualization on commodity platforms. In: USENIX NSDI

  19. Intel: DPDK framework.

  20. Jacobson V, Smetters DK, Thornton JD, Plass MF, Briggs NH, Braynard RL (2009) Networking named content. In: Proceedings of ACM CoNEXT

  21. Jain R, Paul S (2013) Network virtualization and software defined networking for cloud computing: a survey. IEEE Commun Mag 51(11):24–31

    Article  Google Scholar 

  22. Jain S et al (2013) B4: experience with a globally-deployed software defined wan. SIGCOMM Comput Commun Rev 43(4):3–14

    Article  Google Scholar 

  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 NSDI

  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:14

  25. Kohler E, Morris R, Chen B, Jannotti J, Kaashoek MF (2000) The click modular router. ACM Transactions Computer Systems

  26. Laufer R, Gallo M, Perino D, Nandugudi A (2016) CliMB: enabling network function composition with click middleboxes. In: ACM HotMiddlebox’16

  27. Li Y, Chen M (2015) Software-defined network function virtualization: a survey. IEEE Access 3:2542–2553

    Article  Google Scholar 

  28. Mai L et al (2014) NetAgg: using middleboxes for application-specific on-path aggregation in data centres. In: 10th ACM CoNEXT, pp 249–262

  29. Marinos I, Watson RN, Handley M (2015) Network stack specialization for performance. ACM SIGCOMM Comput Commun Rev 44(4):175–186

    Article  Google Scholar 

  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 NSDI

  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–262

    Article  Google Scholar 

  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–136

  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 Workshop

  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–130

  35. Popuri S (2014) A tour of the Mini-OS kernel.

  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–342

    Article  Google Scholar 

  37. Rizzo L (2012) netmap: a novel framework for fast packet I/O. In: Proceedings of USENIX Security

  38. Rizzo L, Lettieri G (2012) Vale, a switched ethernet for virtual machines. In: 8th ACM CoNEXT, pp 61–72

  39. Saltzer JH, Reed DP, Clark DD (1984) End-to-end arguments in system design. ACM Trans Comput Syst 2(4):277–288

    Article  Google Scholar 

  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–336

  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–197

    Article  Google Scholar 

  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–350

  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:15

  44. Sun W, Ricci R (2013) Fast and flexible: parallel packet processing with gpus and click. In: 9th ACM/IEEE ANCS , pp 25–36

  45. Tennenhouse DL, Smith JM, Sincoskie WD, Wetherall DJ, Minden GJ (1997) A survey of active network research. IEEE Commun Mag 35(1):80–86

    Article  Google Scholar 

  46. Woo S, Jang K, Han D, Park K (2012) Towards an Open Middlebox Platform for Modular Function Composition. In: USENIX NSDI. Poster

  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–41

    Article  Google Scholar 

  48. Wu W, Crawford M, Bowden M (2007) The performance analysis of linux networking–packet receiving. Comput Commun 30(5):1044–1057

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Fabio Pianese.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Nandugudi, A., Gallo, M., Perino, D. et al. Network function virtualization: through the looking-glass. Ann. Telecommun. 71, 573–581 (2016).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: