Configuration Note - IGMP timers 11/2001 ---------------------------------------------------------------------------- Please refer to the CCO dcoumentation or ftp://ftpeng.cisco.com/ipmulticast/Multicast-Commands for a detailed description of the arguments to the below described commands and to their availability in IOS release trains. For more detailed information about IGMP protocol operations, refer to the IETF documents: IGMP version 1 - RFC1112 IGMP version 2 - RFC2236 IGMP version 3 - draft-ietf-idmr-igmp-v3-* ------------------------------- ip igmp query-interval The router with the lowest IP address on a subnet is called the IGMP querier. This router sends general query messages periodically every seconds to request from all hosts which groups/channels they are joined to. Changing the affects the join and leave latency in case of packet loss and the amount of traffic IGMP causes on a subnet: o Amount of traffic: When a general query is sent, hosts must report all group/channel membership. In IGMPv1/v2 the amount of reporting is reduced to some degree by "report suppression", but this only saves reports if multiple hosts on a network are joined to the same group. In IGMPv3 there is no report suppression (making it more robust and allowing for explicit tracking, but generating more traffic upon general queries). o Leave latency under packet loss: An IGMP entry times out 3 * after the last report was heard from a host for that entry. If a host's IGMPv2 or IGMPv3 leave message(s) for a group/channel get lost, the router forward until the IGMP entry times out. Reducing the IGMP query-interval can thus reduce the leave latency under packet loss. o Join latency under packet loss: If a host joins to a new group/channel, it immediately sends IGMP join messages. If these messages get lost, the router will only learn about this newly joined host when it again reports it membership on the next general query, which may be up to away. Reducing the IGMP query-interval can thus reduce the join latency under packet loss. By default, the is 60 seconds. ip igmp query-max-response-time When the IGMP querier sends a general query to a network, it includes the time in seconds of the interval in which hosts should respond to this query with membership reports. When hosts see the general query, they will start a randomn timer between 0 and , and when this randomn time expires they will send their reports. In IGMPv1 and IGMPv2 hosts will also listen to reports from other hosts during this response delay interval, and if another host already reports for a group/channel that the host is joined to, the host will then suppress reporting for this group/channel - this is called "report suppression". Changing the allows to control the burstyness of membership reports in the network. The maximum allowed value for is . The default value for is 10 seconds. For all practical purposes the load (burstyness) of IGMP in the network can be minimized by setting to the same or a slightly lower value than the . If the router is configured for IGMP version 1, the queries will not include the query-max-response-time, because this is not supported with IGMP version 1. In this case, the is fixed to 10 seconds. ip igmp last-member-query-interval When a host wants to leave a group/channel, it sends an unsolicited membership report indicating this situation - in IGMP version 2, this report is an "IGMP Leave Group" report, in IGMP version 3, this report is an "CHANGE_TO_INCLUDE" or "BLOCK_OLD_SOURCES" report (the "IGMP Leave Group" may also optionally be suppressed by the host). To learn if there are still further hosts interested in the particular group/channel, the IGMP querier router then sends out a "Group Specific" or "Group and Source Specific" query, in which it indicates that hosts who are (still) joined to this group/channel need to respond withing msec (in units of 100msec). To compensate for the case of a packet loss, the router will wait for the to expire and if if no response was received, the IGMP querier will repeat this process. Inly after the second has expired will the IGMP querier (and all other routers - which need to listen on all queries and reports) concede that no further receiver for the group/channel exists on the network and forwarding of traffic for this group/channel will be stopped. The repeated sending of the query is the effect of the IGMP robustness variable, which in IOS currently is fixed at 2, eg: 2 queries maximum being sent. By changing the , the leave-latency of traffic forwarding can be controlled. By default, IOS hs set to 1 second. This effectively in IOS results in a leave-latency of 2 * 1 sec + fuzz =~ 2.5 seconds. Reducing this parameter below one second does not effectively reduce the leave latency in IOS images in which CSCdu54130 is not fixed. If IGMP version 1 is used on the network, does not have an effect because IGMP version 1 does not support host leave messages. To reduce the leave-latency down to 0, there are two alternatives: ip igmp immediate-leave ip igmp explicit-tracking ip igmp immediate-leave group-list This command only works with IGMP version 2. If it is enabled, the affected interfaces and groups are treated as if there is only one reporter per group. The router will not send a Group Specific Query upon receipt of a leave report, but will instead immediately stop forwarding the group to that interface. This command should only be used for groups and interfaces on which it is known that there is only one reporter per group or else receivers may be blackholed. ip igmp explicit-tracking This command only works with IGMP version 3. When this command is enabled, the router will remember all host reports sent by hosts and thus immediately know upon receipt of a report indicating a leave wether this was the last host to leave the group/channel or not. If it was the last host, then the router will immediately stop forwarding traffic for this group/channel. Nevertheless, the router will still send the "Group Specific" or "Group and Source Specific" queries so that potentially other routers on the same network which do not support explicit-tracking are still able to learn the correct membership state. This command can not effectively be supported for IGMP version 2 because of report suppression in IGMP version 2. ip igmp query-timeout If there are more than one routers on a network, the router with the lowest ip address will become the IGMP querier. Routers who are not the IGMP querier will detect the failure of the IGMP querier by the absence of "General Queries". By default, a non-querier will start sending queries if he has not seen a General Query for more than 2 * . .