Abstract: In the early of mid 1990s, Software Defined Networking were introduced, but recently now a days have come moreinto existence and became well-established industry standards. The basic concept of SDN (Software Defined Networking) hasintroduced the expansive change to the conventional networks 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’splatform based on a centralized control plane architecture with standardized interfaces between control and data planes. SDNenables fast configuration and reconfiguration of the network to enhance resource utilization and service performances. This newapproach enables a more dynamic and flexible network, which may adapt to user needs and application requirements. To thisend, systemized solutions must be performed in network software, proving to provide secure network services that meet therequired service performance levels. Many network systems and network architecture adopted SDN, and vendors are choosingSDN as an alternative option to the ?xed, prede?ned, and in?exible protocol stack. SDN permit us with dynamic, flexible andprogrammable functionality of network systems, as well as many other advantages such as better user experience, centralizedcontrol, reduced complexity, and a dramatic decrease in network systems and equipment costs. However, SDN capabilities andcharacterization, as well as workload of the network traf?c that the SDN-based systems handle, determine the level of theseadvantages. Moreover, the allowed ?exibility of SDN-based systems comes with a performance penalty. The capabilities anddesign of the underlying SDN infrastructure in?uence the performance of common network tasks, compared to a dedicatedsolution.Keywords: Planes,Controllers,Forwarding.1.INTRODUCTIONToday computer networks are very complex as more and more devices are increasing day by day along with the content theyaccess2. Communication networks are growing in size and complexity at an ever-increasing rate, with the conventionalinfrastructure, protocol stack and network systems, which hardly provide adequate solutions to the contemporary networkingdemands3. The kind of equipment used in networks like Intrusion Detection system, switches, firewalls, Load balancers aretypically very hard to manage by network administrator individually, the solution for this is Software Defined Networking. Thistriggered the emergence of a different approach to network systems architecture, called Software-De?ned Networking (SDN).SDN, has been present for the last 20 years. Recently, OpenFlow succeeded in establishing itself as an SDN industry standard. Ithas changed the way we used to manage the networks.Following are the basic principles of Software Defined Networking (SDN) are2:1) It separates the control plane from data plane (control plane contains the intelligence, control logic while data plane containsthe physical infrastructure or low level network elements that are used for packet forwarding and switching)2) Control plane referred as a brain of the network which has a direct control over the Data plane, all the elements in the Dataplane can be manipulated as per the needs, there is no need to configure each and every element of data plane individually.Software Defined Networking (SDN) is a paradigm that is related to idea of offering the network resources to end users as aservice (Naas) over an open.2.BACKGROUNDIn the traditional networks, both control plane and data plane are coupled inside the proprietary hardware. In a dedicatedappliance network functionality is mainly implemented, ‘dedicated appliance’ refers to one or multiple switches, routers and/orapplication delivery controllers 2. Within this appliance Most of the functionality is implemented in dedicated hardware onlyand for this purpose, Application Specific Integrated Circuit (or: ASIC) is often used 5.Fig 1. Traditional Versus SDN ArchitectureLimitations of Traditional Networks:? Network configuration was time consuming and Fickle: Whenever an IT administrator needs to add or remove asingle device in a traditional network many steps are needed. Firstly, the manual configuration of multiple devices usedin the network like switches, routers, firewalls etc. The next step which he has to follow is to update numerousconfiguration settings, such as ACLs, VLANs and Quality of Service using device-level management tools. Thisconfiguration approach makes it that much more complex for an administrator to deploy a set of policies which areconsistent 5.? Multiple vendors: As there includes multiple physical devices in traditional networks so it implies for multiple vendorenvironment which ultimately needs high level of expertise and extensive knowledge of all the devices present in thenetwork.? Distributed control plane: The intelligence of the network resides in the control plane in case of traditional networks itis residing in multiple places because of coupling of both data plane and control plane in network devices. It becomesvery difficult to manage the network for a network administrator as configuration was a bit complex 5.3.SDN ARCHITECTURESThe vital elements of SDN are separation of network control logic from network hardware operation and simplification ofnetwork device logic. This enables automatization of network management processes and logic above the control layer,centralization of network control logic, and openness of network resources through open standards and to end users. SDN isdefined as a three layered architecture; the main layer is control layer because controller resides in it, and controller acts as a brainto the network because it manages the flow of traffic from switches using flow tables.Features of SDN architecture are as follows:? Programmability is Direct: Because it is decoupled from forwarding functions network control is directlyprogrammable 6.? Agility: Dynamically adjusting network wide traffic flow to meet network changing needs is easily achieved. Insoftware-based SDN controllers that maintain an overall view of the network, which appears to applications, policyengines as a single, logical switch, and network intelligence is logically centralized.? Configuration is programmable: SDN lets network administrators to secure, configure, manage and optimize networkresources very fast via dynamic, automated SDN programs, which they can be written by themselves because there is nomore dependency on proprietary software 6.? Open standards-based and no more vendor-dependency: Through open standards when SDN is implemented, itmakes the network design and operations performed in a very simple manner because most of the instructions instead ofmultiple vendor-specific devices protocols, are provided by SDN controllers (like POX, Ryu, Opendaylight etc.) 7.All three layers are dependent to each other and communicate with one another through some interfaces. The best advantage ofSDN architecture is that it provides abstraction view of entire network for the applications it provides; this makes the networkeven 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 throughsome 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 brainof 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 providepacket forwarding and packet switching According to the controller, switches can only perform actions. The interfacethey use to communicate with controller situated in control layer is called as Southbound APls. The most commonprotocol used in providing Southbound APIs is OpenFlow Protocol 8.Network Interfaces used in SDN:SDN is a 3-layered architecture top layer includes the high level instructions, controller resides in middle layer and the third layerconstitutes all the physical ; Virtual switches used in the network. Within a network each control device is equipped with someinterfaces (one or more), every control device is able to communicate with other components through these interfaces. A networkinterface is a software or protocol which provides the communication medium through its interface between two equipment’s orcomputer networks. The types of API’s used in SDN are as follows:? Southbound Application programming interface (API): The communication between control layer and physical layeris done through this interface. For this many protocols are used like OVSDB, NETCONF, SNMP etc. but mainlyOpenFlow protocol is used, it provides the programmatic control of forwarding rules from the data path given bynetwork elements present in the physical layer 9.? Northbound Application programming interface (API): The communication between control layer and applicationlayer is done through this interface.? Westbound Application programming interface (API): This interface acts as a channel for providing the interfacebetween SDN control plane and different network domains 9.? Eastbound Application Programming interface (API): communication is done from control plane to non SDNdomains. Depends upon the technology used in non SDN domains its implementation is proportional 9.OpenFlow Protocol:The OpenFlow protocol is basically used protocol for the southbound interface SDN, which separates the data plane from thecontrol plane. OpenFlow was originally proposed by Stanford University, and it is now standardized by the ONF. OpenFlow is anopen interface and best suited for remotely controlling forwarding tables in network routers, 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.4.SDN CONTROLLERSThe vital element of SDN network is studied to be its controller. It is defined as a platform which manages the flow of control tothe routers and switches via Southbound OpenFlow protocol and applications via Northbound APIs. A collection of Pluggablepart is contained by controller which performs different network tasks. Five most important commonly used controllers which areopensource.POX 13, Ryu 14, Trema 15, Floodlight 16, OpenDaylight 17 apart from these above mentioned controllersthere are many others controller like Jaxon, NOX, Beacon, Maestro etc. because of less usage and poorly documented thesecontrollers are not used.? POX: It is developed and inherited from NOX controller. POX is python based SDN controller. Pythonic OpenFlowinterface runs anywhere – Can bundle with installing free Py runtime for easy distribution. And the similar visualizationtools and GUI as NOX are used.? RYU: It gives the component based platform for SDN, for managing the network flow and applications it uses differentAPIs. Ryu helps in providing software components with well-defined API that make it easy for developers to create newnetwork 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 NiciraExtensions 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 thenetwork devices (switches, routers) through Southbound APIs called as OpenFlow Controller, Trema provides aframework (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 byApache. It specifies a “Forwarding instruction set” in which a remote controller can make changes in network behaviorthrough some defined protocols through switch.? OpenDaylight: It the largest open source SDN controller, managed ONF (Open Networking Foundation). A flexiblecommon platform is provided by OpenDaylight which serves many purposes like Automated Service Delivery, NFV andcloud, Network Visibility and control, Network Resource Optimization. Model-driven service abstraction platform thatallows users to write applications that easily work across a wide variety of hardware and south-bound protocols isprovided by OpenDaylight. The OpenDaylight Controller is able to deploy in a variety of production networkenvironments. Upcoming protocols and other SDN standards are supported by this modular controller. TheOpenDaylight Controller show open northbound APIs, which are used by applications.The Controller is used by the applications to collect information about the network and then algorithms are run toconduct analytics, and then again make use of OpenDaylight Controller to create new rules throughout the network.Within its own Java Virtual Machine (JVM) OpenDaylight is kept and implemented singly in software.5.CONCLUSIONDue to the highly management of traffic in networks provided by SDN technology, more bandwidth is available to the users. Nomore dependency is there on dedicated hardware which is a cost effective way too. An abstracted view of network is provided.SDN is considered to be the best solution for meeting the new demands in networking. As SDN is an emerging technology so,research is still going on in order to make it more efficient way of networking. It is hoped that introduction about SDN itsarchitecture and Controllers discussed here will prove to be helpful for the researchers working in this area.