Answer
Broadcast messages have a time to leave (TTL)field, ensuring messages are not endlessly re-broadcast. Nodes have a message cache to allow a received message to be discarded should it have been processed previously. Subnets are employed to allow for networks to be partioned, preventing messages being relayed (re-broadcast) beyond the intended subnet for securoty and energy conservation reasons. Heartbeat messages allow nodes to determine how many hops they are away from the sender allowing TTL optimisation.