keepcalculator

06 Numbers and Powers

Multicast Routing: How Routers Deliver to Interested Networks

Card No. 06·50700 · Updated · Standard formula, shown below

Multicast routing lets a single stream of data be sent from one source to many receivers, but only to networks that have explicitly asked to receive it. Routers build a distribution tree from the source to all interested receivers, and they copy the packet only at branch points, saving bandwidth compared to sending a separate copy to each receiver. This article explains the core mechanisms, the main protocols, and how to choose and troubleshoot them.

Why Multicast Instead of Unicast or Broadcast?

Unicast sends one copy of each packet to each destination. If a video stream is 1 Mbps and 1,000 viewers want it, the source must send 1,000 Mbps into the network. Broadcast sends one copy to everyone, even those who do not want it, wasting bandwidth and forcing every host to process and discard it. Multicast sits in between: the source sends one copy, and routers replicate it only when the paths to interested receivers diverge. This is essential for IPTV, live webinars, stock market data feeds, and software updates to many servers.

How Routers Learn Who Is Interested

Routers cannot know in advance which networks want a given multicast group. They discover this through two complementary mechanisms:

  • IGMP (Internet Group Management Protocol) – used between a host and its directly attached router. A host sends an IGMP Membership Report to join a group (e.g., 239.1.1.1). The router listens to these reports and records that the group is wanted on that interface. It also periodically sends General Queries to see if any hosts still want the group; if no host responds, the router removes the interface from the group.
  • Multicast routing protocols – used between routers. Once a router knows it has an interested receiver, it must tell other routers upstream so they will forward the stream. The protocol builds a loop-free distribution tree from the source to all receivers.

Building the Distribution Tree: Reverse Path Forwarding

The fundamental rule that prevents loops in multicast is Reverse Path Forwarding (RPF). When a router receives a multicast packet from source S, it checks the interface on which it arrived. If that interface is the one the router would use to send a unicast packet back to S (its RPF interface), the packet is accepted and forwarded. If it arrived on any other interface, the packet is dropped. This ensures that packets flow only from the source outward, never back toward the source, and it eliminates loops without needing a spanning-tree algorithm.

For example, if a router receives a packet from 192.168.1.10 on its GigabitEthernet0/0 interface, and its unicast routing table says the next hop toward 192.168.1.10 is also out GigabitEthernet0/0, the packet passes the RPF check. If it arrived on GigabitEthernet0/1, it is discarded.

Two Main Approaches: Source Trees and Shared Trees

Multicast routing protocols build either a shortest-path tree rooted at the source (source tree) or a shared tree rooted at a central rendezvous point (RP). Each has trade-offs:

  • Source tree – the path from the source to each receiver is the shortest path, so latency is minimal. However, the router must maintain a separate tree entry for every (source, group) pair, which can consume a lot of memory in large networks.
  • Shared tree – all sources send their packets to a designated RP, which then forwards them down a single tree to all receivers. This saves memory because only one tree per group is needed, but the path may be longer than the shortest path, adding latency. Many protocols start with a shared tree and then switch to a source tree once traffic begins, a process called SPT switchover.

Common Multicast Routing Protocols

Several protocols exist, and the choice depends on the network size and whether the routing is within one autonomous system or between them:

  • PIM-SM (Protocol Independent Multicast – Sparse Mode) – the most widely used protocol for large enterprise and service provider networks. It assumes few receivers spread out, so it uses a shared tree with an RP and explicit join messages. It is called “protocol independent” because it uses the router’s unicast routing table (OSPF, EIGRP, etc.) for RPF checks, not its own topology database.
  • PIM-DM (Dense Mode) – designed for small LANs where most hosts want the traffic. It floods packets everywhere and then prunes branches that have no receivers. It is simple but inefficient for large networks.
  • PIM-SSM (Source-Specific Multicast) – a variant of PIM that works with IGMPv3. Receivers specify both the source and the group, so no RP is needed and no shared tree is built. This is ideal for one-to-many applications like IPTV.
  • DVMRP (Distance Vector Multicast Routing Protocol) – an older protocol that builds its own multicast topology and uses reverse path flooding. It was used in the early MBone but is rarely deployed today.
  • MOSPF (Multicast OSPF) – an extension to OSPF that floods group membership information within an area and computes source trees using Dijkstra’s algorithm. It is not scalable for large internetworks and is mostly obsolete.
  • BGP/MPLS VPNs – for inter-domain multicast, protocols like Multicast BGP (MBGP) and the PIM-SM with inter-domain RPs are used. For MPLS VPNs, the IETF standard is “Multicast in MPLS/BGP VPNs” (RFC 6513), which uses PIM in the customer network and a multicast distribution tree in the provider network.

How to Choose the Right Protocol

There is no single “best” protocol; the right choice depends on your network:

  • If you have a small, dense LAN where almost everyone wants the stream (e.g., a lab), PIM-DM is simple and works.
  • For a large enterprise with many groups but sparse receivers, PIM-SM is the standard. You must configure an RP, and you can use Auto-RP or BSR (Bootstrap Router) to distribute RP information automatically.
  • If your application is one-to-many (e.g., live video from a single source), PIM-SSM with IGMPv3 is the most efficient and secure because receivers must explicitly request the source.
  • For inter-domain multicast (e.g., between ISPs), you need MBGP to exchange reachability information and PIM-SM with inter-domain RPs, though this is complex and often avoided by using SSM or unicast fallback.

Common Problems and Troubleshooting

Multicast is notoriously tricky to debug. The most frequent issues are:

  • RPF failure – the router receives the packet on the wrong interface, often because the unicast routing table is asymmetric or a static route is missing. Check with show ip rpf.
  • RP unreachable or misconfigured – if the RP is not reachable or the group-to-RP mapping is wrong, receivers never get the stream. Verify with show ip pim rp mapping.
  • IGMP snooping issues – on switches, IGMP snooping must be enabled; otherwise, multicast is flooded to all ports, defeating the purpose. Also, the querier must be configured correctly.
  • MTU problems – multicast packets are often large (e.g., video), and if a router cannot fragment (because the DF bit is set), packets are dropped. Check path MTU discovery.
  • TTL scoping – multicast packets have a TTL that limits how far they travel. If the TTL is too low, packets are dropped before reaching receivers.

Frequently Asked Questions

What is the difference between multicast and broadcast?

Broadcast sends packets to every host on the subnet, even those that did not ask for them. Multicast sends only to hosts that have explicitly joined a group. Broadcast is limited to a single subnet; multicast can span the entire internetwork.

Why is PIM called “protocol independent”?

Because PIM does not have its own topology discovery mechanism. It uses whatever unicast routing protocol is already running (OSPF, EIGRP, BGP, or static routes) to perform RPF checks and build the multicast tree. This makes it easy to deploy in existing networks.

What is an RP and why do I need one?

An RP (Rendezvous Point) is a router that acts as the root of a shared tree in PIM-SM. All sources send their first packets to the RP, and the RP forwards them down the shared tree to receivers. You need an RP for PIM-SM to operate, unless you are using SSM. You can configure one statically or use Auto-RP/BSR to make it dynamic.

Can I use multicast over the public Internet?

Yes, but it is not widely supported. Most ISPs do not enable multicast on their backbone because of the complexity and the risk of abuse. Inter-domain multicast requires MBGP and inter-domain RPs, which are rarely deployed. In practice, most multicast applications run within a single organization or over a private MPLS VPN.

What is the difference between IGMP and PIM?

IGMP operates between a host and its local router. It tells the router which multicast groups the host wants to join. PIM operates between routers. It uses the information from IGMP to build a distribution tree across the network. You need both: IGMP on the last hop, PIM on all routers in the path.

Why is my multicast traffic flooding all ports on the switch?

This happens when IGMP snooping is disabled on the switch. Without snooping, the switch treats multicast frames like broadcast frames and floods them to all ports. Enable IGMP snooping globally and on the relevant VLANs, and ensure the switch can see the IGMP reports (usually they are sent to the switch’s CPU).

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.

More cards in this drawer

The whole Numbers and Powers drawer →