8 Copyright Ixia, 2005
Multicast: Conformance and Performance Testing
4. Multicast Protocols
There are a number of different routing protocols for intra-domain multicast routing, a number of protocols for inter-domain multicast
routing, and some that are well suited to serve both intra- and inter-domain multicast routing implementations.
The following sections describe several of the most widely used multicast routing protocols, including Protocol-Independent
Multicast (PIM), Distance Vector Multicast Routing Protocol (DVMRP), and Multicast Open Shortest Path First Protocol (MOSPF).
The task of these multicast routing protocols is to create efficient multicast delivery paths through the network, with each protocol
using different algorithms to achieve this efficiency. Also discussed below are the multicast group membership discovery (group
management) protocols, IGMP and MLD.
4.1. Multicast Group Management Protocols
The multicast group management protocols are IGMP and MLD and are described in detail in the following sections.
4.1.1. Internet Group Management Protocol (IGMP)
The Internet Group Management Protocol (IGMP) is used by IPv4 systems to report their IP multicast group memberships to
neighboring multicast routers. Hosts use IGMP to register their dynamic multicast group membership, and the connected routers
use IGMP to discover these group members. Hosts join groups by sending Join messages to the multicast routers on their LAN.
These routers listen for IGMP messages and periodically send queries to find out which groups are active on particular subnets.
IGMP is essentially an asymmetric protocol, specified from the point of view of a host.
IGMP Version 1 is specified in RFC 1112 (August 1989), and Version 2 is specified in RFC 2236 (August 1997). IGMP Version 3,
specified in RFC 3376 (August 2002), is interoperable with Versions 1 and 2.
Version 3 adds support for "source filtering," which enables a system to report interest in receiving packets only from specific source
addresses, as required to support Source-Specific Multicast (SSM), or from all but specific source addresses, sent to a particular
multicast address. SSM is defined in draft-ietf-ssm-arch-xx, and uses a restricted set of multicast addresses.
4.1.2. Multicast Listener Discovery (MLD)
The purpose of the Multicast Listener Discovery (MLD) protocol is to enable an IPv6 router to discover the presence of multicast
listeners (receivers) on links directly attached to it, and to determine specifically which multicast addresses are of interest to which
attached nodes. This protocol was originally defined by RFC 2710. Its first version, MLDv1, supports join and leave functions
similar to IGMP.
MLD Version 2, defined by RFC 3810 and designed to be interoperable with MLDv1, adds the ability for a node to report
interest in listening to packets with a particular multicast group address but only those packets from specific source addresses,
or from all sources except for specific source addresses. The added support for "source filtering" in MLDv2 thus supports Source-
Specific Multicast (RFC3569) from specific source addresses, or from all BUT specific source addresses, sent to a particular
multicast address.