A system for exchanging data in a heterogeneous wireless communications environment, comprising: a wired network comprising means for exchanging data; a plurality of fixed nodes, FN, each of the fixed nodes being connected to the wired network and being operable to use the means for exchanging data to exchange a set of data; a plurality of radio access networks, RAN, (310, 314, 318) comprising a radio access technology, RAT, each of the radio access networks being connected to the wired network; a plurality of mobile devices, each mobile device comprising a plurality of network connectivity interfaces for using one of the RATs to initiate a communication session with one of the RANs (310, 314, 318), the plurality of mobile devices being operable to use the means for exchanging data in a plurality of data exchange transactions, and the means for exchanging data comprising means to exchange a set of datagrams (450, 440) comprising at least a destination network address, a source network address and a chunk of data, wherein each of the data exchange transactions comprises: a datagram comprising a transaction request sent from a first of the mobile devices to a remote node, RN,, the RN being one of the FNs or a second of the mobile devices; and a datagram comprising a transaction response received by the first of the mobile devices from the RN, wherein: the transaction request is a data retrieval request and the transaction response is a data retrieval response; or the transaction request is a data submission request and the transaction response is a data submission response, and wherein the data exchange transactions take place at a transport layer, wherein: a set of data comprises a sequence of data chunks in which a first data chunk precedes a second data chunk in the sequence, and the mobile device is operable to initiate a data transaction request for the second data chunk before initiating a data transaction request for the first data chunk. a wired network comprising means for exchanging data; a plurality of fixed nodes, FN, each of the fixed nodes being connected to the wired network and being operable to use the means for exchanging data to exchange a set of data; a plurality of radio access networks, RAN, (310, 314, 318) comprising a radio access technology, RAT, each of the radio access networks being connected to the wired network; a plurality of mobile devices, each mobile device comprising a plurality of network connectivity interfaces for using one of the RATs to initiate a communication session with one of the RANs (310, 314, 318), the plurality of mobile devices being operable to use the means for exchanging data in a plurality of data exchange transactions, and the means for exchanging data comprising means to exchange a set of datagrams (450, 440) comprising at least a destination network address, a source network address and a chunk of data, a datagram comprising a transaction request sent from a first of the mobile devices to a remote node, RN,, the RN being one of the FNs or a second of the mobile devices; and a datagram comprising a transaction response received by the first of the mobile devices from the RN, the transaction request is a data retrieval request and the transaction response is a data retrieval response; or the transaction request is a data submission request and the transaction response is a data submission response, and wherein the data exchange transactions take place at a transport layer, a set of data comprises a sequence of data chunks in which a first data chunk precedes a second data chunk in the sequence, and the mobile device is operable to initiate a data transaction request for the second data chunk before initiating a data transaction request for the first data chunk.