Internet Draft Thomas C. Schmidt Matthias Waehlisch Expires: January 2004 FHTW Berlin July 2003 Seamless Multicast Handover in a Hierarchical Mobile IPv6 Environment (M-HMIPv6) Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [1]. 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 January 18, 2004. Abstract This document introduces handover mechanisms for mobile IPv6 multicast listeners and mobile multicast senders. Operations are based on a Mobile IPv6 environment with local mobility anchor points. These local anchor points are conformal with a Hierarchical Mobile IPv6 infrastructure. Handover latencies in the proposed scheme remain bound to local link switching delay and local IP address updates by means of latency hiding techniques. The mechanisms described in this document may also be used for simple seamless handovers in unicast communication. The M-HMIPv6 protocol operations utilize the existing HMIPv6 and MIPv6 messages, without defining any new control messages. Schmidt, Waehlisch Expires - January 2004 [Page 1] M-HMIPv6 July 2003 Table of Contents 1. Terminology....................................................2 2. Introduction...................................................3 3. Overview of M-HMIPv6...........................................3 3.1 Operations of a multicast listener..........................4 3.2 Operations of a multicast sender............................4 4. Multicast specific supplements.................................6 4.1 M-HMIPv6 flag in MAP option message.........................6 4.2 Use of Home Address option in mobile multicasts.............6 4.3 Binding Cache processing....................................6 4.4 Home Agent Multicast Membership control.....................7 5. Protocol Details...............................................7 5.1 Operations of all Mobile Nodes..............................7 5.2 Mobile multicast listener...................................7 5.2.1 Operations of the Mobile Node.........................8 5.2.2 Operations of the MAP.................................8 5.3 Mobile multicast sender.....................................9 5.3.1 Operations of the Mobile Node.........................9 5.3.2 Operations of the MAP.................................9 5.3.3 Tree initialization procedure........................10 5.4 Protocol Timer.............................................10 6. Security Considerations.......................................10 References.......................................................11 Acknowledgments..................................................11 Author's Addresses...............................................11 A. A Note on Tunneling...........................................12 1. Terminology The terminology used in this document remains conformal to the definitions in MIPv6 [4] and HMIPv6 [5]. 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 [2]. Schmidt, Waehlisch Expires - January 2004 [Page 2] M-HMIPv6 July 2003 2. Introduction Multicast-based packet distribution plays an important role in real- time applications as it provides the only efficient, scalable solution for group communication. However, multicasting itself conceals complex mechanisms for group membership management and routing, which both are of slow convergence. In conference scenarios such as voice or video over IP each member commonly operates as receiver and as sender for multicast based group communication. To achieve seamless mobility is one of the most challenging and demanded developments in IP networks today. Real-time scenarios place the requirement on mobility protocols to limit disruptions to less than 100 ms and delay or jitter disturbances not to exceed 100 ms or 50 ms respectively. Note that 100 ms is about the duration of a spoken syllable in real-time audio traffic. The fundamental approach to deal with mobility in IPv6 [3] is the Mobile IPv6 Internet Draft [4]. MIPv6 operates address changes on the IP layer transparent to the transport layer as a device moves from one network to the other. MIPv6 involves roundtrip messages for location updates directly with the MNs Home Agent and the Correspondent Node. As these nodes can be far away, MIPv6 may exhibit slow handover performance. The Hierarchical Mobility Management (HMIPv6) Internet Draft [5] introduces a proxy architecture of Mobility Anchor Points (MAPs) to reduce communication delays with respect to the HA. In addition the Fast Handover for Mobile IPv6 Internet Draft [6] proposes delay hiding techniques to further reduce handover times. Neither of the above thoroughly copes with requirements of multicast under mobility. This document addresses the issue of extending a HMIPv6 mobility infrastructure by mechanisms of sending and receiving multicast traffic for the MN. Local MAPs serve as temporary multicast relays to hide partly movement, partly handoff latency of the MN. Handover procedures are designed to limit any disruption or disturbance to the time scale needed to achieve link-local IP address configuration. Handover procedures between MAPs solely built on MIPv6 and HMIPv6 signaling are described within this draft. 3. Overview of M-HMIPv6 This multicast mobility scheme is built on a HMIPv6 environment. HMIPv6 introduces Mobility Anchor Points as proxy elements, which may be best viewed as functions on regional routers. For implementing multicast mobility it is advantageous, but not necessary, that these regional routers provide multicast routing functionality. Schmidt, Waehlisch Expires - January 2004 [Page 3] M-HMIPv6 July 2003 In M-HMIPv6 a mobile multicast node uses its local MAP as anchor point for multicast communication. All multicast traffic is directed through this MAP using the RCoA as multicast subscriber or source address. Traffic forwarding between MN and its MAP is done using a bi-directional tunnel [7]. If a MN changes location within its MAP domain it only registers its new LCoA with the MAP as defined in [5] without affecting multicast routing trees. When entering a new MAP domain a MN will learn of M- HMIPv6 support through router advertisements with MAP option messages. Multicast handover procedures will occur only if the MN changes into a new M-HMIPv6 enabled MAP domain and will then shift multicast traffic from the previous to the current MAP. A M-HMIPv6-aware MN SHOULD use the MAP for multicast communication. However, the MN MAY prefer to use its HA as a multicast anchor point, e.g. in visited networks within its home site. A mobile node, which is not M-HMIPv6 aware, will not use its MAP as a multicast anchor point, but will use the MIPv6 tunnel through the HA instead. In this sense M-HMIPv6 is simply a smooth extension of HMIPv6, which itself smoothly extends MIPv6. 3.1 Operations of a multicast listener To join a multicast group away from home the MN tunnels the MLD listener report to its current MAP using RCoA as source address. The MAP records the group address in its Binding Cache in order to forward multicast packets to the MN and to subscribe for and preserve MNs multicast group membership. When changing its MAP domain the MN submits a Binding Update with its new LCoA to the previous MAP in addition to regular HMIPv6 handover signaling. On its reception the previous MAP redirects forwarding multicast packets to the MN's new LCoA. If multicast support is advertised in the new domain the MN immediately SHOULD join the multicast group through the new MAP. Once multicast group traffic arrives the MN SHOULD send a Binding Update with zero lifetime to its previous MAP to eliminate its Binding Cache entry and end packet forwarding. 3.2 Operations of a multicast sender In a foreign MAP domain a MN initiates multicast-based communication by sending packets through its MAP using RCoA as its source address. As receivers are aware of source addresses and as the mobile RCoA address may change, a Home Address Destination Option MUST be included (s. section 4.2). By sending this way a multicast routing Schmidt, Waehlisch Expires - January 2004 [Page 4] M-HMIPv6 July 2003 tree originating at the MAP will be constructed and local movement within a MAP domain of the MN remains transparent to multicast routing. Sending MCast Traffic to receivers MAP-Domain1 /------------------------------------> +-------+ /-----| MAP1 |-----\ |/----+-------+----\| || || || || || || +-----+ || | AR1 | || +-----+ || || || || || |\-----+-----+ || || \------| MN | || || +-----+ || || || || Movement || || MAP-Domain2 || || +-----+-----/| \/ /------| MN |------/ |/-----+-----+ || || || +-----+ | AR2 | +-----+ || || || |\----+-------+ \-----| MAP2 | +-------+ Sending MCast Traffic to receivers \------------------------------------> Figure 1: Intra-MAP-domain Handover for mobile multicast senders Upon arrival in a new MAP domain the MN submits a Binding Update with its new LCoA to the previously established multicast-forwarding MAP and continues its multicast delivery via this previous MAP (s. figure 1). If multicast support is advertised in the new domain the MN immediately initiates a new multicast routing tree with the new RCoA Schmidt, Waehlisch Expires - January 2004 [Page 5] M-HMIPv6 July 2003 as source address through its current MAP. On tree initiation see section 5.3.3. The handover procedure finishes after a predefined timeout is reached: The mobile multicast source continues to deliver data only via its new MAP and stops forwarding through its previous MAP. 4. Multicast specific supplements 4.1 M-HMIPv6 flag in MAP option message M-HMIPv6 support is advertised within the MAP option message as used for router advertisements according to HMIPv6 [5]. For this purpose an appropriate flag is added in the following way 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Dist | Pref |*|*|*|*|M| Res | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Valid Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Global IP Address for MAP + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Flags: * Used by HMIPv6 M When set indicates that M-HMIPv6 is supported by the current MAP 4.2 Use of Home Address option in mobile multicasts Multicast applications normally are aware of source addresses, which MUST NOT change during ongoing communication. A mobile multicast sender therefore MUST include a home address destination option as defined in [4]. This requirement deviates from MIPv6 multicast scheme. 4.3 Binding Cache processing Schmidt, Waehlisch Expires - January 2004 [Page 6] M-HMIPv6 July 2003 A Correspondent Node receiving multicast packets with Home Address Option in general need not have a Binding Cache Entry for the home address included. A CN therefore MUST NOT verify multicast packets with respect to its Binding Cache. 4.4 Home Agent Multicast Membership control To provide multicast connectivity to mobile multicast listener away from home a HA needs to take care of the local multicast group management. This essentially can be done by either supplying full multicast routing functionalities at the HA, or by a proxy agent function. In the first case it suffices for the HA to observe MNs group membership at the (tunnel) interface. For a multicast proxy function a HA must answer MLD queries according to group membership states of the MN. This is an extension of the specifications in [4]. 5. Protocol Details This section describes M-HMIPv6 operations as are to be performed for multicast traffic in addition to the MIPv6 and HMIPv6 protocols. Two perspectives need a general distinction: Multicast handling for a mobile listener and for a mobile sender. Mobility Anchor Points as defined in [5] attain the role of multicast mobility anchor points (M-MAPs) for mobile group members in M-HMIPv6. All multicast traffic is directed through M-MAPs using RCoA consistently as identifier with respect to the multicast routing tree. As MAPs in the unicast case M-MAPs may be viewed as HA proxies with respect to multicasting. 5.1 Operations of all Mobile Nodes Being at home the MN may either use its Home Agent or, a possibly distinct, regional M-MAP as multicast anchor point. Away from home the MN will learn about regional M-MAPs through router advertisements (s. section 4.1). A MN SHOULD register with the regional M-MAP having the highest preference value. If M-HMIPv6 is not supported regionally the MN first SHOULD attempt to employ a previously established M-MAP relation, second register with its HA. M-MAP presence is advertised via router advertisements with MAP option message as described in section 4.1. 5.2 Mobile multicast listener Any node on a multicast enabled network may subscribe to multicast group membership by using its link-local address in MLD membership Schmidt, Waehlisch Expires - January 2004 [Page 7] M-HMIPv6 July 2003 reports. In doing so a MN cannot expect to experience a smooth handover performance while changing from one network to another. A MN utilizing a HMIPv6 MAP infrastructure can be regarded as eager for decreased handover delays and therefore SHOULD use the M-HMIPv6 M-MAP functionality for other than link locally scoped multicast reception. 5.2.1 Operations of the Mobile Node A mobile multicast listener is registered with its local M-MAP (or HA), where both communicate via a bi-directional tunnel. The MN submits its MLD group membership listener report through this tunnel and answers membership queries of the anchor point. When a Mobile Node changes its network, it performs a Binding Update with its previous M-MAP and re-establishes the tunnel at its new LCoA. Thereby it continues to receive multicast group traffic. On entering a new M-MAP domain a MN - in addition to the above BU - registers with the new M-MAP and establishes a bi-directional tunnel. It immediately sends a MLD listener report through the newly available connection. Once multicast group traffic arrives from the new M-MAP, the MN SHOULD submit a BU with zero lifetime to its previous M-MAP and terminate the corresponding tunnel. Note that a MN SHOULD preserve a previously established M-MAP relation until a new multicast forwarding is completely established. In the case of rapid movement this may lead to a previous multicast anchor point persisting through several hops. 5.2.2 Operations of the MAP M-MAP operations for multicast listener support are completely analog to Home Agent functions as described in [4] and section 4.4. A M-MAP receiving a HMIPv6 BU from a MN will establish a bi-directional tunnel. On reception of a tunneled MLD listener report it will o record multicast group membership in its Binding Cache; o observe and maintain multicast group membership on its specific tunnel interface; o inquire on MNs current group membership as described in [4]; o forward multicast group traffic to the MN (s. [4] on multicast packet forwarding). The M-MAP may control multicast group membership either as a multicast router or as a multicast proxy agent (s. section 4.4). Schmidt, Waehlisch Expires - January 2004 [Page 8] M-HMIPv6 July 2003 5.3 Mobile multicast sender A multicast source sending with its link-local address is immobile with respect to multicast application persistence. A mobile multicast sender MAY tunnel multicast traffic through its HA, using its home address as source address [4]. Triangular routing and significant binding update times lead to expected large handover delays, in general. A MN utilizing a HMIPv6 MAP infrastructure therefore SHOULD use the M-HMIPv6 M-MAP functionality for other than link locally scoped multicast transmissions. 5.3.1 Operations of the Mobile Node A mobile multicast sender is registered with its local M-MAP, where both communicate via a bi-directional tunnel. The MN submits multicast packets through this tunnel with the RCoA as the source address and the home address included in a home address destination option as defined in [4]. When a Mobile Node changes its network, it performs a Binding Update with its previous M-MAP and re-establishes the tunnel at its new LCoA. Thereby it continues to send its multicast group traffic. On entering a new M-MAP domain a MN - in addition to the above BU - registers with the new M-MAP and establishes a bi-directional tunnel. It immediately starts the tree initialization procedure as defined in section 5.3.3 for any of its multicast source streams and starts a timer. As soon as this timer exceeds MAX_MCASTTREEINIT_TIMEOUT the MN MUST complete the handover by terminating multicast group forwarding through its previous M-MAP. A MN, which moves to a new link within the same M-MAP domain before the timeout is reached, performs a BU with its current M-MAP and continues the handover procedure without resetting its timers. A MN, which moves into a new M-MAP domain before the timeout occurred, continues to forward multicast traffic through its previously established old M-MAP, discontinues to communicate via its previously not fully established intermediate M-MAP, resets its timer and restarts the tree initialization procedure for its current M-MAP. Thus in case of rapid movement the MN stays bound with its formerly fully established (or first) M-MAP, serving the last completely erected multicast routing tree. 5.3.2 Operations of the MAP Schmidt, Waehlisch Expires - January 2004 [Page 9] M-HMIPv6 July 2003 M-MAP operations for multicast sender support are completely analog to MAP functions for unicast support as described in [5]. 5.3.3 Tree initialization procedure In preparation for a seamless handover of a multicast sender a shared tree needs to be constructed by the routers originating at the new M- MAP. In general routing trees will be initiated by submitting packets into the appropriate multicast group. Depending on the routing protocol this can be a tardy procedure. The tree initialization procedure provides dedicated instructions for the MN to efficiently bridge the multicast routing convergence gap. In performing this procedure the source starts to send every 10 seconds two subsequent packets addressed to the multicast group in use with the complete IPv6 header but without payload in the first phase. Subsequence of packets is generated with a random interval between zero and 30 milliseconds. This first phase ends at the timeout MAX( (MAX_MCASTTREEINIT_TIMEOUT - MAX_MCASTTREEFLOW_PERIOD ), 0 ). Following the first phase the multicast sender submits the complete multicast traffic for an initialization period of MAX_MCASTTREEFLOW_PERIOD. The tree initialization procedure ends after MAX_MCASTTREEINIT_TIMEOUT is reached with continuous submission of regular traffic. 5.4 Protocol Timer MAX_MCASTTREEINIT_TIMEOUT 180 seconds (Default) 160 seconds (For DVMRP regimes) 0.5 seconds (For PIM-SM regimes) MAX_MCASTTREEFLOW_PERIOD 0.1 seconds (Default) Mobile nodes must allow these variables to be configured by system management. 6. Security Considerations This specification uses the concepts of Mobile IPv6 and Hierarchical Mobile IPv6 mobility management. All security provisions regarding the relation between the Mobile Node and the Home Agents and between the Mobile Node and the Mobility Anchor Points apply equally to this M-HMIPv6 concept. Schmidt, Waehlisch Expires - January 2004 [Page 10] M-HMIPv6 July 2003 References 1 Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. 2 Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 3 Hinden, R. and Deering, S. "Internet Protocol Version 6 Specification", RFC 2460, December 1998. 4 Johnson, D.B., Perkins, C., Arkko, J. "Mobility Support in IPv6", draft-ietf-mobileip-ipv6-24 (work in progress), July 2003. 5 Soliman, H., Castelluccia, C., El-Malki, K., Bellier, L. "Hierarchical Mobile IPv6 mobility management", draft-ietf- mobileip-hmipv6-08 (work in progress), July 2003. 6 Koodli, R. "Fast Handovers for Mobile IPv6", draft-ietf-mobileip- fast-mipv6-06 (work in progress), March 2003. 7 Conta, A., Deering, S. "Generic Packet Tunneling in IPv6 Specification", RFC 2473, December 1998. Acknowledgments The authors would like to thank Stefan Zech (FHTW Berlin), Mark Palkow (DaViKo GmbH) and Hans L. Cycon (FHTW Berlin) for valuable discussions and a joyful collaboration. Author's Addresses Thomas C. Schmidt FHTW Berlin Treskowallee 8 Phone: +49-30-5019-2739 Email: Schmidt@fhtw-berlin.de Matthias Waehlisch FHTW Berlin Treskowallee 8 Email: mw@fhtw-berlin.de Schmidt, Waehlisch Expires - January 2004 [Page 11] M-HMIPv6 July 2003 A. A Note on Tunneling Following the concepts of MIPv6 and HMIPv6 the packet forwarding to and from the Mobile Node is organized by means of a tunnel section spanned to a static anchor component such as a MAP or a Home Agent. Through this technique a MN can hide its movement to CNs or to the routing infrastructure. However, keeping in mind real-time data requirements it is highly desirable to avoid packet encapsulation. Besides the unwanted overhead, a tunnel may hide QoS information of the original packet headers and may require load and jitter generating packet fragmentation, if the tunnel entry point is distinguished from the sender. Tunnelling can be avoided by a direct packet forwarding of the static anchor components. Such forwarding requires a change of packet's source or destination address at the forwarder, which usually conflicts with checksums covering IPv6 pseudo headers. In M-MIPv6 multicast communication from a Mobile Node though carries a MIPv6 extension header, the home address destination option header. This header denotes an alternate source address which enters the pseudo header instead of the original IPv6 header address. Multicast packets sent from the MN therefore could be forwarded by the MAP to the network by replacing source addresses without recalculation of header checksums. Employing such direct packet forwarding would allow a MN to distribute multicast streams without a tunnel. Schmidt, Waehlisch Expires - January 2004 [Page 12]