The major difference between SDN and traditional networking lies in the concept of controller-based networking. In a software-defined network, a centralized controller has a complete end-to-end view of the entire network, and knowledge of all network paths and device capabilities resides in a single application. As a result, the controller can 1) calculate paths based on both source and destination addresses, 2) use different network paths for different traffic types, and 3) react quickly to changing networking conditions.
In addition to delivering these features, the controller serves as a single point of configuration. This full programmability of the entire network from a single location, which finally enables network automation, is the most valuable aspect of SDN.