Start: Winter 2019/2020
Service chaining is usually provided by an SDN controller (e.g., OpenDaylight) that receives chaining instructions from a Management and Orchestration MANO framework (e.g., Pishahang, OSM). While MANO frameworks are, basically, responsible for managing the lifecycle of network functions and orchestrate them as a whole to deliver a network service, the SDN controller is used to (re) configure the underlying network to provide connectivity between network functions. The focus of this project group is on providing network function chaining for networks services using Pishahang and OSM MANO frameworks. Depending on the number of students, the following tasks can be considered for this project:
Task 1: chaining network functions using Pishahang in OpenStack
Pishahang uses an adaptor which translates deployment requests to heat templates. In OpenStack, the heat template is used to describe service requirements and automate the deployment of services. Currently, Pishahang lacks support for network function chaining. In this WP, students will implement a plugin that translates chaining requests to heat template to be used by OpenStack to chain network functions belonging to a service.
Task 2: chaining network functions using OSM in OpenStack
It is currently claimed that OSM supports the service chaining in OpenStack. However, it is not actually working in practice. The aim of this task is to investigate this issue and provide a working solution to chain functions in OpenStack using OSM
Task 3: implementing a Software-based OpenFlow switch
Pishahang currently uses hardware-based OpenFlow switch to provide intra-domain chaining. However, it is not ideal as these OpenFlow switches have some limitation such as the number of available ports. The aim of this task is to implement a software-based OpenFlow switch using technologies such as OVS or Click Modular Router.
Task 4: Chaining support for Container-based VNFs
Although that chaining is currently supported by Pishahang, it has some limitation. For example, network traffics going to different containers can be isolated only if containers are assigned with IP addresses from different networks. Students in this task should investigate this problem and provide working solutions.
Task 5: Implementing an SDN controller for intra-domain orchestration
To provide chining across different domains (intra-domains), an SDN controller that can manage the transport network is needed. The aim of this task is to implement an SDN application that can get chaining requests from Pishahang and translate them to forwarding rules to be installed on open-flow switches. In this task, students should also extend the Pishahang GUI to support adding SDN controllers.
Task 6: Chaining across heterogeneous resources
Acceleration resources such as FPGA and GPU are used to improve the performance of services. These resources, however, haven't been fully utilised in NFV and Cloud environments. This task investigates using acceleration resources in NFV from the management and orchestration point of view focusing on chaining VNFs running on these resources with others.