group
Click on the red underlined text to get to the source
... 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.
...
... - 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 ...
...
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.
...
... 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
...
... 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 ...
... 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.
...
... 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.
...
... 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.
...
... 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 ...
... 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 ...
... 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
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 ...
... 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
...
... cleared, this action MAY be skipped. The Leave Message is sent to
the ALL-ROUTERS group (224.0.0.2).
...
... "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
...
... host starts in Idle Member state for that group on every
interface, never transitions to another state ...
... 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 ...
... 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 ...
... retransmit timer expired" occurs when the timer set to retransmit
a group-specific Membership Query expires.
...
... 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 ...
... interface,
also resets the timer to its initial value [Group Membership
Interval] if the timer is currently running.
...
... 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.
...
... Report Interval is the time between repetitions of a
host's initial report of membership in a group. Default: 10 seconds.
...
... 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].
...
...
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
...
... Ignore Leave Group messages.
...
