MULTIMOB Working Group H. Asaeda Internet-Draft Keio University Expires: April 29, 2010 October 26, 2009 IGMP and MLD Optimization for Mobile Hosts and Routers draft-asaeda-multimob-igmp-mld-optimization-01 Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. 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. 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- Drafts. 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 http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on April 29, 2010. Copyright Notice Copyright (c) 2009 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 Expires April 29, 2010 [Page 1] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Asaeda Expires April 29, 2010 [Page 2] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 Abstract 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. The optimization includes a query timer tuning and an explicit membership notification operation. 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 . . . . . . . . . . . . . . . . 9 3.4. Multicast Source Filter . . . . . . . . . . . . . . . . . 9 4. Explicit Membership Notification . . . . . . . . . . . . . . . 11 5. Interoperability . . . . . . . . . . . . . . . . . . . . . . . 13 6. Timers, Counters, and Their Default Values . . . . . . . . . . 14 7. Security Considerations . . . . . . . . . . . . . . . . . . . 16 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 9.1. Normative References . . . . . . . . . . . . . . . . . . . 18 9.2. Informative References . . . . . . . . . . . . . . . . . . 18 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 19 Asaeda Expires April 29, 2010 [Page 3] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 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 [7] 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 resources. 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 IGMPv3 and MLDv2 protocol optimization for mobility. The optimization includes a query timer tuning and an explicit membership notification operation. The selective optimization that provides tangible benefits to the mobile hosts and routers is given by "keeping track of downstream hosts' membership status", "varying IGMP/MLD Query types and values to tune the number of responses", and "using a source filtering mechanism in a lightweight manner". Aside from a modified protocol semantic, optional "Notification function" for the IGMPv3 and MLDv2 protocols is introduced. The proposed optimization interoperates with the IGMPv3 and MLDv2 protocols. Asaeda Expires April 29, 2010 [Page 4] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT","SHOULD", "SHOULD NOT", "RECOMMENDED","MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [1]. Asaeda Expires April 29, 2010 [Page 5] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 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. To escape from the trouble, a membership report suppression mechanism was proposed in the traditional IGMP and MLD [4][5][6]. By the report suppression mechanism, a host cancels 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 precluded the function for an upstream router to track membership status. In IGMPv3 [2] and MLDv2 [3], hence the membership report suppression mechanism has been removed, 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 Expires April 29, 2010 [Page 6] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 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 mechanism. o It is impossible to identify mobile hosts when hosts have the same IPv6 link-local address in some mobile routing environment such as PMIPv6 [11]. 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. While this document defines the new [Multicast Query Interval] value (described in Section 6), the standard [Query Interval] value and [Multicast Query Interval] value can be tuned to be longer when the explicit tracking function is enabled at adjacent upstream multicast routers. 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 (224.0.0.1) 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. Asaeda Expires April 29, 2010 [Page 7] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 IGMPv3 and MLDv2 specifications [2][3] mention that a host MUST 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 the message to tracked member hosts in the [Query Interval], if the router keeps track of membership information (Section 3.1). Unicasting IGMP/MLD General Query is effective especially when a small number of mobile hosts attaches to a network. If a multicast router attached on a wireless link enables an explicit tracking function and unicasts IGMP/MLD General Query for each member host, the router may configure longer [Multicast Query Interval] value, which is newly defined in this document and described in Section 6, in order to reduce the number of IGMP/MLD General Query messages via multicast. If either a multicast router does not track the member hosts or a large number of mobile hosts attaches the network, the router multicasts IGMP/MLD General Query with shorter [Multicast Query Interval]. Note that it is necessary to multicast IGMP/MLD General Query even if a router keeps track of member hosts, in order to be robust from lost IGMP/MLD messages sent from downstream hosts. In addition, longer query interval will increase join latency when an unsolicited Join message with State-Change Record requesting joining a multicast session is not reached to the router, or it will increase leave latency when an unsolicited Leave message with State-Change Record requesting leaving a session 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 sources. 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. Asaeda Expires April 29, 2010 [Page 8] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 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 0.0.0.0 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 0.0.0.0. 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 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 consideration. In summary, routers permit that multiple mobile hosts simultaneously use the same IPv4 address, including the 0.0.0.0 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 0.0.0.0 or the unspecified address, they should disable the explicit tracking function (described in Section 3.1) even if it has been enabled. 3.4. Multicast Source Filter 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 sources. 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 Asaeda Expires April 29, 2010 [Page 9] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 interesting source address lists with INCLUDE filter mode or non- interesting source address lists with EXCLUDE filter mode. Furthermore, specifying non-interesting source addresses with EXCLUDE filter mode reduces the advantage of scalable routing tree coordination produced by SSM. 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. While the mobile multicast communication does not prohibit a traditional (*,G) join request (which is a join request with EXCLUDE filter mode without specifying any source address), all other join requests with EXCLUDE filter mode should be eliminated from the mobile multicast communication. Recently, Lightweight-IGMPv3 (LW-IGMPv3) and Lightweight-MLDv2 (LW- MLDv2) [9] are proposed in the IETF MBONED working group. These protocols are the simplified versions of IGMPv3 and MLDv2, and eliminate an EXCLUDE filter mode operation. Not only are LW-IGMPv3 and LW-MLDv2 fully compatible with the full version of these protocols (i.e., the standard IGMPv3 and MLDv2), but also the protocol operations made by hosts and routers are simplified in the lightweight manner, and complicated operations are effectively reduced. LW-IGMPv3 and LW-MLDv2 give the opportunity to grow SSM use. In the lightweight protocols, EXCLUDE mode on the host part is preserved only for EXCLUDE (*,G) join/leave, which denotes a non- source-specific group report (known as the traditional (*,G) join/ leave or Any-Source Multicast (ASM)) and is equivalent to the group membership join/leave triggered by IGMPv2/IGMPv1/MLDv1. This document hence recommends to adopt LW-IGMPv3 and LW-MLDv2 to mobile hosts and routers and eliminate EXCLUDE filter mode operation from mobile hosts. Asaeda Expires April 29, 2010 [Page 10] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 4. Explicit Membership Notification This document proposes an IGMP/MLD Notification operation, in which a mobile host *periodically* sends Current-State Record messages expressing which multicast sessions the host is joining, even the host is not requested to report the membership information by its upstream router (i.e., no reception of General Query message). The IGMP/MLD Notification operation enables the longer [Multicast Query Interval] value for IGMP/MLD General Query than the default [Query Interval]. If mobile hosts support the IGMP/MLD Notification operation, a multicast router can obtain downstream membership information without periodical and spontaneous membership solicitation by IGMP/MLD General Query. The router only needs to refresh downstream membership information by solicited IGMP/MLD General Query to the hosts that do not support the IGMP/MLD Notification operation or leave from network without sending any message to the router. If timers are tuned by dynamic nature of membership, the IGMP/MLD Notification operation reduces the number of IGMP/MLD General Query periodically sent by a router and the total number of IGMP/MLD messages. Since a router only needs to refresh downstream membership information by solicited General Query to hosts that do not support the Notification operation, both [Unicast Query Interval] and [Multicast Query Interval] can be set to longer values. This mechanism may conserve battery power of sleeping hosts, as these hosts do not pay attention to the General Query messages at short intervals. The IGMP/MLD Notification operation also contributes to fast handover, because a host receiving data immediately sends unsolicited reports without waiting for IGMP/MLD General Query at the new network. The [Notification Interval] value (described in Section 6) is the interval of Current-State Records periodically sent by a member host that joins at least one multicast session. Since a mobile host periodically unicasts Current-State Record in [Notification Interval] that is shorter than the regular General Query interval (i.e. [Query Interval] value) and [Multicast Query Interval] and [Unicast Query Interval], even if a router tracking membership status misses State- Change Report that requests a leave operation, the router can operate a leave procedure faster than the regular case. When mobile hosts receive IGMP/MLD General Query, they reset their [Notification Interval] timer value and restart it. When a multicast router works with the Notification operation, it Asaeda Expires April 29, 2010 [Page 11] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 must maintain the following information for each multicast session to recognize receiver host's membership status; 1 Receiver address - indicates an address of a receiver host sending the Current-State Report. 2 Last membership report - indicates the time that the router receives the last Current-State Report. 3 Filter mode - indicates either INCLUDE or EXCLUDE as defined in [2][3]. 4 Source addresses and multicast address - indicates the address pair that the receiver joins. Asaeda Expires April 29, 2010 [Page 12] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 5. 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][9], and this document does not need to consider interoperability with older version protocols. An IGMP/MLD Notification operation is a simple optimization for mobile hosts to spontaneously send IGMP/MLD Current-State Report to their upstream multicast routers. Since a multicast router solicits downstream membership information by IGMP/MLD General Query, non- upgraded mobile hosts can coexist in the network. However, join and leave latency for non-upgraded mobile hosts may become longer due to the longer [Query Interval] timer configuration for multicast routers. Note that the IGMP/MLD Notification operation does not require any modification to multicast routers. Asaeda Expires April 29, 2010 [Page 13] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 6. 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 [Multicast Query Interval] value is calculated from the [Query Interval] value [TODO: We will provide the appropriate [Query Interval] and [Multicast Query Interval] values that would fit in the mobile communication environment based on some experimental results. Tentatively, this document currently defines the default [Query Interval] value is 90 sec. and the default [Multicast Query Interval] value is 180 sec.] 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. [TODO: We will provide the appropriate [Query Response Interval] value that would fit in the mobile communication environment based on some experimental results.] 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 Asaeda Expires April 29, 2010 [Page 14] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 NOT be bigger than "2" especially when the [Query Response Interval] is set smaller than its default value. The default [Notification Interval] value is 60 sec. The [Notification Interval] value MUST be shorter than both [Query Interval] and [Multicast Query Interval] values. Asaeda Expires April 29, 2010 [Page 15] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 7. Security Considerations TBD. Asaeda Expires April 29, 2010 [Page 16] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 8. Acknowledgements Marshall Eubanks, Gorry Fairhurst, Behcet Sarikaya, Thomas C. Schmidt, Jinwei Xia, and others provided many constructive and insightful comments. Asaeda Expires April 29, 2010 [Page 17] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 9. References 9.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] Deering, S., "Host Extensions for IP Multicasting", RFC 1112, August 1989. [5] Fenner, W., "Internet Group Management Protocol, Version 2", RFC 2236, July 1997. [6] Deering, S., Fenner, W., and B. Haberman, "Multicast Listener Discovery (MLD) for IPv6", RFC 2710, October 1999. [7] 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. [8] Holbrook, H. and B. Cain, "Source-Specific Multicast for IP", RFC 4607, August 2006. [9] Liu, H., Cao, W., and H. Asaeda, "Lightweight IGMPv3 and MLDv2 Protocols", draft-ietf-mboned-lightweight-igmpv3-mldv2-06.txt (work in progress), October 2009. 9.2. Informative References [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] Gundavelli, S, Ed., Leung, K., Devarapalli, V., Chowdhury, K., and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008. Asaeda Expires April 29, 2010 [Page 18] Internet-Draft IGMP and MLD Optimization for Mobility October 2009 Author's Address Hitoshi Asaeda Keio University Graduate School of Media and Governance 5322 Endo Fujisawa, Kanagawa 252-8520 Japan Email: asaeda@wide.ad.jp URI: http://www.sfc.wide.ad.jp/~asaeda/ Asaeda Expires April 29, 2010 [Page 19]