Distributed SDN Design Principles: In addition to highlight the main challenges that should be addressed by a DCI network service management, our study aims at describing the state of the art of major SDN solutions and the analysis on how each controller may answer the different DCI proposed challenges.
This section presents an overview of the major differences we identified between the solutions we have studied.
Architecture
The first point that distinguishes one solution from another is the way controllers are interconnected with each other.
We discuss in the following the pros and cons of each approach.
Centralized
Architecture presenting a single centralized controller with a global view of the system.
It is the simplest and easiest architecture to manage, but at the same time, the less scalable/robust one due to the well-known problems of centralized architectures (SPOF, bottlenecks, network partitioning, etc.).
Hierarchical
Tree-type architecture composed of several layers of controllers. Most solutions present a two-level tree consisting of local controllers and a “root” controller.
As the names indicate, local controllers handle local operations such as intra-site routing.
On the opposite, the “root” controller deals with all inter-site operations. While local controllers only have their own local view and are not aware of other local controllers’ existence, the root controller should maintain a global knowledge of the infrastructure to communicate with local controllers each time it is mandatory.
While this approach tackles the scalability challenge w.r.t. the centralized approach, it only increases the robustness partially as the root controller is still a centralized point.
Distributed but logically centralized
Architecture where there is one controller per site, managing both intra and inter-site operations. Each time a controller creates or updates a network resource, it broadcasts all other controllers’ modifications.
This way enables controllers to maintain an up-to-date copy of the global knowledge, thus acting as a single logical entity.
This design stands close to the initial SDN proposition as several controllers share global network information to present themselves as one single controller.
Fully distributed
Architecture similar to the previous one but without communicating all creations/modifications to other controllers. In this approach, locally-created data remains in the instance where it has been created and shared with other instances only when needed.
In such a case, explicit communications between controllers are instantiated in order to exchange technical information to establish, for instance, inter-site services.
This way of interconnecting controllers increases the robustness w.r.t network disconnections as a network disconnection, or a node failure only impacts a subpart of the infrastructure.
Hybrid
Two-layer architecture mixing the distributed and the hierarchical architectures. The control plane consists of several root controllers at the top layer.
Each one of the roots manages multiple local controllers who are in charge of their respective sites. These root controllers are organized in a distributed fashion, gathering global network state information among them. read full pdf here