Software-defined networking (SDN) is a networking technique that communicates with underlying hardware infrastructure and directs traffic on a network using software-based controllers or application programming interfaces (APIs). Traditional networks, on the other hand, require specialised hardware devices (such as routers and switches) to govern network traffic. SDN can use software to establish and control a virtual network, as well as traditional hardware.