This section provides some of the basics of using multicast. First, it is good to have a general understanding of what multicast is. A page about multiple types of destinations for network traffic provides details about comparing multicast to unicast and broadcast. (The multicast-specific information is seen at basic description of multicast.) Also, the Glossary entry for “multicast” provides a short description.
- IP addresses reserved for multicast
The IP addresses used are FF00::/8 and IPv4 class D (224/4). The most commonly used multicast addresses are likely ones that are publicly reserved: see IPv6 multicast reservations and (IPv4) multicast reservations.
- [#ip4mltcs]: Multicast with IPv4
Internet Group Management Protocol (“IGMP”) is a protocol that allows a device to “subscribe”, or “join”, a multicast group. Information sent to the “multicast address” associated with that group should then be received and processed by all machines that have joined that group. A standard is that multicast communications use addresses from the rnage known as IPv4 class D (multicast addresses).
With IPv4, multicast is different than “broadcast”. The most common difference mentioned is that broadcast involves sending information to a broadcast address, and the traffic then gets sent to every device in the “broadcast domain”, while multicast only sends traffic to specific (already-subscribed) machines. Another key difference is just that “broadcast” is an older implementation that is different than multicast. With IPv4, broadcast doesn't need to use IGRP (but multicast in IPv4 does require this).
- [#ip6mltcs]: Multicast with IPv6
IPv6: Uses Multicast Listener Discovery (MLD) which was designed based on IGMPv2. MLD uses ICMPv6 (rather than a separate group of IGMP message types, like what is used with IPv4).
3 2710: “Multicast Listener Discovery (MLD) for IPv6” is required for participation in multicast for IPv6, much as IGRP was used for multicast for IPv4. MLD uses ICMPv6 message types 130, 131, and 132 (as noted by RFC 2710 and also by ICMPv6 “Parameters” (“message types”), which identifies these types as related to “Multicast Listener”).
While IPv4 did have “broadcast” functionality by using special recognized addresses, the story is different for IPv6. Multicast was pre-invented before IPv6 became standardized, and broadcasting is simply defined as sending to the specific addresses.
(Perhaps see also: Glossary entry for Multicast.)