Multicasting supports one-to-many routing, in which a single device sends data to a group of devices. It also supports many-to-many routing, in which a group sends data to a group.
Multicasting is more efficient than broadcasting because it can target specific devices, rather than an entire network segment. It reduces unnecessary network and processor resource usage.
In IP multicasting, devices use IGMP messages to join or leave a multicast group. Any data packets sent to the multicast address for that group are distributed by the network hardware to all members of the group.
An alternative to IP multicasting is application layer multicasting, in which software performs multicasting using its own methods, regardless of support at the hardware level.