What are three methods that may be used to allow a switch to determine which ports to forward IP multicast messages to?