You are on page 1of 5

AADC 3 : Active-Active Distributed Controller with

3-in-1 Asynchronous Heartbeat Synchronization


Method in Software-Defined Networks
Muhammad Arief Nugroho1, Vera Suryani2
School of Computing
Telkom University
Bandung, Indonesia
arif.nugroho@telkomuniversity.ac.id1, verasuryani@telkomuniversity.ac.id2

Abstract—The problem of synchronous message exchange on


and then the receiver will then respond with one acknowledgment.
active-active distributed SDN controllers is that every message Using this method can reduce the workload of each controller and
sent by controller A (sender) will be responded to by controller B a faster controller-to-controller communication process.
(receiver). Therefore, sending the following message after
receiving each response, causing on performance degradation and II. RELATED W ORKS
a higher controller’s workload because every message expects an A. Related Works
immediate process to generate acknowledgments messages.
Therefore, we developed a method to improve the message [2] Flat architecture provides more resistance to the network's
exchange mechanism and reduce the message resources burden in failures than the hierarchical controller because it has several
sending synchronization message information between con- layers with different responsibilities, so it is more vulnerable to
trollers. This study proposes using asynchronous messages as failure on the network. [3] describe that flat architecture using
distributed SDN controller message exchanges with the 3-in-1 the active-active method to make all active controllers work
method, which is the mechanism carried out by sending three
messages and producing a reply in one acknowledgment. Our together to manage a network simultaneously and more
experiments show that the 3-in-1 method gives lower CPU and frequently to ensure network consistency. Another study shows
memory usage and has a higher throughput than the traditional that the active-passive distributed SDN controller [4] shows that
message exchange in Distributed SDN Controller. the backup controller's existence serves to monitor and do
Index Terms—active-active, distributed SDN controller, asyn- backups if there is a network failure on the main controller. [12]
chronous messages, 3-in-1 conducts the design and implementation of controller-to-
controller communication in- interface. This study also explains
I. INTRODUCTION
the types of synchronous communication and asynchronous
A distributed Controller is a multiple-controller that is used to messages. The results of the study indicate that the use of
increase scalability in the network. When designing a network, asynchronous messages increases network flexibility which
one must consider scalability in a system, network, and process significantly increases network performance and reduces the
that shows its ability to handle several potentially significant workload on the controller
performance improvements. A distributed controller is divided B. Software Defined Networks
into two architectures, flat architecture and hierarchical Software-Defined Network (SDN) is a new paradigm that can
architecture. Flat architecture is a horizontal scaling so that the be programmed and controlled centrally by separating the
control plane consists of only one layer, and each controller has control plane and the data plane. The Control plane is a
the same responsibility at the same time [1]. The flat architecture component on the network that functions to control the network
has more flexibility on the network's failures than hierarchical by performing a system configuration, network management,
architecture [2]. Flat architecture Distributed Controller divided determining the routing table information, and forwarding
into active-active and active-passive. Distributed controller table. Data plane is the part that is responsible for forwarding the
(active-active) using flat architecture makes all controllers active packet. SDN architecture enables a network to increase network
and works together to manage a network simultaneously and scalability, which is realized through a simple implementation of
expand the control plane's capabilities. In the previous research, network components and services. SDN introduces a method for
Distributed Controller (active-active) analysis using synchronous increasing the level of abstraction in network configurations.
message exchange, compared to the active-backup method, the SDN's main objective is to achieve better network management
research results in a lower CPU performance resulting in a faster with great complexity and to ensure that all decisions of the
failover process [3]. In general, synchronous messages have the control system are made from the central point (controller) [6].
drawback of requiring more time while waiting for a receiver's
C. Distributed Controller
response because the communication is real-time, and higher
workload on each controller. Different from asynchronous A distributed controller is a multiple-controller on a Software
messages, several messages can be sent directly, and then the Defined Network (SDN) network used to increase scalability in
receiver will execute. This paper presents a new mechanism on a network. In this controller, SDN has two or more controllers
controller-to-controller communication, AADC 3: 3-in-1 where each controller is responsible for providing information
asynchronous message, which works by sending three messages, or messages to other controllers [7]. A distributed controller is
divided into two architectures, flat architecture and hierarchical affects the speed of data transmission continues to increase
architecture. Both architectures can increase switch or linearly [13]. Therefore, this study uses a 3-in-1 method on the
controller latency. However, flat architecture is more resistant active-active Distributed Controller architecture by sending
to failures in the network compared to hierarchical architecture. three messages and responding to one acknowledgment in each
Flat architecture has the same responsibilities, whereas message exchange process between controllers to reduce the
hierarchical architecture has different responsibilities because burden of message resources in exchanging messages so that
devided by multiple levels [2]. they run faster.

D. Reliability In this research, the message exchange process is done by


Reliability is a network capability that has a high availability sending three messages and then responding by controller B
of network services. This capability considers network traffic with one acknowledgment (ACK). Then, sending messages
such as overload, latency, and also throughput [9]. Reliability works for a maximum of 1 second, so the message sending
has a network technique called a failover mechanism, which process lasts for less than 1 second. Suppose the sending time
provides two or more connection lines when one goes down. is more than 1 second and the message sending is less than three
The connection is still running by diverting to the other line. messages. When the controller is declared down, the controller
This mechanism designed to act as soon as possible when migration process starts from controller A to controller B.
downtime occurs [3] [10]. Timeout between each controller is 1 second, specified as the
maximum time limit for sending synchronization messages.
E. Synchronous vs Asynchronous Message Exchange
The message exchange system is a set of techniques that
allows objects to communicate in sending and receiving
messages over the network. A message contains information
such as a request, response, or unresponded delivery messages.
The message exchange is divided into two communication
models called synchronous messages and asynchronous
messages. The synchronous message has a synchronization
point for each migration interval when communication occurs.
All processes must wait and block until all processes reach the
same point. This approach works in real-time, which means that
the communication process runs directly. When the sender
sends a message, the receiver will be responsible, affecting the
next message’s execution. The sender cannot send the message Fig. 1. 3-in-1 Message exchange under normal condition.
before receiving a response from the receiver. A longer time is
needed while waiting for the response. Unlike the In Figure 1, the asynchronous message exchange between
asynchronous message, this communication method has a controllers using RabbitMQ as message broker. Controller A
queuing scheme to not require a response to continue the next sends heartbeat messages to controller B via message broker.
process. In asynchronous messages, the controller can directly Likewise, controller B conveys the message through the message
send several synchronization messages, and then the receiver broker then forwards the message with an acknowl- edgment
will execute them. This approach has many advantages (ACK) that replies three messages to controller A. The
compared to synchronous messages. Asynchronous messages parameters used in testing with this scenario is CPU Usage to see
(nonblocking i/o) demonstrate higher performance results in the controller workload.
controller-to-controller communication compared to
synchronous messages (blocking i/o) [12].
III. RESEARCH M ETODOLOGY
A. 3-in-1 Active-Active Distributed Controller Message Ex-
change
The 3-in-1 Asynchronous Heartbeat is a new method on
distributed SDN controller message synchronization in this
study using the active-active distributed controller. The
message exchange process will performed after each
controller has mutually detected that the controller status is
mutually active or called a heartbeat. Then, the process of
exchanging messages between controllers using the 3-in-1
method works by way of controller A as a sender sending three
messages and controller B as the receiver will respond with
one acknowledgment. The 3-in-1 method introduces the Fast
Recovery Fast Retransmit in TCP Reno, where the technique
sends three duplicate messages to speed up the lost message’s
delivery time. Then, research explains that in the third
duplicate transmission, the threshold value decreases, which
IV. E VALUATION
In this chapter, we demonstrate the result of our experiments
related to the results of our simulation. Our simulation consist
of two scenarios: normal controller operations and failover
controller operations. The parameters used in our scenario are
failover time, CPU Usage, and throughput to see the
performance comparison of the two methods, 3-in-1 message
exchange, and 1-in-1 message exchange
A. Throughput

Figure 4 shows that throughput performance in our


Figure 2. 3-in-1 Message exchange failure controller proposed method shows higher throughput on handling
numerous clients shown in table 1 compared to the previous
In Figure 2, an asynchronous message exchange has a method (normal message exchange). When more devices
controller A down because the message sent is less than three attached to the network, the throughput performance gets
messages, and the sending time is more than 1 second. So that lower. Our proposed method gives higher throughput than the
the switch migration process from controller A to controller B. previous method because the controller has lower workloads on
This scenario simulated using a controller failover mechanism. processing heartbeat messages in each controller. In the
previous method, every message sent from controller A,
B. Network Topology controller B, will send ACK to controller A, resulting in a
This study's design is a development method from previous message processing bottleneck on each controller.
studies, i.e., Distributed Controller (active-active) topology [3].
The communication model as a message exchange in the paper
using asynchronous messages with the 3-in-1 method. The
controller used in this paper using POX

Figure. 4. Network Topology

Figure. 3. Network Topology B. Failover Time


To demonstrate the failover time experiment in our paper is done
In figure 3, two controllers are mutually active to work by shutting down Controller A. The failover time compared between
together, namely Controller A and Controller B. Each 3-in-1 message exchange with normal message exchange (1-in-1
controller manages two switches, where the controller manages message exchange) between controller A and controller B. Figure 5
switch one and switch two. Controller A directly connected to shows a graph showing the difference in failover time to switch
controller B. Switch three and switch four are managed by migration when controller A goes down. The difference obtained from
controller B and connected by controller A. When controller A the time the switch conditions have been disconnected to controller A
down, the switch will migrate to controller B. In the above until all the switches are connected to controller B is durable. The
topology, using the same network and each host can failover time is directly proportional to the number of switches
communicate with other hosts. controlled by the controller. The graph explains that the more
switches, the higher the failover time will be. Our experiment results
Table 1 Total Host and Switch
show the failover time on the 3-in-1 method is more efficient because
Switch 4 8 16 32
Host 8 16 32 64
it is faster to be responded to by controller B.

Table 1 shows the number of nodes containing the number of


switches and the number of hosts used for evaluation in this paper.
difference value of 1.67% lower than the 1-in-1 message
acknowledgment method based on these results. So that the
workload on the 3- in-1 method also has a lower workload
compared to the one message, one acknowledgment method.
Sending messages directly is sent three messages and is replied
with one acknowledgment containing these three messages, so
the workload on the controller is reduced. Then, the more
number of switches used, the higher CPU Usage will be due to
the number of switches connected to the controller.

V. C ONCLUSION AND F UTURE W ORKS


Figure. 5. Network Topology
Our experiments show that AADC 3 provides higher
Our proposed frameworks affect the controller workload, throughput, lower CPU usage, and quicker failover time.
resulting in faster message synchronization processing because AADC3 proposes a 3-in-1 message exchange mechanism
the 3-in-1 message delivery process is faster by directly sending between controller A and controller B which means that
three messages and replying to one acknowledgment. controller A will send three synchronization messages to
controller B, controller B will reply with one acknowledgment
message to controller A. This proposed message exchange on
the distributed SDN controller able to reduce CPU load on
each controller. Suggestions for next research, we plan to
develop adaptive AADC 3. When controller A goes down,
Figure 6. Network Topology controller B will act as a master controller. When controller A
goes alive again, controller B begins to send three messages to
Figure 6 shows that the result obtained when pinging from the neighbor controller (controller A)
host one to host eight during the failover process. The figure
explains that after sequence number 20, the switch
REFERENCES
disconnected from controller A, so the ping process has a delay,
and at that time, the switch tries to connect to controller B. This [1]H. G. Ahmed and R. Ramalakshmi, ”Performance Analysis of Cen-
happens because RabbitMQ as a message broker needs time to tralized and Distributed SDN Controllers for Load Balancing Appli-
cation,” 2018 2nd International Conference on Trends in Electron- ics
make the switch migration from controller A to controller B. and Informatics (ICOEI), Tirunelveli, 2018, pp. 758-764, doi:
10.1109/ICOEI.2018.8553946.
[2]Othmane Blial, Mouad Ben Mamoun, and Redouane Benaini. 2016.
C. CPU Usage An Overview on SDN Architectures with Multiple Controllers. J.
Comput. Netw. Commun. 2016, Article 4 (April 2016), 8 pages.
DOI:https://doi.org/10.1155/2016/9396525
[3]M.N.A. Syaehoni, “Desain Distributed Controller dengan Metode Active-
Active pada Jaringan Software Define Network,” Program Studi Sarjana
Informatika Fakultas Informatika Universitas Telkom Bandung, 2019.
[4]E. S. Spalla et al., ”AR2C2: Actively replicated controllers for SDN
resilient control plane,” NOMS 2016 - 2016 IEEE/IFIP Network Oper-
ations and Management Symposium, Istanbul, 2016, pp. 189-196, doi:
10.1109/NOMS.2016.7502812.

Figure 7. CPU Usage Graph


CPU Usage testing is done based on two ways the first is
without background traffic, and the second test uses
background traffic. Testing the value of CPU usage aims to
represent network scalability that affects the workload on the
controller. The average comparison result of CPU Usage values
in the two methods is the 3-in-1 method with the one-message
one acknowledgment method. The graph is quite representative
of 4 switches to 32 switches which are increasing. Tests were
carried out ten times to get these results with a testing time of
10 seconds for each switch. The highest percentage value
obtained in the 3-in-1 method is 7.90%, while the highest value
in the 1-in-1 method is 9.57%. The 3-in-1 method obtained a
[5]Kshira Sagar Sahoo, Sagarika Mohanty, Mayank Tiwary, Brojo Kishore
Mishra, and Bibhudatta Sahoo. 2016. A Comprehensive Tutorial on
Software Defined Network: The Driving Force for the Future Internet
Technology. In Proceedings of the International Conference on Advances
in Information Communication Technology Computing (AICTC ’16).
Association for Computing Machinery, New York, NY, USA, Article 114,
1–6. DOI:https://doi.org/10.1145/2979779.2983928
[6]Y. Yorozu, M. Hirano, K. Oka, and Y. Tagawa, “Electron spectroscopy
studies on magneto-optical media and plastic substrate interface,” IEEE
Transl. J. Magn. Japan, vol. 2, pp. 740–741, August 1987 [Digests 9th
Annual Conf. Magnetics Japan, p. 301, 1982].
[7]T. F. Oliveira and L. F. Q. Silveria, ”Distributed SDN controllers
optimization for energy saving,” 2019 Fourth International Conference
on Fog and Mobile Edge Computing (FMEC), Rome, Italy, 2019, pp. 86-
89, doi: 10.1109/FMEC.2019.8795343.
[8]Akerele, James. (2018). Performance Analysis of
Openflow-Enabled Network Topologies: Openflow SDN
VS Traditional Network. 10.13140/RG.2.2.33523.84008.
DOI:https://doi.org/10.1155/2016/9396525
[9]T. Kim, T. Koo and E. Paik, ”SDN and NFV benchmarking for performance
and reliability,” 2015 17th Asia-Pacific Network Operations and
Management Symposium (APNOMS), Busan, 2015, pp. 600-603, doi:
10.1109/APNOMS.2015.7275403.
[10]F. Fatturrahman, “SDN Controller Robustness and Distribution Frame-
work,” 2017.
[11]A. Kondel and A. Ganpati, ”Evaluating System Performance for han- dling
scalability challenge in SDN,” 2015 International Conference on Green
Computing and Internet of Things (ICGCIoT), Noida, 2015, pp. 594-597,
doi: 10.1109/ICGCIoT.2015.7380534.
[12]Benamrane, Fouad Ben Mamoun, Mouad Redouane, Benaini. (2017).
New method for controller-to-controller communication in distributed
SDN architecture. International Journal of Communication Networks
and Distributed Systems. 19. 357. 10.1504/IJCNDS.2017.086493.
[13]O. Ait-Hellal and E. Altman, ”Analysis of TCP Vegas and TCP Reno,”
Proceedings of ICC’97 - International Conference on Commu- nications,
Montreal, Quebec, Canada, 1997, pp. 495-499 vol.1, doi:
10.1109/ICC.1997.605357.

You might also like