RFC 2236:Internet Group Management Protocol, Versi...
RFC-Ref

group


Click on the red underlined text to get to the source

... The Internet Group Management Protocol (IGMP) is used by IP hosts ...
... IP hosts to report their multicast group memberships to any immediately- neighboring multicast routers. This memo describes only the use of ...
... IGMP between hosts and routers to determine group membership. Routers that are members of multicast groups ...
... group membership. Routers that are members of multicast groups are expected to behave as hosts as well as routers ...
... Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ...
... Query messages: - General Query, used to learn which groups have members on an attached network. ...
... attached network. - Group-Specific Query, used to learn if a particular group ...
... - Group-Specific Query, used to learn if a particular group has any members on an attached network. ...
... network. These two messages are differentiated by the Group Address, as described in section 1.4 . Membership Query messages are ...
... Version 2 Membership Report 0x17 = Leave Group There is an additional type of message, for backwards-compatibility ...
... latency" (the time between the moment the last host leaves a group and when the routing protocol is notified that there are no more ...
... Group Address ...
... In a Membership Query message, the group address field is set to zero when sending a General Query ...
... set to zero when sending a General Query, and set to the group address being queried when sending a Group-Specific Query ...
... Query, and set to the group address being queried when sending a Group-Specific Query. ...
... In a Membership Report or Leave Group message, the group address field holds the IP multicast ...
... In a Membership Report or Leave Group message, the group address field holds the IP multicast group address ...
... group address field holds the IP multicast group address of the group being reported or left. ...
... field holds the IP multicast group address of the group being reported or left. ...


... Multicast routers use IGMP to learn which groups have members on each of their attached physical networks ...
... networks. A multicast router keeps a list of multicast group memberships for each attached network, and a timer ...
... network, and a timer for each membership. "Multicast group memberships" means the presence of at least one member of a multicast group on a given ...
... for each membership. "Multicast group memberships" means the presence of at least one member of a multicast group on a given attached network, not a list of all of the members. With respect to ...
... reliably determine membership information. A General Query is addressed to the all-systems multicast group (224.0.0.1), has a Group Address field of 0, and has a Max Response Time of [Query Response Interval ...
... Query is addressed to the all-systems multicast group (224.0.0.1), has a Group Address field of 0, and has a Max Response Time of [Query Response Interval]. ...
... Query, it sets delay timers for each group (excluding the all-systems group) of which it is a member on the interface ...
... timers for each group (excluding the all-systems group) of which it is a member on the interface from which it received the query ...
... Query packet. When a host receives a Group-Specific Query, it sets a delay timer to a random value ...
... random value selected from the range (0, Max Response Time] as above for the group being queried if it is a member on the interface from which it received the query ...
... received the query. If a timer for the group is already running, it is reset to the random value only if the requested Max Response Time ...
... is less than the remaining value of the running timer. When a group's timer expires, the host multicasts ...
... multicasts a Version 2 Membership Report to the group, with IP TTL of 1. If the host receives another ...
... timer running, it stops its timer for the specified group and does not send a Report, in order to suppress duplicate Reports. ...
... When a router receives a Report, it adds the group being reported to the list of multicast group memberships on the network ...
... router receives a Report, it adds the group being reported to the list of multicast group memberships on the network on which it received the Report and sets the timer ...
... received the Report and sets the timer for the membership to the [Group Membership Interval]. Repeated Reports refresh the timer. If ...
... refresh the timer. If no Reports are received for a particular group before this timer has expired, the router ...
... timer has expired, the router assumes that the group has no local members and that it need not forward remotely-originated multicasts for that ...
... that it need not forward remotely-originated multicasts for that group onto the attached network. ...
... When a host joins a multicast group, it should immediately transmit an unsolicited Version 2 Membership Report for that group ...
... multicast group, it should immediately transmit an unsolicited Version 2 Membership Report for that group, in case it is the first member of that group on the network ...
... Version 2 Membership Report for that group, in case it is the first member of that group on the network. To cover the possibility of the initial Membership Report being lost or damaged, ...
... this is to send the initial Version 2 Membership Report and then act as if a Group-Specific Query was received for that group, and set a ...
... as if a Group-Specific Query was received for that group, and set a timer appropriately). ...
... When a host leaves a multicast group, if it was the last host to reply to a Query ...
... host to reply to a Query with a Membership Report for that group, it SHOULD send a Leave Group message to the all-routers ...
... Query with a Membership Report for that group, it SHOULD send a Leave Group message to the all-routers multicast group ...
... send a Leave Group message to the all-routers multicast group (224.0.0.2). If it was not the last host to reply to a Query ...
... to remember whether or not it was the last host to reply MAY always send a Leave Group message when it leaves a group. Routers SHOULD ...
... host to reply MAY always send a Leave Group message when it leaves a group. Routers SHOULD accept a Leave Group ...
... group. Routers SHOULD accept a Leave Group message addressed to the group being left, in order to accommodate implementations of an earlier version ...
... Routers SHOULD accept a Leave Group message addressed to the group being left, in order to accommodate implementations of an earlier version of this ...
... order to accommodate implementations of an earlier version of this standard. Leave Group messages are addressed to the all-routers group ...
... Group messages are addressed to the all-routers group because other group members have no need to know that a host ...
... all-routers group because other group members have no need to know that a host has left the group ...
... group members have no need to know that a host has left the group, but it does no harm to address the message to the group ...
... group, but it does no harm to address the message to the group. ...
... When a Querier receives a Leave Group message for a group that has group members ...
... When a Querier receives a Leave Group message for a group that has group members on the reception interface ...
... Group message for a group that has group members on the reception interface, it sends [Last Member Query ...
... interface, it sends [Last Member Query Count] Group-Specific Queries every [Last Member Query Interval] to ...
... Queries every [Last Member Query Interval] to the group being left. These Group-Specific Queries have their Max ...
... Query Interval] to the group being left. These Group-Specific Queries have their Max Response time set to [Last Member Query ...
... query expires, the routers assume that the group has no local members, as above. Any Querier to non-Querier ...
... Querier transition is ignored during this time; the same router keeps sending the Group-Specific Queries. ...
... Non-Queriers MUST ignore Leave Group messages, and Queriers SHOULD ignore Leave Group ...
... Group messages, and Queriers SHOULD ignore Leave Group messages for which there are no group members on the reception interface ...
... Queriers SHOULD ignore Leave Group messages for which there are no group members on the reception interface. ...
... When a non-Querier receives a Group-Specific Query message, if its existing group ...
... Group-Specific Query message, if its existing group membership timer is greater than [Last Member Query ...
... Query Count] times the Max Response Time specified in the message, it sets its group membership timer to that value. ...


... An IGMPv2 host MAY suppress Leave Group messages on a network where the Querier ...
... routers MUST send Periodic Queries with a Max Response Time of 0, and MUST ignore Leave Group messages. They SHOULD also warn about receiving an IGMPv2 ...


... version 1 hosts present which are members of the group for which it heard the report. This timer should be the same as the [Group ...
... group for which it heard the report. This timer should be the same as the [Group Membership Interval]. ...
... If there are version 1 hosts present for a particular group, a router MUST ignore any Leave Group ...
... group, a router MUST ignore any Leave Group messages that it receives for that group. ...
... router MUST ignore any Leave Group messages that it receives for that group. ...


... host may be in one of three possible states with respect to any single IP multicast group on any single network interface: ...
... "Non-Member" state, when the host does not belong to the group on the interface. This is the initial state ...
... "Delaying Member" state, when the host belongs to the group on the interface and has a report delay timer ...
... "Idle Member" state, when the host belongs to the group on the interface and does not have a report delay timer ...
... "join group" occurs when the host decides to join the group ...
... group" occurs when the host decides to join the group on the interface. It may occur only in the Non-Member state ...
... "leave group" occurs when the host decides to leave the group on ...
... "leave group" occurs when the host decides to leave the group on the interface. It may occur only in the Delaying Member and Idle ...
... General Membership Query message, or a valid Group-Specific Membership Query message. To be valid ...
... IGMP checksum. The group address in the IGMP header must either be zero (a General ...
... Query) or a valid multicast group address (a Group-Specific Query). ...
... Query) or a valid multicast group address (a Group-Specific Query). A General Query ...
... interface from which the Query is received. A Group-Specific Query applies to membership in a single group ...
... Group-Specific Query applies to membership in a single group on the interface from which the Query ...
... IGMP checksum. A Membership Report applies only to the membership in the group identified by the Membership Report, on the interface from which the Membership Report is received. It is ...
... "timer expired" occurs when the report delay timer for the group on the interface expires. It may occur only in the Delaying Member ...
... "send report" for the group on the interface. The type of report is determined by the state ...
... state of the interface. The Report Message is sent to the group being reported. ...
... "send leave" for the group on the interface. If the interface ...
... cleared, this action MAY be skipped. The Leave Message is sent to the ALL-ROUTERS group (224.0.0.2). ...
... "set flag" that we were the last host to send a report for this group. ...
... "clear flag" since we were not the last host to send a report for this group. ...
... "start timer" for the group on the interface, using a delay value chosen uniformly from the interval (0, Max Response Time], where ...
... "reset timer" for the group on the interface to a new value, using a delay value chosen uniformly from the interval (0, Max Response ...
... "stop timer" for the group on the interface. ...
... | |________________| | | | | | leave group | join group | leave group ...
... | leave group | join group | leave group | (stop timer ...
... group | join group | leave group | (stop timer, |(send report, | (send leave ...
... The all-systems group (address 224.0.0.1) is handled as a special case. The host ...
... host starts in Idle Member state for that group on every interface, never transitions to another state ...
... interface, never transitions to another state, and never sends a report for that group. ...


... network. The General Query is sent to the all-systems group (224.0.0.1), and has a Max Response Time of [Query Response Interval ...
... In addition, to keep track of which groups have members, a router may be in one of four possible states with respect to any single IP multicast ...
... router may be in one of four possible states with respect to any single IP multicast group on any single attached network: ...
... hosts on the network which have sent reports for this multicast group. This is the initial state for all groups ...
... multicast group. This is the initial state for all groups on the router; it requires no storage in the router ...
... host on the network which has sent a Membership Report for this multicast group. ...
... network which has sent a Version 1 Membership Report for this multicast group. ...
... state, when the router has received a Leave Group message but has not yet heard a Membership Report for the multicast group. ...
... Leave Group message but has not yet heard a Membership Report for the multicast group. ...
... router receives a Version 2 Membership Report for the group on the interface. To be valid, the ...
... router receives a Version 1 Membership report for the group on the interface. The same validity ...
... "leave received" occurs when the router receives an IGMP Group Leave message for the group on the interface ...
... IGMP Group Leave message for the group on the interface. To be valid, the ...
... "timer expired" occurs when the timer set for a group membership expires. ...
... retransmit timer expired" occurs when the timer set to retransmit a group-specific Membership Query expires. ...
... presence of version 1 hosts as group members expires. ...
... "start timer" for the group membership on the interface - also resets the timer ...
... interface - also resets the timer to its initial value [Group Membership Interval] if the timer is currently running. ...
... "start timer*" for the group membership on the interface - this alternate action sets the timer ...
... "start retransmit timer" for the group membership on the interface [Last Member Query ...
... start v1 host timer" for the group membership on the interface, also resets the timer ...
... interface, also resets the timer to its initial value [Group Membership Interval] if the timer is currently running. ...
... "send group-specific query" for the group on the attached network ...
... "send group-specific query" for the group on the attached network. The Group ...
... group on the attached network. The Group-Specific Query is sent to the group being queried, and ...
... The Group-Specific Query is sent to the group being queried, and has a Max Response Time of [Last Member Query Interval]. ...
... routing +" notify the routing protocol that there are members of this group on this connected network. ...
... routing -" notify the routing protocol that there are no longer any members of this group on this connected network. ...


... routers on a single link. Note that parentheses are used to group expressions to make the algebra clear. ...
... Group Membership Interval ...
... The Group Membership Interval is the amount of time that must pass before a multicast router decides there are no more members of a ...
... before a multicast router decides there are no more members of a group on a network. This value MUST be ((the Robustness Variable) ...
... The Last Member Query Interval is the Max Response Time inserted into Group-Specific Queries sent in response to Leave Group messages, and ...
... Group-Specific Queries sent in response to Leave Group messages, and is also the amount of time between Group-Specific Query ...
... Queries sent in response to Leave Group messages, and is also the amount of time between Group-Specific Query messages. Default: 10 (1 second) ...
... network. A reduced value results in reduced time to detect the loss of the last member of a group. ...
... The Last Member Query Count is the number of Group-Specific Queries sent before the router ...
... Report Interval is the time between repetitions of a host's initial report of membership in a group. Default: 10 seconds. ...


... Message Type Destination Group ------------ ----------------- General Query ...
... General Query ALL-SYSTEMS (224.0.0.1) Group-Specific Query The group being queried ...
... Group-Specific Query The group being queried Membership Report The group being reported ...
... Query The group being queried Membership Report The group being reported Leave Message ALL-ROUTERS (224.0.0.2) ...
... IGMPv2, hosts send Leave Messages to the group being left. A router SHOULD accept Leave Messages addressed to the group ...
... group being left. A router SHOULD accept Leave Messages addressed to the group being left in the interests of backwards compatibility with such hosts ...


... ignores Leave Messages, traffic might flow to groups with no members for up to [Group Membership Interval]. ...
... flow to groups with no members for up to [Group Membership Interval]. A forged Query ...
... A forged Query message sent to a group with members will cause the hosts which are members of the group ...
... group with members will cause the hosts which are members of the group to report their memberships. This causes a small amount of extra traffic on the LAN ...
... A forged Report message may cause multicast routers to think there are members of a group on a subnet when there are not. Forged Report messages from the local subnet ...
... Report messages from the local subnet are meaningless, since joining a group on a host is generally an unprivileged operation, so a local user may trivially gain the same result without forging ...
... version 1 members present" state for a particular group, meaning that the router will ignore Leave messages. This can cause traffic ...
... traffic to flow to groups with no members for up to [Group Membership Interval]. There are two defenses against forged v1 Reports: ...
... flow to groups with no members for up to [Group Membership Interval]. There are two defenses against forged v1 Reports: ...
... A forged Leave message will cause the Querier to send out Group- Specific Queries for the group ...
... Group- Specific Queries for the group in question. This causes extra processing on each router and on each member of the group ...
... group in question. This causes extra processing on each router and on each member of the group, but can not cause loss of desired traffic. There are two defenses against ...


... IGMP Type is created for the IGMPv2 Leave Group message. ...
... Ignore Leave Group messages. ...



Google
Web
RFC-Ref