Software-defined networking (SDN) is an emerging architecture that decouples the network control and forwarding functions. It enables the network control to be directly programmable and the underlying infrastructure to be abstracted for applications and network services. It is aimed at making the network as agile and flexible as the virtualized server and storage infrastructure of the modern data center. The goal of SDN is to allow network engineers and administrators to respond quickly to changing business requirements.