Tuning the Behavior of IGMP and MLD for Routers in Mobile and Wireless Networks
Author(s): Qin Wu, Hui Liu, Hitoshi Asaeda
IGMP and MLD are the protocols used by hosts and multicast routers to exchange their IP multicast group memberships with each other. This document describes the ways of IGMPv3 and MLDv2 protocol optimization for mobility, and aims to...
MULTIMOB Working Group H. Asaeda Internet-Draft Keio University Intended status: Informational H. Liu Expires: September 27, 2012 Q. Wu Huawei March 26, 2012 Tuning the Behavior of IGMP and MLD for Routers in Mobile and Wireless Networks draft-ietf-multimob-igmp-mld-tuning-06 Abstract IGMP and MLD are the protocols used by hosts and multicast routers to exchange their IP multicast group memberships with each other. This document describes the ways of IGMPv3 and MLDv2 protocol optimization for mobility, and aims to become a guideline for tuning of IGMPv3/ MLDv2 Queries and timer and counter values. 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 September 27, 2012. Copyright Notice Copyright (c) 2012 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 Asaeda, et al. Expires September 27, 2012 [Page 1] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Explicit Tracking of Membership Status . . . . . . . . . . . . 4 4. Tuning IGMP/MLD Timers and Values . . . . . . . . . . . . . . 4 4.1. Tuning IGMP/MLD General Query Interval . . . . . . . . . . 5 4.2. Tuning IGMP/MLD Query Response Interval . . . . . . . . . 6 4.3. Tuning Last Member Query Timer (LMQT) and Last Listener Query Timer (LLQT) . . . . . . . . . . . . . . . 6 4.4. Tuning Startup Query Interval . . . . . . . . . . . . . . 7 4.5. Tuning Robustness Variable . . . . . . . . . . . . . . . . 7 4.6. Tuning Scenarios for Various Mobile IP Networks . . . . . 8 5. Destination Address of Specific Query . . . . . . . . . . . . 9 6. Interoperability . . . . . . . . . . . . . . . . . . . . . . . 9 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 8. Security Considerations . . . . . . . . . . . . . . . . . . . 10 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10.1. Normative References . . . . . . . . . . . . . . . . . . . 10 10.2. Informative References . . . . . . . . . . . . . . . . . . 10 Appendix A. Unicasting General Query . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 Asaeda, et al. Expires September 27, 2012 [Page 2] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 1. Introduction The Internet Group Management Protocol (IGMP)  for IPv4 and the Multicast Listener Discovery Protocol (MLD)  for IPv6 are the standard protocols for hosts to initiate joining or leaving of multicast sessions. These protocols must be also supported by multicast routers or IGMP/MLD proxies  that maintain multicast membership information on their downstream interfaces. Conceptually, IGMP and MLD work on both wireless and mobile networks. However, wireless access technologies operate on a shared medium or a point- to-point link with limited spectrum 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. The motion of a host may cause disruption of a multicast service initiation and termination in the new or previous network upon its movement. Slow multicast service activation following a join may incur additional delay in receiving multicast packets and degrade reception quality. Slow service termination triggered by a rapid departure of the mobile host without leaving the group in the previous network may waste network resources. When IGMP and MLD are used with mobile IP protocols, the proximity of network entities should be considered. For example, when bi- directional tunnel is used with the mobility entities described in , the mobile host experiences additional latency, because the round-trip time using bi-directional tunnel between mobility entities is larger comparing to the case that a host and an upstream router attach to a LAN. This document describes the ways of tuning the IGMPv3 and MLDv2 protocol behavior on multicast router and proxy side for wireless and mobile networks, including query and related 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. This document does not make any changes to the IGMPv3 and MLDv2 protocls and only suggests optimal settings for the configurable parameters of the protocols in mobile and wireless environments. 2. Terminology In this document, "router" means both multicast router and IGMP/MLD proxy. Asaeda, et al. Expires September 27, 2012 [Page 3] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 3. Explicit Tracking of Membership Status Mobile hosts use IGMP and MLD to request to join or leave multicast sessions. When an adjacent upstream router receives the IGMP/MLD Report messages, it recognizes the membership status on the link. To update the membership status reliably, the router sends IGMP/MLD Query messages periodically, and sends Group-Specific and/or Group- and-Source Specific Queries when a member host reports its leave. 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 "explicit tracking function"  is the possible approach to reduce the transmitted number of IGMP/MLD messages and contribute to the efficiency of mobile communications. It enables the router to keep track of the membership status of the downstream IGMPv3 or MLDv2 member hosts. That is, if a router enables the explicit tracking function, it does not always need to ask Current-State Report message's transmission from the receiver hosts since the router implicitly recognizes the (potential) last member host when it receives the State-Change Report reporting a leave. The router can therefore send IGMP/MLD Group-Specific and Group-and-Source Specific Queries LMQC/LLQC times (see Section 4.3 for LMQC/LLQC) only when it recognizes the last member has left from the network. This reduces the transmitted number of Current-State Report messages. Enabling the explicit tracking function is advantageous for mobile multicast, but the function requires additional processing capability and possibly a large memory for routers to keep all membership status. Especially when a router needs to maintain a large number of receiver hosts, this resource requirement is potentially impacted. Therefore, in this document it is recommended that adjacent upstream multicast routers enable the explicit tracking function for IP multicast communications on wireless and mobile networks, if they have enough resources. If operators think that their routers do not have enough resources, they may disable this function on their routers. Note that whether routers enable the explicit tracking function or not, they need to maintain downstream membership status by sending IGMPv3/MLDv2 General Query messages as some IGMPv3/MLDv2 messages may be lost during transmission. 4. Tuning IGMP/MLD Timers and Values Asaeda, et al. Expires September 27, 2012 [Page 4] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 4.1. Tuning IGMP/MLD General Query Interval IGMP and MLD are non-reliable protocols; to cover the possibility of a State-Change Report being missed by one or more multicast routers, "hosts retransmit the same State-Change Report messages [Robustness Variable] - 1 more times", at intervals chosen at random from the range (0, [Unsolicited Report Interval]) . Although this behavior increases the protocol robustness, it does not guarantee that the State-Change Report reaches the routers. Therefore, routers still need to refresh the downstream membership information by receiving Current-State Report periodically solicited by IGMP/MLD General Query sent in the [Query Interval] period, in order to enhance robustness of the host in case of link failures and packet loss. It also supports the situation that mobile hosts turn off or move from a network to other network managed by a different router without any notification (e.g., leave request). The [Query Interval] is the interval between General Queries sent by the regular IGMPv3/MLDv2 querier, and the default value is 125 seconds . By varying the [Query Interval], multicast routers can tune the number of IGMP/MLD messages on the network; larger values cause IGMP/MLD Queries to be sent less often. This document proposes 150 seconds for the [Query Interval] value by changing the Querier's Query Interval Code (QQIC) field specified in the IGMP/MLD Query message, for the case that a router enabling the explicit tracking function potentially operates a large number of member hosts such as more than 200 hosts on the wireless link. This longer interval value contributes to minimizing traffic of Report messages and battery power consumption for mobile hosts. On the other hand, this document also proposes 60 to 90 seconds for the [Query Interval] value for the case that a router enabling the explicit tracking function attaches to a wireless link with higher capacity. This shorter interval contributes to quick synchronization of the membership information tracked by the router but may consume battery power of mobile hosts. If a router does not enable the explicit tracking function, the [Query Interval] value would be its default value, 125 seconds. In situations where Mobile IPv6  is used, when the home agent implements multicast router functionality and multicast data packets are tunneled to and from the home agent, the home agent may want to slow down Query periodicity. It happens, for example, when the home agent detects network congestion. In this case, the home agent starts forwarding queries with the default [Query Interval] value and increases the value in a gradual manner. Asaeda, et al. Expires September 27, 2012 [Page 5] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 4.2. Tuning IGMP/MLD Query Response Interval 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 "Max Resp Code=100" for IGMPv3  and "Maximum Response Code=10000" for MLDv2 . 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's responses are spread out over a larger interval, but will increase join latency when State-Change Report (i.e., join request) is missing. According to our experimental analysis, this document proposes two tuning scenarios for tuning the [Query Response Interval] value in different wireless link conditions; one scenario is for a wireless link with a lower capacity of network resource or a lossy link, and the other scenario is for a wireless link with enough capacity or reliable condition for IGMP/MLD message transmission. Regarding the first scenario, for instance, when a multicast router attaches to a bursty IEEE 802.11b link, the router configures the longer [Query Response Interval] value, such as 10 to 20 (sec). This configuration will reduce congestion of the Current-State Report messages on a link but may increase join latency and leave latency when the unsolicited messages (State-Change Record) are lost on the router. Note that as defined in Section 4.1.1 of , in IGMPv3, the Max Resp Code larger than 128 represents the exponential values, and changes the granularity. For example, if one wants to set the Max Response Time to 20.0 seconds, the Max Resp Code should be expressed with "0b10001001", which is divided into "mant=0b1001" and "exp=0b000". The second scenario may happen for a multicast router attaching to a wireless link having higher capacity of the resource or a point-to- (multi-)point link such as an IEEE 802.16e link, because IGMP/MLD messages do not seriously affect the link condition. The router can seek Current-State Report messages with the shorter [Query Response Interval] value, such as 5 to 10 (sec). This configuration will contribute to quickly (at some level) discovering non-tracked member hosts and synchronizing the membership information. 4.3. Tuning Last Member Query Timer (LMQT) and Last Listener Query Timer (LLQT) Shortening the Last Member Query Timer (LMQT) for IGMPv3 and the Last Listener Query Timer (LLQT) for MLDv2 contributes to minimizing leave latency. LMQT is represented by the Last Member Query Interval Asaeda, et al. Expires September 27, 2012 [Page 6] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 (LMQI), multiplied by the Last Member Query Count (LMQC), and LLQT is represented by the Last Listener Query Interval (LLQI), multiplied by the Last Listener Query Count (LLQC). While LMQI and LLQI are changeable, it is reasonable to use the default values (i.e., 1 second) for LMQI and LLQI in a wireless network. LMQC and LLQC, whose default value is the [Robustness Variable] value, are also tunable. Therefore, LMQC and LLQC can be set to "1" for routers enabling the explicit tracking function, and then LMQT and LLQT are set to 1 second. However, setting LMQC and LLQC to 1 increases the risk of missing the last member; LMQC and LLQC ought to be set to 1 only when network operators think that their wireless link is stable enough. On the other hand, if network operators think that their wireless link is lossy (e.g., due to a large number of attached hosts or limited resources), they can set LMQC and LLQC to "2" for their routers enabling the explicit tracking function. Although bigger LMQC and LLQC values may cause longer leave latency, the risk of missing the last member will be reduced. 4.4. Tuning Startup Query Interval 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, a shortened value such as 1 second would help contribute to shortening handover delay for mobile hosts in, e.g., the base solution with PMIPv6 . 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 need to properly configure this value. 4.5. Tuning Robustness Variable 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 . The QRV (Querier's Robustness Variable) field in IGMP/MLD Query contains the [Robustness Variable] value used by the querier. The default [Robustness Variable] value defined in IGMPv3  and MLDv2  is "2". This document proposes "2" for the [Robustness Variable] value for mobility, when a router attaches to a wireless link having lower capacity of the resource or a large number of hosts. For a router that attaches to a wireless link having higher capacity or is known to be reliable, it is not required to retransmit the same State- Change Report message; hence the router sets the [Robustness Asaeda, et al. Expires September 27, 2012 [Page 7] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 Variable] to "1". 4.6. Tuning Scenarios for Various Mobile IP Networks In mobile IP networks, IGMP and MLD are used either with three deployment scenarios; (1) running directly between host and access router on a wireless network, (2) running between host and home router through a tunnel link, and (3) running between home router and foreign router through a tunnel link. When a receiver host connects directly through a wireless link to a foreign access router or a home router, the tuning of the IGMP/MLD protocol parameters should be the same as suggested in the previous sections. The example of this scenario occurs when in Proxy Mobile IPv6 (PMIPv6) , the mobile access gateway, whose role is similar to a foreign router, acts as a multicast router or proxy. The second scenario occurs when bi-directional tunnel established between host and home router is used to exchange IGMP/MLD messages such as in . There are difficulties in tuning the parameters in this situation, because the tunnel link condition is diverse and changeable. When a host is far away from the home router, the transmission delay between the two entities may be longer and the packet delivery may be more unreliable. Thus the effects of the IGMP/MLD message transmission through a tunnel link ought to be considered during the parameter setting. For example, the [Query Interval] and [Query Response Interval] could be set shorter to compensate the transmission delay, and the [Robustness Variable] could be increased for possible packet loss. The third scenario occurs in , in which the mobile access gateway (i.e., foreign router) acts as the IGMP/MLD Proxy  in PMIPv6 . Through the bi-directional tunnel established with the local mobility anchor (i.e., home router), the mobile access gateway sends summary reports of its downstream member hosts to the local mobility anchor. Apart from the distance factor that influences the parameter setting, the [Query Response Interval] on the local mobility anchor could be set to a smaller value because the number of the mobile access gateways is much smaller compared to that of the host and the chances of packet burst is low for the same reason. And the power consumption due to a lower query interval is not an issue for the moble access gateways because the mobile access gateways are usually not battery-powered. Ideally, the IGMP/MLD querier router adjusts its parameter setting according to the actual mobile IP network conditions to benefit service performance and resource utilization. It would be desirable that a home router determines aforementioned timers and values Asaeda, et al. Expires September 27, 2012 [Page 8] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 according to the delay between the initiating IGMP/MLD Query and the responding IGMP/MLD Report, while describing such mechanism dynamically adjusting these timers and values is out of scope of this document. 5. Destination Address of Specific Query IGMP/MLD Group-Specific and Group-and-Source Specific Queries defined in  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. Group-specific queries are sent with an IP destination address equal to the multicast address of interest, as defined in . Using the multicast group of interest in the specific query is preferred in this environment because hosts that do not join the multicast session do not pay attention to these specific Queries, and only active member hosts that have been receiving multicast contents with the specified address reply to IGMP/MLD reports. 6. Interoperability 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 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 is required to support Source-Specific Multicast (SSM) . Recently, the Lightweight-IGMPv3 (LW-IGMPv3) and Lightweight-MLDv2 (LW-MLDv2)  protocols have been defined as the proposed standard protocols 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 that both multicast routers and mobile hosts are IGMPv3/MLDv2 capable, regardless whether the protocols are the full or lightweight version. And this document does not consider interoperability with older version protocols. One of the reasons not being interoperable with older IGMP/MLD protocols is that the explicit tracking function does not work properly with older IGMP/MLD Asaeda, et al. Expires September 27, 2012 [Page 9] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 protocols because of a report suppression mechanism; a host would not send a pending IGMP/MLD report if a similar report was sent by another listener on the link. 7. IANA Considerations This document has no actions for IANA. 8. Security Considerations This document neither provides new functions or modifies the standard functions defined in . Therefore there is no additional security consideration provided. 9. Acknowledgements Luis M. Contreras, Marshall Eubanks, Gorry Fairhurst, Dirk von Hugo, Imed Romdhani, Behcet Sarikaya, Stig Venaas, Jinwei Xia, and others provided many constructive and insightful comments. 10. References 10.1. Normative References  Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A. Thyagarajan, "Internet Group Management Protocol, Version 3", RFC 3376, October 2002.  Vida, R. and L. Costa, "Multicast Listener Discovery Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.  Holbrook, H. and B. Cain, "Source-Specific Multicast for IP", RFC 4607, August 2006.  Liu, H., Cao, W., and H. Asaeda, "Lightweight Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Version 2 (MLDv2) Protocols", RFC 5790, February 2010. 10.2. Informative References  Fenner, B., He, H., Haberman, B., and H. Sandick, "Internet Group Management Protocol (IGMP) / Multicast Listener Discovery (MLD)-Based Multicast Forwarding ("IGMP/MLD Proxying")", Asaeda, et al. Expires September 27, 2012 [Page 10] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 RFC 4605, August 2006.  Gundavelli, S, Ed., Leung, K., Devarapalli, V., Chowdhury, K., and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008.  Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC6275, July 2011.  Asaeda, H. and N. Leymann, "IGMP/MLD-Based Explicit Membership Tracking Function for Multicast Routers", draft-ietf-pim-explicit-tracking-00.txt (work in progress), October 2011.  Schmidt, T., Waehlisch, M., and S. Krishnan, "Base Deployment for Multicast Listener Support in Proxy Mobile IPv6 (PMIPv6) Domains", RFC 6224, April 2011.  Perkins, Ed., C., "IP Mobility Support for IPv4, Revised", RFC5944, November 2010. Appendix A. Unicasting General Query This appendix describes the possible IGMP and MLD protocol extensions for further optimization in mobile and wireless environments. It might be beneficial to include the following consideration when the new version or modification of IGMP and MLD protocols are considered in the future. IGMPv3 and MLDv2 specifications  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. In general, the all-hosts multicast address (188.8.131.52) or link-scope all-nodes multicast address (FF02::1) is used as the IP destination address of IGMP/MLD General Query. On the other hand, according to , a router may be able to unicast General Query to the tracked member hosts in [Query Interval], if the router keeps track of membership information (Section 3). Unicasting IGMP/MLD General Query would reduce the drain on battery power of mobile hosts as only the active hosts that have been receiving multicast contents respond the unicast IGMP/MLD General Query messages and non-active hosts do not need to pay attention to the IGMP/MLD Query messages. This also allows the upstream router to proceed fast leaves (or shorten leave latency) by setting LMQC/LLQC smaller, because the router can immediately converge and update the membership information, ideally. Asaeda, et al. Expires September 27, 2012 [Page 11] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 However, there is a 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 retransmit the same join requests (i.e., unsolicited Report messages), they lose 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. However, using two different timers for General Queries would require the protocol extension this document does not focus on. If a router does not distinguish the multicast and unicast General Query Intervals, the router should only use and enable multicast General Query. Also, unicasting General Query does not remove multicasting General Query. Multicast General Query is necessary to update membership information if it is not correctly synchronized due to missing Reports. Therefore, enabling unicast General Query should not be used for the implementation that does not allow to configure different query interval timers as [Query Interval] and [Unicast Query Interval]. If a router does not distinguish these multicast and unicast General Query Intervals, the router should only use and enable multicast General Query. Authors' Addresses Hitoshi Asaeda Keio University Graduate School of Media and Governance 5322 Endo Fujisawa, Kanagawa 252-0882 Japan Email: email@example.com URI: http://www.sfc.wide.ad.jp/~asaeda/ Hui Liu Huawei Technologies Co., Ltd. Huawei Bld., No.3 Xinxi Rd. Shang-Di Information Industry Base Hai-Dian Distinct, Beijing 100085 China Email: firstname.lastname@example.org Asaeda, et al. Expires September 27, 2012 [Page 12] Internet-Draft Tuning the Behavior of IGMP and MLD March 2012 Qin Wu Huawei Technologies Co., Ltd. Site B, Floor 12F, Huihong Mansion No.91 Baixia Rd. Nanjing, Jiangsu 21001 China Email: email@example.com Asaeda, et al. Expires September 27, 2012 [Page 13]