Software-Defined Networking (SDN) is an approach to networking that uses software-based controllers or application programming interfaces to communicate with underlying hardware infrastructure and direct traffic on a network. This architecture decouples the network control and forwarding functions, enabling more flexible network management, automation, and dynamic resource allocation.