Unicast, Multicast and Broadcast – an Introduction

A post by our colleague Robert Persch, Development “Systems Software”

An industrial communication system must transmit diverse information – speech, signaling data and control data. There are cases when information is only sent to a single recipient (unicast) as well as situations where information is sent to several recipients at the same time (multicast or broadcast).

In order to decide when to use which mode of transmission, you can e.g. think of a party you might be having, where all guests are gathered in a large room. If you now intend to communicate with a specific guest, it seems logical to first approach this guest and then talk to him/her directly – and to no one else. This “unicast transmission” does not disturb the other guests, and you will know from the recipient’s reaction that the information was received and understood (in networking terms: the recipient sends an “acknowledgment”).

Unicast
Unicast transmission mode

But you may be faced with a situation where it is not clear who the recipient of the information is, or whether this person is at the party at all. Think e.g. of the message “Would the owner of the green vehicle parked in the driveway please contact the party host”. The simplest way to convey this message is to climb onto a chair and shout the message loudly into the room (a “broadcast” in networking terms).

This mode of communication can also be helpful in a different case. Consider, for example, that you need to give some information to a group of guests at the same time, e.g. a befriended family that is joining you at the party. To speak to each of the family members separately will quickly become ineffective if the family is large, but the shouting method described above can effectively address a large number of recipients.

Broadcast
Broadcast transmission mode

This leaves you with a different problem however, because all other guests will inadvertently also hear your message. So part of the message must indicate who it is aimed at, e.g. “All members of the Smith family please pay attention: your taxi has arrived”. The downside of this method: while it tells everyone whom the message was intended for, all guests which are not part of the Smith family will be distracted from their own conversations.

Now, imagine the party is huge with lots of guests attending. Then you may not be the only one who wants to address a group of guests at a certain time. So you may find several people climbing on chairs and starting to shout simultaneously (in networking terms lots of “bandwidth” is required). Some guests may then not be able to keep track of all the shouted messages, or the noise might make the messages unintelligible (“overload”).

In such a situation, a mode of communication that allows sending each message only to the intended recipients, and to no one else, would seem beneficial. It may be difficult to solve this problem in the given example of the party, but the “multicast” transmission mode provided by modern network technology offers a suitable solution for industrial communication systems. Multicasting allows defining multiple groups of different recipients, and a single recipient may actually be part of several of such groups. This flexibility and efficiency is the reason why we at INDUSTRONIC have decided to use multicasting in our products where it is appropriate and beneficial.

Multicast
Multicast transmission mode

The example of the vehicle owner who is notified via a broadcast leads to a further interesting issue: as the host, how long do you have to wait before you can come to the conclusion that the vehicle in question does not belong to any of your guests (a “timeout” in networking terms)? Broadcasting makes the transmission of acknowledged information and hence secured communication difficult. Multicasting is faced with a similar problem, but it can be solved if the intended recipients (multicast group members) are known. We will discuss how this can be achieved in an upcoming blog article.

To summarize: different communication requirements are fulfilled by different modes of communication:

  • Unicasts are used for bidirectional (less commonly also unidirectional) communication between two participants.
  • A broadcast is used when a sender addresses all other participants, usually because the intended recipient(s) is/are unknown.
  • A multicast is used when a sender addresses a specific group of recipients.

One thought to “Unicast, Multicast and Broadcast – an Introduction”

  • Mukesh Shah

    Congratulations Robert for explaining these jargons in such a simple and lucid manner.

    Reply

Leave a comment

Your email address will not be published. Required fields are marked *