Multicast overview
This page provides an overview of multicast in Google Cloud.
Multicast is a type of network communication that allows a source (multicast producer) to send the same data to multiple destinations (multicast consumers) at the same time. To receive traffic, multicast consumers must first join the multicast group that the multicast producer sends traffic to. Multicast group membership is managed with Internet Group Management Protocol (IGMP).
Google Cloud provides support for cloud-based multicast as a managed service. You can use Virtual Private Cloud (VPC) networks to host Compute Engine instances that act as multicast producers and consumers. For an overview of the resource model for multicast in Google Cloud and the topologies that you can configure, see Multicast resource model and topologies.
This documentation and the multicast API use the terms multicast producer and multicast consumer throughout to refer to resources involved in sending and receiving multicast traffic. Multicast producers are also known as multicast publishers, senders, or sources. Multicast consumers are also known as multicast subscribers, receivers, or listeners.
Specifications
Multicast in Google Cloud has the following specifications:
- IGMPv2 for managing multicast group membership: Google Cloud uses IGMPv2 to manage multicast group membership as defined by RFC 2236. Multicast applications moving to Google Cloud can continue to use IGMPv2 to join and leave multicast groups. For more information, see How IGMPv2 works.
- Intra-region, cross-zone multicast distribution: Google Cloud supports distributing traffic to multicast consumers in the same region as the multicast producer. Multicast consumers can be located in different zones from the multicast producer. You can optionally restrict distribution to intra-zone only, where the multicast producer and multicast consumers are both in the same zone.
- Multicast infrastructure redundancy through domains: Google Cloud uses multicast domains as a reliability boundary, where each domain uses separate infrastructure to distribute multicast traffic. For more information, see Multicast domains.
How IGMPv2 works
The following list describes how IGMPv2 works after multicast is configured:
- Multicast producers can send traffic to a multicast group without joining the group.
- For multicast consumers, see the following:
- Multicast routers send IGMP general query messages to
224.0.0.1to determine the groups that multicast consumers want to join. - To receive IGMP general query messages, a multicast consumer must be configured for IGMP. After the multicast consumer is configured for IGMP, the multicast consumer continuously receives periodic IGMP general query messages.
- To join a multicast group, the multicast consumer responds with an IGMP membership report. The destination IP address for an IGMP membership report is the multicast group IP address. If the multicast consumer stops responding, it is automatically removed after three missed queries.
- To leave a multicast group, the multicast consumer
sends an IGMP leave message to
224.0.0.2.
- Multicast routers send IGMP general query messages to
You can view logs for multicast group membership events, such as when the Google Cloud control plane received a join request or successfully added a multicast consumer to a group. For more information, see View multicast group membership event logs.
Machine considerations for multicast producers and consumers
This section describes the factors that you must consider when you choose a Compute Engine machine type for multicast producer and consumer instances. For multicast applications that send or receive a high level of traffic, follow the guidance in this section for optimal performance and to help prevent issues such as packet loss caused by resource exhaustion.
See the following guidance:
- Use machine types from the C4 machine series when you create multicast producer or consumer instances.
- You can create VM instances or bare metal instances.
- The following table includes the minimum supported number of vCPUs and the maximum supported packets per second (pps) based on the number of vCPUs. For optimal performance, choose a machine type and vCPU count according to your anticipated volume of multicast traffic.
If you use a machine type that has 48 vCPUs or more, create the instance with Tier_1 networking enabled.
Machine types vCPUs Maximum pps C4 machine types 32 140,000 48 266,000 96 533,000 144 800,000 288 1,600,000
In addition to choosing a machine type based on the guidance in this section, consider using a network kernel bypass such as DPDK as described in Enable faster network packet processing with DPDK.
Supported locations
You can use multicast in the following Google Cloud regions and zones:
| Region | Zones |
|---|---|
europe-west2 |
|
europe-west3 |
|
us-central1 |
|
us-east5 |
|
Billing
The following list provides information about billing charges that apply to multicast infrastructure and traffic. For pricing details, contact your Google Cloud sales representative.
- Multicast infrastructure resource reservation: Billing for multicast infrastructure is charged to multicast administrator projects that contain multicast domain activations. Billing starts when a multicast domain activation is created.
- Multicast data processing: Billing for multicast data processing is charged to projects in which multicast consumers receive multicast traffic.
If you use Network Connectivity Center (NCC), Advanced Data Networking charges apply to traffic sent from multicast producers to the multicast infrastructure. These charges don't apply to the traffic that is replicated by the multicast infrastructure and delivered to multicast consumers.
Limitations
Multicast in Google Cloud has the following limitations:
- Multicast is available in a limited set of zones as described in Supported locations.
- Multicast is supported only for Compute Engine instances in VPC networks. Multicast isn't supported for other endpoint types, or through hybrid connectivity options such as Cloud Interconnect or Cloud VPN that you use to access on-premises networks or remote cloud service providers.
- Multicast supports only the machine types described in Machine considerations for multicast producers and consumers. Other machine types aren't supported for use with multicast.
- Multicast supports only IPv4 traffic. IPv6 traffic isn't supported.
- Multicast supports UDP as the layer 4 protocol.
- Don't use the multicast address space (
224.0.0.0/4) for non-multicast traffic as this can lead to issues such as traffic being misrouted or handled incorrectly. - Multicast doesn't support jumbo frames. We recommend a maximum transmission unit (MTU) size of 1500 bytes. For more information about VPC MTU sizes, see Maximum transmission unit.
- Cross-region multicast traffic isn't supported. While you can activate the same multicast domain in different regions to enable cross-zone multicast traffic within each region, this configuration doesn't enable sending multicast traffic between regions.
- The total number of IP addresses in one or more multicast group ranges associated
with the same domain can't exceed your quota for Multicast groups per domain. Additionally, we
recommend grouping multicast IP addresses into ranges instead of reserving
many individual addresses. For example, use one
/24address range instead of reserving 256/32addresses. Support for packet mirroring depends on the packet mirroring service:
- Network Security Integration Packet Mirroring is supported for use with multicast. However, it impacts performance as described in the Limitations of Network Security Integration Packet Mirroring.
- VPC Packet Mirroring isn't supported for use with multicast.
For information about the differences between VPC Packet Mirroring and Network Security Integration Packet Mirroring, see Comparison of VPC Packet Mirroring and Network Security Integration Packet Mirroring.
To help avoid performance degradation or packet loss, we recommend that multicast configurations don't exceed the following for a given multicast domain:
- A maximum aggregate egress packet per second (pps) throughput of 100,000,000 pps per zone.
- A maximum of 500 multicast consumers per multicast group per zone.
Quotas and limits
Multicast resources are subject to the quotas and limits described in Multicast quotas and limits.
What's next
- Learn more about the multicast resource model and the topologies that you can configure
- Learn more about configuring multicast