What Is Multicast?
Multicast is one of the three IP transmission modes and allows IP packets sent by a source to be forwarded to a specific group of receivers. There is at most one copy of the same multicast data flow on each link. Compared with traditional unicast and broadcast, multicast effectively conserves network bandwidth and reduces network load. Therefore, multicast is widely used in network services, such as in IPTV, real-time data transmission, and multimedia conferencing.
What Are the Differences Between Multicast and Unicast?
Multicast and unicast are both packet transmission modes.
Unicast is a mode of one-to-one communication between hosts. In this mode, each device selects a transmission path to the destination address included in each received packet and forwards the packet accordingly without copying the packet. Unicast ensures that each host is responded to quickly. Currently, Internet browsing uses the unicast mode.
Multicast on the other hand enables one-to-many communication among hosts. It enables one or more multicast sources to send one copy of a packet to multiple receivers. The packet is sent to a specific multicast address, which, unlike unicast addresses, belongs to a group of hosts rather than a single host. To receive the multicast packet, a host must join the multicast group to which the packet is sent.
On the network illustrated in the figure, if unicast is used, the destination address of each data packet must be a unicast address, and the data source needs to send a copy of the packet to each receiver. If unicast is used to send packets to multiple receivers in the network, the data source needs to send a copy of the packet to each receiver individually. If multicast is used, a multicast address is used as the destination address, and the data source sends only one copy of a packet to the multicast group even if multiple receivers require the packet.
Comparison between multicast and unicast transmission modes
Unicast is applicable to networks with a small number of users. If unicast is used on a network with a large number of users, duplicate packet copies will be transmitted on the network, consuming a large number of processor resources and excessive amount of network bandwidth. If multicast is used, each link on the network has only one data flow (without duplicate packet copies). The advantage of multicast over unicast is that each link has at most one copy of the same packet.
What Are the Differences Between Multicast and Broadcast?
Multicast and broadcast are both packet transmission modes.
Broadcast is a mode of one-to-all communication among hosts. When this mode is used, each device copies received broadcast packets and forwards them to all possible receivers on the network through all interfaces except the inbound interface. The broadcast process is simple, and path selection is not involved.
Multicast on the other hand enables one-to-many communication among hosts. It enables one or more multicast sources to send one copy of a packet to multiple receivers.
On the network shown in the figure, if broadcast is used, a broadcast address must be used as the destination address of each data packet, and the data source sends only one copy of a packet to the broadcast IP address corresponding to the local network segment. The packet copy is then sent to all users on the local network segment, regardless of whether the users have data requirements. If multicast is used, data packets are sent only to the users who require them rather than to all users.
Comparison between multicast and broadcast transmission modes
Broadcast requires that the data source and users be on the same network segment, whereas multicast enables data to be transmitted across network segments. When broadcast is used, all hosts on the network segment can receive data packets, regardless of whether they have data requirements. In this case, there will be redundant traffic on the network. When multicast is used, data packets are transmitted only to the users who require them, and there is no redundant traffic on the network. Compared with broadcast, multicast has the advantage of on-demand packet forwarding.
Range of IP Multicast Addresses
IP multicast addresses used by network-layer multicast are required to enable multicast sources and group members to communicate.
IPv4 multicast addresses
The Internet Assigned Numbers Authority (IANA) allocates Class D address space to IPv4 multicast. An IPv4 address is 32 bits long, and the four most significant bits of a Class D address is 1110. The IPv4 multicast address ranges from 18.104.22.168 to 22.214.171.124. The following figure elaborates on IPv4 multicast addresses.
Ranges and meanings of IPv4 multicast addresses
IPv6 multicast addresses
An IPv6 address is 128 bits long. The following figure illustrates the format of an IPv6 multicast address.
IPv6 multicast address format
- An IPv6 multicast address always starts with FF, and the eight most significant bits are 11111111.
- The Flags field is 4 bits long and indicates the state of a multicast address. For example, the value 0 indicates a reserved group address, the value 1 or 2 indicates a multicast address in the ASM group address range, and the value 3 indicates a multicast address in the SSM group address range.
The Scope field is 4 bits long and indicates the application scope of a multicast group (whether a multicast group covers nodes in the same network, same site, same organization or any node in the global address space).
- The Group ID field is 112 bits long and indicates a multicast group in the range specified by the Scope field.
The following figure describes the ranges and meanings of fixed IPv6 multicast addresses.
Ranges and meanings of IPv6 multicast addresses
Range of Multicast MAC Addresses
To enable multicast data to be correctly transmitted on the local physical network, multicast MAC addresses must be used at the link layer. The destination address of multicast data indicates a group of members (of which the multicast source is unaware) rather than a specific receiver. Therefore, IP multicast addresses must be mapped to multicast MAC addresses.
IPv4 multicast MAC addresses
When IPv4 unicast packets are transmitted on an Ethernet network, they use the receivers' MAC addresses as destination MAC addresses. However, the destination of a multicast data packet indicates a group of members (of which the multicast source is unaware) rather than a specific receiver. Therefore, multicast data packets must use IPv4 multicast MAC addresses, which are link-layer addresses mapped from IPv4 multicast addresses.
As defined by the IANA, the 24 most significant bits of an IPv4 multicast MAC address are 0x01005e, the 25th bit is 0, and the 23 least significant bits are the same as the 23 least significant bits of an IPv4 multicast address, as shown in the figure. For example, the multicast MAC address corresponding to the IP multicast address 126.96.36.199 is 01-00-5e-00-01-01.
Mapping between an IPv4 multicast address and an IPv4 multicast MAC address
The four most significant bits of an IPv4 multicast address are fixed at 1110, mapping the 25 most significant bits of a multicast MAC address. Among the last 28 bits, only 23 bits are mapped to a MAC address, and 5 bits are lost. As a result, 32 IPv4 multicast addresses are mapped to the same MAC address. For example, IP multicast addresses 188.8.131.52, 184.108.40.206, 220.127.116.11, and 18.104.22.168 are all mapped to the multicast MAC address 01-00-5e-00-01-01.
IPv6 multicast MAC addresses
In an IPv6 multicast MAC address, the 16 most significant bits are 0x3333 and the 32 least significant bits are mapped to the 32 least significant bits of an IPv6 multicast address. The following figure shows the mapping between an IPv6 multicast address and MAC address.
Mapping between an IPv6 multicast address and MAC address
It can be seen from the preceding figure that more IPv6 multicast addresses are mapped to the same multicast MAC address.
What Are the Common Multicast Protocols?
In the IP multicast transmission model, the sender only needs to send data to a specified destination address and does not need to know the receivers' locations. The remaining forwarding work is performed by the network. Multicast devices on the network must collect information about the receivers, and replicate and forward multicast packets along the correct paths. During multicast development, a complete set of protocols are established to implement multicast.
Multicast protocols used on an IPv4 network
- Internet Group Management Protocol (IGMP)
IGMP manages IPv4 multicast group members and runs on the multicast network's last segment (that is, the network segment where a Layer 3 network device is connected to user hosts). Hosts use IGMP to join or leave multicast groups, and upstream Layer 3 multicast devices use IGMP to manage and maintain group memberships. IGMP can exchange information with upper-layer multicast routing protocols.
- Protocol Independent Multicast (PIM)
PIM is a multicast routing protocol used on an IPv4 network to forward multicast data to the multicast device connected to group members that have requested the multicast data. This implements multicast data forwarding based on routes.
PIM works in sparse mode (PIM-SM) or dense mode (PIM-DM). PIM-SM is applicable to large-scale networks with sparsely distributed group members, whereas PIM-DM is applicable to small-scale networks with densely distributed group members.
- Multicast Source Discovery Protocol (MSDP)
MSDP is an inter-domain multicast protocol developed for interconnection among multiple PIM-SM domains. It is used to discover multicast source information in other PIM-SM domains and send information about active sources in other PIM-SM domains to receivers in the local domain. This implements inter-domain multicast packet forwarding.
- Multiprotocol Border Gateway Protocol (MBGP)
MBGP implements inter-AS multicast forwarding. It is applicable to scenarios where multicast sources and receivers are in different ASs.
- IGMP snooping
IGMP snooping enables a device working at Layer 2 to establish a Layer 2 multicast forwarding table by listening to IGMP messages exchanged between the upstream Layer 3 device and user hosts. The device working at Layer 2 manages and controls the forwarding of multicast data packets based on the Layer 2 multicast forwarding table, suppressing multicast data flooding on the Layer 2 network.
- Bit Index Explicit Replication (BIER)
BIER is a multicast technology. It encapsulates a set of destination nodes of multicast packets in a BitString in the packet header before sending the packets. With BIER enabled, transit nodes do not need to establish an MDT for each multicast flow, or maintain the states of multicast flows. Instead, the transit nodes replicate and forward packets according to the BitString in the packet header.
Multicast protocols used on an IPv6 network
- Multicast Listener Discovery (MLD)
MLD manages IPv6 multicast group members and runs on the multicast network's last segment (that is, the network segment where a Layer 3 multicast device is connected to user hosts). Hosts use MLD to join or leave multicast groups, and Layer 3 multicast devices use MLD to manage and maintain group memberships. MLD can exchange information with multicast routing protocols.
- IPv6 PIM
IPv6 PIM is a multicast routing protocol used on an IPv6 network to forward multicast data to the multicast device connected to group members that have requested the multicast data. This implements multicast data forwarding based on routes.
IPv6 PIM works in sparse mode (IPv6 PIM-SM) or dense mode (IPv6 PIM-DM). IPv6 PIM-SM applies to large-scale networks with sparsely distributed group members, and IPv6 PIM-DM applies to small-scale networks with densely distributed group members.
- MLD snooping
MLD snooping enables a device working at Layer 2 to establish an IPv6 Layer 2 multicast forwarding table by listening to MLD messages exchanged between the upstream Layer 3 device and user hosts. The device working at Layer 2 manages and controls the forwarding of multicast data packets based on the Layer 2 multicast forwarding table, suppressing multicast data flooding on the Layer 2 network.
BIERv6 inherits the advantages of BIER and uses IPv6 scalability to implement new applications of multicast routing technologies on IPv6 networks. It is easy to deploy, intelligent, and highly reliable.
- Author： Chen Guixiang
- Updated on： 2021-09-02
- Views： 405
- Average rating：