Whether you’re a network engineer, administrator, or simply someone looking to gain a deeper understanding of Multicast, this article is your gateway to simplifying the complexities of Multicast addressing.
In this article, we’re going to demystify the Multicast addressing, breaking it down into its core principles, with a specific focus on Layer 2 and Layer 3 aspects.
Multicast Addressing Overview
A Multicast address represents the Multicast application, and we refer to it as a Multicast destination group or group destination address (GDA). So, The Multicast source (sender) sends traffic to the Multicast group address. And the interested Multicast receivers listen to the traffic for that group address.
A Multicast address is never assigned to a network device, so it is never used as a source address. So, the Multicast traffic is always sent to a group, never from a group. This means the source address on a Multicast packet should always be a unicast address.
The Multicast groups use both layer 2 (MAC) and layer 3 (IP) addresses.
IPv4 Multicast Addressing
IPv4 Multicast addresses are identified by the value of the first octet. Therefore, the first 4 bits are always (1110xxxx). IPv4 Multicast uses Class “D” addresses (224.0.0.0/4); the range is (224.0.0.0 – 239.255.255.255).
The concept of subnetting does not exist with Multicast! Because each address identifies an individual Multicast group address (not hierarchical).
The Internet Assigned Numbers Authority (IANA) has assigned several ranges of Multicast IP addresses for specific types:
- 1) Permanent Groups – Local Network Control Block (224.0.0.0 – 224.0.0.255).
- Addresses from this range are assigned for network protocols on a local segment. Routers do not forward packets with destination addresses used from this range.
- Addresses from this range are assigned for network protocols on a local segment. Routers do not forward packets with destination addresses used from this range.
- 2) Permanent Groups – Internetwork Control Block (224.0.1.0 – 224.0.1.255).
- IANA assigns addresses from this range for the network protocols that are forwarded to the entire network. Routers forward packets with destination addresses used from this range.
- IANA assigns addresses from this range for the network protocols that are forwarded to the entire network. Routers forward packets with destination addresses used from this range.
- 3) Source Specific Multicast, (SSM), (232.0.0.0 – 232.255.255.255).
- IANA has allocated this range for SSM applications and protocols. The purpose of these applications is to allow a host to select a source for the Multicast group.
- IANA has allocated this range for SSM applications and protocols. The purpose of these applications is to allow a host to select a source for the Multicast group.
- 4) Organization-Local Scope (Administratively Scoped), (239.0.0.0 – 239.255.255.255).
- IANA has assigned the range to be used in private Multicast domains, much like the IP unicast ranges defined in RFC-1918, namely, 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16.
- Network administrators are free to use Multicast addresses in this range; however, they must configure their Multicast routers to ensure that Multicast traffic in this address range does not leave their Multicast domain boundaries.
- 5) GLOP addressing (233.0.0.0 – 233.255.255.255).
- IANA has reserved this range on an experimental basis. So, It can be used by any organization that owns a registered autonomous system number (ASN) to create 256 global Multicast addresses that can be owned and used by the entity.
- By using a value of 233 for the first octet and by using the ASN for the second and third octets, a single autonomous system can create globally unique Multicast addresses as defined in the GLOP addressing (RFC-3180).
- 6) The rest of the Multicast addresses are either AD-HOC Blocks, reserved or transient groups.
- Any enterprise can allocate a Multicast address from the transient groups for a global Multicast application and should release it when the application is no longer in use. Because these addresses are not permanently assigned to any application, they are called transient.
- Multicast addresses in the AD-HOC blocks (including 224.0.2.0 – 224.0.255.255, 224.3.0.0 – 224.4.255.255, and 233.252.0.0 – 233.255.255.255) were traditionally used for assignments for those applications that don’t fit in either the Local or Internetwork Control blocks.
IPv4 Permanent Multicast Groups
The table below shows some of the well-known IPv4 Multicast addresses assigned to permanent groups by IANA.
Layer-2 Multicast Addressing (MAC addresses)
A MAC address is 48 bits in length and is a unique identifier for a Network Interface Card (NIC) on the LAN Segment. Also, MAC addresses are represented by a 12-digit hexadecimal number in the format 0012.3456.7890 or 00:12:34:56:78:90.
MAC addresses are important for switching frames on Ethernet LAN segments.
- In Unicast or Anycast transmission, ARP is used to resolve the destination’s MAC address.
- In Broadcast transmission, the destination’s MAC address is FF:FF:FF:FF:FF:FF.
- In Multicast transmission, IPv4 addresses are mapped to MAC addresses.
The Multicast MAC address range is from 01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF.
- The first 25 bits are fixed (01:00:5E): 0000:0001:0000:0000:0101:1110:0xxx:xxxx:xxxx:xxxx:xxxx:xxxx.
- The last 23 bits are mapped from the Multicast destination group IPv4 address.
- The first byte contains the individual/group (I/G) bit, which is set to 1 to indicate a Multicast MAC address.
Mapping IPv4 Multicast Address to Multicast MAC Address
To map the IPv4 Multicast address to its corresponding MAC address, go through the following steps:
- Step 1. Convert the IP address to binary. Notice the first 4 bits are always 1110 for any Multicast IP address.
- Step 2. Replace the first 4 bits 1110 of the IP address with the six hexadecimal digits (or 24 bits) 01-00-5E.
- Step 3. Replace the next 5 bits of the binary IP address with one binary 0 in the Multicast MAC address space.
- Step 4. Copy the last 23 bits of the binary IP address in the last 23-bit space of the Multicast MAC address.
- Step 5. Convert the last 24 bits of the Multicast MAC address from binary to six hexadecimal digits.
- Step 6. Combine the first six hexadecimal digits 01-00-5E with the last six hexadecimal digits to form a complete multicast MAC address of 12 hex digits.
The below video demonstrates four Multicast mapping examples:
Multicast Addressing MAC Overlap
Note that in the last two examples (in the above video), one Multicast MAC address was mapped to multiple different Multicast IPv4 addresses:
IP: 230.255.1.2 => MAC: 01:00:5E:7F:01:02
IP: 239.127.1.2 => MAC: 01:00:5E:7F:01:02
For a host, this overlap means that if its NIC card is programmed to listen to a particular multicast MAC address, and it could receive frames for multiple multicast groups.
For example, imagine that a source is active on a LAN segment and is generating multicast group traffic to both 230.255.1.2 and 239.127.1.2. Both groups are mapped to the same Multicast MAC address (01:00:5E:7F:01:02). If the host is interested only in packets for 230.255.1.2, it can NOT differentiate the groups at Layer 2. All the frames are passed to a higher layer where the uninteresting frames get discarded, while the interesting frames are sent to the application for processing.
So, Multiple IPv4 multicast group addresses can map to the same multicast MAC address. (32 IPv4 addresses > 1 MAC address; check the figure below). The 32:1 overlap must be considered when designing a multicast group addressing scheme.
The last 23 bits in the multicast IP address must be unique in order to have one-to-one MAC address mapping. Also, it is recommended to avoid using groups in format X.0.0.Y and X.128.0.Y like 239.0.0.100 and 239.128.0.100, because its multicast MAC addresses overlap with the Local Network Control Block (224.0.0.X.).
Conclusion
In conclusion, a multicast address is a logical identifier for a group of hosts in a computer network that are available to process packets 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.
I hope this article was useful. For comprehensive content, you can refer to my Cisco Data Centers | Multicast Udemy course.
Feel free to leave a comment or a question.