A method for a node in a wireless adhoc network comprising the procedures of: subscribing by said node to at least one multicast group, said multicast group including at least a portion of a plurality of nodes in the wireless ad hoc network, each said nodes being designated with a dynamically determined role, a plurality of said nodes being designated with the role of a super-node (102,106,110,112,116,118) and the remaining of said nodes being designated with the role of ordinary-nodes (104,108,114,120,122), said super-node designated nodes forming a routing backbone of said network, each of said nodes storing multicast information, each ordinary-node attempts to have at least a minimal one-hop local super-node number of one-hop super-node neighbors and each super-node attempts to have at least a minimal one-hop backbone super-node number of one-hop super-node neighbors, at least some of said ordinary-nodes have at least two one-hop super-nodes neighbors; updating said stored multicast information; and synchronizing respective stored multicast information among said super-nodes by producing at least one backbone multicast update message and flooding said backbone with said backbone multicast update message when a node is designated with said role of super-node, said backbone multicast update message at least including changes that occurred to said stored multicast information, said flooding including determining by a super-node designated node the next hops of a flood packet in said backbone of said network, said flood packet at least including said backbone multicast update message, wherein said determining by a super-node designated node the next hops of the flood packet in said backbone of said network includes the sub-procedures of: receiving a trailer list, said received trailer list including entries of identification representations of a portion of super-nodes that received said flood packet; producing a transmission list, said transmission list including one-hop super-node neighbors of said receiving super-node not listed in said received trailer list, and to which said receiving super-node intends to transmit said flood packet; producing an updated trailer list; and transmitting said flood packet, including said updated trailer list, to said one-hop super-node neighbors listed in said transmission list. subscribing by said node to at least one multicast group, said multicast group including at least a portion of a plurality of nodes in the wireless ad hoc network, each said nodes being designated with a dynamically determined role, a plurality of said nodes being designated with the role of a super-node (102,106,110,112,116,118) and the remaining of said nodes being designated with the role of ordinary-nodes (104,108,114,120,122), said super-node designated nodes forming a routing backbone of said network, each of said nodes storing multicast information, each ordinary-node attempts to have at least a minimal one-hop local super-node number of one-hop super-node neighbors and each super-node attempts to have at least a minimal one-hop backbone super-node number of one-hop super-node neighbors, at least some of said ordinary-nodes have at least two one-hop super-nodes neighbors; updating said stored multicast information; and synchronizing respective stored multicast information among said super-nodes by producing at least one backbone multicast update message and flooding said backbone with said backbone multicast update message when a node is designated with said role of super-node, said backbone multicast update message at least including changes that occurred to said stored multicast information, said flooding including determining by a super-node designated node the next hops of a flood packet in said backbone of said network, said flood packet at least including said backbone multicast update message, wherein said determining by a super-node designated node the next hops of the flood packet in said backbone of said network includes the sub-procedures of: receiving a trailer list, said received trailer list including entries of identification representations of a portion of super-nodes that received said flood packet; producing a transmission list, said transmission list including one-hop super-node neighbors of said receiving super-node not listed in said received trailer list, and to which said receiving super-node intends to transmit said flood packet; producing an updated trailer list; and transmitting said flood packet, including said updated trailer list, to said one-hop super-node neighbors listed in said transmission list. receiving a trailer list, said received trailer list including entries of identification representations of a portion of super-nodes that received said flood packet; producing a transmission list, said transmission list including one-hop super-node neighbors of said receiving super-node not listed in said received trailer list, and to which said receiving super-node intends to transmit said flood packet; producing an updated trailer list; and transmitting said flood packet, including said updated trailer list, to said one-hop super-node neighbors listed in said transmission list.