Software defined networking (SDN) has emerged as a new network paradigm, which decouples both control and management planes from data plane by implementing control and management at a (logically) centralized node, i.e., the controller. The data plane communicates with controller by using an open programming interface (like Openflow protocol 1 ). The reference SDN architecture is given in Figure 1 and explained as follows.Data plane: The data plane consists of standard switching devices, acting as routers, switches, and access points depending on the how they are programmed. A forwarding table is available in each switching device. When a data packet arrives at the switching device, the latter looks up its forwarding table whether an entry exists for the corresponding flow. If yes, then the data packet is forwarded/dropped as per action specified in the entry. Otherwise, the switching device buffers the data packet and sends a message to the controller to ask for instructions on how to process the packet. The controller sends back a forwarding rule to install in the forwarding table, which programs the action that the switching device must apply for the buffered data packet, and eventually for the future packets belonging to the same flow.Control plane: The controller acts as the "network brain" and is responsible for computing the forwarding behavior for the data packets based on the network topology, the network requirements (e.g., specified throughout access control list (ACL) policies), and the configuration of other network management functions (e.g., load balancing). The controller computes the forwarding decision and installs the corresponding rules in the forwarding tables present in the switching devices.Management plane: The management plane specifies the network applications (like load balancing, firewall, and monitoring) developed by the network operator.Plane interfaces: These planes in SDN interact with each other through standardized interfaces. The basic interfaces are (a) the southbound interface, used for communication between data plane and control plane, and (b) the northbound interface, used for communication between control plane and management plane.The SDN architecture has several advantages over the traditional networks. First, it centralizes the control in the SDN controller allowing a single and coherent view of the network state, simplifying the development of complex network applications and enabling the network administrator to push specific policies across the entire network. Second, the SDN architecture allows to evolve the control plane without changing the switching devices, since their actual behavior is programmed at the controller and can be reprogrammed at wish. Third, in traditional networks, the network administrator has to utilize management systems and/or manually define and implement security policies (e.g., ACL) at several switching devices. Instead, in SDN, security and/or traffic engineering policies can be defined just at the controller, and these will be forced in th...