MULTIMOB Working Group H. Asaeda Internet-Draft Y. Uchida Expires: January 13, 2011 Keio University July 12, 2010 Tuning the Behavior of IGMP and MLD for Mobile Hosts and Routers draft-asaeda-multimob-igmp-mld-optimization-03 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, mainly for a query timer tuning. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on January 13, 2011. 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 (http://trustee.ietf.org/license-info) in effect on the date of 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 Simplified BSD License. Asaeda & Uchida Expires January 13, 2011 [Page 1] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Explicit Tracking of Membership Status . . . . . . . . . . . . 5 3.1. Advantages . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. Considerations . . . . . . . . . . . . . . . . . . . . . . 6 4. IGMP/MLD Query Processing . . . . . . . . . . . . . . . . . . 7 5. Interoperability . . . . . . . . . . . . . . . . . . . . . . . 9 6. Timers, Counters, and Their Default Values . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 14 9.1. Normative References . . . . . . . . . . . . . . . . . . . 14 9.2. Informative References . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 Asaeda & Uchida Expires January 13, 2011 [Page 2] Internet-Draft Tuning the Behavior of IGMP and MLD July 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 maintain multicast membership information 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 upon its movement. 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 multicast membership management condition, IGMP and MLD protocols could be tuned to "ease a mobile host's processing cost or battery power consumption by IGMP/MLD Query transmission timing coordination by routers" 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 & Uchida Expires January 13, 2011 [Page 3] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 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 & Uchida Expires January 13, 2011 [Page 4] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 3. Explicit Tracking of Membership Status 3.1. Advantages 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 network congestion. 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. It enables the router to keep track of the membership status of the downstream IGMPv3 or MLDv2 member hosts. Routers that enable the explicit tracking function can unicast IGMP/ MLD General Query messages. (The possibility of unicast General Query is described in Section 4.) 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 pay attention the messages and induces power consumption to the member hosts. This also allows the upstream router to proceed fast leaves by tuning [Query Interval] value, because the router can immediately converge and update the membership information, ideally. (Section 4 details the point and Section 6 show the potential timer value.) This document therefore recommends to enable the explicit tracking function on adjacent upstream multicast routers. However, this function requires router resources and does not completely eliminate the query-and-report communication between a router and host. Details are described in the following sections. Asaeda & Uchida Expires January 13, 2011 [Page 5] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 3.2. Considerations Even with the explicit tracking function, routers need to maintain downstream membership status by sending IGMPv3/MLDv2 Query messages because of 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. 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 unspecified address (::) or the same IPv6 link-local address. Regarding the last bullet, the IGMPv3 specification [2] mentions that an IGMPv3 Report is usually sent with a valid IP source address, although it 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. The MLDv2 specification [3] mentions that an MLDv2 Report MUST be sent with a valid IPv6 link-local source address, although 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 or sent with the unspecified address, without taking any action, because of the security consideration. Another concern is that the explicit tracking function requires additional processing capability and a possibly large memory for routers to keep all membership status. Especially when a router needs to maintail a large number of receiver hosts, this resource requirement may be potentially-impacted. Operators may decide to disable this function when their routers do not have enough resources. Asaeda & Uchida Expires January 13, 2011 [Page 6] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 4. 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 still 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., whose default value is 125 seconds [2][3]. 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. IGMPv3 and MLDv2 specifications [2][3] describe 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 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). 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 General Query messages do not affect resources of non- member hosts. And since the router recognizes the (mostly) actual member hosts, whether IGMP/MLD General Query messages are transmitted by unicast or multicast, the router can configure longer [Query Interval] value and send IGMP/MLD Group-Specific and Group-and-Source Specific Queries when it recognizes the last member has left from the network. This will reduce the number of both IGMP/MLD General Query and Current-State Report messages. Note that longer query interval may increase join latency and leave Asaeda & Uchida Expires January 13, 2011 [Page 7] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 latency when an unsolicited message with State-Change Record is not reached to the router. There is another concern in unicast General Query. If a multicast router sends General Query "only" by unicast, it cannot discover potential member hosts whose join requests were lost. Since the hosts do not send the same join requests (i.e., unsolicited Report messages) again, they loose the chance to join the channels unless the upstream router asks the membership information by sending General Query by multicast. It will be solved by using both unicast and multicast General Queries and configuring the [Query Interval] timer value for multicast General Query and the [Unicast Query Interval] timer value for unicast General Query as proposed by [9], whereas it will require the protocol extension this document does not focus on. 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 & Uchida Expires January 13, 2011 [Page 8] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 5. Interoperability IGMPv3 [2] and MLDv2 [3] 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 in its join request. Upon its reception, the upstream router that supports IGMPv3/MLDv2 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]. Recently, the Lightweight-IGMPv3 (LW-IGMPv3) and Lightweight-MLDv2 (LW-MLDv2) [4] protocols have been proposed in the IETF. These protocols provide protocol simplicity for mobile hosts and routers, as they eliminate a complex state machine from the full versions of IGMPv3 and MLDv2, and promote the opportunity to implement SSM in mobile communications. This document assumes multicast routers that deal with mobile hosts and 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]. This document does not consider interoperability with older version protocols. Asaeda & Uchida Expires January 13, 2011 [Page 9] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 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. This document proposes to inherit the default [Query Interval] value, 125 seconds, in case that a router enables the explicit tracking function and sends General Query to tracked member hosts by unicast. Nevertheless, the last-hop router may want to configure longer [Query Interval] value such as 150 seconds when operators expect the router will potentially maintains a large number of member hosts such as 1000 hosts on the wireless link. This document also proposes 180 seconds for the [Query Interval] value in case that a router enables the explicit tracking function and sends General Query by multicast. This longer value contributes to minimizing traffic of Report messages and battery power consumption for mobile hosts. Multicast General Query is necessary to update membership information if it is not correctly synchronized due to missing Reports. 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. Its default value is 10 seconds expressed by "100" for IGMPv3 [2] and "10000" for [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, but will increase join latency when State-Change Report is missing. This document proposes 5 seconds (expressed by "50" for IGMPv3 and "5000" for MLDv2) for the [Query Response Interval] value in case that a router enables the explicit tracking function and sends General Query by unicast. This shorter value introduces quick response, which is valuable for the use of unicast General Query. Note that the shorter [Query Response Interval] value may cause sudden increase in a traffic especially when a large number of member hosts attaches on the network; therefore it SHOULD NOT be 1 or smaller second. In case that a router multicasts General Query, the default [Query Response Interval] value, 10 seconds, can be reasonablly used. To cover the possibility of unsolicited reports being missed by multicast routers, unsolicited reports are retransmitted [Robustness Asaeda & Uchida Expires January 13, 2011 [Page 10] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 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". The default [Robustness Variable] value defined in IGMPv3 [2] and MLDv2 [3] is "2". This document proposes "2" for the [Robustness Variable] value for mobility. And whether the explicit tracking function is enabled or not, the [Robustness Variable] value SHOULD NOT be bigger than "2". 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 value. Asaeda & Uchida Expires January 13, 2011 [Page 11] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 7. Security Considerations This document neither provides new functions or modifies the standard functions defined in [2][3][4]. Therefore there is no additional security consideration provided. Asaeda & Uchida Expires January 13, 2011 [Page 12] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 8. Acknowledgements Marshall Eubanks, Gorry Fairhurst, Behcet Sarikaya, Thomas C. Schmidt, Stig Venaas, Jinwei Xia, and others provided many constructive and insightful comments. Asaeda & Uchida Expires January 13, 2011 [Page 13] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 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] 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. 9.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 & Uchida Expires January 13, 2011 [Page 14] Internet-Draft Tuning the Behavior of IGMP and MLD July 2010 Authors' Addresses Hitoshi Asaeda Keio University Graduate School of Media and Governance 5322 Endo Fujisawa, Kanagawa 252-0816 Japan Email: asaeda@wide.ad.jp URI: http://www.sfc.wide.ad.jp/~asaeda/ Yogo Uchida Keio University Graduate School of Media and Governance 5322 Endo Fujisawa, Kanagawa 252-0816 Japan Email: uchida@sfc.wide.ad.jp Asaeda & Uchida Expires January 13, 2011 [Page 15]