1. A method for predicative traffic steering in a software defined network (SDN) having a central controller and network elements, comprising: transmitting first instructions from the central controller toward at least one of the network elements in the SDN to cause the at least one network element receiving the instructions to forward an incoming traffic flow to an application-layer analysis device; receiving, by the central controller, application-layer analysis results from the application-layer analysis device, wherein the application-layer analysis results provide an association between at least one network-layer parameter, at least one application-layer parameter, and at least one application-layer service associated with the at least one application-layer parameter; and transmitting second instructions from the central controller toward at least one of the network elements in the SDN to cause the at least one of the network elements receiving the second instructions to steer subsequent incoming traffic flows to at least one server configured to provide the at least one application-layer service based on the application-layer analysis results.