Multicast address

From Wikipedia, the free encyclopedia - View original article

 
Jump to: navigation, search

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[edit]

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

Local subnetwork[edit]

Addresses in the range 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[edit]

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[edit]

Addresses in the ranges 224.0.2.0 to 224.0.255.255, 224.3.0.0 to 224.4.255.255 and 233.252.0.0 to 233.255.255.255 are individually assigned by IANA and designated the AD-HOC block. These addresses are globally routed and are used for applications that don't fit either of the previously described purposes.[4]

Source-specific multicast[edit]

The 232.0.0.0/8 (IPv4) and FF3x::/32 (IPv6) block is reserved for use by source-specific multicast.

GLOP addressing[edit]

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.[citation needed] 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[edit]

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[edit]

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[edit]

Multicast addresses in IPv6 have the prefix ff00::/8. IPv6 multicast addresses are generally formed from four bit groups, illustrated as follows:

General multicast address format
Bits844112
Fieldprefixflagsscopegroup ID

The prefix holds the binary value 11111111 for any multicast address. 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.

Multicast address flags[7]
BitFlag01
0 (MSB)(Reserved)(Reserved)(Reserved)
1R (Rendezvous)[8]Rendezvous point not embeddedRendezvous point embedded
2P (Prefix)[9]Without prefix informationAddress based on network prefix
3 (LSB)T (Transient)[10]Well-known multicast addressDynamically assigned multicast address

Similar to unicast addresses, the prefix of IPv6 multicast addresses specifies their scope, however, the set of possible scopes is different. The 4-bit sc (or scope) field (bits 12 to 15) is used to indicate where the address is valid and unique.

Multicast address scope
IPv6 address[note 1]IPv4 equivalent[11]ScopePurpose
ff00::/16-ff0f::/16Reserved
ffx1::/16127.0.0.0/8Interface-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/16IPv4 local scope
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 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 partial list of well-known IPv6 multicast addresses that are registered with the Internet Assigned Numbers Authority (IANA).[12]

Well-known IPv6 multicast addresses
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::16MLDv2 reports (defined in RFC 3810)
ff02::1:2All DHCP servers and relay agents on the local network segment (defined in RFC 3315)
ff02::1:3All LLMNR hosts on the local network segment (defined in RFC 4795)
ff05::1:3All DHCP servers on the local network site (defined in RFC 3315)
ff0x::cSimple Service Discovery Protocol
ff0x::fbMulticast DNS
ff0x::101Network Time Protocol
ff0x::108Network Information Service
ff0x::114Used for experiments

Ethernet[edit]

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.

Some well known Ethernet multicast addresses[13]
Ethernet multicast addressType FieldUsage
01-00-0C-CC-CC-CC0x0802CDP (Cisco Discovery Protocol), VTP (VLAN Trunking Protocol)
01-00-0C-CC-CC-CD0x0802Cisco Shared Spanning Tree Protocol Address
01-80-C2-00-00-000x0802Spanning 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

0x88CCLink Layer Discovery Protocol
01-80-C2-00-00-080x0802Spanning Tree Protocol (for provider bridges) IEEE 802.1AD
01-80-C2-00-00-010x8808Ethernet flow control (Pause frame) IEEE 802.3x
01-80-C2-00-00-020x8809Ethernet OAM Protocol IEEE 802.3ah (A.K.A. "slow protocols")
01-00-5E-xx-xx-xx0x0800IPv4 Multicast (RFC 1112)
33-33-xx-xx-xx-xx0x86DDIPv6 Multicast (RFC 2464)

See also[edit]

Notes[edit]

  1. ^ x is a place holder indicating that the value of the flags field is unimportant in the current discussion.
  2. ^ 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[edit]