The truth is, it means different things to different people. Although it's a bit of an umbrella term, it essentially comes down to programmers configuring networks to send data down specific paths, rather than leaving it up to network protocols to show the way. This means, instead of data following the sets of protocols inside the network switches - the switches are basically running independently from each other - to get to their destinations, data is directed by an application called a 'controller', which tells the switches how to route the data.
The networks can be fine-tuned to deal with specific services or issues. Take, for example, the deluge of data coming from Internet of things (IoT) devices or video on demand. Instead of having the switches protocols direct what to do with the data, the controller's instructions directs where the data from these devices should go. Networks can be designed to transmit some data more efficiently. The same kind of network tweaking can be used for security issues, as SDN enables networks to block suspect traffic, but allows normal traffic to flow along.
Read the full article over at ITWeb here.