A survey on service function chaining

https://doi.org/10.1016/j.jnca.2016.09.001Get rights and content

Abstract

Cloud computing is gaining significant attention and virtualized datacenters are becoming popular as a cost-effective infrastructure. The network services are transitioning from a host-centric to a data-centric model moving the data and the computational resources closer to the end users. To meet the dynamic user demands, network operators have chosen to use elastic virtual resources to implement network services over static rigid physical model. With the advent of network function virtualization (NFV), network services instances are provisioned across multiple clouds for performance and load balancing purposes. Interconnection of these instances to form a complete end-to-end network service is complex, time consuming and expensive task. Service function chaining (SFC) is a mechanism that allows various service functions to be connected to each to form a service enabling carriers to benefit from virtualized software defined infrastructure. SFC is an enabler for NFV, providing a flexible and economical alternative to today's static environment for Cloud Service providers (CSPs), Application Service Providers (ASPs) and Internet Service Providers (ISPs). This paper provides a closer look at the current SFC architecture and a survey of the recent developments in SFC including its relevance with NFV to help determine the future research directions and the standardization efforts of SFC. Finally, the paper discusses open research topics in relevance with the SFC architecture and demonstrates a need for an analytical model for the SFC architecture to achieve the optimal performance.

Introduction

In recent years, there is a trend to virtualize the network, the storage and the computational resources. However, the underlying network is still mostly physically managed. Network operators are currently struggling to meet growing user and network traffic demands on their traditional networks. While end users want constantly declining “cost per bit”, Internet service providers' (ISPs) capital expenditures (CAPEX) and operational expenditures (OPEX) for increasingly complex network infrastructure are rising (Paul et al., 2014, Chiosi, 2013). Also, recently there has been an exponential growth in the user traffic due to the explosion of mobile devices and the emergence of novel networking paradigms such as the Internet of Things (IoT) (Daniele et al., 2012). Under such situations network operators may benefit from Network Function Virtualization (NFV) model, with which the network services can be deployed as virtualized services (Monsanto et al., 2013; Chiosi, 2013).

Due to the advancements in the field of cloud computing, computational and storage resources are getting deployed across geographically distributed areas, bringing such resources closer to the end-user bases. In such situations, application service providers (ASPs) may improve the end-user experience by deploying their services across multiple datacenters spread across multiple, geographically distributed clouds (Paul et al., 2014, Paul and Jain, 2012). However, the current underlying network model is static, rigid, and lacking auto-configuration abilities. In such cases, network operators may have to face several challenges with the traditional ISP networks. These challenges include dependence on the physical topology, complex time and resource consuming operations (for example, adding, deleting or updating services), static path provisioning, and manual load balancing among others (Quinn and Nadeau, 2015). However, recent technologies such as software defined networking (SDN), network function virtualization (NFV) provide operators with the tools to tackle existing challenges. Recent advancements in the field of SDN and NFV allow ISPs to deploy many network services over the virtualized infrastructures (Monsanto et al., 2013; Nunes et al., 2014; Hakiri et al., 2014; Kim and Feamster, 2013). SDN especially allows flexible and efficient network forwarding among the virtual network functions (VNFs). These VNFs include middle-boxes like firewalls, load-balancers, proxy servers, deep packet inspectors (DPIs), intrusion detectors and others, including core telecom stack (Basilier et al., 2014).

Advancements in the field of SDN have lead ISPs to move to a novel architecture using network function virtualization (NFV) (Blendin et al., 2014, Kreutz et al., 2015, Hakiri et al., 2014, Ian et al., 2015). SDN may prove effective in improving some aspects of the ISP networks such as security, quality of service (QoS) and service level agreements (SLAs) (Kim and Feamster, 2013, Anwer et al., 2010, Feamster et al., 2013, Farhady et al., 2015). Though NFV along with SDN provides flexibility to ISPs for deployment of their network services; the creation, deletion and interconnection of these virtual functions is a challenging task due to the dynamic end-user demands and the network parameters, and the complexity of the virtual function addition/deletion. In addition, virtual functions may need to be executed in a specific order to provide a complete end-to-end network service. The order of execution depends on the type of user requests and is highly dynamic in nature (Quinn, 2015, Kumar et al., 2015). For an effective deployment of these virtual functions and scalability of the NFV architecture, there is a need for mechanisms, which can automatically form the ordered chain of such functions, dynamically guiding the user requests through such chains. Without such mechanisms, interconnection of these virtual network functions is ad-hoc and error-prone task adding to the administrative complexities and costs of the existing networks and resulting in high OPEX for the ASPs and CSPs (Papazoglou et al., 2007; Armbrust et al., 2010).

Introducing a new network service or updating the existing one is a complicated, time-consuming and expensive task for the network operators (Simarro et al., 2011, Armbrust et al., 2010). This rigidity complicates reconfiguration of the contemporary network (Monsanto et al., 2013a). Recent advancements in network virtualization have made it possible for many network services to be implemented as virtual functions such as: NATs, Firewalls, Deep Packet Inspectors (DPI) and many more (Feamster et al., 2013, Anderson et al., 2005, Oberle et al., 2009). The physical infrastructure may be shared by these network services. The technology is known as Network Function Virtualization (NFV) (GS ETSI, 2014, GS ETSI, 2014, ETSI, 2014, GS ETSI, 2014). NFV is a great tool to the network operators for more organized networks (Qiang et al., 2012, Chowdhury and Boutaba, 2010). However, proper interconnection of service functions is necessary for the proper flow of the packets in the network. Informally, interconnection of two or more service functions in the network, for a complete end-to-end service, is known as “Service Function Chaining” or simply SFC.

With the recent explosion in mobile devices, and sensory devices due to technologies such as Internet of Things (IoT) (Luigi et al., 2010, IoT,), service providers may benefit from deploying their applications across multiple clouds, so that the storage and the computational power can be brought closer to mobile user-bases (Paraiso et al., 2012, Simarro et al., 2011). This may reduce the total response time to the end users and cost to the ASPs by reducing the use of expensive WAN links. Service function chaining (SFC) enables proper interconnection among the virtual functions (or the service functions) spread across multiple clouds. Currently, SFC is at a nascent stage of development. There are many challenges which need to be addressed by ISPs and CSPs in terms of service function chain deployment to maximize benefits of the NFV technology (Qiang et al., 2012, Hakiri et al., 2014, Bremler-Barr et al., 2015).

Currently, CSPs and ISPs need to manually form ordered chain of physical middle-boxes, such as firewalls, NATs, etc. They are expected to make sure that the service chains meet the policy constraints, the computational and the network capacity constraints as well as have acceptable total latency for end-users. On the fly changes need to be done to these service chains, such as deletion or addition of new virtual functions depending on user demands. In addition, allocation of resources and placement of network virtual functions need to be performed dynamically. It is a daunting task for the ISPs to scale the model in a dynamic network environment. Hence, there is a need for a well-tested, dynamic and automatic service chaining model to save the efforts, time and cost to the operators (Chiosi, 2013, Kumar et al., 2015). In this article, we summarize the approaches that have been studied in the literature towards standardization and implementation of SFC. Broadly we classify the research for SFC into two domains as: (1) architectural models and implementation of SFC, and (2) optimization models for the network services and/or virtual functions distribution and allocation. Various models have been proposed in the literature which optimize different parameters such as cost, end-to-end latency, network traffic, network bandwidth, energy, overall resources required and others. Such models are necessary for the operators 1) to achieve the optimal performance of the networks, 2) to satisfy the user demands in a timely manner, 3) to accommodate the dynamic SLAs, and 4) to minimize the costs for the operators. We observe that there is a dearth of analytical studies and optimization models for such the SFC implementation approach. On the contrary, the optimal models suggested for placement of the virtualized network functions (VNFs) lack practical values and need modifications to suit to the SFC framework. There is a need for the combined study of these problems with the practical implementation and the analysis of the results.

The remaining of the paper is organized as follows. In Section 2, we explain simple use cases of service function chaining and demonstrate the need for optimization. Section 3 describes the scope of SFC and its relevance with NFV. We also outline the major terminology defined in the standards to better understand the SFC discussion in subsequent sections. Section 4 describes the SFC architecture. We discuss the major developments in the field of SFC and its practical implementations as a major enabler for NFV. We also have a closer look at the various architectures proposed by ETSI, IRTF, IETF and ITU-T. Section 5 describes the optimization strategies studied in the literature which can be adopted to suit the SFC architecture. We argue this is an important step for efficient and flexible service chains. In Section 6, we discuss open research topics in the field of SFC and possible future research directions. Finally we conclude the paper. We provide description for all the acronyms used in this paper in Table 1 below.

Section snippets

Service function chaining: use-case

In this section, we present simple use-cases of the service function chaining model. Then, we discuss the relevance of SFC with NFV and demonstrate the need for the optimal service function placement for the best use of the network capacity and for minimum response time. Finally, we demonstrate the need for various optimization models and an exhaustive analytical study of the SFC architecture. Optimization models may optimize various network parameters, such as, total allocated bandwidth, total

NFV and SFC: a primer

Efforts to deploy the SFC architecture for dynamically created virtual services has gained significant traction recently in both research communities and standardization bodies (Quinn and Nadeau, 2015, GS ETSI, 2014, Belbekkouche et al., 2012, Figueira, 2015). ISPs and ASPs seek to offer advanced services beyond the basic connectivity, while optimizing the infrastructure use and the operational efficiency. SFC architecture provides a service to the NFV model by interconnecting different virtual

Service function chaining architecture

In this section, we discuss the architectural approaches proposed towards the implementation and automation of SFC in multi-cloud environments. The aim is to address the problems mentioned in the previous sections, so that service deployment is less complex and less expensive. At the end of the section, we look at the practical implementations of the SFC framework, based on the architectural approaches presented earlier in this section.

SFC: optimization approaches

Various solutions discussed so far towards the standardization and implementation of SFC have addressed the unique and unprecedented challenges imposed by the new Service Chaining architecture. However, they lack analytical models and performance analysis techniques for the proposed solutions. Besides the practical implementation of NFV and SFC, emphasis on optimal and automatic placement of the network services and mapping of these services to the available resources over the underlying

Open issues and challenges

A comparison of the research work presented in this article is given in Table 3. Rows of the table represent the reference for the research work under consideration and columns represent the research area covered in that particular research work, which is related to the SFC problem. The table demonstrates limited research in different areas related to SFC. It must be noted that many issues, such as security, dynamic load balancing, application of SLAs, high availability, QoS and others need to

Conclusions

With the growing demand of clouds and the cloud services, SFC and NFV are gaining popularity among the application service providers, internet service providers and cloud service provides. NFV is proving to be an effective and flexible alternative for the service deployments across multiple-clouds. SFC is the technology which makes NFV feasible. Hence, it becomes important to study the current state of the art for SFC, from theoretical as well as practical perspectives.

Emergence of new

Acknowledgment

This publication was made possible by the NPRP award [NPRP 6-901-2-370] from the Qatar National Research Fund (a member of The Qatar Foundation). The statements made herein are solely the responsibility of the author[s].

References (123)

  • M. Armbrust et al.

    A view of cloud computing

    Communication

    (2010)
  • Awano, Y., Kuribayashi, S., 2013. A joint multiple resource allocation method for cloud computing environments with...
  • Bagaa, M., Taleb, T., Ksentini, A., 2014. Service-aware network function placement for efficient traffic handling in...
  • Bakiras, S., 2005. Approximate server selection algorithms in content distribution networks IEEE International...
  • Bari et al., M., 2015. On orchestrating virtual network functions. In: Proceedings of the 11th IEEE International...
  • H. Basilier et al.

    Virtualization network services—the telecom cloud

    Ericsson Rev.

    (2014)
  • A. Basta

    Applying NFV and SDN to LTE mobile core gateways, the functions placement problem

    Proceedings of the 4th Workshop on All Things Cellular: Operations, Applications, & Challenges

    (2014)
  • Battula, L., 2014. Network Security Function Virtualization(NSFV) towards Cloud computing with NFV Over Openflow...
  • A. Belbekkouche et al.

    Resource discovery and allocation in network virtualization

    Commun. Surv. Tutor. IEEE

    (2012)
  • Bhamare, D., Jain, R., Samaka, M., Vaszkun, G., Erbad, A., 2015 . Multi-cloud distribution of virtual functions and...
  • J. Blendin et al.

    Position paper: software-defined network service chaining third european workshop on software defined

    Netw. (EWSDN)

    (2014)
  • M. Bouet et al.

    Cost based placement of vDPI functions in NFV infrastructures International

    J. Netw. Manag.

    (2015)
  • M. Bouet et al.

    Cost-based placement of vDPI functions in NFV infrastructures International

    J. Netw. Manag.

    (2015)
  • Bremler-Barr, A., Harchol, Y., Hay, D., 2015. OpenBox: Enabling Innovation in Middlebox Applications In: Proceedings of...
  • Cardoso, J., Barros, A., May, N. Kylau, U., 2010. Towards a unified service description language for the internet of...
  • Carrier Ethernet and SDN, MEF, 2014. Online:...
  • Chang, F., Ren, J., Viswanathan, R., 2010. Optimal resource allocation in clouds. In: Proceedings of IEEE 3rd...
  • Chinnici, R., Moreau, J., Ryman, A., Weerawarana, S. Webservices description language (wsdl) version 2.0 part 1: Core...
  • Chiosi, M., 2013. Network Functions Virtualisation (NFV). European Telecommunications Standards Institute (ETSI),...
  • Clayman, S., Maini, E., Galis, A., Manzalini, A., Mazzocca, N., 2014. The dynamic placement of virtual network...
  • CloudCommons, 2012. Introducing the Service Measurement Index Cloud Service Measurement Initiative...
  • Cohen, R., Lewin-Eytan, L., Naor, J. S., Raz, D., 2015. Near-optimal placement of virtual network functions. In:...
  • P. Cramton et al.

    Combinatorial Auctions

    (2006)
  • E. Cronin et al.

    Constrained mirror placement on the internet

    IEEE J. Sel. Areas Commun. Arch.

    (2006)
  • M. Daniele

    Internet of things: vision, applications and research challenges

    Ad Hoc Networks

    (2012)
  • Dib, D., Parlavantzas, N., Morin, C., 2014. SLA-based profit optimization in cloud bursting PaaS. 14th IEEE/ACM...
  • Dierks, T., 2008. The transport layer security (TLS) protocol version 1.2.,...
  • ETSI, NFV Whitepaper #3, Oct 14, 2014, Online:...
  • Fayazbakhsh, S., Chaing, L., Sekar, V., Yu, M., Mogul, J., 2014. Enforcing network-wide policies in the presence of...
  • Feamster, N., Rexford, J., Zegura, E., 2013. The road to SDN. Queue, vol. 11, 12, Dec. 2013, pp....
  • Ferrer Riera, J., Hesselbach, X., Escalona, E., Garcia-Espin, J., Grasa, E., 2014. On the complex scheduling...
  • Figueira, N., et al., 2015. Policy architecture and framework for NFV infrastructures (October)Internet-Draft,...
  • Ghaznavi, M., Khan, A., Shahriar, N., Alsubhi, K., Ahmed, R., Boutaba, R., 2015. Elastic virtual network function...
  • Ghaznavi, M., Shahriar, N., Ahmed, R., Boutab, R., 2016. Service Function Chaining Simplified. arXiv:1601.00751,...
  • Gmach, D., Cherkasova, J., 2009. Satisfying service level objectives in a self-managing resource pool In: Proceedings...
  • Goudarzi, H., Pedram, M., 2011. Multi-dimensional SLA-based resource allocation for multi-tier cloud computing systems....
  • GS ETSI NFV 002 V1.2.1, 2014-12. Network Functions Virtualisation (NFV); Architectural Framework. Online:...
  • GS ETSI NFV 003 V1.2.1, 2014-12. Network Functions Virtualisation (NFV); Terminology for Main Concepts in NFV. Online:...
  • GS ETSI NFV-SWA 001 V1.1.1, 2014-12. Network Functions Virtualisation (NFV); Virtual Network Functions Architecture....
  • C. Guozhen et al.

    Enabling network function combination via service chain instantiation

    Comput. Netw.

    (2015)
  • Cited by (276)

    View all citing articles on Scopus
    View full text