1. A non-transitory computer program product embodied in a computer readable storage medium for selecting an optimal transport protocol in a cloud computing environment, the computer program product comprising the programming instructions for: creating a socket to communicate with a destination virtual machine by an application; requesting a daemon agent executed within a virtual machine hosting the application, by the application, to query a virtual machine manager to determine if said destination virtual machine is on a same hypervisor as said application, wherein the virtual machine manager executes independently from said same hypervisor; receiving a context indication of said destination virtual machine and an indication of a hypervisor associated with said destination virtual machine from said virtual machine manager; and enabling a transport layer to route traffic over a first transport protocol to said destination virtual machine using said context identification of said destination virtual machine in response to said destination virtual machine being on said same hypervisor as said application.