Controller distribution throughout software-defined networking
With the spread and popularisation of software-defined networking, the size of SDN networks is increasing. Controller placement is one big issue in software defined wide area network which is how to select appropriate locations for controllers so as to shorten the delay between controllers and switches in wide area networks. The majority of approaches in the literature are based on packet propagation delay but propagation delay is only one of the contributors of the overall delay between controllers and their connected switches. This research paper aims to find solution to how controller should be placed in software defined network and therefore propose an optimise controller placement method which takes into account the load of controllers, scalability, reliability, propagation delay so as to determine the optimal number and location of controllers.
In order to decrease the end-to-end controller-to-switch delay, the concept of network partition and a clustering-based network partition algorithm (CNPA) would be adopted to partition the network. The algorithm would ensure that each partition is able to shorten the maximum end-to-end delay between controllers and their associated switches. To further decrease the delay between the controller and the switch, appropriate multiple controllers are then placed in the respective partition domain and minimum delay algorithm would also be adopted to find an optimal location which has a minimising sum of the distance to the other points in each domain. To address the load imbalance problem in the network, an elastic application module is propose to be built on the controller in which the controller pool is dynamically shrunk according to traffic conditions of the network. This application module which would be written in any high level programming language based on the type of controller chosen would automatically balance the load across controllers which would therefore ensure performance at all times irrespective of the traffic dynamics. A switch migration protocol that conforms with the OpenFlow protocol would also be adopted for enabling such load shifting.
A solution like distributed controller clustering placement will offer better scalability, high availability and improved fault tolerance compared to conventional centralised controllers that are vulnerable to bottlenecks or single-point-of-failure where a controller capacity can be saturated by flooded flow requests.
This proposed research topic aims to improve network performance, consistency, and scalability by implementing a distributed controller clustering strategy and also target to reduce the end-to-end delay between controllers and their associated switches by placing controller in an optimal place.