 Sections
Syndication |
|
|
Blogroll:
||||| ALL Cisco-Network ARTICLES |||||
CCIE Journey, The CCIE Journey,
|
|
Protocol Operation
 |
| |
One
improvement that IGMP version 2 has over version 1 concerns multi-access
networks, such as ethernet, that have more than one attached multicast router
(see Figure 3-12). Only one router needs to send Membership Query messages
because all attached routers running IGMP hear the Membership Report messages
from the hosts. IGMP version 2 adds a feature that enables routers to determine
which router is responsible for sending Membership Query messages with the other
routers becoming Non-Querier routers. In Figure 3-12, assume that router A sends
the first Membership Query message onto the multiaccess network. Router B
receives this message and, because router A has a lower IP address than router
B, router A remains the Querier for the network and router B the Non-Querier. If
router B had sent the first Membership Query message (all routers start in the
role of Querier), this would not suppress Membership Query messages from router
A because router A has the lower IP address. Router A would send a Membership
Query message and router B, upon receiving this message, would become a
Non-Querier for the network. |
| |
 |
| |
Figure 3-12: On a multi-access network, the router with the
lowest IP address becomes the
Querier. | |
| IGMP Version 2: Timers and Counters |
| |
 |
| |
To
account for the possibility of router A ceasing to send Query messages,
Non-Querier routers set a timer, the Other Querier Present Interval timer,
whenever a Query message is received. If this timer expires before receiving a
Query message, the router assumes the role of Querier. Of course, more than one
Non-Querier router may be attached to the network and they will all try to
assume the role of Querier. As before, the router with the lowest IP address on
the net work becomes Querier and the others assume the Non-Querier
role. |
| |
 |
| |
To
prevent Non-Querier routers from mistakenly assuming the role of Querier, the
Querier router must periodically send Membership Query messages using the Query
Interval timer. Of course, the Query Interval Timer must be less than the Other
Querier Present Interval timer. The timer values that are used in IGMP Version 2
are listed in Table 3-2. |
| |
 |
| |
TABLE 3-2: IGMP Version 2 timers, counters, and
variables |
| |
 |
| |
Parameter |
| |
 |
| Default Value |
| |
|
 |
| |
Robustness Variable (RV) |
| |
 |
| 2
(Must not be zero and should not be 1) |
| |
|
 |
| |
Query Interval (QI) |
| |
 |
| 125
Seconds |
| |
|
 |
| |
Query Response Interval (QRI) |
| |
 |
| 100
(10 seconds) |
| |
|
 |
| |
Startup Query Interval (SQI) |
| |
 |
| One-quarter of the Query Interval = 31 |
| |
|
 |
| |
Startup Query Count (SQC) |
| |
 |
| Robustness Variable Value |
| |
|
 |
| |
Other Querier Present Interval (OQPI) |
| |
 |
| (RV
* QI) 1 QRI/2 = 255 |
| |
|
 |
| |
Group Membership Interval (GMI) |
| |
 |
| (RV
* QI) 1 QRI = 260 |
| |
|
 |
| |
Last
Member Query Interval (LMQI) |
| |
 |
| 10
(1 second) |
| |
|
 |
| |
Last
Member Query Count (LMQC) |
| |
 |
| Robustness Variable Value |
| |
|
 |
| |
Unsolicited Report Interval (URI) |
| |
 |
| 10
seconds |
| |
|
 |
| |
Version 1 Router Present Timeout |
| |
 |
| 400
Seconds |
| |
|
 |
| |
When
IGMP is first enabled on a multicast router, the router should send a number of
General Query messages to determine if the hosts on the network are members of
any multicast groups. The number of initial queries is given by the Startup
Query Count and the initial queries are separated in time by the Startup Query
Interval. When a host receives a General Query message from the router, the host
sets a delay timer for each multicast group of which the host is a member. These
delay values are chosen at random from the range 0 to Maximum Response Time
(specified in the IGMP version 2 packet), and the value zero is not used. If any
of these timers counts down to zero before the host has heard a Membership
Report for a particular group, the host sends a Membership Report to the
multicast group. If a host receives a Membership Report from another host for a
group that the host is a member, the timer and report for that group is
canceled. If a host receives a Membership Query for a group that the host
already has a timer running, the timer is reset only if the remaining value of
the timer is greater than the value of the Maximum Response Time contained in
the IGMP packet. |
| |
 |
| |
When
an IGMP-enabled multicast router receives a Membership Report from a host, the
router checks the table of multicast groups for which the router is forwarding
multicast traffic. If the group being reported by the host is not in the
router’s table, the router adds this group to the table. For each multicast
group in the router’s table, a periodic timer is set to the value Group
Membership Interval. Whenever a router receives a Membership Report from a host
for a multicast group, the timer associated with that group is reset to the
value Group Membership Interval. When the Group Membership Interval timer counts
down to zero, meaning that no Membership Reports have been received from a host
during this time period, the router assumes that hosts on the network no longer
want to receive multicast traffic for that particular group, and the router does
not forward multicast traffic for it. |
| |
 |
| |
When
a multicast application is enabled, the host should immediately send a
Membership Report for the group that the application needs to join. Because the
possibility exists that the report could be lost, the host should send a
Membership Report at least one more time after delaying for the Unsolicited
Report Interval. |
| |
 |
| |
Another addition to IGMP version 2 is the Leave Group message. In
IGMP version 1, hosts left the group quietly and no message was sent. When a
host decides to leave a group and if the host was the one that responded to the
last Membership Query message, then the host should send a Leave Group message
to the address 224.0.0.2, the all-routers multicast group. If the host was not
the last one to respond to the Membership Query message, then a Leave Group
message does not have to be sent, but it does no harm to send one, except for
using a little bit of bandwidth. The RFC also allows the sending of the Leave
Group message to the group address instead of the all-routers address. The
benefit of sending the Leave Group message to the all-routers address is that
hosts that are members of that group do not have to process the
message. |
| |
 |
| |
When
the Querier router receives the Leave Group message, the router does not know if
this was the last host on the network for that group. The Querier router sends a
number of Group-Specific Membership Queries, one in which the group address in
the IGMP packet contains the address of the group being left. The number of
Group-Specific Queries that are sent is given by the value Last Member Query
Count, which is equal to the value of the Robustness Variable (RV) as
shown in Table 3-2. The Group-Specific Queries are sent on an interval equal to
the Last Member Query Interval. The Group-Specific Queries have the Maximum
Response Interval in the IGMP packet set to the value of the Last Member Query
Interval (see Figure 3-13). After sending the Group-Specific Queries, the router
waits for a time given by the Last Member Query Interval for Group Membership
reports. If none are received, then multicast traffic for the specific group is
no longer forwarded by the router. The state diagram for a host running IGMP
version 2 is shown in Figure 3-14. |
| |
 |
| |
Figure 3-13: IGMP version 2 packet format for the
Group-Specific Query in response to a Leave Group message |
|
 | |
 |
| |
Figure 3-14: IGMP version 2 host state diagram. Each group a
host belongs to has its own state. |
|
 | |
 |
| |
As
shown in Figure 3-14, an IGMP version 2 host can be in one of three states. The
Non-Member state indicates that the host does not belong to the multicast group;
the host will make a transition to the Delaying Member state when the host
decides to join the multicast group. The host sends a Membership Report for the
group and sets a timer as though the host received a Membership Query from the
router. |
| |
 |
| |
There are four transitions from the Delaying Member state. If the
host’s timer counts down to zero, the host sends a Membership Report and makes a
transition to the Idle Member state. If a Membership Report for the group is
received from another host, the host stops the delay timer and makes a
transition to the Idle Member state. If a Membership Query is received from the
router, the host resets the delay timer if the Maximum Response Time in the IGMP
message is less than the time remaining on the delay timer. In this case, the
host remains in the Delaying Member state. Finally, a host makes a transition
from the Delaying Member state to the Non-Member state if the host decides to
leave the group. The host sends a Leave Group message if it was the host that
responded to the last Membership Query message. A host makes a transition from
the Idle Member state on one of two events. If a Membership Query is received
for the group, the host makes a transition to the Delaying Member state and
starts the delay timer. If a host decides to leave the group while in the Idle
Member state, the host sends a Leave Group message and makes a transition to the
Non-Member state. The all-systems group (224.0.0.1) is a special case with
respect to the host state diagram. Every host that is running IGMP version 2 is
a member of the all-systems group, but no reports are ever sent for this group
and the hosts are always in the Idle Member state with respect to this
group. |
| |
 |
| |
If
there is more than one router on the network, then the possibility exists that
one or more routers are running IGMP version 1 and one or more routers are
running IGMP version 2. A version 2 host can therefore be in one of two states
with respect to the multicast routers that are present on the network, as shown
in Figure 3-15. |
| |
 |
| |
Figure 3-15: IGMP version 1 and version 2
interaction |
|
 | |
 |
| |
Hosts will initially be in the state No IGMP Version 1 Router
Present. If a host receives a version 1 IGMP Membership Query, one in which the
Maximum Runtime field is zero, the host makes a transition to the state IGMP
Version 1 Router Present and sets a timer equal to the value Version 1 Router
Present Timeout. Whenever a version 1 Membership Query is received while in this
state, the timer is reset to the Version 1 Router Present Timeout value. If this
timer counts down to zero, then the host makes a transition to the No IGMP
Version 1 Router Present
state. | |
 |
| |
We
have seen that a router can be in one of two states with respect to its query
status on the network, being either the Querier or the Non-Querier, as shown in
Figure 3-16. An IGMPv2-enabled router starts in the Initial state, sends a
General Membership Query message, and sets the General Query timer. Whenever the
General Query Timer expires, the timer is reset and a General Membership Query
message is sent. If a router in the Querier state hears a General Membership
Querier message from a router with a lower IP address, then the router makes a
transition from the Query state to the Non-Querier state and sets the Other
Querier Present Timer. While in the Non-Querier state, this Other Querier
Present Timer is reset each time a General Membership Query is received from a
router with a lower IP address. If the timer times out, then no General
Membership Queries have been received during the Other Querier Present time and
the router changes from the Non-Querier state to the Query state. |
| |
 |
| |
Figure 3-16: Query status state diagram for IGMPv2-enabled
routers |
|
 | |
 |
| |
The
state diagram for a router in the Query state is shown in Figure 3-17 and the
Non-Query state in Figure 3-18. When IGMPv2 is initialized, the router enters
the initial state and sends General Membership Queries on all interfaces and
then makes a transition to the Querier state. If no members are present on an
attached network, the state for that interface will be No Members Present.
Because no members are present on the network, the router does not need to
periodically transmit General Membership Queries out of the
interface. |
| |
 |
| |
Figure 3-17: State diagram for an IGMPv2 enabled router in the
Query state |
|
 | |
 |
| |
Figure 3-18: State diagram for an IGMPv2-enabled router in the
Non-Querier state |
|
 | |
 |
| |
Routers will be notified by hosts that want to join a particular
group. A host can either transmit a version 1 or version 2 IGMP Membership
report. If only version 2 Membership Reports are received, the router will make
a transition to the Members Present state. If a version 1 report is received,
then the router will make a transition to the Version 1 Members Present state,
even though there may be version 2 hosts present. |
| |
 |
| |
While in the Version 1 Members Present state, the router needs to
track whether or not version 2 hosts are present on the attached network. When
the version 1 host timer expires, the router will either move to the Members
Present state if there are version 2 hosts present or to the No Members Present
state. As long as version 1 Membership Reports are being received, the router
will stay in the Version 1 Members Present state. |
| |
 |
| |
In
the Members Present State, the reception of version 2 Membership Reports
refreshes the Group Membership Interval timer and the router stays in the
Members Present state. If a version 1 Membership Report is received, a
transition to the Version 1 Members Present state occurs. Recall that one
enhancement to IGMP version 2 was the Leave Group Message. When a Leave Group
Message is received, the router has no idea if this is the last host to leave
the group because routers only need to track if there is at least one member of
the group on the network and not the number of members. A Leave Group Message in
the Members Present state causes a transition to the Checking Membership state,
while a Leave Group message in the Version 1 Members Present state has no effect
because there is at least one Version 1 host that is still a member of the
group. |
| |
 |
| |
The
state diagram for a router in the Non-Querier state is passive in nature because
the router is only listening to Membership reports and Membership Queries and is
not actively polling for group members. | |
300 times read
|
Related news
|
| No matching news for this article |
|
Did you enjoy this article?
(total 0 votes)
|
Comments (0 posted)
|
|
More Top News
CCSP-Cisco Certified Security Professional
Most Popular
Most Commented
Featured Author
|