Internet Group Management Protocol (IGMP)
Internet Group Management Protocol (IGMP)
Chapter 10
IGMP-2
IGMP v2: RFC 2236, Xerox, November 1997 IGMP v1: RFC 1112, Stanford University, August 1989
IGMP is used by IP hosts to register their dynamic multicast group membership. It is also used by connected routers to discover these group members.
McGraw-Hill
IGMP-3
McGraw-Hill
IGMP-4
Amount of time (in 1/10 of sec) in which a query must be answered (set to 0 in non-query messages)
McGraw-Hill
IGMP Operation
Each host can have several processes. The processes can have interest for a group. Each host maintains a list of groups for which its processes have an interest.
IGMP-5
m/c router
These routers can be distrubtors for one or severtal groups from the list of router R, but for other networks, not for the network above.
Lists of groups for each router are mutually exclusive (i.e. only one m/c router is responsible for each group) A router can also be a member of a group
McGraw-Hill
Membership Report
IGMP-6
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 then adds the name of the process and the name of the requested group to its list, and sends the membership report to the router. The report is send twice (in case the first report get lost or damaged)
Distributing router
McGraw-Hill
Leave Report
IGMP-7
When a host sees that no process is interested in a specific group G, it sends a leave report. If router receives a leave report it wont purge the list if there are still other hosts interested in that group. For that purpose the router sends a special query message with a specified response time for the group in question to see if there is anyone interested in that group. If there is no response a membership report, it purges the list.
If no membership report received in 10 seconds, the router removes the group from its list
McGraw-Hill
IGMP-8
No group specified
McGraw-Hill
IGMP-9
Delayed Response
In order to keep the traffic low the response to general query message must be done by only one host for a given group. How can be made sure that only one host answers the query, while the others which have to report the same group, or groups are not? This is achieved with delayed response: When a host receives general query message it delays the response: it sets a timer for each group to a different random value between 0 and 10 seconds, then broadcasts the response(s) according to the timers. If the host receives a response from another host, whose timer for that group has expired earlier, the host cancels the corresponding timer and doesnt send the duplicate response for the group. Only one router on the LAN is designated for sending the query messages the query router. This further reduces the traffic.
McGraw-Hill
Example 1
IGMP-10
A query message was received at time 0; the random delay time (in tenths of seconds) for each group is shown next to the group address. Show the sequence of report messages.
Solution:
Time 12 30 50 70
From host A A B C
The McGraw-Hill Companies, Inc., 2000
McGraw-Hill
IGMP-11
Query 224.0.0.1 Membership m/c addr. of the group report Leave report 224.0.0.2 All routers on this subnet
Description
2 3 4 ........
McGraw-Hill
IGMP-12
These are only few examples. The full list of assigned multicast addresses is given in http://www.iana.org/assignments/multicast-addresses
McGraw-Hill The McGraw-Hill Companies, Inc., 2000
IGMP-13
Comment:
Membership report uses the m/c address of reported group as the destination address in the IP header. This message is meant to every host or router that are members of the group, so they can enforce the delayed response principle. Other hosts that are not members of the group need not to receive the membership report. If the group is new to LAN the distributing router would be the only member of the group. The m/c group address is redundant with the address given in the IGMP message itself. This is a small overhead which however doesnt require the hosts to decapsulate the IGMP message the delayed request timers can be set based on the IP header.
McGraw-Hill
IGMP-14
IGMP-15
Comment:
The mapping shown on the previous slide is many-to-one mapping because there are 28-23=5 bits that are supposed to be all zero. In other words 32 different addresses can map into the same MAC address. Therefore the host that receives a m/c packet has to check the m/c IP address and discard the packet if the IP addresses doesnt match.
McGraw-Hill
IGMP-16
Tunneling
Most WANs do not support m/c MAC addresses (their second and physical layer are not Ethernet for example, but T3, SONET, FR, ATM etc.). In that case the IP tunneling must be applied: the m/c IP datagram is encapsulated in unicast IP datagram:
When the unicast IP packet gets decapsulated at the exit point of the tunnel, the networks there support the m/c addressing on the MAC layer.
McGraw-Hill The McGraw-Hill Companies, Inc., 2000
IGMP-17
McGraw-Hill
IGMP-18
FREE no processes left in the group DELAYING a report must be sent for this entry when the timer matures IDLE no timer running for this entry
McGraw-Hill
IGMP-19
McGraw-Hill
IGMP-20
Module invoked by a process that wants to leave a group Receive request from a process P to leave a group G; if (entry <G,P,RC> exists) { Decrement RC; if (RC == 0) { Cancel the timer for this entry; Change the state of the list to FREE; Request the leave report from the output module; } } return;
McGraw-Hill The McGraw-Hill Companies, Inc., 2000
report will be sent by output module as soon the timer expires (see
The McGraw-Hill Companies, Inc., 2000
McGraw-Hill
next slide)
IGMP-22
McGraw-Hill