A Software Defined Network (SDN) is a revolutionary concept, and it ensures an intelligent and centrally controlled network using software applications. The SDN disassociates the control plane of network devices from the data plane physically, so the network control is separated from the packet forwarding functions. It offers global network visibility in a centralized control manner, ensuring better coverage and cost-effective capacity utilization. Commonly, the SDN is associated with the OpenFlow Protocol. Mostly, it is used in industrial control applications over SDN architecture. In centralized SDN architecture, the network control is directly programmable. Abstracting control from forwarding functions allows the administrators to adjust the network traffic flow to meet the needs of applications. The SDN is a simple architecture due to the provision of instructions from SDN controllers instead of multiple, vendor-specific devices and protocols. Recently, the SDN architecture has been extended to meet various applications. The Software-Defined Mobile Networking (SDMN), Software Defined Wide Area Networks (SD-WAN), and Software-Defined Local Area Networks (SD-LAN). Moreover, the SDN took a substantial step forward from the traditional networking due to improved network control without impacting the routing efficiency and flexibility, customizable network infrastructure, and robust security.