Internet Draft Thomas C. Schmidt Matthias Waehlisch Expires: August 2004 FHTW Berlin February 2004 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 August 14, 2004. Abstract This document introduces handover mechanisms for IPv6 mobile multicast listeners and mobile multicast senders. It therefore restates some fundamentals of mobile multicast signaling. Operations are based on a Mobile IPv6 environment with local mobility anchor points. These local anchor points are conformal with a Hierarchical Mobile IPv6 proxy infrastructure. Handover latencies in the proposed scheme remain bound to link switching delays with respect to these local proxy points. The mechanisms described in this document do not rely on assumptions of any specific multicast routing protocol in use. The M-HMIPv6 protocol operations utilize the existing HMIPv6 and MIPv6 messages, without defining any new control messages. Schmidt, Waehlisch Expires - August 2004 [Page 1] M-HMIPv6 February 2004 Table of Contents 1. Terminology....................................................2 2. Introduction...................................................3 3. Overview of M-HMIPv6...........................................4 3.1 Operations of a multicast listener.........................4 3.2 Operations of a multicast sender...........................5 4. Multicast specific extensions of MIPv6 and HMIPv6..............6 4.1 M-HMIPv6 flag in MAP option message........................6 4.2 Use of Home Address Destination Option in mobile multicast.7 4.3 Binding Cache processing...................................7 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..................................8 5.2.1 Operations of the Mobile Node........................8 5.2.2 Operations of the MAP................................8 5.2.3 Buffering............................................9 5.3 Mobile multicast sender....................................9 5.3.1 Operations of the Mobile Node........................9 5.3.2 Operations of the MAP...............................10 5.3.3 Tree initialization procedure.......................10 5.3.4 Buffering...........................................11 5.4 Protocol Timer............................................11 6. Security Considerations.......................................11 References.......................................................11 Acknowledgments..................................................12 Author's Addresses...............................................12 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]. Schmidt, Waehlisch Expires - August 2004 [Page 2] M-HMIPv6 February 2004 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]. 2. Introduction Multicast-based packet distribution plays an important role in real- time applications, as it provides the only efficient, scalable scheme for group communication. However, multicasting itself conceals complex mechanisms for group membership management and routing, which both are of slow convergence. To achieve seamless mobility is one of the most challenging and demanded developments in IP networks today. In conference scenarios each member commonly operates as receiver and as sender for multicast based group communication. In addition, real-time communication such as voice or video over IP places severe temporal requirement on mobility protocols: Seamless handover scenarios need to limit disruptions or delay to less than 100 ms. Jitter disturbances are not to exceed 50 ms. 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 in unicast data. MIPv6 tackles multicast mobility in a rough, bi-directional tunneling approach via the Home Agent, thereby suffering from slow handovers and inefficient forwarding. It is the issue of this document to extend the improved 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 for reconnecting to neighboring MAPs. Handover procedures between MAPs solely built on MIPv6 and HMIPv6 signaling are described within this draft. These mechanisms to not require any specific multicast protocol. Schmidt, Waehlisch Expires - August 2004 [Page 3] M-HMIPv6 February 2004 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. 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 Regional Care-of Address 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]. This does not affect multicast routing trees. When entering a new MAP domain a MN will be eager to sustain multicast connectivity via its previously established MAP. Eventually it will learn of M-HMIPv6 support through router advertisements with MAP option messages, and will then perform a reactive handover. 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. An 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 [8] 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 multicast packet forwarding 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 Schmidt, Waehlisch Expires - August 2004 [Page 4] M-HMIPv6 February 2004 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 transmitting multicast packets along this path a routing tree originating at the MAP will be constructed. Local movement of the MN within a MAP domain thereby 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 Schmidt, Waehlisch Expires - August 2004 [Page 5] M-HMIPv6 February 2004 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 as source address anchored at its current MAP. The routing tree MAY be initiated via bicasting or the initialization procedure described in section 5.3.3. The handover procedure completes 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 extensions of MIPv6 and HMIPv6 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 Schmidt, Waehlisch Expires - August 2004 [Page 6] M-HMIPv6 February 2004 4.2 Use of Home Address Destination Option in mobile multicast 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 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. This requirement deviates from MIPv6 unicast scheme. 4.4 Home Agent Multicast Membership control To provide multicast connectivity to a 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 processing of 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. M-MAPs may be viewed as HA proxies for multicast streams, just as MAPs in the unicast case. 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 Schmidt, Waehlisch Expires - August 2004 [Page 7] M-HMIPv6 February 2004 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 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. Thereafter 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, one for each group/flow to be handed over. 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. An 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 Schmidt, Waehlisch Expires - August 2004 [Page 8] M-HMIPv6 February 2004 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 (see [4] on multicast packet forwarding rules). The M-MAP may control multicast group membership either as a multicast router or as a multicast proxy agent (s. section 4.4). 5.2.3 Buffering Some L2 technologies imply a noticeable offline period for a MN during handover. To compensate for possible packet loss, buffering mechanisms are needed. In M-HMIPv6 M-MAPs may provide automatic replay buffers at the tunnel entry points, to be played out after a MN’s Binding Update occurred. 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 networks, 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 SHOULD start the tree initialization procedure as defined in section 5.3.3 and start a timer. As soon as this timer exceeds MAX_MCASTTREEINIT_TIMEOUT the MN MUST complete the handover Schmidt, Waehlisch Expires - August 2004 [Page 9] M-HMIPv6 February 2004 by terminating multicast group forwarding through its previous M-MAP. Note that these handover steps can be performed stream wise. 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 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 in use, this can be a tardy procedure. The tree initialization procedure provides dedicated instructions for the MN to efficiently bridge the multicast routing convergence gap. A multicast sender MAY initiate a new group tree by bi-casting its packets to its previous and its new point of attachment. The period of bi-casting will last until MAX_MCASTTREEINIT_TIMEOUT is reached and the sender then solely submits its multicast data along the newly erected tree. Bi-casting in the presence of slow routing protocols, though, may result in a significant amount of duplicate traffic. In such cases it may be desirable to proceed in a less communicative scheme. In performing the incommunicative tree initialization procedure the source starts to send probe packets with complete IPv6 header but without payload. This MAY be done about every 10 seconds with two subsequent packets, in the first phase. Subsequence of packets MAY be 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 ). Schmidt, Waehlisch Expires - August 2004 [Page 10] M-HMIPv6 February 2004 Following the first phase the multicast sender SHOULD submit 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.3.4 Buffering To prevent or reduce packet loss during handover the mobile source MAY buffer packets to be sent, while its tunnel to the M-MAP is unestablished. This buffer should be played out as soon as the tunnel re-establishment to the previous MAP has completed. 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. 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. Schmidt, Waehlisch Expires - August 2004 [Page 11] M-HMIPv6 February 2004 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- mipshop-hmipv6-00 (work in progress), October 2003. 6 Koodli, R. "Fast Handovers for Mobile IPv6", draft-ietf-mipshop- fast-mipv6-01 (work in progress), February 2004. 7 Conta, A., Deering, S. "Generic Packet Tunneling in IPv6 Specification", RFC 2473, December 1998. 8 S. Deering, W. Fenner and B. Haberman "Multicast Listener Discovery (MLD) for IPv6", RFC 2710, October 1999. 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 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 Schmidt, Waehlisch Expires - August 2004 [Page 12] M-HMIPv6 February 2004 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 - August 2004 [Page 13]