A method for dissemination of control messages between nodes within a local peer group in a wireless ad-hoc network, the method comprising: receiving a heartbeat message, HB, including a plurality of routing parameters from a group header node, wherein said plurality of routing parameters comprise a sequence number, a group list, a hop count to the group header node, and a next hop to the group header node; determining if said heartbeat message, HB, is in sequence using the sequence number; discarding the heartbeat message if not in sequence; otherwise determining if the heartbeat message has been broadcast by a downstream node, upstream node, or a peer node by comparing the hop count to the group header node of the heartbeat message to a hop count to the group header node of the current node, wherein if the two hop counts are equal, then the heartbeat message has been broadcast by a peer node; if the hop count of the heartbeat message is less than the hop count of the current node, then the heartbeat message has been broadcast by an upstream node; and if the hop count of the heartbeat message is greater than the hop count of the current node, then the heartbeat message has been broadcast by a downstream node; wherein the method further comprises: canceling a waiting time and broadcasting the heartbeat message, if it is determined that the heartbeat message has been broadcast by an upstream node; discarding the heartbeat message if it is determined that the heartbeat message has been broadcast by a downstream node; and if it is determined that the heartbeat message has been broadcast by a peer node, then performing following steps: resetting the waiting time to a random value; updating, based upon at least one of said plurality of routing parameters, a routing table; receiving a membership report, MR, including at least one additional routing parameter from a group node within said local peer group; updating, based upon said at least one additional routing parameter, the routing table; generating a forwarding table from said routing table when both of said updating steps are completed; and broadcasting the heartbeat message upon expiration of the waiting time, if no downstream node has broadcast the heartbeat message during said time. receiving a heartbeat message, HB, including a plurality of routing parameters from a group header node, wherein said plurality of routing parameters comprise a sequence number, a group list, a hop count to the group header node, and a next hop to the group header node; determining if said heartbeat message, HB, is in sequence using the sequence number; discarding the heartbeat message if not in sequence; otherwise determining if the heartbeat message has been broadcast by a downstream node, upstream node, or a peer node by comparing the hop count to the group header node of the heartbeat message to a hop count to the group header node of the current node, wherein if the two hop counts are equal, then the heartbeat message has been broadcast by a peer node; if the hop count of the heartbeat message is less than the hop count of the current node, then the heartbeat message has been broadcast by an upstream node; and if the hop count of the heartbeat message is greater than the hop count of the current node, then the heartbeat message has been broadcast by a downstream node; wherein the method further comprises: canceling a waiting time and broadcasting the heartbeat message, if it is determined that the heartbeat message has been broadcast by an upstream node; discarding the heartbeat message if it is determined that the heartbeat message has been broadcast by a downstream node; and if it is determined that the heartbeat message has been broadcast by a peer node, then performing following steps: resetting the waiting time to a random value; updating, based upon at least one of said plurality of routing parameters, a routing table; receiving a membership report, MR, including at least one additional routing parameter from a group node within said local peer group; updating, based upon said at least one additional routing parameter, the routing table; generating a forwarding table from said routing table when both of said updating steps are completed; and broadcasting the heartbeat message upon expiration of the waiting time, if no downstream node has broadcast the heartbeat message during said time. canceling a waiting time and broadcasting the heartbeat message, if it is determined that the heartbeat message has been broadcast by an upstream node; discarding the heartbeat message if it is determined that the heartbeat message has been broadcast by a downstream node; and if it is determined that the heartbeat message has been broadcast by a peer node, then performing following steps: resetting the waiting time to a random value; updating, based upon at least one of said plurality of routing parameters, a routing table; receiving a membership report, MR, including at least one additional routing parameter from a group node within said local peer group; updating, based upon said at least one additional routing parameter, the routing table; generating a forwarding table from said routing table when both of said updating steps are completed; and broadcasting the heartbeat message upon expiration of the waiting time, if no downstream node has broadcast the heartbeat message during said time.