A method for routing a plurality of packets in a wireless linear network comprising a first node, a plurality of second nodes (N2 - N4) proximate the first node and a plurality of additional nodes (N5 - N10), all arranged along a branch (114 - 118), wherein each node has a node identifier and the node identifiers monotonically vary along the branch (114 - 118), from one end of the branch (114 - 118) to the other end of the branch (114 - 118), wherein the packets are routed from the first node via one of the second nodes (N2 - N4), the plurality of packets comprising an initial packet and at least one subsequent packet, the method comprising: the first node wirelessly sequentially broadcasting each packet of the plurality of packets, wherein each packet is broadcast exactly once and each packet contains: a sequence number identifying the packet within the plurality of packets; and an indication of a total number of packets in the plurality of packets; each second node (N2 -N4) wirelessly receiving at least one packet of the plurality of packets directly from the first node and, in response, wirelessly transmitting an acknowledgement message to the first node, the acknowledgement message containing the node identifier of the second node (N2 - N4) and identifying which at least one packet was received by the second node, the plurality of second nodes (N2 - N4) thereby collectively transmitting a plurality of transmitted acknowledgement messages; the first node receiving at least one acknowledgement message of the plurality of transmitted acknowledgement messages; if, according to the at least one acknowledgement message received by the first node, at least one second node (N2 -N4) received all packets of the plurality of packets: the first node selecting one second node (N2 -N4) that received all the packets, such that a difference between the node identifier of the first node and the node identifier of the selected one second node (N2 -N4) is larger than a difference between the node identifier of the first node and the node identifier of any other second node (N2 -N4) that received all the packets; and the first node wirelessly transmitting an instruction message to the selected one second node (N2 -N4) instructing the selected one second node (N2 -N4) to forward the plurality of packets; otherwise, within a predetermined number of make-up attempts: the first node broadcasting a set of the plurality of packets, such that the set includes packets that were not received by at least one second node (N2 -N4). the first node wirelessly sequentially broadcasting each packet of the plurality of packets, wherein each packet is broadcast exactly once and each packet contains: a sequence number identifying the packet within the plurality of packets; and an indication of a total number of packets in the plurality of packets; a sequence number identifying the packet within the plurality of packets; and an indication of a total number of packets in the plurality of packets; each second node (N2 -N4) wirelessly receiving at least one packet of the plurality of packets directly from the first node and, in response, wirelessly transmitting an acknowledgement message to the first node, the acknowledgement message containing the node identifier of the second node (N2 - N4) and identifying which at least one packet was received by the second node, the plurality of second nodes (N2 - N4) thereby collectively transmitting a plurality of transmitted acknowledgement messages; the first node receiving at least one acknowledgement message of the plurality of transmitted acknowledgement messages; if, according to the at least one acknowledgement message received by the first node, at least one second node (N2 -N4) received all packets of the plurality of packets: the first node selecting one second node (N2 -N4) that received all the packets, such that a difference between the node identifier of the first node and the node identifier of the selected one second node (N2 -N4) is larger than a difference between the node identifier of the first node and the node identifier of any other second node (N2 -N4) that received all the packets; and the first node wirelessly transmitting an instruction message to the selected one second node (N2 -N4) instructing the selected one second node (N2 -N4) to forward the plurality of packets; the first node selecting one second node (N2 -N4) that received all the packets, such that a difference between the node identifier of the first node and the node identifier of the selected one second node (N2 -N4) is larger than a difference between the node identifier of the first node and the node identifier of any other second node (N2 -N4) that received all the packets; and the first node wirelessly transmitting an instruction message to the selected one second node (N2 -N4) instructing the selected one second node (N2 -N4) to forward the plurality of packets; otherwise, within a predetermined number of make-up attempts: the first node broadcasting a set of the plurality of packets, such that the set includes packets that were not received by at least one second node (N2 -N4).