Abstract


  • A network protocol that allows a single source to send data to multiple receivers simultaneously
  • Similar to broadcasting, but more efficient because data is is only sent once, and then replicated by network to reach all receivers
  • When a source sends a multicast packet, it uses a Multicast IP address as the destination address. The network then replicates the packet and sends it to all of the receivers in the multicast group

Common use cases

Campus networks

Enterprise networks

LAN gaming and communication

IPTV services by ISPs

Providing real-time stock-market data

  • All market participants receive the same information at the same time to ensure the market is fair

Service Discovery

  • Protocols like SSDP use multicast for device discovery

Routing Protocols

  • OSPF and RIP2 use multicast for routing updates

Limitations

  • Not widely supported across the public internet
  • Requires multicast-aware infrastructure throughout the path
  • Security and traffic management concerns for ISPs
  • Complex to implement and troubleshoot

Fundamental Concepts


Types of Network Communication

  • Unicast: One sender to one receiver (TCP and UDP)
  • Broadcast: One sender to all hosts (UDP only)
  • Multicast: One sender to a group of hosts (UDP only)

Multicast vs. Broadcast

  • Broadcast uses a single IP address (all host bits set to 1’s)
  • Broadcasts are not forwarded by routers; multicasts are
  • All hosts receive broadcasts by default
  • Hosts must specifically subscribe to receive multicast traffic

Multicast IP address

  • IP Address in the range 224.0.0.0 to 239.255.255.255 (Class D addresses)
  • 224.0.0.0-224.0.0.255 reserved for network protocols (not forwarded by routers)
  • MAC Multicast Addresses: Always start with 01:00:5E, with the 8th counting from left set to 1

Multicast Group

  • A logical group for receivers who are interested in receiving Data from sender
  • Joining is done by sending an IGMP (Internet Group Management Protocol) join message to the network
  • Once a receiver has joined a multicast group, it will continue to receive all of the packets that are sent to that group, until it leaves the group
  • A host can be part of multiple groups
  • Routers don’t know which exact host is in the group, only that “someone on this interface is interested
  • Hosts can send to multicast groups even without being members

Network Protocols for Multicast


IGMP (Internet Group Management Protocol)

  • Function: Host-to-router communication for group membership
    • Join messages (subscribe to groups)
    • Leave messages (unsubscribe from groups)
    • Query/Report messages (membership maintenance)
  • Layer: Operates at Network layer (Layer 3)
  • Doesn’t handle routing between networks

PIM (Protocol Independent Multicast)

  • Function: Router-to-router protocol for multicast distribution, builds multicast distribution trees between networks
  • Independence: Works with any unicast routing protocol (OSPF, Border Gateway Protocol, etc.)
  • Modes:
    • Sparse Mode (PIM-SM): Uses Rendezvous Points, efficient for widespread networks
    • Dense Mode (PIM-DM): Flood and prune approach for densely clustered receivers
    • Bidirectional PIM: Shared trees without source-specific state
    • Source-Specific Multicast (PIM-SSM): Direct source-to-receiver optimization

IGMP Operation

  • Routers send IGMP queries to 224.0.0.1 (all hosts)
  • Hosts respond with IGMP reports to join groups
  • Routers track which interfaces (not specific hosts) have group members

Network Equipment Roles


Router

  • Maintain multicast group membership tables, one entry for that interface-group pair
  • Forward multicast packets between networks
  • Use PIM to build distribution trees
  • Interact with hosts via IGMP

Switch

  • IGMP Snooping: Examines IGMP traffic to optimise forwarding
  • Maps multicast groups to specific switch ports
  • Prevents unnecessary traffic flooding
  • Operates at Layer 2 (data link layer)

Multicast Optimisation Technologies


IGMP Snooping

  • Layer 2 (switch) optimisation
  • Examines IGMP messages to build forwarding tables
  • Maps multicast MAC addresses to specific switch ports
  • Prevents flooding of multicast traffic to uninterested ports

IP-to-MAC Multicast Mapping

  • Every multicast IP address must be mapped to a multicast MAC address so switches can forward frames at Layer 2
  • Formula: The first 25 bits are fixed (01:00:5E + 0 bit)
  • Last 23 bits of IP address map to last 23 bits of MAC address
  • This mapping isn’t one-to-one (32 IP addresses can map to one MAC)

References