zur Startseite


Design and Implementation of Patterns for Distributing Virtual Network Functions
Projekt Software-defined Networking
Betreuer Dr. rer. nat. Frank Dürr
M. Sc. Thomas Kohler
Prüfer Prof. Dr. rer. nat. Dr. h. c. Kurt Rothermel

Network Function Virtualization (NFV) and Software-defined Networking (SDN) are two major trends in networking receiving great support from both, academia and a broad spectrum of companies ranging from telecommunication companies (e. g., Deutsche Telekom, AT&T) over networking companies (e. g. Cisco, Nokia, Big Switch Networks) to cloud Service providers (e. g., Google, Microsoft).

NFV and SDN are two complementing technologies aiming at improving flexibility, performance, and efficiency in networking. On the one hand, NFV is focused on virtualizing network functions such as firewalls, NAT gateways, or load balancers to flexibly place these virtual Network Functions (vNF) on Standard Servers avoiding costly dedicated hardware and applicances. On the other hand, SDN controls the forwarding of communication flows through a network by a logically centralized network Controller having a global view onto network resources to optimally plan routes of flows. Together, flows can be routed through a chain of vNFs utilizing available network and Server resources flexibly and optimally while ensuring given network policies such as "all web traffic must go through a firewall and load balancer, and must be isolated from time-sensitive multimedia traffic".

Initially, vNFs were hosted on Standard Servers. However, with the advent of powerful and open networking hardware---in particular, white-box switches running open network operating Systems and featuring Standard processors---togetherwith ligh-weight virtualization technologies (Containers, unikernels), vNFs can also be distributed to network elements (switches). Such in-network processing of vNFs might improve performance (e. g., smaller latency) as well as network utilization (processing packets directly on network elements without detouring to "distant" Servers). However, it also introduces new challenges due to the heterogeneity of processing elements (powerful Servers vs. resource-constrained switches). Thus, the distribution of vNFs to processing elements has to be planned carefully.

Goals and Tasks

The goal of this Master thesis is to design, implement, and evaluate a generic pattern-based concept facilitating the distribution of vNFs in a heterogeneous System of Standard Servers and resource-constrained switches, both acting as vNF hosts. To this end, distribution patterns that serve as „blueprints" for distributing vNFs shall be designed, implemented, and evaluated with respect to performance and efficiency. For instance, the Server offloading pattern could offload a vNF from an (overloaded) switch (in-network/en-route processing element) to a nearby host. Another pattern could be flow splitting and merging that routes different parts of a flow through several switches, each processing its share of the overall load, before merging the processed flows again. Moreover, such patterns could also be applied recursively, and need to be parametrized according to the current load (e. g. number of required processing elements).
Moreover, the planning which pattern to apply and how to configure the parameters of the pattern shall be considered. In general, planning can be done centralized according to the logically centralized planning paradigm of SDN, or decentralized based on autonomous (local) decisions of switches. Also a hybrid approach combining both paradigms is promising, where a switch is provided with sufficient Information or precalculated plans from a centralized Controller, enabling it to make autonomous (but possibly restricted or sub-optimal) decisions. To reduce the complexity of this thesis, we focus on the centralized planning paradigm (distributed and/or hybrid planning are optional).

In detail, the tasks of this thesis include:

  • Study of related work from the field of SDN and NFV, in particular, considering the distribution of network functions.
  • Definition of distribution patterns including their properties (e. g., applicability to statefut/state-less vNFs) and parameters.
  • Concept for centralized analysis and planning of applying distribution patterns.
  • Proof-of-concept implementation of selected patterns for white-box switches and Standard Servers (e. g., using Container technologies).
  • Evaluation of the performance (considering "in-network" and server-based processing).
  • Documerrtation of the findings in a written report.
  • Presentation of the results in a talk in the Distributed Systems Colloquium at University of Stuttgart.


Good programming skills (preferably in C or C++). Profound knowledge of Computer networks including (ideally) SDN.


The work will be graded based on the quality of the conceptual and practical results, the quality of the documentation in the written report, the conceptual and practical knowledge of the Student (also gained during the work), and the application of best practices.