In the early of mid 1990s, Software Defined Networkingwere introduced, but recently now a days have come more into existence andbecame well-established industry standards. The basic concept of SDN (SoftwareDefined Networking) has introduced the expansive change to the conventionalnetworks with the integration of the network by decoupling the forwardinghardware (data plane) from the control logic of the network (control plane).Software Defined Networking (SDN) is a network’s platform based on acentralized control plane architecture with standardized interfaces betweencontrol and data planes. SDN enables fast configuration and reconfiguration ofthe network to enhance resource utilization and service performances.
This newapproach enables a more dynamic and flexible network, which may adapt to userneeds and application requirements. To this end, systemized solutions must beperformed in network software, proving to provide secure network services thatmeet the required service performance levels. Many network systems and networkarchitecture adopted SDN, and vendors are choosing SDN as an alternative optionto the ?xed, prede?ned, and in?exible protocol stack. SDN permit us with dynamic,flexible and programmable functionality of network systems, as well as manyother advantages such as better user experience, centralized control, reducedcomplexity, and a dramatic decrease in network systems and equipment costs. However,SDN capabilities and characterization, as well as workload of the networktraf?c that the SDN-based systems handle, determine the level of theseadvantages. Moreover, the allowed ?exibility of SDN-based systems comes with aperformance penalty. The capabilities and design of the underlying SDNinfrastructure in?uence the performance of common network tasks, compared to adedicated solution. Keywords: Planes,Controllers,Forwarding.
INTRODUCTIONToday computer networks are very complex as more and more devices areincreasing day by day along with the content they access2. Communicationnetworks are growing in size and complexity at an ever-increasing rate, withthe conventional infrastructure,protocol stack and network systems, which hardly provide adequate solutions tothe contemporary networking demands3. The kind of equipment used in networkslike Intrusion Detection system, switches, firewalls, Load balancers aretypically very hard to manage by network administrator individually, thesolution for this is Software Defined Networking.
This triggered the emergenceof a different approach to network systems architecture, called Software-De?nedNetworking (SDN). SDN, has been present for the last 20 years. Recently,OpenFlow succeeded in establishing itself as an SDN industry standard. It haschanged the way we used to manage the networks. Following are the basicprinciples of Software Defined Networking (SDN) are2:1) It separates the control plane from data plane (control planecontains the intelligence, control logic while data plane contains the physicalinfrastructure or low level network elements that are used for packet forwardingand switching). 2) Control plane referred as a brain of the network which has a directcontrol over the Data plane, all the elements in the Data plane can bemanipulated as per the needs, there is no need to configure each and every elementof data plane individually.Software Defined Networking (SDN) is a paradigm that is related to ideaof offering the network resources to end users as a service (Naas) over anopen. BACKGROUNDIn the traditional networks, bothcontrol plane and data plane are coupled inside the proprietary hardware.
In adedicated appliance network functionality is mainly implemented, ‘dedicatedappliance’ refers to one or multiple switches, routers and/or applicationdelivery controllers 2. Within this appliance Most of the functionality isimplemented in dedicated hardware only and for this purpose, ApplicationSpecific Integrated Circuit (or: ASIC) is often used 5. Fig 1.
Traditional Versus SDN Architecture Limitations of Traditional Networks: Network configuration was time consuming and Fickle: Whenever an IT administrator needs to add or remove a single device in a traditional network many steps are needed. Firstly, the manual configuration of multiple devices used in the network like switches, routers, firewalls etc. The next step which he has to follow is to update numerous configuration settings, such as ACLs, VLANs and Quality of Service using device-level management tools. This approach makes it that much more complex for an administrator to deploy a set of policies which are consistent 5. Multiple vendors: As there includes multiple physical devices in traditional networks so it implies for multiple vendor environment which ultimately needs high level of expertise and extensive knowledge of all the devices present in the network. Distributed control plane: The intelligence of the network resides in the control plane in case of traditional networks it is residing in multiple places because of coupling of both data plane and control plane in network devices.
It becomes very difficult to manage the network for a network administrator as configuration was a bit complex 5. SDNARCHITECTURES The vital elements of SDN areseparation of network control logic from network hardware operation andsimplification of network device logic. This enables automatization of networkmanagement processes and logic above the control layer, centralization ofnetwork control logic, and openness of network resources through open standardsand to end users. SDN is defined as a three layered architecture; the mainlayer is control layer because controller resides in it, and controller acts asa brain to the network because it manages the flow of traffic from switchesusing flow tables. Features of SDN architecture are as follows: Programmability is Direct: Because it is decoupled from forwarding functions network control is directly programmable 6. Agility: In order to meet network changing needs by dynamically adjusting network wide traffic flow is used. In software-based SDN controllers that maintain an overall view of the network, which appears to applications, policy engines as a single, logical switch, and network intelligence is logically centralized.
Configuration is programmable: SDN lets network administrators to secure, configure, manage and optimize network resources very fast via dynamic, automated SDN programs, which they can be written by themselves because there is no more dependency on proprietary software 6. Open standards-based and no more vendor-dependency: Through open standards when SDN is implemented, it makes the network design and operations performed in a very simple manner because most of the instructions instead of multiple vendor-specific devices protocols, are provided by SDN controllers (like POX, Ryu, Opendaylight etc.) 7. All three layers are dependent toeach other and communicate with one another through some interfaces.
The bestadvantage of SDN architecture is that it provides abstraction view of entirenetwork for the applications it provides; this makes the network even more”Smarter”. SDN Architecture contains the following three layers: Application Layer: It is composed of the applications which are communicating with controller in control layer through some interfaces called as Northbound APIs.The commonly used API in providing Northbound API is REST (Representation State Transfer) API. Applications in SDN can be like Firewall, Load balancer etc. 8.
Control Layer: It is the middle layer of the SDN architecture and constitutes the SDN controller which acts as a brain of the network and has a global view over the network also known as Control plane. Physical Layer: It contains the infrastructure used in the network like switches, also known as Data plane. They provide packet forwarding and packet switching According to the controller, switches can only perform actions.
The interface they use to communicate with controller situated in control layer is called as Southbound APls. The most common protocol used in providing Southbound APIs is OpenFlow Protocol 8. Network Interfaces used in SDN: SDN is a 3-layered architecturetop layer includes the high level instructions, controller resides in middlelayer and the third layer constitutes all the physical & Virtual switchesused in the network. Within a network each control device is equipped with someinterfaces (one or more), every control device is able to communicate withother components through these interfaces. A network interface is a software orprotocol which provides the communication medium through its interface betweentwo equipment’s or computer networks.
The types of API’s used in SDN are as follows: Southbound Application programming interface (API): The communication between control layer and physical layer is done through this interface. For this many protocols are used like OVSDB, NETCONF, SNMP etc. but mainly OpenFlow protocol is used, it provides the programmatic control of forwarding rules from the data path given by network elements present in the physical layer 9. Northbound Application programming interface (API): The communication between control layer and application layer is done through this interface. Westbound Application programming interface (API): This interface acts as a channel for providing the interface between SDN control plane and different network domains 9. Eastbound Application Programming interface (API): communication is done from control plane to non SDN domains.
Depends upon the technology used in non SDN domains its implementation is proportional 9. OpenFlow Protocol: The OpenFlow protocol isbasically used protocol for the southbound interface SDN, which separates thedata plane from the control plane. OpenFlow was originally proposed by StanfordUniversity, and it is now standardized by the ONF. OpenFlow is an openinterface and best suited for remotely controlling forwarding tables in networkrouters, switches and access points. OpenFlow architecture constitutes the three basic concepts: – With the help of OpenFlow-compliant switches (that compose the data plane.) network is built. More than one OpenFlow controller is constituted in control plane of SDN network.
A secure control channel connects the switches with the control plane 10. SDN CONTROLLERS The vital element of SDN network is studied to be itscontroller. It is defined as a platform which manages the flow of control tothe routers and switches via Southbound OpenFlow protocol and applications viaNorthbound APIs. A collection of Pluggable part is contained by controllerwhich performs different network tasks. Five most important commonly used controllerswhich are opensource.POX 13, Ryu 14, Trema 15, Floodlight 16,OpenDaylight 17 apart from these above mentioned controllers there are manyothers controller like Jaxon, NOX, Beacon, Maestro etc. because of less usageand poorly documented these controllers are not used. POX: It is developed and inherited from NOX controller.
POX is python based SDN controller. Pythonic OpenFlow interface runs anywhere – Can bundle with installing free Py runtime for easy distribution. And the similar visualization tools and GUI as NOX are used. RYU: It gives the component based platform for SDN, for managing the network flow and applications it uses different APIs. Ryu helps in providing software components with well-defined API that make it easy for developers to create new network management and control applications. For managing different types of network devices, such as OF-config, OpenFlow, Netconf, etc. Ryu supports plenty of protocols.
About OpenFlow, versions 1.0, 1.2, 1.3, 1.4, 1.5 and Nicira Extensions all are supported by RYU. Under the Apache 2.0 license all of these codes are freely available.
Trema: For developing different controllers which use OpenFlow protocol for configuring and connection to the network devices (switches, routers) through Southbound APIs called as OpenFlow Controller, Trema provides a framework (open source) to them in the programming language like c and ruby. Floodlight: It is a java based OpenFlow controller, managed by ONF (Open Networking Foundation) and licensed by Apache. It specifies a “Forwarding instruction set” in which a remote controller can make changes in network behavior through some defined protocols through switch. OpenDaylight: It the largest open source SDN controller, managed ONF (Open Networking Foundation). A flexible common platform is provided by OpenDaylight which serves many purposes like Automated Service Delivery, NFV and cloud, Network Visibility and control, Network Resource Optimization. Model-driven service abstraction platform that allows users to write applications that easily work across a wide variety of hardware and south-bound protocols is provided by OpenDaylight. The OpenDaylight Controller is able to deploy in a variety of production network environments. Upcoming protocols and other SDN standards are supported by this modular controller.
The OpenDaylight Controller show open northbound APIs, which are used by applications. The Controller is used by the applications to collectinformation about the network and then algorithms are run to conduct analytics,and then again make use of OpenDaylight Controller to create new rulesthroughout the network. Within its own Java Virtual Machine (JVM) OpenDaylightis kept and implemented singly in software.
CONCLUSION Due to the highly management oftraffic in networks provided by SDN technology, more bandwidth is available tothe users. No more dependency is there on dedicated hardware which is a costeffective way too. An abstracted view of network is provided. SDN is consideredto be the best solution for meeting the new demands in networking. As SDN is anemerging technology so, research is still going on in order to make it moreefficient way of networking.
It is hoped that introduction about SDN itsarchitecture and Controllers discussed here will prove to be helpful for theresearchers working in this area. ACKNOWLEDGEMENT We would like to thank almighty for his constant blessings. Then wewould like to dedicate our gratitude towards parents, teachers, family,friends, and in essence, all sentient one beings.