A new protocol, called family ACK tree (FAT), is proposed to support a reliable multicast service for mobile ad hoc networks. For each reliable multicast protocol, a recovery scheme is used to ensure end-to-end delivery of unreliable multicast packets for all group members. FAT employs a tree-based recovery mechanism that localizes ACKs and retransmissions to avoid feedback implosion. To cope with node movements, FAT constructs an ACK tree on which each node maintains reachability information to three generations of nodes on the ACK tree. When a tree is fragmented due to a departed node, the fragments are glued back to the tree using the underlying multicast routing protocol. FAT then adopts an adaptive scheme to recover missed packets that have been multicast to the group during fragmentation and are not repaired by the new reliability agent. We have conducted simulations to compare the performance of FAT with existing solutions. The results show that FAT achieves better performance for the provision of reliable service in ad hoc networks, in terms of reliability, scalability, and delivery efficiency.