A network node arranged to: collect a set of first data packets during a first time period, the set including at least one data packet received from one or more first nodes in the network; obtain a plurality of encoded data packets, each one of the plurality of encoded data packets being generated by combining two or more first data packets of the set using network coding; determine a mapping of the plurality of encoded data packets and the first data packets of the set to one or more neighbouring nodes connected to the node; and transmit the plurality of encoded data packets and the first data packets of the set to the one or more neighbouring nodes according to the determined mapping; the network node being characterized in: wherein determining the mapping comprises determining a first sub-mapping of the first data packets of the set to the one or more neighbouring nodes and a second sub-mapping of the plurality of encoded data packets to the one or more neighbouring nodes, the first and second sub-mappings indicating expected time of relay of each of the first data packets of the set and the plurality of encoded data packets to the one or more neighbouring nodes; and wherein determining the first sub-mapping comprises: for each first data packet of the set: arbitrarily selecting two or more neighbouring nodes connected to the node; and associating the selected two or more neighbouring nodes with the first data packet in the first sub-mapping. collect a set of first data packets during a first time period, the set including at least one data packet received from one or more first nodes in the network; obtain a plurality of encoded data packets, each one of the plurality of encoded data packets being generated by combining two or more first data packets of the set using network coding; determine a mapping of the plurality of encoded data packets and the first data packets of the set to one or more neighbouring nodes connected to the node; and transmit the plurality of encoded data packets and the first data packets of the set to the one or more neighbouring nodes according to the determined mapping; the network node being characterized in: wherein determining the mapping comprises determining a first sub-mapping of the first data packets of the set to the one or more neighbouring nodes and a second sub-mapping of the plurality of encoded data packets to the one or more neighbouring nodes, the first and second sub-mappings indicating expected time of relay of each of the first data packets of the set and the plurality of encoded data packets to the one or more neighbouring nodes; and wherein determining the first sub-mapping comprises: for each first data packet of the set: arbitrarily selecting two or more neighbouring nodes connected to the node; and associating the selected two or more neighbouring nodes with the first data packet in the first sub-mapping. wherein determining the mapping comprises determining a first sub-mapping of the first data packets of the set to the one or more neighbouring nodes and a second sub-mapping of the plurality of encoded data packets to the one or more neighbouring nodes, the first and second sub-mappings indicating expected time of relay of each of the first data packets of the set and the plurality of encoded data packets to the one or more neighbouring nodes; and wherein determining the first sub-mapping comprises: for each first data packet of the set: arbitrarily selecting two or more neighbouring nodes connected to the node; and associating the selected two or more neighbouring nodes with the first data packet in the first sub-mapping. arbitrarily selecting two or more neighbouring nodes connected to the node; and associating the selected two or more neighbouring nodes with the first data packet in the first sub-mapping.