the connectivity of network resources and the flow of
network traffic. The separation of the control plane
and the data plane can be attained by means of a
well defined programming interface like Openflow
between the switches and the SDN controller. There
are many unique features in SDN such as visibility,
programmability, openness and virtualizability.
SDN controller can be considered as the brain of
the SDN architecture. However, there are some bot-
tlenecks in current SDN controllers such as the inabil-
ity of current SDN controllers to handle a large num-
ber of packets when the network scales up, inability to
operate in high speed networks due to higher traffic,
difficulties in bandwidth allocation and to cope with
the dynamic nature of the network(Akyildiz et al.,
2016). Many SDN controllers are fully software
based controllers. Performance of SDN controllers
is are degrading in high speed networks such as core
networks of service providers due to the lack of CPU
processing power. There is some horizontal integra-
tion such as physically distributed controllers, hierar-
chical controllers and multi-thread controllers. How-
ever there is no well recognized vertical integration in
the current field. Thus, as a solution to this situation,
this analysis considers the introduction of hardware
accelerated SDN controller functions in FPGA.
3 RELATED WORK
Software Defined Networking is an emerging net-
working architecture attempting to mitigate the bot-
tlenecks in the traditional routing and switching net-
work system. However the SDN architecture also
has to face many challenges which have to be over-
come in order to use the SDN concept in large scale
networks. The SDN architecture comprises of three
main components which are Data plane, Controller
plane and Application plane among which the con-
trol plane has the major responsibility in the design.
Hence most of the research is focused onto acceler-
ating the SDN controller plane using different tech-
niques (Katov et al., 2015). SDN controller is the
central nervous system for the SDN as it manages
all the network devices in data plane and services
for the applications in application plane. There are
many researches on analyzing and comparing indus-
trys mainstream SDN controllers such as Floodlight,
POX and OpenDaylight, in order to address the bot-
tlenecks (Caba and Soler, 2015). Several controllers
have been introduced at present but all of them are
in line of a horizontal development(Martinello et al.,
2014). I.e. optimization of controller aspects or dif-
ferent architectures models are introduced at a soft-
ware level. Furthermore the implementation of con-
trol plane on hardware such as Graphical Processing
Units (GPUs) or FPGA has been carried on by several
other research groups.
3.1 A Modularized Carrier-grade SDN
Controller According to the
Characteristics of Carrier-grade
Networks
The modularized carrier-grade SDN controller (Wang
et al., 2014) is a research carried out to resolve the
problem of controlling large-scale networks of carrier
by utilizing a modularized SDN architecture. In order
to achieve flexibility, scalability and stability, the core
modules which are the reason for limiting the con-
troller performance are designed to meet the carriers
need. The research is focused on horizontal devel-
opment of the SDN controller, in which they use new
methods such as using new algorithms, static memory
allocation, multi-threads technique and stick-package
processing to improve the performance of the con-
troller. Three threads are created by the system such
as receiving thread, processing thread and sending
thread to improve the performance of the controller.
Memory for switch is allocated statically by controller
to improve the connecting efficiency of controller and
switches. Stick package processing is introduced to
bind several openflow packets into one TCP packet to
improve performance when the controller receives too
many packets in a short time. That means a cluster is
made up of controllers and communication between
controllers using east west interfaces. This method
can improve the reliability and availability because
even though a single controller is down the other con-
trollers in the cluster can handle the traffic.
3.2 A GPU based SDN Controller
A GPU -SDN controller (Renart et al., 2015) has been
implemented with the goal of mitigating the scalabil-
ity problem by offloading all the packet inspection
and creation to the GPU. Due to the high computa-
tional capabilities GPUs are capable of pattern match-
ing, network coding, IP table lookups and cryptogra-
phy in relation to network workloads. This vertical
development of a SDN controller has paved the way
to handle a number of network packet flows per sec-
ond thus enabling the controller to handle more num-
ber of switches. In the proposed architecture the CPU
threads are divided into two sets, which are producer
threads and consumer threads. The producer threads
fetches and classifies the packets and stores them to
DCNET 2017 - 8th International Conference on Data Communication Networking
78