Software Defined Networks: Review and Architecture

In the fifth-generation communication system, secured and reliable data packets will rely on the network with high availability and low latency. The 5G network enables the dynamic control of nodes with low latency. Ultra-reliability is one of the challenging tasks in software-defined networks. The ultra-reliability feature is an interface working with high availability and low latency that brings in fifth-generation networks. The Internet of Things will work in the societies so that it required ultra-reliability features to empower the peoples as well as machines for collaborating with their neSoftware Defined Networksighbors. The connections among ultra-reliability networks are extremely hard situations to keep low packets corruption. The Software Defined Networks (SDN) will provide a platform for measuring, controlling, monitoring and scaling the smart objects in reality or virtually. Virtualization enables IT, specialists, to combine or separate the considerable networking or create new programmable networking among virtual machines. In this article, the authors are reviewed the architecture of SDN based on virtualization under the umbrella of 5G networks.


Introduction
The Virtualization enables information technology specialists to combine several physically created networks or separate considerable networking into several parts or form new software-defined networking among virtual machines.A few years ago, virtualization has expanded in the world especially in many data centers for example in server consolidation, server security, and clouds.This easily happened due to an increase in hardware performance (Figure 1).Reducing the costs of the data centers, Virtualization technology can support the maximum usability of hardware devices on the physical server [1].
By using virtualization technology, executing many operating systems and several applications on a single server is the approachable goal.This goal is useful to improve the performance of networks, increase automatic technology and easily manage the networks using programs.Virtualization technology has been known a long time ago, on the time of mainframes from 1960 to 1970s.The definition of virtualization has reformed a lot since it started.The definition was that allocating mainframes to allow for multiple applications to process concurrently [2].Systems could only run a solo application simultaneously.Many organizations found it costly to purchase mainframes doing one task.From that time virtual machines, IBM mainframes have developed.In 1990 the x86 base's systems were released and the embracing from operating systems such as Linux and Windows have moved virtualization from mainframes based applications to client-server distributed based applications.It is an easy approach now to run different applications simultaneously not like mainframes.In the early 2000s virtualization technology starts to advance and become more reliable on the x86 base's systems.Data centers become more expensive to run with many devices and applications.

Software
Virtualization has been an indispensable role with emerge of distributed computed systems.Clients were given virtual resources from multi or single shared physical devices.The idea of virtualization helped clients to use a large pool of shared resources with excellent control and customization.The combination of virtualization concepts and networking is the main center of software-defined networking.Virtualization is the optimal answer for the utilization of physical resources.The virtual networks are categorized into inner and outer virtual networks.The inner virtual networks enable virtual machines to exchange information within the range of servers.The outer virtual networks allow switches, adapters and local area networks outside the range of servers [4].Software-defined networking is a new technology that will use in the future to replace the current network with a low latency network.From 1999, we are using networking based on switches, routers and hubs etc., the new versions are coming but the technology is the same.In 2005, VOIP introduced and deployed, at that time some programs implemented for voice and video calling ex.Skype.Until now we are using the same technology with the advanced version.SDN provides us the high-speed real-time connectivity with low latency.SDN is a new interface that is real-time, optimized, effective, flexible, measurable and easy to adapt with a high bandwidth (Figure 2).SDN is designed to separate the control plane and forwarding plane to enable the network control to become programmable that delivers decisions according to the specific network requirement.The software-defined networking has three layers-Application Layer, Control Layer and forwarding layer [3].The SDN control plane works as the mastermind of networking.SDN is the intelligent technology that takes snapshots of the entire networks and their routing tables for instruct the forwarding plane to forward the network traffic to switches and routers.There are two kinds of APIs in SDN, the first is called South Bound API (SBAPI) and the second API is called North Bound API (NBAPI).It is an interface between the forwarding plane and the control plane (Figure 3).The SBAPI is used to insert information to the switches and routers and NBAPI inserts the information to the applications.It is an interface between network applications and the control plane [4].SDN architecture has three phases.The first phase is the forwarding plane, it is used to forward information down to the switches and routers.The second phase is the control plane; it is used to push the information to the application.The third phase is the Network Applications, it is used to provide service directly by the program.The SDN architecture has the following key elementsi) Direct Programming Approach: SDN has the directly programmable approach to separate the control plane and forwarding plane.

Software
ii) Agile Approach-It is used to move quickly and easily to forward the network traffic according to the specific requirements.
iii) Centralized Approach-It is used to centralize the entire network using programmable SDN controllers.iv) Programmable Configuration Approach-the SDN manages the entire network securely and optimized easily and quickly in real-time using the automatic execution of SDN programs.
Software-defined networking has the following elements.1. Decoupling of Control plane-in this element the open flow switch improves the specifications of Cookies (version 1.0) for identification of forwarding information and control the routing table (version 1.4) for discovering the path.
2. Logical Centralization-This element monitors the traffic and data packets that are shared by applying the requests.Also, it filters all events that are fired by multi controllers.
3. Northbound APIs-In Northbound APIs, the QoS per network application improved using the priority of the queue per port as well as per flow meters.
4. Programmability-SDN is a decoupled technology that is completely programmable.It reuses the code in groups of headers and routing tables.
5. Flow Entries-This element improves the several tables of routing to discover the path of the network.
The decoupling of the control plane represents the decisions for handling the traffic efficiently and quickly using the centralized controller of SDN.

Hypervisor
The word "hypervisor" originates from the word supervisor, which now means the operating system, and the inventor of the hypervisor adds hypervisor with more power more than the supervisor.The hypervisor is recognized as a Virtual Machine Monitor (VMM) which software supports virtualization.The hypervisor is accountable for operating virtual machines such as creating, halting, and monitoring (Figure 4).Hypervisor administers all guest systems and sorts all the resources they require for example central processing unit (CPU) random access memory (RAM), network interface card (NIC) and Hard-disk storage.The hypervisor is divided into two categories [12].The first type is titled as the bare-metal hypervisor.Type 1 hypervisor is working directly on physical hardware.It is accountable for all guest system's needs from physical Hardwar.Type 1 hypervisor is commonly used in the server virtualization environment.This kind of supervisor has fewer drivers to be instilled Dome-0 is identified to give guest virtual machine power to monitor and control the hypervisor.In order to function Type 2 hypervisor needs all host operating systems.The hypervisor will be instilled at the top of the operating system.This approach has some benefits it has a fewer driver issues due to the communicating between OS and hardware is more reliable for communicating hypervisor and hardware.The disadvantage of type 2 is the lack of performance compared to the type1.We refer to the Guest is where the operating system runs on the top of the hypervisor.The guest environment is a complete virtualized from Operating Systems to all the resources requirements for the guest.Sometimes driver's installation is needed to run guest operating systems [6].

Why Virtualization?
For applications use Virtualization has more benefits comparing to other old-style infrastructure.For server utilization and consolidation, virtualization is the ideal solution to deploy many technologies.Virtualization is more cost-effective to run and manage.Virtualization technology is very useful for testing products using different environment without buying many products.At the time of maintenance or the time of disaster it east to allocate virtual machines to other places until the cause goes and return back with less downtime for the system.This technology can play a big role in the recovery plan at the time of a security attack.In addition, there is some issue with virtualization such as some application running virtual machines needs high resource utilization does not perform fine on the system.This issue minimizes the overall performance of the virtualization environment [7].

Infrastructure as a Service
Infrastructure as a Service (IaaS) is a term comes from virtualization usability when some provide built their own cloud virtual environment on their data centers and start rent these services to organizations.This approach removes many obstacles in the world of IT industry such as the cost of physical hardware maintenance, housing space, and powering implications IaaS allows the organization to reduce cost.IaaS has some weaknesses in terms of security and privacy.IaaS providers play an immense part to secure important data that leave the organization to be stored on the cloud [8].

Virtual Memory Operation
When the end-user wants to run a large program that is impossible to fit in physical Software Defined Networks… ■ 147

Fig. 4 :
Fig.4: Hypervisor[12] The first type is titled as the bare-metal hypervisor.Type 1 hypervisor is working directly on physical hardware.It is accountable for all guest system's needs from physical Hardwar.Type 1 hypervisor is commonly used in the server virtualization environment.This kind of supervisor has fewer drivers to be instilled Dome-0 is identified to give guest virtual machine power to monitor and control the hypervisor.In order to function Type 2 hypervisor needs all host operating systems.The hypervisor will be instilled at the top of the operating system.This approach has some benefits it has a fewer driver issues due to the communicating between OS and hardware is more reliable for communicating hypervisor and hardware.The disadvantage of type 2 is the lack of performance compared to the type1.We refer to the Guest is where the operating system runs on the top of the hypervisor.The guest environment is a complete virtualized from Operating Systems to all the resources requirements for the guest.Sometimes driver's installation is needed to run guest operating systems[6].