A method for providing reliable multicasting is described. A transmitted multicast packet is received at second devices, each of which in response transmits a first acknowledgement. If a second acknowledgement, which acknowledges the first acknowledgement, is not received within a predetermined time period, the first acknowledgement is retransmitted. If all first acknowledgements are not received within a preset time period, the multicast packet is retransmitted. If the retransmitted multicast packet has been received, at each of the second devices, if the second acknowledgement has not been received the first acknowledgement is retransmitted, while if the second acknowledgement has been received, the retransmitted multicast packet is ignored and no additional first acknowledgement is transmitted.