It is not possible to give a one sentence answer to this great question. But I will answer it and provide a great video to watch that explain the implications of it - take a deep breath:
In a nut shell, Software Defined Networking, or SDN, is a network manager defined and network manager controlled way to implement networking solutions and configurations for applications, workloads, and services that is focused on scalable, virtualized and non-virtualized environments.
Think of SDN as a layer of control/management that is wedged between todays control and management planes. In an SDN world we separate Control and Data planes. The control is removed from individual network nodes (Switches and Routers) and moved to Controllers. These controllers then use a protocol called OpenFlow to send commands and instructions to the network nodes.
OpenFlow is an implementation of SDN. OpenFlow is a communications protocol that uses network centric and aware intelligence. OpenFlow works on controllers placed in the network (they can be in switches and routers, or as stand alone devices) that enable programmability - or software definition. You can look more deeply into OpenFlow in our article on the subject.
For example, OpenFlow on controllers can create network slices (subnetworks) to be used for particular applications or workloads. One can imagine a network slice to be used for a particular video collaboration meeting. Thus, like VMware has abstracted bare metal servers so multiple Operating Systems can run as Virtual Machines simultaneously and more efficiently on an underutilized physical server, OpenFlow abstracts the network routers, switches, and infrastructure so services and applications can be provided simultaneous network connectivity, privacy, and performance better utilizing the physical network capacity.
SDN, then, is the virtualization of the network. OpenFlow controllers discover the network topology and the inventory of links as well as information within the network nodes (route tables, addresses, etc.). Network Administrators define policies and services within the OpenFlow configuration and programmability.
A packet is received by the network. If there is no prior knowledge associated with the packet, the receiving node sends a message to the OpenFlow controller. If the controller determines, based on programmability and policy, that the packets should be accepted, the controller modifies the node tables and configurations such that the packet receives the appropriate service. This can include multiple nodes, as well as more information including oath configuration, QoS information, and much more.
I highly recommend watching the following video to explain the potential impact of SDN. While this occurred in 2011, it still rings true today.
I hope that helps you to understand a little more about what a Software Defined Network is.
If you would like to take a deeper dive - check out our free SDN Class.