Enabling network function combination via service chain instantiation
Isolated network functions (also known as middleboxes) are difficult and costly to manage in a cooperative fashion due to their hardware-based implementation and proprietary interfaces. The integration of software-defined networking (SDN) and network functions virtualization (NFV) is promising to address this challenging issue. However, an efficient framework is needed to provide cooperative control of network function instances. To this end, a service chain instantiation framework based on NFV and SDN is proposed in this paper. There are three unique contributions in this work. First, the network functions are featured with a new abstraction, called atomic function, which defines the public features of network functions while the core details are hidden. A description-language is utilized to help service providers to develop various instances of an atomic function. Second, we propose an implementation of service chain consisting of a sequence of atomic functions with order constraints. It is instantiated by optimally selecting different function instances over the network. We formulate this service chain instantiation as an integer linear programing problem, with a simulated annealing solver to approach the optimal solution. Third, we implement a proof-of-concept for service chain, Matchmaker, atop the SDN controller. The experimental results demonstrate that Matchmaker can manage network functions in an efficient and scalable way.