Multicasting

Multicast routing is the technique of sending a message to groups of end-points on a network in a one-to-many distribution. Generally the term multicast refers to IP multicasting, a method often used in media streaming systems as it can scale to a large number of recievers by not knowing details of individual recievers. It provides more efficient data distribution by not replicating packets to send them to multiple recievers.


Internet Group Management Protocol (IGMP)

In order to send to a group of nodes the multicast message is addressed to a multicast group. Hosts can send and belong to many groups, and the IGMP manages the dynamic creation of groups and group membership. Groups are limited by some level of scope.

  • Local Scope. Keeps traffic within the LAN.
  • Admin Scope. Allows administritive boundaries to be set up to keep multicast traffic within a domain (for security reasons for example).
  • TTL Scope. Limits the number of hops.

The IGMP protocol operates between host and router, it keeps track of which hosts are subscribed to which multicast groups. On a link one router will become the “querier” and will periodically send a membership query message on the all-computers group to prompt hosts to reply with the name of groups they belong to.

Multicast Routing

Multicast routing operates between routers, with the objective of building a distribution tree for multicast packets. There are a number of protocols and tactics here:

  • Flood and Prune. This floods the network with traffic and prunes branches with no recievers. Examples of protocols using this method are DVMRP, PIM-DM
  • Link-State Multicast. Here routers advertise groups for which they have recievers to the entire network so trees can be computed on demand. Example of a protocol using this method is MOSPF.
  • Core Based. Here a ‘core’ place is specified, all recievers will join the group from the core. There has to be a mapping between multicast groups addresses and the core for this to work. Examples of protocols using this method are CBT, PIM-SM.

Different protocols may have either source-based distribution trees, where there is a seperate path-tree for each sender or shared trees, where there is a single distribution tree for all members. Source based trees are usually shortest path trees and are efficient in dense area multicast. Shared trees are more limited by a core’s efficiency and can lead to traffic concentration, they are efficient in sparse area multicast.

Distance-Vector Multicast Routing (DVMRP)

This method adopts a broadcast and prune tactic, and builds per-source distribution trees. It concists of two major components, a convetional distance-vector routing protocol like RIP and a protocol for determining how to forward multicast packets based on a routing table.

Packets are forwarded if the packet arrived from the link used to reach the source of the packet (uses a reverse path forwarding check) and if the downstream links have not pruned the tree.

Multicast Open Shortest-Path First (MOSPF)

This method creates a source-rooted shortest path delviery tree. Multicast-capable routers flag a link state routing advertisements. These packets include multicast group addresses to which local members have joined. A routing algorithm computes a shortest-path distribution tree from a source to any set of destinations.

Protocol Independent Multicast (PIM)

PIM is independent of any underlying routing protocol, it interoperates with all existing unicast routing protocols and supports both shared and per-source trees. It has a dense mode (DP) which is similar to DVMRP and a sparse mode (SP) which uses a shared tree from a core, known as a rendezvous point (RP).

Leave a Comment