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 leading address bits of 1110, originating from the classful network design of the early Internet when this group of addresses was designated as Class D. The Classless Inter-Domain Routing (CIDR) prefix of this group is 224.0.0.0/4
. 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 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).[1]
IP multicast address | Description |
---|---|
224.0.0.0 | Base address (reserved) |
224.0.0.1 | The All Hosts multicast group addresses all hosts on the same network segment. |
224.0.0.2 | The All Routers multicast group addresses all routers on the same network segment. |
224.0.0.4 | This address is used in the Distance Vector Multicast Routing Protocol (DVMRP) to address multicast routers. |
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. |
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. |
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. |
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. |
224.0.0.13 | Protocol Independent Multicast (PIM) Version 2 |
224.0.0.18 | Virtual Router Redundancy Protocol (VRRP) |
224.0.0.19–21 | IS-IS over IP |
224.0.0.22 | Internet Group Management Protocol (IGMP) version 3[2] |
224.0.0.102 | Hot Standby Router Protocol version 2 (HSRPv2) / Gateway Load Balancing Protocol (GLBP) |
224.0.0.107 | Precision Time Protocol (PTP) version 2 peer delay measurement messaging |
224.0.0.251 | Multicast DNS (mDNS) address |
224.0.0.252 | Link-local Multicast Name Resolution (LLMNR) address |
224.0.0.253 | Teredo tunneling client discovery address[3] |
224.0.1.1 | Network Time Protocol clients listen on this address for protocol messages when operating in multicast mode. |
224.0.1.22 | Service Location Protocol version 1 general |
224.0.1.35 | Service Location Protocol version 1 directory agent |
224.0.1.39 | The Cisco multicast router AUTO-RP-ANNOUNCE address is used by RP mapping agents to listen for candidate announcements. |
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. |
224.0.1.41 | H.323 Gatekeeper discovery address |
224.0.1.129–132 | Precision Time Protocol (PTP) version 1 messages (Sync, Announce, etc.) except peer delay measurement |
224.0.1.129 | Precision Time Protocol (PTP) version 2 messages (Sync, Announce, etc.) except peer delay measurement |
239.255.255.250 | Simple Service Discovery Protocol address |
239.255.255.253 | Service Location Protocol version 2 address |
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 Zeroconf mDNS uses 224.0.0.251. Routers must not forward these messages outside the subnet in 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 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 (224.0.1.1).
AD-HOC block
Addresses in the following ranges should not be individually assigned by IANA. They are designated the AD-HOC block:
- 224.000.2.0 to 224.000.255.255
- 224.003.0.0 to 224.004.255.255
- 233.252.0.0 to 233.255.255.255
These addresses are globally routed and are used for applications that don't fit either of the previously described purposes.[4]
Source-specific multicast
The 232.0.0.0/8 (IPv4) and FF3x::/32 (IPv6) block is reserved for use by source-specific multicast.
GLOP addressing
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. The method is not applicable to the newer 32-bit extension AS numbers. RFC 3180, superseding RFC 2770, envisioned the use of the range for many-to-many multicast applications. This block has been one of the most successful multicast addressing schemes. Unfortunately, with only 256 multicast addresses available to each autonomous system, GLOP is not adequate for large-scale broadcasters.[5]
Unicast-prefix-based IPv4 multicast addresses
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 mechanisms in IPv4 and IPv6 become more similar.
Administratively scoped IPv4 multicast addresses
The 239.0.0.0/8 range is assigned by RFC 2365 for private use within an organization. From 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.
IPv6
Multicast addresses in IPv6 use the prefix ff00::/8. IPv6 multicast addresses are generally formed from four bit groups.
Bits | 8 | 4 | 4 | 112 |
---|---|---|---|---|
Field | prefix | flags | scope | group ID |
The prefix holds the value ff for all multicast addresses.
Currently, 3 of the 4 flag bits in the flags field are defined;[6] the most-significant flag bit is reserved for future use. The other three flags are known as R, P and T.
Bit | Flag | 0 | 1 |
---|---|---|---|
0 (MSB) | Reserved | (Reserved) | (Reserved) |
1 | R (Rendezvous)[8] | Rendezvous point not embedded | Rendezvous point embedded |
2 | P (Prefix)[9] | Without prefix information | Address based on network prefix |
3 (LSB) | T (Transient)[10] | Well-known multicast address | Dynamically assigned multicast address |
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 sc (or scope) field (bits 12 to 15) is used to indicate where the address is valid and unique.
IPv6 address[note 1] | IPv4 equivalent[11] | Scope | Purpose |
---|---|---|---|
ff00::/16-ff0f::/16 | Reserved | ||
ffx1::/16 | 127.0.0.0/8 | 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 | IPv4 local scope | |
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 112-bit 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.
The following table is a list notable IPv6 multicast addresses that are registered with the Internet Assigned Numbers Authority (IANA).[12]
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::16 | MLDv2 reports (defined in RFC 3810) |
ff02::1:2 | All DHCP servers and relay agents on the local network segment (defined in RFC 3315) |
ff02::1:3 | All LLMNR hosts on the local network segment (defined in RFC 4795) |
ff05::1:3 | All DHCP servers on the local network site (defined in RFC 3315) |
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 2] of the destination 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 network equipment 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.
Ethernet multicast address | Type Field | Usage |
---|---|---|
01-00-0C-CC-CC-CC | CDP (Cisco Discovery Protocol), VTP (VLAN Trunking Protocol) | |
01-00-0C-CC-CC-CD | Cisco Shared Spanning Tree Protocol Address | |
01-80-C2-00-00-00 | Spanning Tree Protocol (for bridges) IEEE 802.1D | |
01-80-C2-00-00-00, or
01-80-C2-00-00-03, or 01-80-C2-00-00-0E |
0x88CC | Link Layer Discovery Protocol |
01-80-C2-00-00-08 | 0x0802 | Spanning Tree Protocol (for provider bridges) IEEE 802.1ad |
01-80-C2-00-00-01 | 0x8808 | Ethernet flow control (Pause frame) IEEE 802.3x |
01-80-C2-00-00-02 | 0x8809 | Ethernet OAM Protocol IEEE 802.3ah (A.K.A. "slow protocols") |
01-80-C2-00-00-30 - 01-80-C2-00-00-3F | 0x8902 | Ethernet CFM Protocol IEEE 802.1ag |
01-00-5E-00-00-00 - 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 (RFC 7042 2.1.1.) |
33-33-xx-xx-xx-xx | 0x86DD | IPv6 Multicast (RFC 2464), insert the low 32 Bits of the multicast IPv6 Address into the Ethernet Address (RFC 7042 2.3.1.) |
01-0C-CD-01-00-00 -
01-0C-CD-01-01-FF |
0x88B8 | IEC 61850-8-1 GOOSE Type 1/1A |
01-0C-CD-02-00-00 -
01-0C-CD-02-01-FF |
0x88B9 | GSSE (IEC 61850 8-1) |
01-0C-CD-04-00-00 -
01-0C-CD-04-01-FF |
0x88BA | Multicast sampled values (IEC 61850 8-1) |
01-1B-19-00-00-00, or
01-80-C2-00-00-0E |
0x88F7 | Precision Time Protocol (PTP) version 2 over Ethernet (Layer-2) |
802.11
802.11 wireless networks use the same 01:00:5E:xx:xx:xx and 33:33:xx:xx:xx:xx MAC addresses for multicasting as Ethernet.
See also
Notes
References
- ↑ IANA IP multicast addresses assignments. Internet Assigned Numbers Authority .
- ↑ RFC 3376 Section 4.2.14
- ↑ RFC 4380 item 2.17
- ↑ RFC 5771 Section 6.
- ↑ "Frequently Asked Questions (FAQ) File for Multicasting". Multicast Tech. Archived from the original on 2011-05-16.
- ↑ Hinden, R.; Deering, S. (February 2006) IP Version 6 Addressing Architecture, IETF, RFC 4291.
- ↑ Silvia Hagen (May 2006). IPv6 Essentials (Second ed.). O'Reilly. ISBN 978-0-596-10058-2.
- ↑ RFC 3956
- ↑ RFC 3306
- ↑ RFC 4291
- ↑ RFC 2365 section 8.
- ↑ IANA Internet Protocol Version 6 Multicast Addresses. Internet Assigned Numbers Authority.
- ↑ Patton, Michael A. et. al.. "Multicast (including Broadcast) Addresses". cavebear.com. Karl Auerbach.