
Unless you explicitly require this information, there is no reason why
you should know who are the other group members, or even if there
are any of them. Consequently, when y ou send a message to the
group, you don’t know a priori who might receive it. Similarly, when
you receive a message from the group, you don ’t kno w a priori who
sent it.
The multicast t echnology, while recent, is already widely used. The
most important field of application is currently audio-video conferencing
(see the vic and vat applications), but any kind of groupware application is
potentially subject to multicasting.
1.2 Anatomy of a Multicast Group Address
To contact a multicast group, you must know its address. A multicast ad-
dress is not much different from a standard unicast network address, apart
from the presence of an additional field. The standard syntax for a multi-
cast address is “address/port/ttl”.
address is an IP-like address, rang ing from 224.0.0.0 to 239.255.255.
Addresses beginning with 224 and 239 should not be used, as they are
reserved for administration purp ose. Other add resses are available to
the public, wh ich gives about 250 millions possibilities.
port is a usual port n umber.
ttl stands for “time-to-live”. T h is field defines the scope of the mul-
ticast group, or more precisely ho w far the messages you send will be
propagated. This scope can vary from sender-only to world-wide.
Figure 2 p resents the p ossible values and their corresponding scope. As
the ttl can vary from s ender-only to world-wide, you can potentially h ave
different groups using the same address: indeed, the same address could
be used in different countries, w ith a ttl inferior to 64. In such a case, each
group member would o n ly see the other members from the same country,
and conseque n tly, the address could be use d for totally different things.
1.3 The multicast C API
Here, we would like to draw the outlines of the procedure needed to create
a multicast connection, and show how simple it is, not ably compared to th e
standard procedure for creating a point-to-point connection.
In a fir st step , we have to create the sockets. While in unicast, one socket
is enough, you need different sockets for reading and writing on a multicast
group, because they will be used slightly differently.
3