A method of transferring data between a sending computer and a receiving computer across a packet switched communications network, wherein the data originates from a sending protocol on the sending computer and is destined for a receiving protocol on the receiving computer, the method comprising the steps of: encapsulating data packets from the sending protocol in an additional packet header by an encapsulation module distinct from the sending protocol before the data packets leave the sending computer, wherein the additional packet header contains a sequence number used to identify the data packet; sending, by the sending computer, the encapsulated data packets to the receiving computer; trimming, by network switches in the packet switched communications network, payload of the encapsulated data packets if too many encapsulated data packets arrive, and wherein the data packets arrive faster than they can be forwarded towards the receiving computer; receiving the encapsulated data packets through the packet switched communications network onto the receiving computer and sending, by the receiving computer, a request to the sending computer to resend trimmed data from the trimmed data packets; and decapsulating the encapsulated data packets at the receiving computer by removing the additional packet header after the data packets arrive at the receiving computer but before they are processed by the receiving protocol, wherein a packet network switch forwards the data packets across a plurality of paths between the sending computer and the receiving computer with a path of each packet determined by a function of values of fields from the data packet headers, and wherein the packet network switch, upon trimming a packet, also copies additional information into the data packet header, whereby the receiving computer, upon receiving said additional information, determines how far along the path through the packet switched communication network the trimming occurred. encapsulating data packets from the sending protocol in an additional packet header by an encapsulation module distinct from the sending protocol before the data packets leave the sending computer, wherein the additional packet header contains a sequence number used to identify the data packet; sending, by the sending computer, the encapsulated data packets to the receiving computer; trimming, by network switches in the packet switched communications network, payload of the encapsulated data packets if too many encapsulated data packets arrive, and wherein the data packets arrive faster than they can be forwarded towards the receiving computer; receiving the encapsulated data packets through the packet switched communications network onto the receiving computer and sending, by the receiving computer, a request to the sending computer to resend trimmed data from the trimmed data packets; and decapsulating the encapsulated data packets at the receiving computer by removing the additional packet header after the data packets arrive at the receiving computer but before they are processed by the receiving protocol, wherein a packet network switch forwards the data packets across a plurality of paths between the sending computer and the receiving computer with a path of each packet determined by a function of values of fields from the data packet headers, and wherein the packet network switch, upon trimming a packet, also copies additional information into the data packet header, whereby the receiving computer, upon receiving said additional information, determines how far along the path through the packet switched communication network the trimming occurred.