In addition to the default basic mode for filtering multicast traffic, vSphere Distributed Switch 6.0.0 and later releases support multicast snooping that forwards multicast traffic in a more precise way based on the Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) messages from virtual machines.
Basic Multicast Filtering
In basic multicast filtering mode, a vSphere Standard Switch or vSphere Distributed Switch forwards multicast traffic for virtual machines according to the destination MAC address of the multicast group. When joining a multicast group, the guest operating system pushes the multicast MAC address of the group down to the network through the switch. The switch saves the mapping between the port and the destination multicast MAC address in a local forwarding table.
The switch does not interpret the IGMP messages that a virtual machine sends to join or leave a group. The switch sends them directly to the local multicast router, which then interprets them to join the virtual machine to or remove it from the group.
The basic mode has the following restrictions:
- A virtual machine might receive packets from groups that it is not subscribed for because the switch forwards packets according to the destination MAC address of a multicast group, which can be potentially mapped up to 32 IP multicast groups.
- A virtual machine that is subscribed for traffic from more than 32 multicast MAC addresses receives packets that it is not subscribed for because of a limitation in the forwarding model.
- The switch does not filter packets according to source address as defined in IGMP version 3.
Multicast Snooping
In multicast snooping mode, a vSphere Distributed Switch provides IGMP and MLD snooping according to RFC 4541. The switch dispatches multicast traffic more precisely by using IP addresses. This mode supports IGMPv1, IGMPv2, and IGMPv3 for IPv4 multicast group addresses, and MLDv1 and MLDv2 for IPv6 multicast group addresses.
The switch dynamically detects the membership of a virtual machine. When a virtual machine sends a packet which contains IGMP or MLD membership information through a switch port, the switch creates a record about the destination IP address of the group, and in the case of IGMPv3, about a source IP address that the virtual machine prefers to receive traffic from. If a virtual machine does not renew its membership to a group within a certain period of time, the switch removes the entry for the group from the lookup records.
In multicast snooping mode of a distributed switch, a virtual machine can receive multicast traffic on a single switch port from up to 256 groups and 10 sources.