Multicast address

From HandWiki
Short description: Logical identifier addressing a specific group of devices on a network

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 range Description Routable
224.0.0.0 to 224.0.0.255 Local subnetwork[2] No
224.0.1.0 to 224.0.1.255 Internetwork control Yes
224.0.2.0 to 224.0.255.255 AD-HOC block 1[3] Yes
224.1.0.0 to 224.1.255.255 Reserved[4][5]
224.3.0.0 to 224.4.255.255 AD-HOC block 2[6] Yes
225.0.0.0 to 231.255.255.255 Reserved[4][5]
232.0.0.0 to 232.255.255.255 Source-specific multicast[2] Yes
233.0.0.0 to 233.251.255.255 GLOP addressing[7] Yes
233.252.0.0 to 233.255.255.255 AD-HOC block 3[8] Yes
234.0.0.0 to 234.255.255.255[citation needed] Unicast-prefix-based Yes
235.0.0.0 to 238.255.255.255 Reserved[4][5]
239.0.0.0 to 239.255.255.255 Administratively 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]
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.[11][dubious ]

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 address Description Routable
224.0.0.0 Base address (reserved) No
224.0.0.1 The All Hosts multicast group addresses all hosts on the same network segment. No
224.0.0.2 The All Routers multicast group addresses all routers on the same network segment. No
224.0.0.4 This address is used in the Distance Vector Multicast Routing Protocol (DVMRP) to address multicast routers. No
224.0.0.5 The 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.6 The OSPF All Designated Routers (DR) address is used to send OSPF routing information to designated routers on a network segment. No
224.0.0.9 The 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.10 The 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.13 Protocol Independent Multicast (PIM) Version 2 No
224.0.0.18 Virtual Router Redundancy Protocol (VRRP) No
224.0.0.19–21 IS-IS over IP No
224.0.0.22 Internet Group Management Protocol (IGMP) version 3[12] No
224.0.0.102 Hot Standby Router Protocol version 2 (HSRPv2) / Gateway Load Balancing Protocol (GLBP) No
224.0.0.107 Precision Time Protocol (PTP) version 2 peer delay measurement messaging No
224.0.0.251 Multicast DNS (mDNS) address No
224.0.0.252 Link-local Multicast Name Resolution (LLMNR) address No
224.0.0.253 Teredo tunneling client discovery address[13] No
224.0.1.1 Network Time Protocol clients listen on this address for protocol messages when operating in multicast mode. Yes
224.0.1.22 Service Location Protocol version 1 general Yes
224.0.1.35 Service Location Protocol version 1 directory agent Yes
224.0.1.39 The Cisco multicast router AUTO-RP-ANNOUNCE address is used by RP mapping agents to listen for candidate announcements. Yes
224.0.1.40 The 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.41 H.323 Gatekeeper discovery address Yes
224.0.1.129–132 Precision Time Protocol (PTP) version 1 messages (Sync, Announce, etc.) except peer delay measurement Yes
224.0.1.129 Precision Time Protocol (PTP) version 2 messages (Sync, Announce, etc.) except peer delay measurement Yes
239.255.255.250 Simple Service Discovery Protocol address Yes
239.255.255.253 Service Location Protocol version 2 address Yes

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
Bits 8 4 4 112
Field prefix flags scope group ID
Multicast address flags[14]
Bit[note 1] Flag 0 1
0 (MSB) Reserved (Reserved) (Reserved)
1 R (Rendezvous)[15] Rendezvous point not embedded Rendezvous point embedded
2 P (Prefix)[16] Without prefix information Address based on network prefix
3 (LSB) T (Transient)REFERENCE FOR RFC4291 IS NOT DEFINED YET. You are invited to add it here. Well-known multicast address Dynamically 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[17] ScopeREFERENCE FOR RFC7346 IS NOT DEFINED YET. You are invited to add it here. Purpose
ffx0::/16, ffxf::/16 Reserved
ffx1::/16 Interface-local 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.
ffx3::/16 239.255.0.0/16 Realm-Local scopeREFERENCE FOR RFC7346 IS NOT DEFINED YET. You are invited to add it here. 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.[18] 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.[19] 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.[20]

Address Description
ff02::1 All nodes on the local network segment
ff02::2 All routers on the local network segment
ff02::5 OSPFv3 All SPF routers
ff02::6 OSPFv3 All DR routers
ff02::8 IS-IS for IPv6 routers
ff02::9 RIP routers
ff02::a EIGRP routers
ff02::d PIM routers
ff02::12 Virtual Router Redundancy Protocol (VRRP) version 3
ff02::16 MLDv2 reportsREFERENCE FOR RFC3810 IS NOT DEFINED YET. You are invited to add it here.
ff02::1:2 All DHCPv6 servers and relay agents on the local network segmentREFERENCE FOR RFC8415 IS NOT DEFINED YET. You are invited to add it here.
ff02::1:3 All LLMNR hosts on the local network segmentREFERENCE FOR RFC4795 IS NOT DEFINED YET. You are invited to add it here.
ff05::1:3 All DHCPv6 servers on the local network siteREFERENCE FOR RFC8415 IS NOT DEFINED YET. You are invited to add it here.
ff0x::c Simple Service Discovery Protocol
ff0x::fb Multicast DNS
ff0x::101 Network Time Protocol
ff0x::108 Network Information Service
ff0x::181 Precision Time Protocol (PTP) version 2 messages (Sync, Announce, etc.) except peer delay measurement
ff02::6b Precision Time Protocol (PTP) version 2 peer delay measurement messages
ff0x::114 Used 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 (Template:Macaddr) 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 Template:Macaddr to Template:Macaddr for group addresses for use by standard protocols. Of these, the MAC group addresses in the range of Template:Macaddr to Template:Macaddr are not forwarded by 802.1D-conformant MAC bridges.[21]

Some well known Ethernet multicast addresses[22]
Block Ethernet multicast address Ethertype Usage

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

Template:Macaddr

Local LAN Segment, stopping at STP-capable switches
SNAP (length) Spanning Tree Protocol (for bridges) IEEE 802.1D
0x88CC Link Layer Discovery Protocol (additional)
Template:Macaddr 0x8808 Ethernet flow control (pause frame) IEEE 802.3x
Template:Macaddr 0x8809 "Slow protocols" including Ethernet OAM Protocol (IEEE 802.3ah) and Link Aggregation Control Protocol (LACP)

Template:Macaddr

Local LAN Segment until next multi-port ("non-TPMR") switch
0x888E Port authentication (IEEE 802.1X EAPOL)
0x88CC Link Layer Discovery Protocol (additional)
Template:Macaddr SNAP (length) Spanning Tree Protocol (for provider bridges) IEEE 802.1ad
Template:Macaddr 0x88F5 Multiple VLAN Registration Protocol (for provider bridges) IEEE 802.1ad
Template:Macaddr Local LAN Link, never crosses another device
0x88CC Link Layer Discovery Protocol (primary)
0x88F7 Precision Time Protocol (PTP) version 2 over Ethernet (802.1AS)
Template:Macaddr 0x88F5 GARP VLAN Registration Protocol (also known as IEEE 802.1Q GVRP)

Multiple VLAN Registration Protocol (MVRP)

Template:Macaddr through
Template:Macaddr
0x8902 Ethernet CFM Protocol IEEE 802.1ag

01-1B-19
IEEE (TC9)

Template:Macaddr 0x88F7 Precision Time Protocol (PTP) version 2 over Ethernet (native layer-2)
for electing the Grandmaster clock and advanced applications, otherwise Template:Macaddr

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

Template:Macaddr through
Template:Macaddr
0x0800 IPv4 Multicast (RFC 1112), insert the low 23 bits of the multicast IPv4 address into the Ethernet address[25]

33-33-xx
locally administered

Template:Macaddr through
Template:Macaddr
0x86DD IPv6 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.[26] For example, IPv6 multicast traffic using the address ff02::d uses the MAC address Template:Macaddr, and traffic to ff05::1:3 goes to the MAC address Template:Macaddr.

01-0C-CD
IEC

Template:Macaddr through
Template:Macaddr
0x88B8 IEC 61850-8-1 GOOSE Type 1/1A
Template:Macaddr through
Template:Macaddr
0x88B9 GSSE (IEC 61850 8-1)
Template:Macaddr through
Template:Macaddr
0x88BA Multicast sampled values (IEC 61850 8-1)

01-00-0C
Cisco Systems

Template:Macaddr SNAP (length) Cisco Discovery Protocol (CDP), VLAN Trunking Protocol (VTP), Unidirectional Link Detection (UDLD)
Template:Macaddr SNAP (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

  1. The recommended style for Request for Comments (RFC) documents is "MSB 0" bit numbering.
  2. x is a place holder indicating that the value of the flags field is unimportant in the current discussion.
  3. 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

  1. 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.
  2. 2.0 2.1 2.2 IP Multicast Routing Configuration Guide, Cisco, https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750x_3560x/software/release/15-2_2_e/multicast/configuration_guide/b_mc_1522e_3750x_3560x_cg/b_mc_3750x_3560x_chapter_01.html, retrieved 2021-01-13 
  3. AD-HOC Block 1
  4. 4.0 4.1 4.2 IANA Guidelines for IPv4 Multicast Address Assignments, sec. 3, doi:10.17487/RFC5771, RFC 5771, https://tools.ietf.org/html/rfc5771#section-3 
  5. 5.0 5.1 5.2 5.3 "IANA IP multicast addresses assignments". Internet Assigned Numbers Authority. https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml. 
  6. AD-HOC Block 2
  7. Fall, K.R. and Stevens, W.R. (2011). TCP/IP Illustrated. 1. Addison-Wesley. p. 55. ISBN 9780321336316. https://books.google.com/books?id=X-l9NX3iemAC. 
  8. AD-HOC Block 3
  9. RFC 5771 Section 6.
  10. Deploying Next Generation Multicast-Enabled Applications - Label Switched Multicast for MPLS, VPN, VPLS, and Wholesale Ethernet. Morgan Kaufmann/Elsevier. 2011. p. 7. ISBN 978-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."" 
  11. "Guidelines for Enterprise IP Multicast Address Allocation". Cisco. p. 7. https://www.cisco.com/c/dam/en/us/support/docs/ip/ip-multicast/ipmlt_wp.pdf#page=7. "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." 
  12. RFC 3376 Section 4.2.14
  13. RFC 4380 item 2.17
  14. Silvia Hagen (May 2006). IPv6 Essentials (Second ed.). O'Reilly. ISBN 978-0-596-10058-2. https://archive.org/details/ipv6essentials00hage. 
  15. RFC 3956
  16. RFC 3306
  17. RFC 2365 section 8.
  18. "IPv6 Multicast Address Space Registry". Internet Assigned Numbers Authority. https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml. 
  19. RFC 5110
  20. RFC 2710
  21. IEEE. "Standard Group MAC Address: A Tutorial Guide". IEEE Standards Association. pp. 2–3. http://standards.ieee.org/develop/regauth/tut/macgrp.pdf. 
  22. Patton, Michael A. et. al.. "Multicast (including Broadcast) Addresses". cavebear.com. Karl Auerbach. http://www.cavebear.com/archive/cavebear/Ethernet/multicast.html. 
  23. "Standard Group MAC Address - Public Listing". IEEE-SA. https://standards.ieee.org/products-services/regauth/grpmac/public. 
  24. "IANA Multicast 48-bit MAC Addresses". IANA. https://www.iana.org/assignments/ethernet-numbers/ethernet-numbers.xhtml#ethernet-numbers-3. 
  25. RFC 7042 2.1.1
  26. RFC 7042 2.3.1