You are on page 1of 4

Communication Networks with Multiple SDN

Controllers
Peter Trúchly, Jakub Kubica
Faculty of Informatics and Information Technologies,
Slovak University of Technology in Bratislava, Ilkovičova 2, 842 16, Bratislava, Slovakia
peter.truchly@stuba.sk

Abstract—Software-defined networks are slowly but surely model can simplify managing controllers, but is again exposed
coming into production. Currently, there are several different to problems with a single point of failure. There are also hybrid
SDN architectures. As SDN solutions continue to evolve, there is distributed SDN architectures.
room to improve current solutions in networks with multiple
SDN controllers. One of the researched aspects of the SDN SDN solutions have already found their application in real
network is the deployment of multiple controllers to improve network environments such as wide-area networks and data
reliability, load balancing, and efficiency. Each controller will centers [4]. However, there are still a lot of challenges to be
manage its SDN domain. In this paper, we proposed an efficient investigated so that SDN technology could be deployed
SDN architecture based on a flat multicontroller multidomain efficiently. Those challenges include scalability, controller
network that provides efficient load balancing in the network. placement, performance, security, interoperability, and
We demonstrated and verified its performance via simulations in reliability. Networks with multiple SDN controllers belong to
Mininet environment with Ryu controllers. perspective SDN solutions because they are based on
deployment of several control elements, in order to improve
Keywords—SDN; Multiple SDN controllers; Load balancing reliability, load distribution and efficiency, as well as the
management of load distribution between individual OpenFlow
2023 International Symposium ELMAR | 979-8-3503-2512-6/23/$31.00 ©2023 IEEE | DOI: 10.1109/ELMAR59410.2023.10253918

I. INTRODUCTION devices. Distributed flat SDN architectures eliminate the global


Software-defined networks (SDN) represent a computer single-point-of-failure problem, but intercontroller coordination
networking concept that promises to simplify network must be efficient. In this paper, we proposed an efficient SDN
management and administration as well as it supports solution based on flat a multicontroller architecture that
innovation through network programmability. SDN networks provides effective load balancing in the network.
are a perspective form of networking that separates the control The paper is organized as follows. Section 2 describes
plane from the data (infrastructure) plane and provides a related works. The proposed solution (architecture) is presented
software centralized control element otherwise known as a in Section 3. Section 4 demonstrates the proposed scenarios
controller [1]. Due to this separation of the control plane and used to test our new architecture. And finally, Section 5
the data plane, network switches become simple devices whose concludes the paper.
main task is to forward packets. Making decisions is moved to
the controller. II. RELATED WORKS
There are currently several different SDN architectures that The way of solving the load distribution in SDN networks
take into account their centralized or distributed, physical or was presented in the work [5]-[8].
virtual, flat (horizontal) or hierarchical (vertical), and static or
dynamic realization [2], [3]. Centralized single controller The author in [5] implemented SDN controllers in a
architecture is based on only one controller that performs all horizontal approach. Individual controllers communicated
control functions over the entire infrastructure layer network. using the SDNi protocol. The author implemented his own
This architecture suffers from a single point of failure and algorithm similar to the Multiple Spanning Tree Protocol. To
scalability problems. In case of distributed (multicontroller) calculate the shortest route, the Dijkstra’s algorithm was used
SDN architectures, the flat model has all controllers positioned and the sFlow was used for obtaining the current link
on one level (of control plane), connected with each other, they utilization as well.
handle global network information, and control their own In [6] a vertical approach is followed. The author suggests
subnetwork (domain). However, controllers in the hierarchical having a central controller over all SDN domain controllers.
model form a hierarchy of several levels and have different Using a central controller can cause a single point of failure
responsibilities. The root controller maintains global network and a scalability issue. The central controller creates an abstract
information, whereas local controllers (connected with the rot topology at the SDN domain level and calculates a tree to
controller) take control decisions for their subnetworks. The remove the loops. Based on the results, the Spanning tree
flat model provides reduced load per controller, higher blocks those ports that are not part of the tree.
scalability of the network, and higher resilience to failures but
must cope with controller’s management. The hierarchical
979-8-3503-2512-6/23/$31.00 ©2023 IEEE

65th International Symposium ELMAR-2023, 11-13 September 2023, Zadar, Croatia


29
Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on November 18,2023 at 18:12:41 UTC from IEEE Xplore. Restrictions apply.
The authors in [7] implemented a module for the SDN
controller. To achieve high performance and low latency, they
introduce a load balancing solution for data center networks
based on the OpenFlow protocol. The authors implemented a
dynamic routing algorithm.
Z. Lafit et al. in [8] created the DOLPHIN solution. The
authors proposed a dynamic solution for SDN control that
dynamically distributes the flow load between multiple lines
across multiple SDN domains. It also provides better use of re-
sources. It proposes a complete path calculation and topology Figure 1. Operation of the proposed algorithm.
extension system (horizontal and vertical) in the environment
of several SDN domains. the ifoutoctets parameter is monitored, which means how many
bits leave that interface.
III. THE PROPOSED SOLUTION
The proposed solution was developed using the Ryu SDN B. Operation of the proposed algorithm
controller, which can communicate with another SDN Fig. 1 shows a diagram of the actions performed in our
controller and balance load traffic between multiple SDN proposed solution. Each SDN controller discovers computers
domains. The Ryu controller was integrated and tested in (end nodes) on its network. If two computers want to
Mininet environment. communicate with each other, they first send ARP messages.
Computer 1 sends an ARP request in which it looks for the
The Mininet environment was used to emulate OpenFlow MAC address of the target computer (computer 2).
switches and computers that will communicate in several SDN
networks. Individual SDN networks are interconnected using a This message is sent by the OpenFlow switch (to which the
GRE (Generic Routing Encapsulation) tunnel. This tunnel was computer 1 is connected) directly to the SDN controller.
opened on the OpenFlow switch. GRE encapsulated tunnels are OpenFlow switches have a default rule which sets that if the
not encrypted. device does not know what to do with a given packet, it sends
it to the controller. When this message arrives at the controller,
As mentioned, the Ryu SDN controller was used in our the controller retains information about that computer. When
solution. This SDN controller is centralized and our proposed computer 2 is not discovered, it will not allow it to
solution requires a distributed controller. Therefore, a new communicate on the network. After discovering computer 2 in
communication module was added to this SDN controller. the network, the controller sends an ARP response.
A. Obtaining data from topology When both computers have an ARP response, they start
communicating with each other, e.g. TCP data flow.
The overall topology consists of several SDN domains,
which are managed by SDN controllers themselves. Each SDN Upon arrival of a TCP SYN message on the controller, the
controller discovers OpenFlow switches, links, and computers controller evaluates the shortest path between them over the
in its SDN network. When the controller is turned on in the least utilized links. The shortest path is defined as the path
OpenFlow network, the switches announce themselves that composed of the links with the highest available throughput.
they are active in the network. The controller then sends OpenFlow rules to devices (switches)
along the way. If these computers are on the same network
When the pingall command is entered into the Mininet (SDN domain), mutual communication can start.
environment, computers appear on the controller. The
controller detects them and saves the following data about If computer 2 is in the different SDN domain and is
them: MAC and IPv4 address, identifiers (dpid) of switches connected to domain which is managed by controller 2, TCP
they are connected to, and the ports on these switches they are communication takes place between the controllers (of both
connected to. domains) and they exchange the discovered computers via the
message hosts. If an ARP request comes from computer 1 to
SFlow technology was used to obtain additional controller 1, the controller evaluates the shortest path and sends
information about the current values of link utilization in the OpenFlow rules within its SDN domain; it means following the
network. In the sFlow environment, each SDN domain acts as GRE interface. The ARP request does not cross between SDN
an sFlow agent, which sends data to the sFlow collector. The domains due to a blocking rule. This controller then prepares a
SFlow collector collects these statistics and stores them in its flow message and sends it to controller 2. Upon receiving this
database, which we can access from individual controllers message by controller 2, OpenFlow rules are distributed to
using the API. each switch along the path contained in the flow message
In our solution, API calls to the sFlow collector are used to within its SDN domain. Subsequently, everything is ready for
obtain data from the topology, specifically, which switches communication between those two computers.
with which interfaces are located in the SDN network and
which links between switches exist. Data on the current link C. Communication between SDN controllers
utilization are acquired from the topology. For each interface, Communication between several SDN controllers in
different SDN domains is performed using the TCP protocol.

65th International Symposium ELMAR-2023, 11-13 September 2023, Zadar, Croatia


30
Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on November 18,2023 at 18:12:41 UTC from IEEE Xplore. Restrictions apply.
Each controller has its own database in which it stores E. General view of the proposed solution
information about its network. TCP communications are based The overall view of our proposed solution is shown in Fig.
on a client-server model. The SDN controller in the client role 2. The SDN network is divided into several SDN domains; the
sends synchronization messages to the SDN controller in the individual SDN domains are connected by GRE tunnels and
TCP server role regularly every second. In our proposed contain OpenFlow switches and computers.
solution, the following types of messages will be used:
Each controller contains three main parts, namely the
• Keep-alive messages are used to maintain a TCP shortest path calculation application, the sFlow database, and
connection to the TCP server. TCP clients regularly the communication module. The communication module is
exchange these messages with the TCP server. used to ensure communication with other controllers in the
• Host messages contain information about the newly network through the TCP protocol. Communication consists of
discovered computer. three types of messages: keep-alive, hosts, and flows.

• Flow messages inform another controller that it is The shortest path calculation application contains an
necessary to load individual OpenFlow rules to efficient Dijkstra algorithm. This solution also distributes
switches in the given SDN domain. This message OpenFlow rules to switches, which the Dijkstra algorithm
contains the path of the connection with information evaluates as being on the shortest route through the least
about the destination port and the type of protocol. utilized links.
This message also contains important information The controller also contains a connection to the sFlow
about the source and destination computers. database, from which it determines the current link utilization.

D. Uploading OpenFlow rules IV. TESTING SCENARIOS


The OpenFlow rules are sent from the SDN controller to The functionality of our implementation was demonstrated
the OpenFlow switches and are divided into two types. in test scenarios.
The first type of rules that are uploaded to the switches The basic concept of load balancing was focused on in a
represents the initialization rules. In a Mininet environment, simple topology consisting of three switches and three
they consist of rules for blocking LLDP messages, blocking computers shown in Fig. 3. The yellow lines represent pings
ARP messages on the GRE interfaces of individual switches, sent between all end node pairs to make them visible in the
and also a rule that states that if the switch does not know what network. Then the H1 node started TCP communication with
to do with a given packet, it forwards it to the controller. These H2 (red line). After a short time, H2 started UDP transmission
OpenFlow rules do not expire over time and remain in the to H1 (blue line). Different paths for these data transmissions
OpenFlow table on individual switches at all times. acknowledge the deployment of load balancing in the network.
The second type of rules (uploaded to switches) is designed To ensure real control of the load balancing for all flows that
to ensure data communication. For the Mininet environment, have ended and elapsed over some time, namely 100 s, they
this type of rule can be divided into two subtypes: intra-domain will be removed from the OpenFlow tables. If users want to re-
and inter-domain upload rules. establish the connection after this time, they will have to go
through the process of finding the shortest path again through
When uploading rules, the so-called idle timeout function the least busy links. This initial testing clearly demonstrated the
was implemented in the rules ensuring communication. This functionality of our proposed load-balancing solution within a
parameter is set to 100 s. This means that if the data flow ends single SDN domain.
and then 100 seconds pass, the rules are automatically deleted,
and the switches inform the controller about their deletion.

Figure 2. General view of proposed solution. Figure 3. Load balancing in simple SDN network.

65th International Symposium ELMAR-2023, 11-13 September 2023, Zadar, Croatia


31
Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on November 18,2023 at 18:12:41 UTC from IEEE Xplore. Restrictions apply.
Figure 4. Multi-domain final path of flows.

In the next test scenario (shown in Fig. 4), the delay is on the order of tens of milliseconds for the two SDN
communication and load balancing between the three domains. With three controllers, it is on the order of a few
interconnected L2 networks were verified. Blue and red lines seconds, a maximum of 4 s. The TCP protocol coped with this
represent data communications with calculated paths for them minimal delay by performing the required retransmissions.
in the network via UDP and TCP protocol respectively. Once While communicating with the UDP protocol, the initial
each controller knows all the relevant data related to the packets are dropped on the SDN controller, and only when the
topology information, the data flows are simulated. TCP flows message arrives this connection can work.
Retransmissions have also occurred in this TCP flow
simulation, which are caused by the delay caused by sending ACKNOWLEDGMENT
flows messages. Then communication starts. With three
domains, the delay can reach a maximum of 2-3 seconds in the This publication has been written thanks to Slovak National
worst-case scenario. research projects: APVV-19-0401, APVV-20-0346, and
KEGA 025STU-4/2022.
In this test scenario, intra-domain and inter-domain
communications were controlled. The resulting flows are also REFERENCES
shown in Fig. 4. The proposed algorithm chose the least
utilized and at the same time the shortest paths. The TCP
protocol reliably provided communication between SDN [1] D. Kreutz, F. M. V. Ramos, P. E. Verissimo, C. E. Rothenberg, S.
Azodolmolky, and S. Uhlig, “Software-defined networking: a
domains. The calculated shortest paths created the best path so comprehensive survey,” Proceedings of the IEEE, vol. 103, no. 1, pp.
that the maximum capacity of the links was used. 14–76, 2015.
[2] O. Blial, M. B. Mamoun, and R. Benaini, “An Overview on SDN
V. CONCLUSION Architectures with Multiple Controllers,” Journal of Computer Networks
and Communications, 2016.
In this paper, we described our work on load balancing in [3] S. Saraswat, V. Agarwal, H. P. Gupta, R. Mishra, A. Gupta, and T.
multicontroller SDN networks. The prototype of our solution is Dutta, “Challenges and solutions in software defined networking: A
based on a new communication module integrated into the survey,” Journal of Network and Computer Applications, vol. 141, pp.
originally centralized-based controller. In the network, 23–58, Sep 2019.
individual controllers exchange information about computers in [4] B. Sokappadu, A. Hardin, A. Mungur, and S. Armoogum, ”Software
individual domains and information about when and to which Defined Networks: Issues and Challenges,” 2019 Conference on Next
Generation Computing Applications (NextComp), pp. 1-5, 2019.
switches to send OpenFlow rules. Our proposed solution is able
[5] T. Ofčarovič, ”Application of software defined networks with multiple
to determine the actual utilization of current links using the controllers,” MSc. thesis, Slovak University of Technology, 2019.
sFlow protocol. Subsequently, our solution is able to calculate [6] A. K. Selvakumaran, ”Software-defined inter-domain switching,” MSc.
the shortest path through the local domain of the controller or thesis, Ryerson University, 2016.
the entire L2 network. Unlike other approaches, no central [7] Y. Li and D, Pan, “OpenFlow based load balancing for fat-tree networks
controller is necessary. The proposed and implemented with multipath support,” 12th IEEE International Conference on
solution was tested and its functionality was demonstrated in Communications (ICC’13), Budapest, Hungary, 2013.
several different scenarios. The delay caused by the delivery of [8] Z. Latif, K. Sharif, F. Li, M. M. Karim, S. Biswas, M. Shahzad and S.P.
the TCP sFlow message proved to be a low disadvantage. Mohanty, “DOLPHIN: Dynamically Optimized and Load Balanced
PatH for INter-domain SDN Communication,” IEEE Transactions on
OpenFlow switches cannot send unknown broadcast packets, Network and Service Management, vol. 18, no. 1, pp. 331-346, March
so they send such packets to the controller, and the controller 2021.
drops them because it is waiting for a TCP flows message. This

65th International Symposium ELMAR-2023, 11-13 September 2023, Zadar, Croatia


32
Authorized licensed use limited to: NATIONAL INSTITUTE OF TECHNOLOGY TIRUCHIRAPALLI. Downloaded on November 18,2023 at 18:12:41 UTC from IEEE Xplore. Restrictions apply.

You might also like