This preview shows page 1. Sign up to view the full content.
Unformatted text preview: e that a process must have a way of joining a multicast group on a given interface. A process
can also leave a multicast group that it previously joined. These are required parts of any API on a host that
supports multicasting. We use the qualifier "interface" because membership in a group is associated with an
interface. A process can join the same group on multiple interfaces.
The release of IP multicasting for Berkeley Unix from Stanford University details these changes for the sockets API. These
changes are also provided in Solaris 2.x and documented in the ip(7) manual pages. Implied here is that a host identifies a group by the group address and the interface. A host must keep a table
of all the groups that at least one process belongs to, and a reference count of the number of processes
belonging to the group.
IGMP Reports and Queries
IGMP messages are used by multicast routers to keep track of group membership on each of the router's
physically attached networks. The following rules apply.
1. A host sends an IGMP report when the first process joins a group. If multiple processes on a given
host join the same group, only one report is sent, the first time a process joins that group. This report is
sent out the same interface on which the process joined the group.
2. A host does not send a report when processes leave a group, even when the last process leaves a
group. The host knows that there are no members in a given group, so when it receives the next query
(next step), it won't report the group.
3. A multicast router sends an IGMP query at regular intervals to see if any hosts still have processes
belonging to any groups. The router must send one query out each interface. The group address in the
query is 0 since the router expects one response from a host for every group that contains one or more
members on that host.
4. A host responds to an IGMP query by sending one IGMP report for each group that still contains at
least one process.
Using these queries and repor...
View Full Document
- Spring '12