1
votes

I created a chat with two types for conversations: Private (Unicast) and Group(Multicast, i have to use multicast).

I have to make different groups (i.e. i join at group "Veterans" and my college join at the group "Beginners"). The messages that send and receive at group "Veterans" can't be received at group "Beginners".

For this, my question is: i have to create different multicast groups? Or verify, if the message that is sent by user, is for group "Veterans" or "Beginners, for example by the name of the group?

1

1 Answers

0
votes

You don't have to use multicast to achieve this, but from what I am hearing, it might be a sound design decision to make.

Multicast being what it is, having separate multicast groups help will split the flows at a logical level, but not necessarily at the network level.

Furthermore, you need to have functionality in your application that translates a group name (e.g. "Veterans") to a multicast address. This mapping needs to be kept in complete sync between all your chat clients or else there might be "cross-chatter".

"The messages that send and receive at group 'Veterans' can't be received at group 'Beginners'".

The key word here is can't. Multicast will keep the flows separate, but from a security perspective it will only keep casual users from eavesdropping on an unauthorized group. Setting a network card on the same subnet in promiscuous mode will reveal all multicast conversations while staying completely undetected.

So if you are looking for an absolute guarantee for "can't", multicast will not be sufficient.