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; and (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.