IP Multicasting
IP multicasting is the transmission of an IP datagram to a "host group", a set of zero or more hosts identified by a single IP destination address. A multicast datagram is delivered to all the members of its destination host group in the same way as regular unicast datagrams.
A host can receive a multicast datagram when it is a member of a host group a datagram is destined to. To enable reception of multicast packets a host must first join a host group.
A membership of a host group is dynamic. Hosts may join and leave groups at any time.
Host groups are identified by class D IP adresses, those with "1110" as their high-order four bits. Host group addresses range from 224.0.0.0 to 239.255.255.255. The address 224.0.0.0 is reserved and shall not be assigned to any group and 224.0.0.1 is assigned to the permanent group of all IP hosts, including gateways. This group shall also not be used for a dynamic host group.
UDP multicasting
Incoming multicast UDP datagrams are received by UDP socket in the same way as normal, unicast datagrams. The only difference is that the host must first join a host group, before the muticast packets for the selected group can be received.
Outgoing multicast UDP datagrams are sent in the same way as unicast datagrams, only the destination IP address is a group address instead of a host address.