IPv4 multicast addresses are defined by the most-significant bit pattern of 1110. This originates from the classful network design of the early Internet when this group of addresses was designated as Class D. The CIDR notation for this group is 224.0.0.0/4.[1] The group includes the addresses from 224.0.0.0 to 239.255.255.255.
The address range is divided into blocks each assigned a specific purpose or behavior.[2]
Addresses in the range of 224.0.0.0 to 224.0.0.255 are individually assigned by IANA and designated for multicasting on the local subnetwork only. For example, the Routing Information Protocol (RIPv2) uses 224.0.0.9, Open Shortest Path First (OSPF) uses 224.0.0.5 and 224.0.0.6, and Multicast DNS uses 224.0.0.251. Routers must not forward these messages outside the subnet from which they originate.
Internetwork control block
Addresses in the range 224.0.1.0 to 224.0.1.255 are individually assigned by IANA and designated as the internetwork control block. This block of addresses is used for traffic that must be routed through the public Internet, such as for applications of the Network Time Protocol using 224.0.1.1.
AD-HOC block
Addresses in three separate blocks are not individually assigned by IANA. These addresses are globally routed and are used for applications that don't fit either of the previously described purposes.[2]: §6
SDP/SAP block
Addresses in the reserved 224.2.0.0/16 range are not individually assigned by IANA. Fallen out of use [11]: §10 for security considerations, experimental Session Announcement Protocol[12] was the primary means of supplying addresses through Session Description Protocol, which now is mostly used in the establishment of private sessions.
Source-specific multicast
The 232.0.0.0/8 (IPv4) and ff3x::/32 (IPv6) blocks are reserved for use by source-specific multicast.
The 233.0.0.0/8 range was originally assigned as an experimental, public statically-assigned multicast address space for publishers and Internet service providers that wished to source content on the Internet.[14] The allocation method is termed GLOP addressing and provides implementers a block of 255 addresses that is determined by their 16-bit autonomous system number (ASN) allocation. In a nutshell, the middle two octets of this block are formed from assigned ASNs, giving any operator assigned an ASN 256 globally unique multicast group addresses.[15] The method is not applicable to the newer 32-bit ASNs. In September 2001, the IETF envisioned a broader use of the range for many-to-many multicast applications.[16] Unfortunately, with only 256 multicast addresses available to each autonomous system, GLOP is not adequate for large-scale broadcasters.[citation needed]
Unicast-prefix-based
The 234.0.0.0/8 range is assigned as a range of global IPv4 multicast address space provided to each organization that has /24 or larger globally routed unicast address space allocated; one multicast address is reserved per /24 of unicast space.[17] A resulting advantage over GLOP is that the unicast-prefix mechanism resembles the unicast-prefix capabilities of IPv6.[18]
Administratively scoped
The 239.0.0.0/8 range is assigned for private use within an organization.[19] Packets destined to administratively scoped IPv4 multicast addresses do not cross administratively defined organizational boundaries, and administratively scoped IPv4 multicast addresses are locally assigned and do not have to be globally unique. The 239.0.0.0/8 range may be structured to be loosely similar to the scoped IPv6 multicast address.[20]
Ethernet-specific
In support of link-local multicasts which do not use IGMP, any IPv4 multicast address that falls within the *.0.0.0/24 and *.128.0.0/24 ranges will be broadcast to all ports on many Ethernet switches, even if IGMP snooping is enabled, so addresses within these ranges should be avoided on Ethernet networks where the functionality of IGMP snooping is desired.[21][dubious – discuss]
The four-bit scope field (sc) is used to indicate where the address is valid and unique.
In addition, the scope field is used to identify special multicast addresses, like solicited node.
Solicited-node multicast address format
bits
8
4
4
79
9
24
field
prefix
flg
sc
zeroes
ones
unicast address
The sc(ope) field holds the binary value 0010 (link-local). Solicited-node multicast addresses are computed as a function of a node's unicast or anycast addresses. A solicited-node multicast address is created by copying the last 24 bits of a unicast or anycast address to the last 24 bits of the multicast address.
Link-scoped multicast addresses use a comparable format.[27]
Based on the value of the flag bits, IPv6 multicast addresses can be Unicast-Prefix-based Multicast Addresses,[18]Source-Specific Multicast Addresses,[18] or Embedded RP IPv6 Multicast Addresses.[26] Each of these types of multicast addresses have their own format and follow specific rules.
Similar to a unicast address, the prefix of an IPv6 multicast address specifies its scope, however, the set of possible scopes for a multicast address is different. The 4-bit scope field (bits 12 to 15) is used to indicate where the address is valid and unique.
Packets with this destination address may not be sent over any network link, but must remain within the current node; this is the multicast equivalent of the unicast loopback address.
ffx2::/16
224.0.0.0/24
Link-local
Packets with this destination address may not be routed anywhere.
Local multicast particular to a network technology
ffx4::/16
Admin-local
The smallest scope that must be administratively configured.
ffx5::/16
Site-local
Restricted to the local physical network.
ffx8::/16
239.192.0.0/14
Organization-local
Restricted to networks used by the organization administering the local network. (For example, these addresses might be used over VPNs; when packets for this group are routed over the public internet (where these addresses are not valid), they would have to be encapsulated in some other protocol.)
ffxe::/16
224.0.1.0-238.255.255.255
Global scope
Eligible to be routed over the public internet.
The service is identified in the group ID field. For example, if ff02::101 refers to all Network Time Protocol (NTP) servers on the local network segment, then ff08::101 refers to all NTP servers in an organization's networks. The group ID field may be further divided for special multicast address types.
Notable IPv6 multicast addresses
The following table is a list notable IPv6 multicast addresses that are registered with IANA.[29]
To be included in some of the below multicast groups a client must send a Multicast Listener Discovery (MLD), a component of ICMPv6 suite, to join that group.[30] For example, to listen to ff02::1:ff28:9c5a, a client must send a MLD report to the router, containing the multicast address, to indicate that it wants to listen to that group.[31]
Ethernet frames with a value of 1 in the least-significant bit of the first octet[note 2] of the destination MAC address are treated as multicast frames and are flooded to all points on the network. While frames with ones in all bits of the destination address (FF-FF-FF-FF-FF-FF) are sometimes referred to as broadcasts, Ethernet generally does not distinguish between multicast and broadcast frames. Modern Ethernet controllers filter received packets to reduce CPU load, by looking up the hash of a multicast destination address in a table, initialized by software, which controls whether a multicast packet is dropped or fully received.
The IEEE has allocated the address block 01-80-C2-00-00-00 to 01-80-C2-FF-FF-FF for group addresses for use by standard protocols. Of these, the MAC group addresses in the range of 01-80-C2-00-00-00 to 01-80-C2-00-00-0F are not forwarded by 802.1D-conformant MAC bridges.[35]
Precision Time Protocol (PTP) version 2 over Ethernet (native layer-2) for electing the Grandmaster clock and advanced applications, otherwise 01-80-C2-00-00-0E
IPv4 Multicast:[39] Insert the low 23 bits of the multicast IPv4 address into the Ethernet address[40]: §2.1.1
33-33-xx locally administered
33-33-00-00-00-00 through 33-33-FF-FF-FF-FF
0x86DD
IPv6 multicast:[41] The low 32 bits an Ethernet address for IPv6 multicast traffic are the low 32 bits of the multicast IPv6 address used.[40]: §2.3.1 For example, IPv6 multicast traffic using the address ff02::d uses the MAC address 33-33-00-00-00-0D, and traffic to ff05::1:3 goes to the MAC address 33-33-00-01-00-03.
^x is a place holder indicating that the value of the flags field is unimportant in the current discussion.
^On Ethernet, the least-significant bit of an octet is the first to be transmitted. A multicast is indicated by the first transmitted bit of the destination address being 1.
References
^MULTICAST_IP_ADDR. General Electric Digital Solutions. CIMPLICITY 10.0. In network prefix or Classless Inter-Domain Routing ( CIDR) notation, IP multicast addresses are summarized as 224.0.0.0/4.
^Joseph, Vinod; Mugulu, Srinivas (2011). Deploying Next Generation Multicast-Enabled Applications - Label Switched Multicast for MPLS, VPN, VPLS, and Wholesale Ethernet. Morgan Kaufmann/Elsevier. p. 7. ISBN978-0-12-384923-6. Lacking anything better to call it, one of the authors [of RFC2770], David Meyer, simply began refer to this as "GLOP" addressing and the name stuck.
^"Guidelines for Enterprise IP Multicast Address Allocation"(PDF). Cisco. p. 7. Retrieved 2023-01-14. most Layer 2 switches flood all multicast traffic that falls within the MAC address range of 0x0100.5E00.00xx [...] to all ports on the switch even if IGMP Snooping is enabled. [...] There are several multicast group ranges besides the 224.0.0.0/24 that will map to the 0x0100.5E00.00xx MAC address range and hence also will be flooded by most Layer 2 switches.