Software-Defined Network Testbed Using ZodiacFX a Hardware Switch for OpenFlow

Software-defined network (SDN) is a new programmable networking designed to perform tasks easier by enabling network administrators to add network control via a centralized control platform and open interfaces. Common network use procedures such as traffic shifts, troubleshooting and various types of device configuration. Thus devices are needed to reconfigure with the network, in order to create a reaction with events. In this paper, we have developed an SDN testbed using Zodiac FX a hardware switch for OpenFlow experiment. This research is utilized Zodiac FX a hardware switch to test the usage and discuss about the SDN controllers. Ryu controller is configured for testbed development. The main contribution of this paper in threefold as follows: first it provides the configuration of Ryu controller, second, it provides the configuration of Zodiac FX switch and lastly it develops a simple SDN testbed for OpenFlow.


Introduction
The recent advent of Software-Defined Network (SDN) has boosted the network infrastructure in different emerging fields.The SDN is a promising solution for future networks due to its open-nature network architecture.SDN is not an innovative offer thus SDN is a redesign of previous proposals through an examination of earlier models.A brief explanation can be found [in 1, 2] which primarily deals with programmable networks and control data plane division tasks.
The main objective of SDN is to decouple the control plane from the data plane of the OpenFlow switch.The aim of this is to provide centralized control of the entire network.The architecture of SDN is divided into three main layers including data layer, control layer, and application layer.The communication between data layer and control layer is performed by an OpenFlow protocol.
The control layer contains a main entity known as a controller that can be used to act as the heart for the entire SDN infrastructure.The controller is responsible for controlling the network devices in the data layer while injecting different applications from the application layer.The controller can communicate with another controller connected through east and west bound interfaces.However, the OpenFlow protocol uses southbound interface that is further used to manage communication between switches and the controller.OpenFlow is used by different researchers to perform their experiments as SDN is in its initial stage of implementation.
The SDN idea is based on separating control from the network forwarding features such as switches and routers [2].The basic principle of the SDN is allied with OpenFlow protocol.OpenFlow is a protocol which has been designed by academia at Stanford University in 2008 [3].OpenFlow has proposed at the initial stage in [4], which it is executable available for researchers to perform more experiments [5].Open Networking Foundation (ONF), an open source organization group, is progressively promoting and troubleshooting the improvements of SDN and the standardization of OpenFlow [6].
Various authors have discussed possible solutions to the some problems/limitations, have uncovered new challenges and provided a path to the better understanding of a collaboration between simple/complex networks and enduser applications and services.SDN has introduced an external and programmable network's control plane, which is modeled as a simple and open interface to the network data plane [1,2,7,8].
Figure 1 shows the basic overview of SDN which includes an Application layer, Control Layer and Data Layer.The most important part of SDN is northbound-API applications.This may offer information to the control plane that can be controlled the data plane.In a broader sense, the control plane can be influenced to enhance the network control for better improvement in the user supposed Qualityof-Experience (QoE) by altering the forwarding performance of switches or by assigning more network's resources to a particular flow.These administrative tasks are possibly on short time scales as well as a per-flow basis.
The main contribution of this paper is to design a simple SDN testbed using Zodiac FX via Ryu open source SDN controller.Zodiac FX consists of four ports network implementation board and considered as a smallest network implement board to perform modeling and designing for SDN services and applications.The main purpose is to use RYU for development a SDN testbed that Ryu supports several protocols and deal with the network devices, such as OpenFlow, Netconf, OF-config, etc. Ryu is a fully developed in Python and codes are available under the Apache 2.0 license.Furthermore, we surveyed SDN by providing a comprehensive overview of the present achievements in SDN.The rest of this paper is in the following order.In section two, we presented definition and overall design of OpenFlow, it is a standard protocol of SDN

Figure 2. Overview of OpenFlow Design
It is enabled between the controller and switches that maintain a table on every switch.The table contains the "match and action" entry that is essential to examine at the traffic flow.Furthermore, in the case of failure of any matching entry, the controller can be determined by the action upon that failure match entry to make a suitable decision.OpenFlow packet processing deals with various packet processing towards the Ethernet or While it is implemented in its design, therefore OpenFlow packet processing can be done by hardware design.
Figure 3 shows the whole process of packet forwarding in OpenFlow.In general, the process of reaching packets tested by compared to a flow table.In the broad view, the table is contained "match and action" sequence having n terms.The unique match options, such as: in_port, dl_src, dl_dst, dl_vlan, dl_type, nw_proto, nw_src, nw_dst, tp_src, tp_dst.dl_are referred to the data link layer, nw_ is referred to the network layer, tp_ is referred to the transport layer.

Ryu SDN Framework
Ryu SDN framework is available as an open source with its documentation, it is a tool-set for SDN development, includes an OpenFlow controller, among other tools.This is a component-based framework for SDN.It offers software components with well-defined API that makes it easy to create network management and control applications.[19,20].To configure Ryu controller is available via command line is following.

#sudo apt-get install python #python -v (check python version) #sudo apt-get install python-pip #sudo pip install ryu (including open virtual switch)
Ryu has provided well-organized documentation and defined API for creating the different SDN scenario applications.Figure 5 shows the Ryu controller connection with Zodiac FX for SDN scenario.It is fully supported all types of networks applications for example firewall, Intrusion Detection Systems, Intrusion Privation Systems, fault tolerance and load balancing can be designed under Ryu controller.The main advantage of this controller is to support all OpenFlow versions.At the initial stage, ryumanager appname.pycommand is executed the Ryu controller.

SDN Testbed Setup
Zodiac FX is designed four ports network implement board that is developed for researchers and developers for modeling and design an SDN services and applications.Figure 6 shows the Zodiac FX switch.It is considered the smallest switch: flexible enough to fit on desktop users.The size of the switch is 10 x 8 cm.
It is a low-cost board that can be performed various experiments.At the first step, it was developed to let inexpensive execution to OpenFlow hardware [21].Zodiac FX command line is available via the USB port.To configure Zodiac FX using gtkterm and process of configuration is described as following, Figure 7 shows the port for Zodiac Fx.Gtkterm can be configured the zodiac FX which provides the port to configure.It shows different ports are connected in system while /dev/ttyACMO is representing to Zodiac FX.Once chose the port, it can be configured Zodiac FX. Figure 8 shows the configuration.As mentioned in Zodiac FX manual port four is the OpenFlow control plane port and while other ports are the OpenFlow forwarding plane ports.

Conclusion
In

Figure 4 :
Figure4: shows the overview of Ryu controller.Ryu supports several protocols for dealing with the network devices, such as OpenFlow, Netconf, OF-config, etc. Ryu is a fully developed in Python and codes are available under the Apache 2.0 license[19,20].To configure Ryu controller is available via command line is following.

Figure 5 .
Figure 5. Ryu controller connection with Zodiac FX

Figure 6 .
Figure 6.Zodiac FX a hardware Switch It has provided firmware code that makes user flexible to generate various own versions.It provides various type of device such as the applications may have Router, Bridge, Load Balancer, Web server, VPN concentrator, TOR client.Zodiac FX command line is available via the USB port.To configure Zodiac FX using gtkterm and process of configuration is described as following, Figure7shows the port for Zodiac Fx.

Figure 8 .Figure 9 .
Figure 8. Zodiac FX configuration To design a simple SDN testbed, we have used Ryu controller open source available codes, and Zodiac FX a hardware switch.Zodiac FX is a four-port hardware, one port is connected directly to Ryu controller while other ports are connected to hosts, figure 9 shows the connectivity of Ryu controller and Zodiac FX.

Table Group Table Flow Table Flow Table OpenFlow Protocol
. In third section, it describes the Ryu open source controller, it is a stable framework of SDN and mostly used due to its reliability and availability of codes, Ryu codes are available as open source.In fourth section, to design and development process of a SDN Testbed Setup using Zodiac FX and Ryu open source SDN controller is presented.The main contribution of this paper is development of SDN testbed using Zodiac FX and Ryu controller, main focuses on the configuration of Ryu and Zodiac FX switch is highlighted in this section.In end, it concluded the overall OpenFlow architecture has two building-blocks: First OpenFlow Controller and multiple OpenFlow Switches.Openflow Switch [6][7][8][9][10]omising and promoted protocol, available as open source for enabling SDN in real application scenario[6][7][8][9][10].Figure2shows the OpenFlow design, OpenFlow normally required for the implementation of SDN scenario; it is fully supported in hardware and software.It is available for researchers, communities and industrial developers.It can be utilized the present software and hardware to develop new protocols for SDN scenario after development.It can also be analyzed for performance.OpenFlow becomes an important protocol of SDN that is globally commercialized with accessible routers and switches as well.EAI Endorsed Transactions on Scalable Information Systems 07 2017 -09 2017 | Volume 4 | Issue 14 | e this paper, we developed SDN Testbed and surveyed the design of OpenFlow and SDN Ryu Controller.It is observed a real programmable network by setting up a Ryu SDN controller and Zodiac FX for the SDN scenario.We presented all possible configurations that show how to build a real SDN scenario via a hardware switch Zodiac FX.Furthermore, we have provided a detail of OpenFolow and Ryu SDN controller that can provide a better observation of the setup and design at the implementation level.Via presented configuration, SDN Testbed can be further analyzed through the performance.All possible configurations are provided in this paper based on SDN standard OpenFlow protocol and Ryu SDN open source controller.Hence, it can say that SDN is more flexible than traditional network and main advantage of SDN is a cost efficient and programmable.Zodiac FX can be used to perform more experiments and examine the performance via Rya OpenFlow controller and other SDN controllers.It is observed that the major limitation of SDN controllers that if any active controller fails it can rapidly break down the entire network.