Multicast Problem

Tharunravuri
3 min readAug 30, 2020

Before diving into the Multicast problem and solving it. One should need to understand what is Multicast. Multicast is a process of sending messages or exchanging information to a particular group or destination in a network.

Nodes in a Network

In the above figure, a red node wants to send a multicast message to the other blues nodes in the network. But there is a problem called multicast problem which arises while sending a multicast message to the other nodes in the network. A multicast protocol can be implemented to achieve the multicast problem.

Multicast problem: The most common issue in a multicast network is packets transmitted by the source not reaching receivers.

The requirements for the multicast protocol are:

  1. Fault tolerance — The nodes in the network can be faulty, they may crash and the packets may be dropped. Despite all these problems, the nodes should communicate a multicast message with each other in the network.
  2. Scalable — The nodes in the network should be scalable even if the network is having thousands of nodes the overhead should be minimum at the root node.

Implementation to overcome Multicast problem:

  1. Centralized approach:
Centralized approach

In the above approach, the one node will act as a sender and it sends the multicast messages to all nodes in the network. But, the problem with this implementation is that the nodes can be faulty and after sending multicast messages to the few nodes using for loop there can be a situation where some of the nodes will receive the multicast messages and others not and also the overhead at the root node will be high if there are thousands of nodes in the network and the latency will be very high.

So to address these problems, tree-based multicast protocols are developed to solve the multicast problem.

The IPmulticast, SRM, RMTP, TRAM, TMTP are examples of tree-based multicast protocols.

Tree-based Multicast protocols

The problem in this tree-based approach is:

If a leaf node in the tree doesn’t get the multicast message then the leaf node can again ask for the multicast message. But if an intermediate node in the tree doesn't get the multicast message then the descendants of that node cannot get the multicast message. To overcome such problems the ACK and NAK messages are used to acknowledge the sender that the intended receiver doesn’t get the multicast message.

In tree-based multicast protocols:

  1. Buiding a spanning tree among the processes of the multicast group.
  2. Use spanning tree to spread multicast messages.
  3. Use either ACK or NAK to repair the multicast not received.

These ACK’s and NAK’s still can cause the problem with the overhead of messages sent by the receivers to the sender. However, this Multicast problem can be solved by using a gossip protocol efficiently.

👉Stay safe and stay tuned for the next blog post👈

--

--