One of the emerging approaches to networking is software-defined networking (SDN). The SDN philosophy proposes a programmable network that provides the flexibility of defining how packets will be forwarded in the network. The forwarding rules can be programmed using a controller. In a cloud infrastructure where the knowledge of topology and location of network endpoints are centrally available to the cloud, the cloud controller, SDN provides the APIs for programming how the networking infrastructure will transfer packets between the various consumers of the networking service.
SDN brings in the concept of programmable networks, where the flow of packets in the network can be controlled and defined using software-based control. One of the implementations of this approach uses a centralized controller to program switches with packet flow entries. The packet flow entries are a combination...