protocol can be involved in two types of communication: unicasting and
multicasting. Unicasting is the communication between one sender and one
receiver. It is a one-to-one communication. However, some processes sometimes
need to send the same message to a large number of receivers simultaneously.
This is called multicasting, which is a one-to-many communication. Multicasting
has many applications. For example, multiple stockbrokers can simultaneously be
informed of changes in a stock price, or travel agents can be informed of a
plane cancellation. Some other applications include distance learning and
Internet Group Management Protocol (IGMP) is one of the necessary, but not
sufficient (as we will see), protocols that is involved in multicasting. IGMP
is a companion to the IP protocol.
1. Group Management
multicasting in the Internet we need routers that are able to route multicast
packets. The routing tables of these routers must be updated by using one of
the multicasting routing protocols. IGMP is not a multicasting routing
protocol; it is a protocol that manages group membership. In any network, there
are one or more multicast routers that distribute multicast packets to hosts or
other routers. The IGMP protocol gives the multicast routers information about
the membership status of hosts (routers) connected to the network. A multicast
router may receive thousands of multicast packets every day for different
groups. If a router has no knowledge about the membership status of the hosts,
it must broadcast all these packets. This creates a lot of traffic and consumes
bandwidth. A better solution is to keep a list of groups in the network for
which there is at least one loyal member. IGMP helps the multicast router
create and update this list.
2. IGMP Messages
gone through two versions. We discuss IGMPv2, the current version. IGMPv2 has
three types of messages: the query, the membership report, and the leave
report. There are two types of query messages: general and special.
3. Message Format
3.37 shows the format of an IOMP (version 2) message.
8-bit field defines the type of message. The value of the type is shown in
bothhexadecimal and binary notation.
Response Time. This 8-bit field defines the amount of time in
which a querymust be answered. The value is in tenths of a second; for example,
if the value is 100, it means 10 s. The value is nonzero in the query message;
it is set to zero in the other two message types.
Checksum. This is
a 16-bit field carrying the checksum. The checksum is calculated overthe 8-byte
address.The value of this field is 0 for a general query message. The
valuedefines the group id (multicast address of the group) in the special
query, the membership report, and the leave report messages.
4. IGMP Operation
locally. A multicast router connected to a network has a list of multicast
addresses of the groups with at least one loyal member in that network. For
each group, there is one router that has the duty of distributing the multicast
packets destined for that group. This means that if there are three multicast
routers connected to a network, their lists of group ids are mutually
4.1 Joining a Group
A host or
a router can join a group. A host maintains a list of processes that have
membership in a group. When a process wants to join a new group, it sends its
request to the host. The host adds the name of the process and the name of the
requested group to its list. If this is the first entry for this particular
group, the host sends a membership report message. If this is not the first
entry, there is no need to send the membership report since the host is already
a member of the group; it already receives multicast packets for this group.
The protocol requires that the membership report be sent twice, one after the
other within a few moments. In IGMP, a membership report is sent twice, one
after the other.
4.2 Leaving a Group
host sees that no process is interested in a specific group, it sends a leave
report. Similarly, when a router sees that none of the networks connected to
its interfaces is interested in a specific group, it sends a leave report about
that group. However, when a multicast router receives a leave report, it cannot
immediately purge that group from its list because the report comes from just
one host or router; there may be other hosts or routers that are still
interested in that group. To make sure, the router sends a special query
message and inserts the group id, or multicast address, related to the group.
The router allows a specified time for any host or router to respond. If,
during this time, no interest (membership report) is received, the router
assumes that there are no loyal members in the network and purges the group
from its list.
4.3 Monitoring Membership
A host or
router can join a group by sending a membership report message. It can leave a
group by sending a leave report message. However, sending these two types of
reports is not enough. Consider the situation in which there is only one host
interested in a group, but the host is shut down or removed from the system.
The multicast router will never receive a leave report. How is this handled?
The multicast router is responsible for monitoring all the hosts or routers in
a LAN to see if they want to continue their membership in a group.
4.4 Delayed Response
prevent unnecessary traffic, IGMP uses a delayed response strategy. When a host
or router receives a query message, it does not respond immediately; it delays
the response. Each host or router uses a random number to create a timer, which
expires between 1 and l0s. The expiration time can be in steps of 1 s or less.
A timer is set for each group in the list.