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 | 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]
- 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.
- 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]
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[13] | 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[14] | 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:
Bits | 8 | 4 | 4 | 112 |
---|---|---|---|---|
Field | prefix | flags | scope | group ID |
Bit[note 1] | Flag | 0 | 1 |
---|---|---|---|
0 (MSB) | Reserved | (Reserved) | (Reserved) |
1 | R (Rendezvous)[16] | Rendezvous point not embedded | Rendezvous point embedded |
2 | P (Prefix)[17] | Without prefix information | Address based on network prefix |
3 (LSB) | T (Transient)[18] | 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.
IPv6 address[note 2] | IPv4 equivalent[19] | Scope[20] | 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 scope[20] | 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.[21] 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.[22] 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.[23]
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 reports[24] |
ff02::1:2 | All DHCPv6 servers and relay agents on the local network segment[25] |
ff02::1:3 | All LLMNR hosts on the local network segment[26] |
ff05::1:3 | All DHCPv6 servers on the local network site[25] |
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 (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.[27]
Block | Ethernet multicast address | Ethertype | Usage |
---|---|---|---|
01-80-C2-00-00-00 |
Local LAN Segment, stopping at STP-capable switches | ||
SNAP (length) | Spanning Tree Protocol (for bridges) IEEE 802.1D | ||
0x88CC | Link Layer Discovery Protocol (additional) | ||
01-80-C2-00-00-01 | 0x8808 | Ethernet flow control (pause frame) IEEE 802.3x | |
01-80-C2-00-00-02 | 0x8809 | "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 | ||
0x888E | Port authentication (IEEE 802.1X EAPOL) | ||
0x88CC | Link Layer Discovery Protocol (additional) | ||
01-80-C2-00-00-08 | SNAP (length) | Spanning Tree Protocol (for provider bridges) IEEE 802.1ad | |
01-80-C2-00-00-0D | 0x88F5 | Multiple VLAN Registration Protocol (for provider bridges) IEEE 802.1ad | |
01-80-C2-00-00-0E | Local LAN Link, never crosses another device | ||
0x88CC | Link Layer Discovery Protocol (primary) | ||
0x88F7 | Precision Time Protocol (PTP) version 2 over Ethernet (802.1AS) | ||
01-80-C2-00-00-21 | 0x88F5 | GARP 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 |
0x8902 | Ethernet CFM Protocol IEEE 802.1ag | |
01-1B-19 |
01-1B-19-00-00-00 | 0x88F7 | 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 |
01-00-5E-00-00-00 through 01-00-5E-7F-FF-FF |
0x0800 | IPv4 Multicast (RFC 1112), insert the low 23 bits of the multicast IPv4 address into the Ethernet address[31] | |
33-33-xx |
33-33-00-00-00-00 through 33-33-FF-FF-FF-FF |
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.[32] 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 |
01-0C-CD-01-00-00 through 01-0C-CD-01-01-FF |
0x88B8 | IEC 61850-8-1 GOOSE Type 1/1A |
01-0C-CD-02-00-00 through 01-0C-CD-02-01-FF |
0x88B9 | GSSE (IEC 61850 8-1) | |
01-0C-CD-04-00-00 through 01-0C-CD-04-01-FF |
0x88BA | Multicast sampled values (IEC 61850 8-1) | |
01-00-0C |
01-00-0C-CC-CC-CC | SNAP (length) | Cisco Discovery Protocol (CDP), VLAN Trunking Protocol (VTP), Unidirectional Link Detection (UDLD) |
01-00-0C-CC-CC-CD | SNAP (length) | Cisco Shared Spanning Tree Protocol Address |
802.11
802.11 wireless networks use the same MAC addresses for multicast as Ethernet.
See also
Notes
- ↑ The recommended style for Request for Comments (RFC) documents is "MSB 0" bit numbering.
- ↑ 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.
- 1 2 3 IP Multicast Routing Configuration Guide, Cisco, retrieved 2021-01-13
- ↑ AD-HOC Block 1
- 1 2 3 IANA Guidelines for IPv4 Multicast Address Assignments. sec. 3. doi:10.17487/RFC5771. RFC 5771.
- 1 2 3 4 "IANA IP multicast addresses assignments". Internet Assigned Numbers Authority.
- ↑ AD-HOC Block 2
- ↑ Fall, K.R. and Stevens, W.R. (2011). TCP/IP Illustrated. Vol. 1. Addison-Wesley. p. 55. ISBN 9780321336316.
{{cite book}}
: CS1 maint: multiple names: authors list (link) - ↑ AD-HOC Block 3
- ↑ RFC 5771 Section 6.
- ↑ 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. 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.
- ↑ "Frequently Asked Questions (FAQ) File for Multicasting". Multicast Tech. Archived from the original on 2011-05-16.
- ↑ "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.
- ↑ RFC 3376 Section 4.2.14
- ↑ RFC 4380 item 2.17
- ↑ Silvia Hagen (May 2006). IPv6 Essentials (Second ed.). O'Reilly. ISBN 978-0-596-10058-2.
- ↑ RFC 3956
- ↑ RFC 3306
- ↑ R. Hinden; S. Deering (February 2006). IP Version 6 Addressing Architecture. Network Working Group. doi:10.17487/RFC4291. RFC 4291. Draft Standard. Obsoletes RFC 3513. Updated by RFC 5952, 6052, 7136, 7346, 7371 and 8064.
- ↑ RFC 2365 section 8.
- 1 2 R. Droms (August 2014). IPv6 Multicast Address Scopes. Internet Engineering Task Force. doi:10.17487/RFC7346. ISSN 2070-1721. RFC 7346. Proposed Standard. Updates RFC 4007 and 4291.
- ↑ "IPv6 Multicast Address Space Registry". Internet Assigned Numbers Authority.
- ↑ RFC 5110
- ↑ RFC 2710
- ↑ R. Vida; L. Costa, eds. (June 2004). Multicast Listener Discovery Version 2 (MLDv2) for IPv6. Network Working Group. doi:10.17487/RFC3810. RFC 3810. Proposed Standard. Updates RFC 2710. Updated by RFC 4604.
- 1 2 T. Mrugalski; M. Siodelski; B. Volz; A. Yourtchenko; M. Richardson; S. Jiang; T. Lemon; T. Winters (November 2018). Dynamic Host Configuration Protocol for IPv6 (DHCPv6). IETF. doi:10.17487/RFC8415. ISSN 2070-1721. RFC 8415. Proposed Standard. Obsoletes RFC 3315, 3633, 3736, 4242, 7083, 7283 and 7550.
- ↑ B. Aboba; D. Thaler; L. Esibov (January 2007). Link-Local Multicast Name Resolution (LLMNR). Network Working Group. doi:10.17487/RFC4795. RFC 4795. Informational.
- ↑ IEEE. "Standard Group MAC Address: A Tutorial Guide" (PDF). IEEE Standards Association. pp. 2–3. Archived (PDF) from the original on 2022-10-09.
- ↑ Patton, Michael A. et. al.. "Multicast (including Broadcast) Addresses". cavebear.com. Karl Auerbach.
{{cite web}}
: External link in
(help)|author=
- ↑ "Standard Group MAC Address - Public Listing". IEEE-SA. Retrieved 30 November 2022.
- ↑ "IANA Multicast 48-bit MAC Addresses". IANA. Retrieved 31 January 2021.
- ↑ RFC 7042 2.1.1
- ↑ RFC 7042 2.3.1