0% found this document useful (0 votes)
70 views

Software Defined Networking

Uploaded by

Yadira Vargas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views

Software Defined Networking

Uploaded by

Yadira Vargas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/336670356

Software Defined Networking

Article · October 2019

CITATIONS READS

21 4,424

2 authors:

Hend Eissa Kenz Amhmed Bozed

7 PUBLICATIONS   68 CITATIONS   
University of Benghazi
13 PUBLICATIONS   89 CITATIONS   
SEE PROFILE
SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Detection of facial expressions based on Morphological face features and Minimum Distance Classifier View project

computer sciencce View project

All content following this page was uploaded by Hend Eissa on 19 October 2019.

The user has requested enhancement of the downloaded file.


2019 19th international conference on Sciences and Techniques of Automatic STA2019_Paper_81_TCE
control & computer engineering (STA), Sousse, Tunisia, March 24-26, 2019

Software Defined Networking


Hend Abdelgader Eissa Kenz A. Bozed Hadil younis
Department of Computing and Benghazi University , Faculty of Department of Computing and
Informatics Information Technology, Department Informatics
Faculty of Electronic Technology of Computer System Design Faculty of Electronic Technology
Tripoli, Libya Benghazi, Libya Tripoli, Libya
[email protected] [email protected] [email protected]

Abstract— This paper investigates the notion of software-  Use Ryu controller software environment to build a
defined networking (SDN), whose southbound interface can be network application running with a network Mininet.
applied through the OpenFlow protocol. The aim of this study The simulation demonstrates the advantages of using
is to discover the SDN architecture and the OpenFlow SDN architecture
standard in some details. In addition, to look at implementing
their tools on the oil company network. The simulation is done
using mixing between a network emulator Mininet and Ryu II. SOFTWARE – DEFINED NETWORKING
controller with using python scripts. Software-Defined Networking (SDN) is the physical
separation of the network control plane from the forwarding
Keywords— Software-defined Networks; OpenFlow; Ryu plane, where a single control plane controls several devices.
Controller; Mininet The SDN technique is for managing of traffic flows to be
separated from the implicit infrastructure and systems that
I. INTRODUCTION forward traffic.
Traditional networks architecture design depends on SDN separates the control plane from the data plane, then
distribution control and transport network protocols running SDN integrate the control plane, so that one control program
in the routers and switches that forward packets, allowing controls more data plane elements [3], as laid out in Fig. 1.
them to travel. This integration between the control plane
and the data plane makes it difficult to manage the networks. The separation of the control plane and the data plane is
[1] defined as application programming interface (API) between
the network device and the SDN controller OpenFlow
SDN is a model framework that is dynamic, cost- protocol [4] is an example for an API. A switch with
effective, and adaptable, producing it good solution for the programmable interface enables the controller to
high-bandwidth, nature of implementation today’s . This communicate and set rules on the switch. OpenFlow switch
architecture separate the network control and forwarding can behave like a router, switch, firewall, network address
functions, where it enables the network control to become translator [3].
programming’s and the underlying infrastructure to be
abstracted for network services. Open Flow protocol follows
SDN and gives programmable control of flows to the
network administrators allowing the controller to define the
path the flow will take from source to destination whatever
network topology, and utilizes flow based on processing for
forwarding packets. Open Flow is a standard interface
designed for SDN, and it gained great interest among
developers and industrialist of network gear. The separation
of the control and data planes turns the forwarding devices
into dump switches, where the control logic is in a separate
centralized controller or Network operating system. In SDN, Fig. 1 Traditional and software-defined architectures
one or more controller machines do a general-purpose
program responding to events like the change in the network B. The abstractions of SDN
topology, connections establishment by end users, change in
traffic load, by gathering a collection of packet-forwarding Abstractions are used to define the pertinent interfaces to
rules. The controllers pushes the rules to the switches form a modular scalable system. A modular system that
through protocol such as Open Flow. The switches then allows to reuse of code. The implementation can be
implement their function efficiently using packet-processing modified, but if the interface remains the same, it does not
hardware [1, 2]. affect other parts of the software system. Abstractions have
great benefits for building a scalable software system,
The key contributions of this paper are: modularity based on abstraction is required [5]. The SDN
abstraction is similar to the traditional computer systems,
 Study software-defined networking architecture and which was integrated with proprietary operating system,
the principles reside behind its design. Hardware and software into layered model with the ability to
 Study OpenFlow specification in details together choose the suitable feature in each layer. SDN comes with
with the Ryu controller and the specific exchanged the proper abstraction for the control plane. Three main
messages between them. columns are introduced to disconnect, the control plane:

978-1-7281-1292-3/19/$31.00 ©2019 IEEE 620


 Abstraction of the forwarding plane: Abstracting the interoperability across different vendors. Moreover,
forwarding plane is hiding the complexity of its the open interfaces enable controller entities to
implementation from the control decisions. An open program heterogeneous forwarding devices, which is
interface is used to rule the network devices. This difficult in traditional networks [3].
means that there is no need to have concern about a
specific vendor.  Southbound Interfaces: Southbound boundaries (SI)
are the linking connections between control and
 Abstraction of the network state: The cause behind network tools, the SI explain the communication
the complexity of managing and controlling the procedure between advancing devices and control
current networks is the complicated distribution plane. This protocol establishes the method the
algorithms such as OSPF. The idea is abstracting the control and information plane elements interact. On
complicated algorithms and come with a general the other hand, these APIs are still secured to the
network view for the controller to simplify the advancing elements of the substructure physical or
application functions. Instead of letting the network virtual infrastructure [6].
devices to communicate with each other, The SDN
Controller uses specific protocol (e.g., OpenFlow) to  Network Hypervisors: Network virtualization
communicate with network devices with information represents abstraction of a network that is separated
from the underlying physical equipment. This to
about the network to form the “view” or topology
map. Configurations sent to the routers and switches allow multiple virtual networks to run on top of
to the forwarding depending. shared infrastructure, where each virtual network can
have a its topology, rather than the implicit physical
 Abstraction of the control plane: The SDN controller network. Flow Visor was the initial effort to
provides application-programming interfaces that are virtualize SDN. As revealed in Fig. 3, Flow Visor is
accessed by applications. External applications can a stage that acts as a substitution between the
manipulate the network by the APIs through the controller and the network tools to offer an concept
controller using Java or REST. Developers can layer that shares the OpenFlow data plane,
configure and control the network without having to permitting numerous controllers to control its own
write software to support multiple vendor hardware part. Flow Visor's main responsibilities are to decide
and software. who control the packets advanced by the switch, and
check and establish the rules to be set by the
After implementing abstractions, the controller will work controllers [6,8].
as a Network Operating System (NOS) and talk to the
switches through API known as Southbound API. Where the
applications are codes written in the controller, using API's
provided by the NOS called Northbound API.

C. SDN Layers
The SDN architecture can be defined as a seven-layer
mixture as shown in Fig.2 . Each layer has its own purposes.
Some are provided continuously in the SDN architecture,
such as the Southern API, network operating systems, the
Northern Network API, and the network application. Others
can only be introduced in certain arrangements, such as
hypervisor - or programming languages [6, 7]. The following
figure illustrates these layers. Fig. 3 Flow Visor message handling

 Network Operating Systems: NOS is the core


element in SDN architecture. Similar to a current
operating system, the controller abstracts the details
of the SDN controller-to-device protocol where the
applications above are able to communicate with
those SDN devices without knowing the difference.
This centralized control by NOS has to ease network
management and simplify the overburden of solving
networking problems. Controller core features
include:
1) End-user device discovery: Discovery of end user
Fig. 2 Software-Defined Networks in (a) layers and (b) system design
architecture devices such as laptops, desktops, mobile devices, and so
on.
 Infrastructure: The traditional physical tools is
became simple advancing fundamentals without 2) Network device discovery: Discovery of network
insert control or for making decisions. The new devices that include the infrastructure of the network, such
networks are constructed on top of open and as switches, routers, and wireless access points.
standard boundaries to guarantees compatibility and

621
3) Topology Management: Maintain information protocol provides three information sources for network
about the interconnection details of the network devices to operating systems. First, event-based messages are sent by
each other and to the end-user. forwarding devices to the controller when a link or port
change is produce. Second, flow statistics are generated by
4) Flow management: Maintain a database of the the forwarding devices and collected by the controller. Third,
flows the managed by the controller and perform all incoming packet messages are sent by forwarding devices to
necessary adjustment with the devices to ensure the controller when they do not know what to do with a new
synchronization of the device flow entries with that incoming flow or because there is an explicit “send to
database. controller” action in the matched entry of the flow table.
 Northbound Interfaces: The Northbound Interfaces These information channels are the essential means to
are an abstraction that allow network applications provide flow level information to the network operating
not to depend on particular implementations to system [9].
simplify programming the network. In reverse to the
southbound interface, the northbound interface is B. The OpenFlow Switch
mostly a software system, where applications like An Open Flow Switch contains at least three parts: (1) A
routing are built programmatically by programming Flow Table, with an act related with each flow entry, to tell
languages such as Python or Java, this enables faster the shift how to practice the flow, (2) A Secure Channel that
development, lower investment costs and easier links the switch to a remote control process (called the
troubleshoot compared to the Southbound API [9]. controller), allowing instructions and packets to be sent
The controller notifies the application of proceedings between a controller and the switch using (3) The Open Flow
that happen in the network. Events may concern an Protocol, which offers an open and normal way for a
separate packet that has been established by the controller to connect with a switch. Fig.4 shows an instance
controller or state alteration in the topology, such as of an Open Flow switch [10].
a connection going down. Applications implore
different approaches in response to the event. This The basic notion is simple: most contemporary Ethernet
may comprise drop modify or forward the packet in switches and routers comprise flow-tables that run at line-
case of an received packet event. rate to device firewalls, NAT, QoS, and to gather figures.
While each vendor’s flow-table is different, there is an
 Programming languages: Programming languages stimulating common set of purposes that run in many
are high-level APIs that stretch an concept of the switches and routers. OpenFlow exploits this common set of
network itself, so that the developer need not be purposes.
concerned with separate devices but slightly with the
network as a whole [9]. Pyretic, Python and Frenetic The basic idea is simple: most modern Ethernet switches
amongst numerous other programming languages, and routers comprise flow-tables that run at line-rate to
are planned for SDN. implement firewalls, NAT, QoS, and to gather figures. While
each vendor’s flow-table is different, there is an exciting
 Network Applications: Network applications common set of purposes that run in numerous switches and
implement the control-logic, which translated into, routers.
commends installed in the network devices, and
determines their behavior. Network application is
considered as the “Network brain”. It registers as a
listener for certain events as specified previously,
then controller invokes the application’s callback
method whenever such an event occurs as well as
apply them to External inputs such as performing
security methods. [9]. A modest application, i.e.,
routing, the logic of this application is to describe
the track through which packets will run from a
point A to a point B. To accomplish this objective a Fig. 4 Open Flow Switch
routing application has to, based on the topology
contribution, decide on the path to use and instruct Open Flow quarries this public set of purposes. Open
the controller to connect the relevant advancing rules flow switches come in two diversities: pure (OpenFlow-
in all forwarding devices on the chosen path, from A only) switches, which have no legacy features or on-board
to B [10]. Despite the wide diversity of usage cases, control, and completely rely on a controller for forwarding
most SDN applications can be gathered in one of decisions. And hybrid (OpenFlow-enabled) switches, which
five classes: traffic engineering, mobility and support OpenFlow in addition to outdated process and
wireless, measurement and monitoring, security and procedures. Most profitable changes available today are
dependability and data center networking [6]. hybrids .

III. OPEN FLOW C. The OpenFlow Tables


Open Flow is the most widely establish open southbound An OpenFlow switch contains of a flow table, which
API standard for SDN. It supply a common specification to achieves packet lookup and forwarding. Each flow table in
implement Open Flow-enabled forwarding devices, and for the change holds a set of flow entries.
the communication channel between data and control plane  Flow entry: A flow table contains of flow entries.
devices (e.g., switches and controllers). The OpenFlow Each flow access consists of :

622
1) Match Fields: to match against packets. These in changes to the packet, action set and/or pipeline
contain the entrance port and packet headers. processing.
2) Priority: corresponding precedence of the flow
entry. IV. SDN DESIGN
3) Counters: to update for matching packets. SDN architecture requires a controller connected to all
the forwarding devices as far as they have open and
4) Instructions: to modify the action set or pipeline programmable interfaces. OpenFlow is the Southbound API
processing we used here. So, all the switches reside in the access and
distribution layer are OpenFlow enabled switches. The
5) Timeouts: maximum sum of time or idle time
router which interconnect the LAN to the backbone can be a
before flow is deceased by the switch. Switch
legacy router. Ryu platform has been chosen to be the
6) Cookie: mark used to filter exact entries when operating system and the controller of the hole network.
demanding figures, not used when processing packets.
D. SDN Load Sharing
 Matching: On receipt of a packet, an OpenFlow
Switch achieves purposes starts by performing a To utilize the redundancy links and share the loads
table lookup in the first flow table, and based on a between the switches, protocols such as PVST is used. But
pipeline processing, may achieve table lookups in the configuration is done in a static manner. Using SDN
other flow tables. Packet match fields are removed concepts, by implementing an Algorithm to have a dynamic
from the packet. A packet matches a flow table entry load sharing for the VLANs over the two distribution
if the standards in the packet match fields used for switches depending on their traffic loads. The algorithm is
the lookup match those well-defined in the flow used to build a network application that runs by the Ryu
table entry. If a flow table entry field has a controller[11]. OpenFlow switches have the benefit of using
importance of ANY field omitted), it counterparts all their counters to monitor the traffic and count the number of
potential standards in the header. If the switch flowing packets and flow entries installed in the switch. The
supports arbitrary bitmasks on precise match fields, messages exchanged between Ryu and the switches is to be
these covers can more exactly stipulate matches. utilized here to request the information of the counters. The
controller will use this information about the traffic to
 Counters: Counters are used to gather the figures of reconfigure the switches and rebalance the traffic inside the
processes and processes held by OpenFlow switch. network depending on current loads of the VLANs. Fig.5
They are preserved for each flow table, flow entry, demonstrates the proposed implementation redundancy in a
and port. simplified topology of the company [12].
 Actions : To process the packets, flow entries are
followed with an action or a list of actions to be
executed. A switch is not essential to support all
action kinds, just those marked "Required Action"
below.
1) Output/Drop (Required). The Output action
forwards a packet to a specified OpenFlow port. OpenFlow
switches must support advancing to physical ports, switch-
defined rational ports and the required reserved ports. Drop
is used to Drop the packet. Fig. 5 The Simplified Network Topology

2) Set-Queue (Optional). The set-queue action sets the B. Simulation


line id for a packet. When the packet is advanced to a port
using the output action, the queue id controls which queue In this simulation, a mini network representing the
attached to this port is used for scheduling and forwarding company network is created using Mininet software. The
the packet. This action is used to offer basic Quality-of- network will be composed of two distribution and six access
Service (QoS) support. switches. Mininet hosts will generate traffic between
themselves, where each host belongs to one of the eight
3) Group (Required). Procedure the packet over the VLANs that will be configured. The network application is
specified group. designed and applied upon a specific algorithm. The
application is to be tested and the results will demonstrate the
4) Push-Tag/Pop-Tag (Optional). Switches may
solution provided for the load sharing.
support the capability to push/pop tags. To aid combination
with current networks, the capability to push/pop VLAN tags
is suggested to be supported. C. Network Application
The network Application has been designed to deploy the
5) Set-Field (Optional). The numerous Set-Field following algorithm:
actions are recognized by their field type and adjust the
values of particular header fields in the packet.  Initially, VLANs are divided among the two
distribution switches, one switch will act as a root
bridge for group of VLANs, and the second switch
 Instructions: Each flow entry comprises a set of will take on the remaining VLANs. This step is
instructions that are performed when a packet equal to the PVST protocol.
matches the entry. These instructions is consequence

623
 After a specific period of time, the controller sends a E. Design configurations
Read-State message to the root bridges querying Build an environment on Mininet. The command to
about the traffic loads for each VLAN. The two be entered is the one shown below, which executes a
switches reply immediately with consecutive reply Python script of the customized topology. After
messages. executing the command, a fully network with OpenFlow-
 The controller uses the information about the traffic enabled virtual switches, hosts and links are built as
sent by the root switches to reallocate the VLANs specified in the topology. As shown in Fig. 7.
among them as equally as. VLAN ID is set to the interface of each host. This
 To apply the new Allocations of the Root switches, includes deleting the IP address that is assigned
the controller sends Modify-State messages to the automatically on each host and set a new IP address.
switches. This will include deleting, adding or
modifying some of the flow table entries.
 The updating process is applied periodically. The
time period shouldn't be too short to avoid processes
overwhelming in the controller, and also shouldn't be
too long to keep up with the VLANs imponderable
traffic.
The Network Application is created as a Python scripts in
a file named "Dynamic Utilize" saved within the Ryu
applications folder .

D. Network description
The mini network Topology is designed to represent an
approximation of the faculty of engineering network devices,
users and VLANs. The topology of the network is shown in Fig. 7 Network environment establishment Command
Fig. 6.
F. Load Sharing Scenario
Multiple different traffics are randomly generated
between the hosts. Ping utility is used to generate four
Traffics: A, B, C and D. Each Traffic is consecutively
generated two times, one before the update take place and
the other is after. This helps to demonstrate how can the
reallocation of the VLANs to the root switches helps to
improve the utilization of the redundancy links. The
traffic is generated during eight minutes of simulation.

Fig. 6 Topology of the simulated network  VLANs: this column specifies the allocations of
VLANs for each Root switch during a periodic time
There are 8 VLAN interfaces configured for the 26 in which the traffic is generated.
hosts connected to the access switches. VLANs are fairly
distributed among the hosts to represent the user groups  Number of Hosts (H): this column indicates the
whom targeted in the test. The following table contains number of Hosts contribute to the traffic generation.
the user groups, their VLAN ID's, the hosts and the Note that a higher number of hosts for a Root
subnet IP Address. Table 1 shows the user groups, their Switch doesn't require a higher traffic value.
VLANs and addresses.
 Time: the periodic time is chosen to be 5 minutes;
the traffic is generated during this time. At the end
TABLE I. USER GROUPS AND VLANS of the time, the network application code instructs
VLAN Network
the controller to ask for the traffic statistics of the
User Group Hots root switches function of Ryu to show the Traffic to
ID IP
Employees 1 h1-h7-h13-h25 10.0.1.0 the observer and calculate the utilization of the Root
Switches.
Technical staff 2 h2-h8-h15 10.0.2.0
 Traffic value (TRF): This value indicates how much
Web services 3 h3-h9 10.0.3.0
of a traffic is passed through the switch and equal to
Events 4 h4-h10-h14-h26 10.0.4.0 the forwarded packets by the switch. We took
Management advantage of Open Flow switch counters, which
IT and Networking 5 h5-h11-h16-h18 10.0.5.0 count the number of matched packets passed through
IT and Networking 6 h6-h13-h20 10.0.6.0
the switch and send it to the controller as a reply for
a using aggregate_stats_request request message.
Treasury 7 H17-h21-h24 10.0.7.0
 Utilization: it specifies each switch share from the
Visitors 8 H190h220h23 10.0.8.0 overall traffic.

624
(1) simulation of a Software-defined network was implemented
using Mininet emulator. It adapted Ryu controller as the
(2) network operating system and the OpenFlow switches were
established by Mininet, a network application is built to
The optimum value of this entry is %50, which happens utilize the redundancy which produced a better load sharing
when each Root switch handles exactly the half of the traffic. configurations according to different traffic loads during
An improvement in this column can be noticed after the time. The network application is a python script used the
update happens for each Traffic. As shown in Table 2 capabilities of the Ryu controller to collect the traffic
statistics from the Open Flow switches. Results showed that
an optimum or nearly load sharing can be given to the Root
TABLE II. RESULTS: TRAFFIC AND UTILIZATION
switches.

REFERENCES
[1] A.S. Tanenbaum, and D.J. Wetherall, Computer Networks. 5th
Edition, Prentice Hall, Inc., USA, 2011.
[2] D. Hucaby, "CCNP SWITCH 642-813 Official Certification Guide"
,Cisco Press,2010.
[3] P. Oppenheimer, "Top Down Network Design", Cisco Press,2011.
[4] M. Casado, F. Foster, and A. Guha, " Abstractions for software-
defined networks. Commun". ACM, Sep. 2014.
[5] N. MCKEOWN, T. ANDERSON, H. BALAKRISHNAN,G.
PARULKAR, L PETERSON, J. REXFORD, SHENKER, S., and J.
As the simulation start, the controller configures the TURNER, "OpenFlow: Enabling innovation in campus networks",
access switches according to an initial allocations using ACM SIGCOMM Computer Communication Review, V.38, 2(4) ,
_init_ function in the code. Where VLANs: 1,3,5,7 traffic is 2008.
sent to Root-Switch-1, and Root-Switch-2 takes the [6] D. Kreutz, J. Yu, P. Verissimo, F. Ramos, C. Magalhaes, The KISS
remaining VLANs: 2,4,6,8. The generated traffic results principle in Software-Defined Networking: a framework for secure
communications, IEEE Security & Privacy, Volume: 16 , Issue: 5 ,
different loads on the Root Switches because the traffic of September/October 2018.
the VLANs is not equal. After 5 minutes, the controller [7] S. Azodolmolky, Software Defined Networking with OpenFlow, Packt
collected the traffic stats on each Root Switch using the Publishing, 1st ed., October 2013.
functions: send,_aggregate,_stats,_request and aggregate, [8] F. Ramos, D. Kreutz, P. Verissimo, “Software-Defined Networks: On
stats, reply and handler. After the update took place, the the Road to the Softwarization of Networking“, Cutter IT Journal,
utilization has been improved, and now every Root Switch May 2015.
take exactly the half of the traffic (50%) which represents the [9] M. Casado, N. Foster, and A. Guha, "Abstractions for software-
optimum load balancing. defined networks," CM Commun., vol. 57, no. 10, pp. 86–95, Sep.
2014.
[10] 9. Mininet. An Instant Virtual Network on your PC. Jun 13, 2018
V. CONCLUSION from: http://www.mininet.org.
This work presents a literature survey of SDN . A full [11] Ryu Project. Ryu SDN Framework. Available at:
description of SDN structure and its key components, https://osrg.github.io/ryu.
including OpenFlow standard, Software-Defined Network [12] B. Heller, R. Sherwood, and N. McKeown, “The controller placement
problem,” in Proceedings of the first workshop on Hot topics in
eases the network administration, accelerates the innovation, software defined networks, ser. HotSDN ’12. New York, NY,
reduce the costs, and enable programming in networks. A USA:ACM, 2012, pp. 7–12..

625

View publication stats

You might also like