Warning: session_start() [function.session-start]: open(/tmp/sess_c80761885b790865f40b4db236a9b510, O_RDWR) failed: No space left on device (28) in /home/ciscoart/public_html/include/includes.php on line 17

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/ciscoart/public_html/include/includes.php:17) in /home/ciscoart/public_html/include/includes.php on line 17

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/ciscoart/public_html/include/includes.php:17) in /home/ciscoart/public_html/include/includes.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at /home/ciscoart/public_html/include/includes.php:17) in /home/ciscoart/public_html/include/header.php on line 17
Protocol Operation
Header
Home | Set as homepage | Add to favorites
  Search the Site     » Advanced Search
Sections
Syndication


Blogroll:

||||| ALL Cisco-Network ARTICLES |||||  
CCIE Journey,
The CCIE Journey,


Protocol Operation

Oct 24,2010 by alperen

image

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.
IGMP Router States  
  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)

comment Comments (0 posted) 

More Top News
CCSP-Cisco Certified Security Professional
Most Popular
Most Commented
Featured Author

Warning: Unknown: open(/tmp/sess_c80761885b790865f40b4db236a9b510, O_RDWR) failed: No space left on device (28) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0