MULTIMOB Working Group                                         H. Asaeda
Internet-Draft                                           Keio University
Expires: September 9, 2010                                     S. Venaas
                                                           March 8, 2010

    Tuning the Behavior of IGMP and MLD for Mobile Hosts and Routers


   IGMP and MLD are the protocols used by hosts to report their IP
   multicast group memberships to neighboring multicast routers.  This
   document describes the ways of IGMPv3 and MLDv2 protocol optimization
   for mobility, mainly for a query timer tuning.

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at

   The list of Internet-Draft Shadow Directories can be accessed at

   This Internet-Draft will expire on September 9, 2010.

Copyright Notice

   Copyright (c) 2010 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   ( in effect on the date of

Asaeda & Venaas         Expires September 9, 2010               [Page 1]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the BSD License.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Asaeda & Venaas         Expires September 9, 2010               [Page 2]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Optimization . . . . . . . . . . . . . . . . . . . . . . . . .  6
     3.1.  Tracking of Membership Status  . . . . . . . . . . . . . .  6
     3.2.  IGMP/MLD Query Processing  . . . . . . . . . . . . . . . .  7
     3.3.  IGMP/MLD Report Processing . . . . . . . . . . . . . . . .  8
     3.4.  Source-Specific Multicast Support  . . . . . . . . . . . .  9
   4.  Interoperability . . . . . . . . . . . . . . . . . . . . . . . 11
   5.  Timers, Counters, and Their Default Values . . . . . . . . . . 12
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 13
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 14
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
     8.1.  Normative References . . . . . . . . . . . . . . . . . . . 15
     8.2.  Informative References . . . . . . . . . . . . . . . . . . 15
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16

Asaeda & Venaas         Expires September 9, 2010               [Page 3]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

1.  Introduction

   The Internet Group Management Protocol (IGMP) [2] for IPv4 and the
   Multicast Listener Discovery Protocol (MLD) [3] for IPv6 are the
   standard protocols for hosts to initiate joining or leaving multicast
   sessions.  These protocols must be also supported by multicast
   routers or IGMP/MLD proxies [11] that serve multicast member hosts on
   their downstream interfaces.  Conceptually, IGMP and MLD work on
   wireless networks.  However, wireless access technologies operate on
   a shared medium or a point-to-point link with limited frequency and
   bandwidth.  In many wireless regimes, it is desirable to minimize
   multicast-related signaling to preserve the limited resources of
   battery powered mobile devices and the constrained transmission
   capacities of the networks.  A mobile host may cause initiation and
   termination of a multicast service in the new or the previous
   network.  Slow multicast service activation following a join may
   degrade reception quality.  Slow service termination triggered by
   IGMP/MLD querying or by a rapid departure of the mobile host without
   leaving the group in the previous network may waste network

   To create the optimal condition for mobile hosts and routers, it is
   required to "ease processing cost or battery power consumption by
   eliminating transmission of a large number of IGMP/MLD messages via
   flooding" and "realize fast state convergence by successive
   monitoring whether downstream members exist or not".

   This document describes the ways of tuning the IGMPv3 and MLDv2
   protocol behavior for mobility, including a query and other timers
   tuning.  The selective optimization that provides tangible benefits
   to the mobile hosts and routers is given by "keeping track of
   downstream hosts' membership status" and "varying IGMP/MLD Query
   types and values to tune the number of responses".  A source
   filtering mechanism in a lightweight manner is also described for
   enabling Source-Specific Multicast.  The proposed behavior
   interoperates with the IGMPv3 and MLDv2 protocols.

Asaeda & Venaas         Expires September 9, 2010               [Page 4]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
   this document are to be interpreted as described in RFC 2119 [1].

Asaeda & Venaas         Expires September 9, 2010               [Page 5]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

3.  Optimization

3.1.  Tracking of Membership Status

   Mobile hosts use IGMP and MLD to request to join or leave multicast
   sessions.  When the adjacent upstream routers receive the IGMP/MLD
   Report messages, they recognize the membership status on the link.
   To update the membership status, the routers send IGMP/MLD Query
   messages periodically as a soft-state approach does, and the member
   hosts reply IGMP/MLD Report messages upon reception.

   IGMP/MLD Query is therefore necessary to obtain the up-to-date
   membership information, but a large number of the reply messages sent
   from all member hosts may cause network congestion or consume network
   bandwidth.  The traditional IGMP and MLD [5][6][7] provide a
   membership report suppression mechanism to escape from the trouble.
   The report suppression mechanism enables a host to cancel sending a
   pending membership report requested by IGMP/MLD Query if it observes
   the report that includes the same membership information on the
   network.  However, the report suppression mechanism precludes the
   function for an upstream router to track membership status.  Hence
   the membership report suppression mechanism has been removed from
   IGMPv3 [2] and MLDv2 [3], and all downstream member hosts must send
   their membership reports to an upstream router.

   The "explicit tracking function" is the possible approach to create
   the optimal condition for mobile communications.  This enables the
   router to keep track of the membership status of the downstream
   IGMPv3 or MLDv2 member hosts.

   The explicit tracking function reduces the number of solicited
   membership reports by periodical IGMP/MLD Query, and finally the
   total number of transmitted IGMP/MLD messages can be drastically
   reduced.  This is beneficial especially to mobile hosts that do not
   have enough battery power, since flooding IGMP/MLD messages on a
   wireless link makes all multicast members give significant attention
   and induces power consumption to the member hosts.  This also allows
   the upstream router to proceed fast leaves, because the router can
   immediately converge and update the membership information, ideally.

   On the other hand, routers still need to maintain downstream
   membership status by sending IGMPv3/MLDv2 query messages due to the
   following reasons.

   o  IGMP/MLD messages are non-reliable and may be lost in the
      transmission, therefore routers need to confirm the membership by
      sending query messages.

Asaeda & Venaas         Expires September 9, 2010               [Page 6]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

   o  Routers need additional processing capability and a possibly large
      memory to keep track of membership status, and therefore the
      routers usually disable the function for keeping track of
      membership status.

   o  To preserve compatibility with older versions of IGMP/MLD, routers
      need to support downstream hosts that are not upgraded to the
      latest versions of IGMP/MLD and run the report suppression

   o  It is impossible to identify mobile hosts when hosts have the
      unspecified address (::) or the same IPv6 link-local address in
      some mobile routing environment.

   This document recommends to enable the explicit tracking function at
   multicast routers if their resources are enough to handle downstream
   membership information and all hosts membership report messages do
   not affect wireless communications.  When the explicit tracking
   function is enabled at adjacent upstream multicast routers, the
   standard [Query Interval] can be tuned to be a longer value as
   described in Section 5.

3.2.  IGMP/MLD Query Processing

   IGMP and MLD are non-reliable protocols; to cover the possibility of
   a State-Change Report being missed by one or more multicast routers,
   a host retransmits the same State-Change Report [Robustness Variable]
   - 1 more times, at intervals chosen at random from the range (0,
   [Unsolicited Report Interval]) [2][3].  However, this manner does not
   guarantee that the State-Change Report is reached to the routers.
   The routers therefore need to refresh the downstream membership
   information by receiving Current-State Report periodically solicited
   by IGMP/MLD General Query, in order to be robust in front of host or
   link failures and packet loss.  It supports the situation that mobile
   hosts turn off or move from the wireless network to other wireless
   network managed by the different router without any notification
   (e.g., leave request).

   A multicast router periodically transmits IGMP/MLD General Query in
   the [Query Interval] sec.  In general, the all-hosts multicast
   address ( or link-scope all-nodes multicast address
   (FF02::1) is used as the IP destination address of IGMP/MLD General
   Query.  Unfortunately, flooding periodical message whose destination
   address is the all-hosts/all-nodes multicast address consumes bettery
   power of mobile hosts.  Only the active hosts that have been
   receiving multicast contents should respond the Query message.

   IGMPv3 and MLDv2 specifications [2][3] describe that a host MUST

Asaeda & Venaas         Expires September 9, 2010               [Page 7]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

   accept and process any Query whose IP Destination Address field
   contains any of the addresses (unicast or multicast) assigned to the
   interface on which the Query arrives.  According to the scenario, a
   router can unicast General Query to tracked member hosts in [Query
   Interval] (or [Unicast Query Interval] newly defined in [9]), if the
   router keeps track of membership information (Section 3.1).
   Unicasting IGMP/MLD General Query would be effective especially when
   a wireless link is heavily loaded.

   If a multicast router attached to a wireless link enables an explicit
   tracking function and unicasts IGMP/MLD General Query for each member
   host, the router may configure longer [Query Interval] value, in
   order to reduce the number of IGMP/MLD General Query messages via
   multicast.  If a multicast router does not track the member hosts,
   the router multicasts IGMP/MLD General Query with shorter [Query

   Note that longer query interval will increase join latency or
   increase leave latency when an unsolicited message with State-Change
   Record is not reached to the router.

   IGMP/MLD Group-Specific and Group-and-Source Specific Queries defined
   in [2][3] are sent to verify whether there are hosts that desire
   reception of the specified group or a set of sources or to rebuild
   the desired reception state for a particular group or a set of

   These specific Queries build and refresh multicast membership state
   of hosts on an attached network.  These specific Queries should be
   sent to each corresponding multicast address (not the all-hosts/
   all-nodes multicast address) as their IP destination addresses,
   because hosts that do not join the multicast session do not pay
   attention these specific Queries, and only active member hosts that
   have been receiving multicast contents with the specified address
   reply IGMP/MLD reports.

3.3.  IGMP/MLD Report Processing

   An IGMPv3 Report is sent with a valid IP source address, and an MLDv2
   Report MUST be sent with a valid IPv6 link-local source address.

   Note that the IGMPv3 specification [2] permits that a host uses the source address, as it happens that the host has not yet
   acquired an IP address, and routers MUST accept a report with a
   source address of  On the other hand, the MLDv2
   specification [3] describes that an MLDv2 Report can be sent with the
   unspecified address (::), if the sending interface has not acquired a
   valid link-local address yet.  However, routers MUST silently discard

Asaeda & Venaas         Expires September 9, 2010               [Page 8]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

   a message that is not sent with a valid link-local address, without
   taking any action.  Thus, an MLDv2 Report sent with the unspecified
   address is also discarded by the router, because of the security

   In summary, routers permit that multiple mobile hosts simultaneously
   use the same IPv4 address, including the source address, for
   an IGMPv3 Report, or simultaneously use the same IPv6 link-local
   address, but not the unspecified address, for an MLDv2 Report.  When
   routers receive IGMPv3/MLDv2 Reports with duplicate source addresses
   or the all-zero or the unspecified address, they should disable the
   explicit tracking function (described in Section 3.1) even if it has
   been enabled.

3.4.  Source-Specific Multicast Support

   IGMPv3 and MLDv2 provide the ability for hosts to report source-
   specific subscriptions.  With IGMPv3/MLDv2, a mobile host can specify
   a channel of interest, using multicast group and source addresses
   with INCLUDE filter mode in its join request.  Upon reception, the
   upstream router establishes the shortest path tree toward the source
   without coordinating a shared tree.  This function is called the
   source filtering function and required to support Source-Specific
   Multicast (SSM) [8].

   IGMPv3 and MLDv2 support another operation with EXCLUDE filter mode.
   When a mobile host specifies multicast and source addresses with
   EXCLUDE filter mode in the join request, an upstream router forwards
   the multicast packets sent from all sources *except* the specified

   However, practical applications do not use EXCLUDE mode to block
   sources very often, because a user or application usually wants to
   specify desired source addresses, not undesired source addresses.  In
   addition, this scheme leads an implementation cost to mobile hosts
   and complex procedures to maintain coexisting situation of the
   interesting source address lists with INCLUDE filter mode or non-
   interesting source address lists with EXCLUDE filter mode.
   Specifying non-interesting source addresses with EXCLUDE filter mode
   also reduces the advantage of scalable routing tree coordination,
   because an upstream router needs to maintain a shared tree (e.g., RPT
   in PIM-SM [10]) whenever the router receives join request with
   EXCLUDE filter mode from the downstream hosts.  This increases the
   tree maintenance cost to the multicast routers on the routing paths.

   It may be beneficial to implement Lightweight-IGMPv3 (LW-IGMPv3) and
   Lightweight-MLDv2 (LW-MLDv2) [4] for mobile hosts and routers, in
   order to eliminate an EXCLUDE filter mode operation and promote the

Asaeda & Venaas         Expires September 9, 2010               [Page 9]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

   opportunity to simply use SSM in mobile communications.

Asaeda & Venaas         Expires September 9, 2010              [Page 10]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

4.  Interoperability

   This document assumes multicast routers that deal with mobile hosts
   MUST be IGMPv3/MLDv2 capable (regardless whether the protocols are
   the full or lightweight version).  Therefore all interoperability
   conditions are inherited from [2][3][4], and this document does not
   need to consider interoperability with older version protocols.

Asaeda & Venaas         Expires September 9, 2010              [Page 11]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

5.  Timers, Counters, and Their Default Values

   The [Query Interval] is the interval between General Queries sent by
   the regular IGMPv3/MLDv2 querier, and the default value is 125
   seconds [2][3].  By varying the [Query Interval], multicast routers
   can tune the number of IGMP messages on the network; larger values
   cause IGMP Queries to be sent less often.

   The Querier's Query Interval Code (QQIC) field specifies the [Query
   Interval] in the IGMP/MLD query message, and will be tuned by the
   querier.  The actual interval, called the Querier's Query Interval
   (QQI), is derived from QQIC.  Multicast routers that are not the
   current querier adopt the QQI value from the most recently received
   Query as their own [Query Interval] value.

   The [Query Response Interval] is the Max Response Time (or Max
   Response Delay) used to calculate the Max Resp Code inserted into the
   periodic General Queries, and the default value is 10 seconds [2][3].
   By varying the [Query Response Interval], multicast routers can tune
   the burstiness of IGMP/MLD messages on the network; larger values
   make the traffic less bursty, as host responses are spread out over a
   larger interval.

   To cover the possibility of unsolicited reports being missed by
   multicast routers, unsolicited reports are retransmitted [Robustness
   Variable] - 1 more times, at intervals chosen at random from the
   defined range [2][3].  The QRV (Querier's Robustness Variable) field
   in IGMP/MLD Query contains the [Robustness Variable] value used by
   the querier.  Routers adopt the QRV value from the most recently
   received Query as their own [Robustness Variable] value, whose range
   SHOULD be set between "1" to "7".  While the default [Robustness
   Variable] value defined in IGMPv3 [2] and MLDv2 [3] is "2", the
   [Robustness Variable] value announced by the querier MUST NOT be "0"
   and SHOULD NOT be "1".  This document proposes that the [Robustness
   Variable] value SHOULD NOT be bigger than "2" especially when the
   [Query Response Interval] is set smaller than its default value.

   The [Startup Query Interval] is the interval between General Queries
   sent by a Querier on startup.  The default value is 1/4 of [Query
   Interval]; however, this document recommends the use of its
   shortended value such as 1 second since the shorter value would
   contribute to smooth handover for mobile hosts using e.g., PMIPv6
   [12].  Note that the [Startup Query Interval] is a static value and
   cannot be changed by any external signal.  Therefore operators who
   maintain routers and wireless links must properly configure this

Asaeda & Venaas         Expires September 9, 2010              [Page 12]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

6.  Security Considerations


Asaeda & Venaas         Expires September 9, 2010              [Page 13]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

7.  Acknowledgements

   Marshall Eubanks, Gorry Fairhurst, Behcet Sarikaya, Thomas C.
   Schmidt, Jinwei Xia, and others provided many constructive and
   insightful comments.

Asaeda & Venaas         Expires September 9, 2010              [Page 14]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

8.  References

8.1.  Normative References

   [1]   Bradner, S., "Key words for use in RFCs to indicate requirement
         levels", RFC 2119, March 1997.

   [2]   Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
         Thyagarajan, "Internet Group Management Protocol, Version 3",
         RFC 3376, October 2002.

   [3]   Vida, R. and L. Costa, "Multicast Listener Discovery Version 2
         (MLDv2) for IPv6", RFC 3810, June 2004.

   [4]   Liu, H., Cao, W., and H. Asaeda, "Lightweight IGMPv3 and MLDv2
         Protocols", RFC 5790, February 2010.

   [5]   Deering, S., "Host Extensions for IP Multicasting", RFC 1112,
         August 1989.

   [6]   Fenner, W., "Internet Group Management Protocol, Version 2",
         RFC 2236, July 1997.

   [7]   Deering, S., Fenner, W., and B. Haberman, "Multicast Listener
         Discovery (MLD) for IPv6", RFC 2710, October 1999.

   [8]   Holbrook, H. and B. Cain, "Source-Specific Multicast for IP",
         RFC 4607, August 2006.

8.2.  Informative References

   [9]   Asaeda, H. and T. Schmidt, "IGMP and MLD Protocol Extensions
         for Mobility",
         draft-asaeda-multimob-igmp-mld-mobility-extensions-04.txt (work
         in progress), March 2010.

   [10]  Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
         "Protocol Independent Multicast - Sparse Mode (PIM-SM):
         Protocol Specification (Revised)", RFC 4601, August 2006.

   [11]  Fenner, B., He, H., Haberman, B., and H. Sandick, "Internet
         Group Management Protocol (IGMP) / Multicast Listener Discovery
         (MLD)-Based Multicast Forwarding ("IGMP/MLD Proxying")",
         RFC 4605, August 2006.

   [12]  Gundavelli, S, Ed., Leung, K., Devarapalli, V., Chowdhury, K.,
         and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008.

Asaeda & Venaas         Expires September 9, 2010              [Page 15]

Internet-Draft     Tuning the Behavior of IGMP and MLD        March 2010

Authors' Addresses

   Hitoshi Asaeda
   Keio University
   Graduate School of Media and Governance
   5322 Endo
   Fujisawa, Kanagawa  252-8520


   Stig Venaas


Asaeda & Venaas         Expires September 9, 2010              [Page 16]