Multicast Support in Virtual Networks via Connectivity Component
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cloud providers do not support multicast communications due to the high cost of packet duplication, complex control plane changes required for dynamic membership tracking, and resource constraints, preventing cloud customers from bringing multicast workloads onto the cloud.
Innovation Solution
A system and method for supporting multicast in virtual networks by utilizing a native multicast approach where packet replication is performed on a host node, encapsulating multicast packets as unicast packets, and using a connectivity component to manage connectivity policies and membership tracking, allowing customers to define multicast group membership statically or dynamically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If native multicast approach is used with packet replication on host node, then multicast support is provided for virtual networks, but resource consumption and communication bandwidth increase
Solution Approach 1:
A connectivity component is introduced as an intermediary between the virtual network and physical network infrastructure. This component handles multicast packet replication, policy application, and membership tracking, offloading these functions from individual host nodes and enabling efficient multicast support without requiring changes to existing virtualized infrastructure
Solution Approach 2:
The system creates replicated copies of multicast data packets for distribution to multiple destination virtual machines. The connectivity component generates these packet copies and applies appropriate connectivity policies to each replica, enabling efficient one-to-many communication while maintaining policy enforcement
2Reliability
If connectivity policies are applied to multicast data packets, then policy compliance is ensured, but processing complexity increases
Solution Approach 1:
Connectivity policies are pre-configured and stored in the connectivity component before multicast operations begin. The system prepares policy rules, filtering criteria, and routing instructions in advance, so that when multicast packets arrive, the connectivity component can quickly match packets against pre-defined policies without complex real-time decision-making
Solution Approach 2:
The connectivity component segments the policy enforcement process into distinct stages: packet reception, policy matching, replica creation, and selective forwarding. This segmentation allows each stage to handle specific tasks independently, reducing overall processing complexity while ensuring comprehensive policy compliance
3Adaptability or versatility
If encapsulation of multicast packets as unicast packets is performed, then compatibility with existing infrastructure is maintained, but bandwidth consumption increases
Solution Approach 1:
The system implements nested packet encapsulation where original multicast packets are embedded within unicast packet structures. The connectivity component wraps multicast data packets inside unicast envelopes with appropriate headers and routing information, allowing existing unicast-based network infrastructure to transport multicast traffic without modification while preserving the original packet content
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Described herein are systems and methods for supporting multicast for virtual networks. In some embodiments, a native multicast approach can utilized in which packet replication is performed on a host node of a virtual machine (VM) with a multicast data packet encapsulated in uniquely address unicast packets. In some embodiments, a network virtual appliance can be utilized. A multicast packet sent from the VM can be unicasted to the network virtual appliance. The multicast appliance can then replicate the packet into multiple copies and send the packets to the receivers in the virtual network as unicast data packets encapsulating the multicast packet.