In multicasting, a source application sends multicast traffic to a group destination address. The hosts interested in receiving this traffic join the specific group address by signaling their upstream devices. The routers then build a tree from the senders to the receivers and portions of the network that do not have receivers do not receive this potentially bandwidth-intense traffic. Examples of multicast applications include:
- IPTV
- Videoconferencing applications
- Data center replication
- Stock tickers
- Routing protocols
|
Note: The first RIP version used broadcasting to send updates. RIPv2 and RIPng use multicasting to accomplish this process.
|
The major IPv4 multicast components include the following:
- Group addressing: Layer 3 addresses and the underlying Layer 2 multicast MAC addresses.
- Multicast routing (control plane): Internet Group Management Protocol (IGMP) and Protocol Independent Multicast (PIM).
- Forwarding mechanisms (data plane): Reverse Path Forwarding (RPF).
A critical concept in multicasting is the multicast group address, which is an address that is agreed upon between the sender and the receivers for particular multicast transmissions. The source sends traffic to this destination group address and the receiver listens for traffic that is destined for this group address. Traffic is always sent to a group but the group never sends traffic back to the source; however, there may be situations in which a multicast receiver in a group is a source for other groups.
IPv4 multicasting uses the Class D address space, meaning the 224.0.0.0/4 range (224.0.0.0 to 239.255.255.255). This address space is not fully available to multicast designers due to some address range reservations, which include:
- Link-local addresses: 224.0.0.0/24 (224.0.0.0 to 224.0.0.255); link-local addressing is very common with routing protocols. For example, OSPF utilizes 224.0.0.5 and 224.0.0.6 in its operation.
- Source-specific multicast: 232.0.0.0/8 (232.0.0.0 to 232.255.255.255).
- Administratively scoped: 239.0.0.0/8 (239.0.0.0 to 239.255.255.255). The administratively scoped address range can be used for multicast applications inside corporate boundaries.
The control plane is one of the most complex components of multicast. Multicast control plane is used to determine the following:
- Who is sending traffic and to what groups
- Who is receiving traffic and for what groups
- How traffic should be forwarded when it is received
The control plane is built with host-to-router and router-to-router communication protocols. Host-to-router communication is accomplished with the Internet Group Management Protocol (IGMP) and router-to-router communication is achieved with Protocol Independent Multicast (PIM).
IP multicast technology allows information to be sent over networks to a group of destinations in a very efficient way. The multicast data is sent to a multicast group and the users receive the information by joining the specific multicast group using IGMP, as shown in Figure 4.4 below:
Figure 4.4 – Multicast IGMP
IGMP is used for receiver devices to signal routers on the LAN that they want traffic for a specific group. IGMP comes in the following versions:
- IGMPv1, defined in RFC 1112 (Host Extensions for IP Multicasting)
- IGMPv2, defined in RFC 2236 (Internet Group Management Protocol, Version 2)
- IGMPv3, defined in RFC 3337 (Internet Group Management Protocol, Version 3)
The most common IGMP version used in modern infrastructures is version 2, as IGMPv1 has major issues. One big issue with IGMPv1 was that it defined a Membership Query and a Membership Report, so host machines would express their interest in joining a group by sending a Host Membership Request to the local router. The Host Membership Query would be used to find out whether members of the group were still present on the local network. This caused “leave latency,” which presented the problem in which all of the receivers would disappear (e.g., power off) and multicast traffic would unnecessarily still be sent to that segment. This timeout (idle timer for the group) would have to occur before the multicast traffic stopped flowing into that area. In other words, the router would send a query on a timed interval, and then it would eventually find out that every receiver had left.
This behavior was very inefficient and could be improved by having the devices send a Leave message to signal that they wanted to leave the specific multicast group. This was the major enhancement that generated the development of IGMPv2, which is backward compatible with IGMPv1. IGMPv2’s major enhancements include the following:
- Querier election: Deals with the situation in which there are multiple routers on a segment.
- Tunable timers: They can speed up query response timeouts.
- Group-specific queries: Queries are sent to the group address instead of all multicast hosts.
- Explicit leave: Speeds up convergence if no other hosts are joined to that group.
IGMPv3 is used to support Source Specific Multicasting (SSM). IGMPv3 allows a device to request a particular multicast feed from a particular source or sources.
In most networks, the hosts are connected to Layer 2 or multilayer switches that are connected to upstream routers. IGMP is a protocol that operates at Layer 3, so the Layer 2 switches are not aware of the hosts that want to join the multicast groups. By default, Layer 2 switches flood the received multicast frames to all of the ports in the VLAN, even if only one device on one port needs the specific information. This issue is solved by using specific multicast protocols available for switched environments, namely Cisco Group Management Protocol (CGMP) and IGMP snooping. These protocols will be presented later in this chapter.
PIM is used by multicast-enabled routers to forward incoming multicast streams to a particular switch port. PIM uses the typical routing tables that are populated by regular unicast routing protocols (like EIGRP and OSPF) and exchanges multicast messages between PIM routers, as illustrated in Figure 4.5 below:
Figure 4.5 – Protocol Independent Multicast
PIM operates in multiple modes:
- PIM Sparse Mode (PIM-SM)
- PIM Dense Mode (PIM-DM)
- Bidirectional PIM
- PIM Source-Specific Multicast (PIM-SSM)
|
Note: PIM-DM is not used very often in large modern networks. |
Other advanced multicast protocols are used mainly in the following inter-domain scenarios:
- Multiprotocol BGP (MBGP): Used for multicast routing between domains.
- Multicast Source Discovery Protocol (MSDP): Used with PIM-SM for multicast source discovery.
- Multicast VPN (MVPN): Used for secure connectivity.
Understanding whether the organization will use multicast traffic and the way this will be accomplished is an important issue when designing Enterprise Campus switching. Multicast deployments involve three components:
- The multicast application (like WebEx)
- The network infrastructure
- Multicast client devices

