1. A method for transmitting unreliable transport protocol packets over a reliable transport layer protocol by shifting payload, the method comprising: (a) intercepting, by an agent executing on a client, a first packet of an unreliable transport layer protocol transmitted by an application, the agent establishing a reliable transport layer protocol connection with a gateway; (b) creating, by the agent, a first reliable transport layer protocol packet comprising a first reliable transport layer protocol header and the first packet as payload; (c) transmitting, by the agent, the first reliable transport layer protocol packet to the gateway via the reliable transport layer protocol connection; (d) intercepting, by the agent, a second packet of the unreliable transport layer protocol transmitted by the application; (e) creating, by the agent, a second reliable transport layer protocol packet comprising the first reliable transport layer protocol header of the first reliable transport layer protocol packet as a header and the second packet as payload; (f) transmitting, by the agent, the second reliable transport layer protocol packet to the gateway prior to receiving an acknowledgement of receipt for the first reliable transport layer protocol packet; and (g) providing, by the agent to a network stack of the client, a false acknowledgement of receipt by the gateway of the first reliable transport layer protocol packet to prevent the network stack from executing a reliability mechanism.