Multicast address

A multicast address is a logical identifier for a group of hosts in a computer network that are available to process datagrams or frames intended to be multicast for a designated network service. Multicast addressing can be used in the link layer (layer 2 in the OSI model), such as Ethernet multicast, and at the internet layer (layer 3 for OSI) for Internet Protocol Version 4 (IPv4) or Version 6 (IPv6) multicast.

IPv4

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. Address assignments from within this range are specified in RFC 5771, an Internet Engineering Task Force (IETF) Best Current Practice document (BCP 51).

The address range is divided into blocks each assigned a specific purpose or behavior.

IP multicast address rangeDescriptionRoutable
224.0.0.0 to 224.0.0.255Local subnetwork[2]No
224.0.1.0 to 224.0.1.255Internetwork controlYes
224.0.2.0 to 224.0.255.255AD-HOC block 1[3]Yes
224.1.0.0 to 224.1.255.255Reserved[4][5]
224.3.0.0 to 224.4.255.255AD-HOC block 2[6]Yes
225.0.0.0 to 231.255.255.255Reserved[4][5]
232.0.0.0 to 232.255.255.255Source-specific multicast[2]Yes
233.0.0.0 to 233.251.255.255GLOP addressing[7]Yes
233.252.0.0 to 233.255.255.255AD-HOC block 3[8]Yes
234.0.0.0 to 234.255.255.255[citation needed]Unicast-prefix-basedYes
235.0.0.0 to 238.255.255.255Reserved[4][5]
239.0.0.0 to 239.255.255.255Administratively scoped[2]Yes
Local subnetwork
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.[9]
Source-specific multicast
The 232.0.0.0/8 (IPv4) and ff3x::/32 (IPv6) blocks are reserved for use by source-specific multicast.
GLOP[10]
The 233.0.0.0/8 range was originally assigned by RFC 2770 as an experimental, public statically-assigned multicast address space for publishers and Internet service providers that wished to source content on the Internet. 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.[11] The method is not applicable to the newer 32-bit ASNs. RFC 3180, superseding RFC 2770, envisioned the use of the range for many-to-many multicast applications. 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 by RFC 6034 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. A resulting advantage over GLOP is that the unicast-prefix mechanism resembles the unicast-prefix capabilities of IPv6 as defined in RFC 3306.
Administratively scoped
The 239.0.0.0/8 range is assigned by RFC 2365 for private use within an organization. Per the RFC, 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 RFC also discusses structuring the 239.0.0.0/8 range to be loosely similar to the scoped IPv6 multicast address range described in RFC 1884.
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.[12][dubiousdiscuss]

Notable IPv4 multicast addresses

The following table is a list of notable well-known IPv4 addresses that are reserved for IP multicasting and that are registered with the Internet Assigned Numbers Authority (IANA).[5]

IP multicast addressDescriptionRoutable
224.0.0.0Base address (reserved)No
224.0.0.1The All Hosts multicast group addresses all hosts on the same network segment.No
224.0.0.2The All Routers multicast group addresses all routers on the same network segment.No
224.0.0.4This address is used in the Distance Vector Multicast Routing Protocol (DVMRP) to address multicast routers.No
224.0.0.5The Open Shortest Path First (OSPF) All OSPF Routers address is used to send Hello packets to all OSPF routers on a network segment.No
224.0.0.6The OSPF All Designated Routers (DR) address is used to send OSPF routing information to designated routers on a network segment.No
224.0.0.9The Routing Information Protocol (RIP) version 2 group address is used to send routing information to all RIP2-aware routers on a network segment.No
224.0.0.10The Enhanced Interior Gateway Routing Protocol (EIGRP) group address is used to send routing information to all EIGRP routers on a network segment.No
224.0.0.13Protocol Independent Multicast (PIM) Version 2No
224.0.0.18Virtual Router Redundancy Protocol (VRRP)No
224.0.0.19–21IS-IS over IPNo
224.0.0.22Internet Group Management Protocol (IGMP) version 3[13]No
224.0.0.102Hot Standby Router Protocol version 2 (HSRPv2) / Gateway Load Balancing Protocol (GLBP)No
224.0.0.107Precision Time Protocol (PTP) version 2 peer delay measurement messagingNo
224.0.0.251Multicast DNS (mDNS) addressNo
224.0.0.252Link-local Multicast Name Resolution (LLMNR) addressNo
224.0.0.253Teredo tunneling client discovery address[14]No
224.0.1.1Network Time Protocol clients listen on this address for protocol messages when operating in multicast mode.Yes
224.0.1.22Service Location Protocol version 1 generalYes
224.0.1.35Service Location Protocol version 1 directory agentYes
224.0.1.39The Cisco multicast router AUTO-RP-ANNOUNCE address is used by RP mapping agents to listen for candidate announcements.Yes
224.0.1.40The Cisco multicast router AUTO-RP-DISCOVERY address is the destination address for messages from the RP mapping agent to discover candidates.Yes
224.0.1.41H.323 Gatekeeper discovery addressYes
224.0.1.129–132Precision Time Protocol (PTP) version 1 messages (Sync, Announce, etc.) except peer delay measurementYes
224.0.1.129Precision Time Protocol (PTP) version 2 messages (Sync, Announce, etc.) except peer delay measurementYes
224.0.23.12KNXnet/IP discovery[15]Yes
239.255.255.250Simple Service Discovery Protocol addressYes
239.255.255.253Service Location Protocol version 2 addressYes

IPv6

Multicast addresses in IPv6 use the prefix ff00::/8. The general format of the IPv6 multicast address is described by RFC 4291:

General multicast address format
Bits844112
Fieldprefixflagsscopegroup ID
Multicast address flags[16]
Bit[note 1]Flag01
0 (MSB)Reserved(Reserved)(Reserved)
1R (Rendezvous)[17]Rendezvous point not embeddedRendezvous point embedded
2P (Prefix)[18]Without prefix informationAddress based on network prefix
3 (LSB)T (Transient)[19]Well-known multicast addressDynamically assigned multicast address

Based on the value of the flag bits, IPv6 multicast addresses can be Unicast-Prefix-based Multicast Addresses, Source-Specific Multicast Addresses (both types introduced by RFC 3306, updated by RFC 7371), or Embedded RP IPv6 Multicast Addresses (introduced by RFC 3956, updated by RFC 7371). 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.

Multicast address scope
IPv6 address[note 2]IPv4 equivalent[20]Scope[21]Purpose
ffx0::/16, ffxf::/16Reserved
ffx1::/16Interface-localPackets 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::/16224.0.0.0/24Link-localPackets with this destination address may not be routed anywhere.
ffx3::/16239.255.0.0/16Realm-Local scope[21]Local multicast particular to a network technology
ffx4::/16Admin-localThe smallest scope that must be administratively configured.
ffx5::/16Site-localRestricted to the local physical network.
ffx8::/16239.192.0.0/14Organization-localRestricted 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::/16224.0.1.0-238.255.255.255Global scopeEligible 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.[22]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.[23] 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.[24]

AddressDescription
ff02::1All nodes on the local network segment
ff02::2All routers on the local network segment
ff02::5OSPFv3 All SPF routers
ff02::6OSPFv3 All DR routers
ff02::8IS-IS for IPv6 routers
ff02::9RIP routers
ff02::aEIGRP routers
ff02::dPIM routers
ff02::12Virtual Router Redundancy Protocol (VRRP) version 3
ff02::16MLDv2 reports[25]
ff02::1:2All DHCPv6 servers and relay agents on the local network segment[26]
ff02::1:3All LLMNR hosts on the local network segment[27]
ff05::1:3All DHCPv6 servers on the local network site[26]
ff0x::cSimple Service Discovery Protocol
ff0x::fbMulticast DNS
ff0x::101Network Time Protocol
ff0x::108Network Information Service
ff0x::181Precision Time Protocol (PTP) version 2 messages (Sync, Announce, etc.) except peer delay measurement
ff02::6bPrecision Time Protocol (PTP) version 2 peer delay measurement messages
ff0x::114Used for experiments

Ethernet

Ethernet frames with a value of 1 in the least-significant bit of the first octet[note 3] 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.[28]

Some well known Ethernet multicast addresses[29]
BlockEthernet multicast addressEthertypeUsage

01-80-C2[30]
IEEE (802 group)

01-80-C2-00-00-00

Local LAN Segment, stopping at STP-capable switches
SNAP (length)Spanning Tree Protocol (for bridges) IEEE 802.1D
0x88CCLink Layer Discovery Protocol (additional)
01-80-C2-00-00-010x8808Ethernet flow control (pause frame) IEEE 802.3x
01-80-C2-00-00-020x8809"Slow protocols" including Ethernet OAM Protocol (IEEE 802.3ah) and Link Aggregation Control Protocol (LACP)

01-80-C2-00-00-03

Local LAN Segment until next multi-port ("non-TPMR") switch
0x888EPort authentication (IEEE 802.1X EAPOL)
0x88CCLink Layer Discovery Protocol (additional)
01-80-C2-00-00-08SNAP (length)Spanning Tree Protocol (for provider bridges) IEEE 802.1ad
01-80-C2-00-00-0D0x88F5Multiple VLAN Registration Protocol (for provider bridges) IEEE 802.1ad
01-80-C2-00-00-0ELocal LAN Link, never crosses another device
0x88CCLink Layer Discovery Protocol (primary)
0x88F7Precision Time Protocol (PTP) version 2 over Ethernet (802.1AS)
01-80-C2-00-00-210x88F5GARP VLAN Registration Protocol (also known as IEEE 802.1Q GVRP)

Multiple VLAN Registration Protocol (MVRP)

01-80-C2-00-00-30 through
01-80-C2-00-00-3F
0x8902Ethernet CFM Protocol IEEE 802.1ag

01-1B-19
IEEE (TC9)

01-1B-19-00-00-000x88F7Precision 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

01-00-5E[31]
ICANN/IANA

01-00-5E-00-00-00 through
01-00-5E-7F-FF-FF
0x0800IPv4 Multicast (RFC 1112), insert the low 23 bits of the multicast IPv4 address into the Ethernet address[32]

33-33-xx
locally administered

33-33-00-00-00-00 through
33-33-FF-FF-FF-FF
0x86DDIPv6 multicast (RFC 2464): The low 32 bits an Ethernet address for IPv6 multicast traffic are the low 32 bits of the multicast IPv6 address used.[33] 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.

01-0C-CD
IEC

01-0C-CD-01-00-00 through
01-0C-CD-01-01-FF
0x88B8IEC 61850-8-1 GOOSE Type 1/1A
01-0C-CD-02-00-00 through
01-0C-CD-02-01-FF
0x88B9GSSE (IEC 61850 8-1)
01-0C-CD-04-00-00 through
01-0C-CD-04-01-FF
0x88BAMulticast sampled values (IEC 61850 8-1)

01-00-0C
Cisco Systems

01-00-0C-CC-CC-CCSNAP (length)Cisco Discovery Protocol (CDP), VLAN Trunking Protocol (VTP), Unidirectional Link Detection (UDLD)
01-00-0C-CC-CC-CDSNAP (length)Cisco Shared Spanning Tree Protocol Address[citation needed]

802.11

802.11 wireless networks use the same MAC addresses for multicast as Ethernet.

See also

Notes

References