NETLMM WG S. Gundavelli (Editor) Internet-Draft K. Leung Intended status: Standards Track Cisco Expires: October 26, 2008 V. Devarapalli Azaire Networks K. Chowdhury Starent Networks B. Patil Nokia Siemens Networks April 24, 2008 Proxy Mobile IPv6 draft-ietf-netlmm-proxymip6-12.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. 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 October 26, 2008. Copyright Notice Copyright (C) The IETF Trust (2008). Abstract Network-based mobility management enables IP mobility for a host without requiring its participation in any mobility related Gundavelli (Editor), et al. Expires October 26, 2008 [Page 1] Internet-Draft Proxy Mobile IPv6 April 2008 signaling. The Network is responsible for managing IP mobility on behalf of the host. The mobility entities in the network are responsible for tracking the movements of the host and initiating the required mobility signaling on its behalf. This specification describes a network-based mobility management protocol and is referred to as Proxy Mobile IPv6. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Conventions & Terminology . . . . . . . . . . . . . . . . . . 4 2.1. Conventions used in this document . . . . . . . . . . . . 5 2.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 3. Proxy Mobile IPv6 Protocol Overview . . . . . . . . . . . . . 9 4. Proxy Mobile IPv6 Protocol Security . . . . . . . . . . . . . 15 4.1. Peer Authorization Database (PAD) Example Entries . . . . 16 4.2. Security Policy Database (SPD) Example Entries . . . . . . 16 5. Local Mobility Anchor Operation . . . . . . . . . . . . . . . 17 5.1. Extensions to Binding Cache Entry Data Structure . . . . . 17 5.2. Supported Home Network Prefix Models . . . . . . . . . . . 19 5.3. Signaling Considerations . . . . . . . . . . . . . . . . . 19 5.3.1. Processing Binding Registrations . . . . . . . . . . . 19 5.3.2. Initial Binding Registration (New Mobility Session) . 22 5.3.3. Binding Lifetime Extension (No handoff) . . . . . . . 23 5.3.4. Binding Lifetime Extension (After handoff) . . . . . . 23 5.3.5. Binding De-Registration . . . . . . . . . . . . . . . 24 5.3.6. Constructing the Proxy Binding Acknowledgement Message . . . . . . . . . . . . . . . . . . . . . . . 24 5.4. Multihoming Support . . . . . . . . . . . . . . . . . . . 27 5.4.1. Binding Cache entry lookup considerations . . . . . . 27 5.5. Timestamp Option for Message Ordering . . . . . . . . . . 33 5.6. Routing Considerations . . . . . . . . . . . . . . . . . . 36 5.6.1. Bi-Directional Tunnel Management . . . . . . . . . . . 36 5.6.2. Forwarding Considerations . . . . . . . . . . . . . . 36 5.7. Local Mobility Anchor Address Discovery . . . . . . . . . 37 5.8. Mobile Prefix Discovery Considerations . . . . . . . . . . 38 5.9. Route Optimizations Considerations . . . . . . . . . . . . 38 6. Mobile Access Gateway Operation . . . . . . . . . . . . . . . 38 6.1. Extensions to Binding Update List Entry Data Structure . . 39 6.2. Mobile Node's Policy Profile . . . . . . . . . . . . . . . 40 6.3. Supported Access Link Types . . . . . . . . . . . . . . . 41 6.4. Supported Address Configuration Modes . . . . . . . . . . 41 6.5. Access Authentication & Mobile Node Identification . . . . 42 6.6. Acquiring Mobile Node's Identifier . . . . . . . . . . . . 42 6.7. Home Network Emulation . . . . . . . . . . . . . . . . . . 43 6.8. Link-Local and Global Address Uniqueness . . . . . . . . . 43 6.9. Signaling Considerations . . . . . . . . . . . . . . . . . 44 Gundavelli (Editor), et al. Expires October 26, 2008 [Page 2] Internet-Draft Proxy Mobile IPv6 April 2008 6.9.1. Binding Registrations . . . . . . . . . . . . . . . . 44 6.9.2. Router Solicitation Messages . . . . . . . . . . . . . 52 6.9.3. Default-Router . . . . . . . . . . . . . . . . . . . . 53 6.9.4. Retransmissions and Rate Limiting . . . . . . . . . . 53 6.10. Routing Considerations . . . . . . . . . . . . . . . . . . 54 6.10.1. Transport Network . . . . . . . . . . . . . . . . . . 54 6.10.2. Tunneling & Encapsulation Modes . . . . . . . . . . . 55 6.10.3. Local Routing . . . . . . . . . . . . . . . . . . . . 56 6.10.4. Tunnel Management . . . . . . . . . . . . . . . . . . 56 6.10.5. Forwarding Rules . . . . . . . . . . . . . . . . . . . 56 6.11. Supporting DHCPv6 based Address Configuration on the Access Link . . . . . . . . . . . . . . . . . . . . . . . 58 6.12. Home Network Prefix Renumbering . . . . . . . . . . . . . 59 6.13. Mobile Node Detachment Detection and Resource Cleanup . . 59 6.14. Allowing network access to other IPv6 nodes . . . . . . . 60 7. Mobile Node Operation . . . . . . . . . . . . . . . . . . . . 60 7.1. Moving into a Proxy Mobile IPv6 Domain . . . . . . . . . . 61 7.2. Roaming in the Proxy Mobile IPv6 Domain . . . . . . . . . 62 8. Message Formats . . . . . . . . . . . . . . . . . . . . . . . 62 8.1. Proxy Binding Update Message . . . . . . . . . . . . . . . 62 8.2. Proxy Binding Acknowledgement Message . . . . . . . . . . 64 8.3. Home Network Prefix Option . . . . . . . . . . . . . . . . 65 8.4. Handoff Indicator Option . . . . . . . . . . . . . . . . . 66 8.5. Access Technology Type Option . . . . . . . . . . . . . . 67 8.6. Mobile Node Link-layer Identifier Option . . . . . . . . . 69 8.7. Link-local Address Option . . . . . . . . . . . . . . . . 70 8.8. Timestamp Option . . . . . . . . . . . . . . . . . . . . . 71 8.9. Status Values . . . . . . . . . . . . . . . . . . . . . . 71 9. Protocol Configuration Variables . . . . . . . . . . . . . . . 73 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 74 11. Security Considerations . . . . . . . . . . . . . . . . . . . 75 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 76 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 77 13.1. Normative References . . . . . . . . . . . . . . . . . . . 77 13.2. Informative References . . . . . . . . . . . . . . . . . . 78 Appendix A. Proxy Mobile IPv6 interactions with AAA Infrastructure . . . . . . . . . . . . . . . . . . . 79 Appendix B. Routing State . . . . . . . . . . . . . . . . . . . . 79 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 80 Intellectual Property and Copyright Statements . . . . . . . . . . 82 Gundavelli (Editor), et al. Expires October 26, 2008 [Page 3] Internet-Draft Proxy Mobile IPv6 April 2008 1. Introduction IP mobility for IPv6 hosts is specified in Mobile IPv6 [RFC-3775]. Mobile IPv6 requires client functionality in the IPv6 stack of a mobile node. Exchange of signaling messages between the mobile node and home agent enables the creation and maintenance of a binding between the mobile node's home address and its care-of-address. Mobility as specified in [RFC-3775] requires the IP host to send IP mobility management signaling messages to the home agent, which is located in the network. Network-based mobility is another approach to solving the IP mobility challenge. It is possible to support mobility for IPv6 nodes without host involvement by extending Mobile IPv6 [RFC-3775] signaling messages between a network node and a home agent. This approach to supporting mobility does not require the mobile node to be involved in the exchange of signaling messages between itself and the home agent. A proxy mobility agent in the network performs the signaling with the home agent and does the mobility management on behalf of the mobile node attached to the network. Because of the use and extension of Mobile IPv6 signaling and home agent functionality, this protocol is referred to as Proxy Mobile IPv6 (PMIPv6). Network deployments which are designed to support mobility would be agnostic to the capability in the IPv6 stack of the nodes which it serves. IP mobility for nodes which have mobile IP client functionality in the IPv6 stack as well as those nodes which do not, would be supported by enabling Proxy Mobile IPv6 protocol functionality in the network. The advantages of developing a network based mobility protocol based on Mobile IPv6 are: o Reuse of home agent functionality and the messages/format used in mobility signaling. Mobile IPv6 is a mature protocol with several implementations that have undergone interoperability testing. o A common home agent would serve as the mobility agent for all types of IPv6 nodes. The problem statement and the need for a network based mobility protocol solution has been documented in [RFC-4830]. Proxy Mobile IPv6 is a solution that addresses these issues and requirements. 2. Conventions & Terminology Gundavelli (Editor), et al. Expires October 26, 2008 [Page 4] Internet-Draft Proxy Mobile IPv6 April 2008 2.1. Conventions used in this document 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 [RFC-2119]. 2.2. Terminology All the general mobility related terms used in this document are to be interpreted as defined in the Mobile IPv6 base specification [RFC- 3775]. This document adopts the terms, Local Mobility Anchor (LMA) and Mobile Access Gateway (MAG) from the NETLMM Goals document [RFC- 4831]. This document also provides the following context specific explanation to the following terms used in this document. Proxy Mobile IPv6 Domain (PMIPv6-Domain) Proxy Mobile IPv6 domain refers to the network where the mobility management of a mobile node is handled using the Proxy Mobile IPv6 protocol as defined in this specification. The Proxy Mobile IPv6 domain includes local mobility anchors and mobile access gateways between which security associations can be set up and authorization for sending Proxy Binding Updates on behalf of the mobile nodes can be ensured. Local Mobility Anchor (LMA) Local Mobility Anchor is the home agent for the mobile node in the Proxy Mobile IPv6 domain. It is the topological anchor point for the mobile node's home network prefix and is the entity that manages the mobile node's binding state. The local mobility anchor has the functional capabilities of a home agent as defined in Mobile IPv6 base specification [RFC-3775] with the additional capabilities required for supporting Proxy Mobile IPv6 protocol as defined in this specification. Mobile Access Gateway (MAG) Mobile Access Gateway is a function that manages the mobility related signaling for a mobile node that is attached to its access link. It is responsible for tracking the mobile node's movements to and from the access link and for signaling the mobile node's local mobility anchor. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 5] Internet-Draft Proxy Mobile IPv6 April 2008 Mobile Node (MN) Throughout this document, the term mobile node is used to refer to an IP host or router whose mobility is managed by the network. The mobile node may be an IPv4-only node, IPv6-only node or a dual-stack node and is not required to participate in any IP mobility related signaling for achieving mobility for an IP address that is obtained in that Proxy Mobile IPv6 domain. LMA Address (LMAA) The global address that is configured on the interface of the local mobility anchor and is the transport endpoint of the bi- directional tunnel established between the local mobility anchor and the mobile access gateway. This is the address to where the mobile access gateway sends the Proxy Binding Update messages. When supporting IPv4 traversal, i.e., when the network between the local mobility anchor and the mobile access gateway is an IPv4 network, this address will be an IPv4 address and will be referred to as IPv4-LMAA, as specified in [ID-IPV4-PMIP6]. Proxy Care-of Address (Proxy-CoA) Proxy-CoA is the global address configured on the interface of the mobile access gateway and is the transport endpoint of the tunnel between the local mobility anchor and the mobile access gateway. The local mobility anchor views this address as the Care-of Address of the mobile node and registers it in the Binding Cache entry for that mobile node. When the transport network between the mobile access gateway and the local mobility anchor is an IPv4 network and if the care-of address that is registered at the local mobility anchor is an IPv4 address, the term, IPv4-Proxy-CoA is used, as specified in [ID-IPV4-PMIP6]. Mobile Node's Home Network Prefix (MN-HNP) This is the on-link IPv6 prefix that is always present in the Router Advertisements that the mobile node receives when it is attached to any of the access links in that Proxy Mobile IPv6 domain. This home network prefix is topologically anchored at the mobile node's local mobility anchor. The mobile node configures its interface with an address from this prefix. If the mobile node connects to the Proxy Mobile IPv6 domain through multiple interfaces, simultaneously, each of the connected interfaces will be assigned a unique home network prefix and under a different mobility session. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 6] Internet-Draft Proxy Mobile IPv6 April 2008 Mobile Node's Home Address (MN-HoA) MN-HoA is an address from a mobile node's home network prefix in a Proxy Mobile IPv6 domain. The mobile node will be able to use this address as long as it is attached to the access network that is in the scope of that Proxy Mobile IPv6 domain. Unlike in Mobile IPv6 where the home agent is aware of the home address of the mobile node, in Proxy Mobile IPv6, the mobility entities are only aware of the mobile node's home network prefix and are not always aware of the exact address(es) that the mobile node configured on its interface from that prefix. However, in some configurations and based on the enabled address configuration modes on the access link, the mobility entities in the network can be certain about the exact address configured by the mobile node. Mobile Node's Home Link This is the point-to-point link on which the mobile node obtained its Layer-3 address configuration for the attached interface after it moved into that Proxy Mobile IPv6 domain. This is the link that conceptually follows the mobile node. The network will ensure the mobile node always sees this link with respect to the layer-3 network configuration, on any access link that it attaches to in that Proxy Mobile IPv6 domain. Multihomed Mobile Node A mobile node that connects to the same Proxy Mobile IPv6 domain through more than one interface and uses these interfaces simultaneously is referred to as a multihomed mobile node. Mobile Node Identifier (MN-Identifier) The identity of a mobile node in the Proxy Mobile IPv6 domain. This is the stable identifier of a mobile node that the mobility entities in a Proxy Mobile IPv6 domain can always acquire and use it for predictably identifying a mobile node. This is typically an identifier such as Network Access Identifier (NAI) [RFC-4282] or other identifier such as a Media Access Control (MAC) address. Mobile Node Link-layer Identifier (MN-LL-Identifier) An identifier that identifies the attached interface of a mobile node. For those interfaces that have a link-layer identifier, this identifier can be based on that. The link-layer identifier in some cases is generated by the mobile node and conveyed to the mobile access gateway. This identifier of the attached interface Gundavelli (Editor), et al. Expires October 26, 2008 [Page 7] Internet-Draft Proxy Mobile IPv6 April 2008 must be stable as seen by any of the mobile access gateways in a given Proxy Mobile IPv6 domain. In some other cases, there might not be any link-layer identifier associated with the mobile node's interface. Policy Profile Policy Profile is an abstract term for referring to a set of configuration parameters that are configured for a given mobile node. The mobility entities in the Proxy Mobile IPv6 domain require access to these parameters for providing the mobility management to a given mobile node. The specific details on how the network entities obtain this policy profile is outside the scope of this document. Proxy Binding Update (PBU) A binding registration request message sent by a mobile access gateway to a mobile node's local mobility anchor for establishing a binding between the mobile node's MN-HNP and the Proxy-CoA. Proxy Binding Acknowledgement (PBA) A binding registration reply message sent by a local mobility anchor in response to a Proxy Binding Update request message that it received from a mobile access gateway. Per-MN-Prefix & Shared-Prefix Models The term, Per-MN-Prefix model, is used to refer to an addressing model where there is an unique network prefix assigned for each node. The term, Shared-Prefix model, is used to refer to an addressing model where the prefix is shared by more than one node. This specification supports the Per-MN-Prefix model and does not support the Shared-Prefix model. ALL_ZERO & NON_ZERO Protocol message fields initialized with value 0 in each byte of the field. Ex: An 8-byte link-layer identifier field with the value set to 0 in each of the 8 bytes, or an IPv6 address with the value 0 in all of the 16 bytes. Conversely, the term NON_ZERO is used to refer to any value other than an ALL_ZERO value. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 8] Internet-Draft Proxy Mobile IPv6 April 2008 3. Proxy Mobile IPv6 Protocol Overview This specification describes a network-based mobility management protocol. It is called Proxy Mobile IPv6 and is based on Mobile IPv6 [RFC-3775]. Proxy Mobile IPv6 protocol is intended for providing network-based IP mobility management support to a mobile node, without requiring the participation of the mobile node in any IP mobility related signaling. The mobility entities in the network will track the mobile node's movements and will initiate the mobility signaling and set up the required routing state. The core functional entities in the NETLMM infrastructure are the Local Mobility Anchor (LMA) and the Mobile Access Gateway (MAG). The local mobility anchor is responsible for maintaining the mobile node's reachability state and is the topological anchor point for the mobile node's home network prefix. The mobile access gateway is the entity that performs the mobility management on behalf of a mobile node and it resides on the access link where the mobile node is anchored. The mobile access gateway is responsible for detecting the mobile node's movements to and from the access link and for initiating binding registrations to the mobile node's local mobility anchor. The architecture of a Proxy Mobile IPv6 domain is shown in Figure 1. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 9] Internet-Draft Proxy Mobile IPv6 April 2008 +----+ +----+ |LMA1| |LMA2| +----+ +----+ LMAA1 -> | | <-- LMAA2 | | \\ //\\ \\ // \\ \\ // \\ +---\\------------- //------\\----+ ( \\ IPv4/IPv6 // \\ ) ( \\ Network // \\ ) +------\\--------//------------\\-+ \\ // \\ \\ // \\ \\ // \\ Proxy-CoA1--> | | <-- Proxy-CoA2 +----+ +----+ |MAG1|-----{MN2} |MAG2| +----+ | +----+ | | | MN-HoA1 --> | MN-HoA2 | <-- MN-HoA3 {MN1} {MN3} Figure 1: Proxy Mobile IPv6 Domain Once a mobile node enters a Proxy Mobile IPv6 domain and attaches to an access link, the mobile access gateway on that access link, after identifying the mobile node and acquiring its identity, will determine if the mobile node is authorized for the network-based mobility management service. If the network determines that the network-based mobility management service needs to be offered to that mobile node, the network will ensure that the mobile node using any of the address configuration mechanisms permitted by the network will be able to obtain the address configuration on the connected interface and move anywhere in that Proxy Mobile IPv6 domain. The obtained address configuration includes the address(es) from its home network prefix, the default- router address on the link and other related configuration parameters. From the perspective of the mobile node, the entire Proxy Mobile IPv6 domain appears as a single link, the network ensures that the mobile node believes it is always on the same link where it obtained its initial address configuration, even after Gundavelli (Editor), et al. Expires October 26, 2008 [Page 10] Internet-Draft Proxy Mobile IPv6 April 2008 changing its point of attachment in that network. The mobile node may be an IPv4-only node, IPv6-only node or a dual IPv4/IPv6 node. Based on what is enabled in the network for that mobile node, the mobile node will be able to obtain an IPv4, IPv6 or dual IPv4/IPv6 addresses and move anywhere in that Proxy Mobile IPv6 domain. However, the specific details related to the IPv4 addressing or IPv4 transport support are specified in the companion document [ID-IPV4-PMIP6]. If the mobile node connects to the Proxy Mobile IPv6 domain through multiple interfaces and over multiple access networks, the network will allocate a unique home network prefix for each of the connected interfaces. The mobile node will be able to configure an address(es) on those interfaces from the respective home network prefixes. However, if the mobile node performs an inter-interface handoff by moving its address configuration from one interface to the other and if the local mobility anchor receives a handoff hint from the serving mobile access gateway about the same, the local mobility anchor will assign the same home network prefix that it assigned to the previously attached interface. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 11] Internet-Draft Proxy Mobile IPv6 April 2008 +-----+ +-----+ +-----+ | MN | | MAG | | LMA | +-----+ +-----+ +-----+ | | | MN Attached | | | | | | MN Attached Event from MN/Network | | (Acquire MN-Id and Profile) | | | | |--- Rtr Sol --------->| | | | | | |--- PBU ------------->| | | | | | Accept PBU | | (Allocate MN-HNP, Setup BCE and Tunnel) | | | | |<------------- PBA ---| | | | | Accept PBA | | (Setup Tunnel and Routing) | | | | | |==== Bi-Dir Tunnel ===| | | | |<--------- Rtr Adv ---| | | | | IP Address | | Configuration | | | | | Figure 2: Mobile Node Attachment - Signaling Call Flow Figure 2 shows the signaling call flow when the mobile node enters the Proxy Mobile IPv6 domain. For updating the local mobility anchor about the current location of the mobile node, the mobile access gateway sends a Proxy Binding Update message to the mobile node's local mobility anchor. Upon accepting this Proxy Binding Update message, the local mobility anchor sends a Proxy Binding Acknowledgement message including the mobile node's home network prefix. It also creates the Binding Cache entry and sets up its endpoint of the bi-directional tunnel to the mobile access gateway. The mobile access gateway on receiving the Proxy Binding Gundavelli (Editor), et al. Expires October 26, 2008 [Page 12] Internet-Draft Proxy Mobile IPv6 April 2008 Acknowledgement message sets up its endpoint of the bi-directional tunnel to the local mobility anchor and also sets up the data path for the mobile node's traffic. At this point the mobile access gateway will have all the required information for emulating the mobile node's home link. It sends Router Advertisement messages to the mobile node on the access link advertising the mobile node's home network prefix as the hosted on-link-prefix. The mobile node on receiving these Router Advertisement messages on the access link will attempt to configure its interface either using stateful or stateless address configuration modes, based on the modes that are permitted on that access link. At the end of a successful address configuration procedure, the mobile node will end up with an address from its home network prefix. Once the address configuration is complete, the mobile node has a valid address from its home network prefix at the current point of attachment. The serving mobile access gateway and the local mobility anchor also have proper routing states for handling the traffic sent to and from the mobile node using an address from its home network prefix. The local mobility anchor, being the topological anchor point for the mobile node's home network prefix, receives any packets that are sent to the mobile node by any node in the network. The local mobility anchor forwards these received packets to the mobile access gateway through the bi-directional tunnel. The mobile access gateway on other end of the tunnel, after receiving the packet, removes the outer header and forwards the packet on the access link to the mobile node. However, in some cases the traffic sent from a correspondent node that is locally connected to the mobile access gateway may not be received by the local mobility anchor and may be routed locally by the mobile access gateway. The mobile access gateway acts as the default router on the access link. Any packet that the mobile node sends to any correspondent node will be received by the mobile access gateway and will be sent to its local mobility anchor through the bi-directional tunnel. The local mobility anchor on the other end of the tunnel, after receiving the packet, removes the outer header and routes the packet to the destination. However in some cases the traffic sent to a correspondent node that is locally connected to the mobile access gateway may be locally routed by the mobile access gateway. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 13] Internet-Draft Proxy Mobile IPv6 April 2008 +-----+ +-----+ +-----+ +-----+ | MN | |p-MAG| | LMA | |n-MAG| +-----+ +-----+ +-----+ +-----+ | | | | | |==Bi-Dir Tunnel=| | MN Detached | | | | MN Detached Event | | | | | | | |-- DeReg PBU -->| | | | | | | | Accept PBU | | | (Start MinDelayBeforeBCEDelete Timer) | | | | | |<-------- PBA --| | | | | | MN Attached | | | | | | MN Attached event received | | | from MN or from network | | | (Acquire MN-Id and Profile) | | | | |--- Rtr Sol ------------------------------------->| .... Registration steps as in fig 2. .... | | |==Bi-Dir Tunnel=| | | | | |<------------------------------------ Rtr Adv ----| | | | | MN retains HoA/HNP | | | | Figure 3: Mobile Node Handoff - Signaling Call Flow Figure 3 shows the signaling call flow for the mobile node's handoff from previously attached mobile access gateway (p-MAG) to the newly attached mobile access gateway (n-MAG). This call flow reflects only a specific message ordering, it is possible the registration message from the n-MAG may arrive before the de-registration message from the p-MAG arrives. After obtaining the initial address configuration in the Proxy Mobile IPv6 domain, if the mobile node changes its point of attachment, the mobile access gateway on the previous link will detect the mobile node's detachment from the link and will signal the local mobility Gundavelli (Editor), et al. Expires October 26, 2008 [Page 14] Internet-Draft Proxy Mobile IPv6 April 2008 anchor and will remove the binding and routing state for that mobile node. The local mobility anchor upon receiving this request will identify the corresponding mobility session for which the binding update request was received and once it accepts the request will wait for certain amount of time for allowing the mobile access gateway on the new link to update the binding. However, if it does not receive any binding update request within that given amount of time, it will delete the binding cache entry. The mobile access gateway on the new access link upon detecting the mobile node on its access link will signal the local mobility anchor for updating the binding state. Once that signaling is complete, the mobile node will continue to receive the Router Advertisements containing its home network prefix, making it believe it is still on the same link and it will use the same address configuration on the new access link. 4. Proxy Mobile IPv6 Protocol Security The signaling messages, Proxy Binding Update and Proxy Binding Acknowledgement, exchanged between the mobile access gateway and the local mobility anchor MUST be protected using end-to-end security association(s) offering integrity and data origin authentication. The mobile access gateway and the local mobility anchor MUST implement IPsec for protecting the Proxy Mobile IPv6 signaling messages [RFC-4301]. That is, IPsec is a mandatory to implement security mechanism. However, additional documents may specify alternative mechanisms. As in Mobile IPv6 [RFC-3775], the use of IPsec for protecting mobile node's data traffic is optional. IPsec ESP [RFC-4303] in transport mode with mandatory integrity protection SHOULD be used for protecting the signaling messages. Confidentiality protection of these messages is not required. IKEv2 [RFC-4306] SHOULD be used to set up security associations between the mobile access gateway and the local mobility anchor to protect the Proxy Binding Update and Proxy Binding Acknowledgement messages. The mobile access gateway and the local mobility anchor can use any of the authentication mechanisms, as specified in [RFC- 4306], for mutual authentication. The Mobile IPv6 specification [RFC-3775] requires the home agent to prevent a mobile node from creating security associations or creating binding cache entries for another mobile node's home address. In the protocol described in this document, the mobile node is not involved Gundavelli (Editor), et al. Expires October 26, 2008 [Page 15] Internet-Draft Proxy Mobile IPv6 April 2008 in creating security associations for protecting the signaling messages or sending binding updates. Therefore, the local mobility anchor MUST restrict the creation and manipulation of proxy bindings to specifically authorized mobile access gateways and prefixes. The local mobility anchor MUST be locally configurable to authorize such specific combinations. Additional mechanisms such as a policy store or AAA may be employed, but these are outside the scope of this specification. Unlike in Mobile IPv6 [RFC-3775], these signaling messages do not carry either the Home Address destination option or the Type 2 Routing header and hence the policy entries and security association selectors stay the same. 4.1. Peer Authorization Database (PAD) Example Entries This section describes PAD entries [RFC-4301] on the mobile access gateway and the local mobility anchor. The PAD entries are only example configurations. Note that the PAD is a logical concept and a particular mobile access gateway or a local mobility anchor implementation can implement the PAD in any implementation specific manner. The PAD state may also be distributed across various databases in a specific implementation. mobile access gateway PAD: - IF remote_identity = lma_identity_1 Then authenticate (shared secret/certificate/EAP) and authorize CHILD_SA for remote address lma_address_1 local mobility anchor PAD: - IF remote_identity = mag_identity_1 Then authenticate (shared secret/certificate/EAP) and authorize CHILD_SAs for remote address mag_address_1 Figure 4: PAD Entries The list of authentication mechanisms in the above examples is not exhaustive. There could be other credentials used for authentication stored in the PAD. 4.2. Security Policy Database (SPD) Example Entries This section describes the security policy entries [RFC-4301] on the mobile access gateway and the local mobility anchor required to protect the Proxy Mobile IPv6 signaling messages. The SPD entries are only example configurations. A particular mobile access gateway Gundavelli (Editor), et al. Expires October 26, 2008 [Page 16] Internet-Draft Proxy Mobile IPv6 April 2008 or a local mobility anchor implementation could configure different SPD entries as long as they provide the required security. In the examples shown below, the identity of the mobile access gateway is assumed to be mag_1, the address of the mobile access gateway is assumed to be mag_address_1, and the address of the local mobility anchor is assumed to be lma_address_1. mobile access gateway SPD-S: - IF local_address = mag_address_1 & remote_address = lma_address_1 & proto = MH & local_mh_type = BU & remote_mh_type = BA Then use SA ESP transport mode Initiate using IDi = mag_1 to address lma_address_1 local mobility anchor SPD-S: - IF local_address = lma_address_1 & remote_address = mag_address_1 & proto = MH & local_mh_type = BA & remote_mh_type = BU Then use SA ESP transport mode Figure 5: SPD Entries 5. Local Mobility Anchor Operation The local mobility anchor MUST support the home agent function as defined in [RFC-3775] and additionally the extensions defined in this specification. A home agent with these modifications and enhanced capabilities for supporting the Proxy Mobile IPv6 protocol is referred to as a local mobility anchor. This section describes the operational details of the local mobility anchor. 5.1. Extensions to Binding Cache Entry Data Structure Every local mobility anchor MUST maintain a Binding Cache entry for each currently registered mobile node. Binding Cache entry is a conceptual data structure, described in Section 9.1 of [RFC-3775]. For supporting this specification, the Binding Cache Entry data structure needs to be extended with the following additional fields. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 17] Internet-Draft Proxy Mobile IPv6 April 2008 o A flag indicating whether or not this Binding Cache entry is created due to a proxy registration. This flag is set to value 1 for Binding Cache entries that are proxy registrations and is set to value 0 for all other entries. o The identifier of the registered mobile node, MN-Identifier. This identifier is obtained from the Mobile Node Identifier Option [RFC-4283] present in the received Proxy Binding Update request. o The link-layer identifier of the mobile node's connected interface on the access link. This identifier can be acquired from the Mobile Node Link-layer Identifier option, present in the received Proxy Binding Update request. If the option was not present in the request, the value MUST be set to ALL_ZERO. o The Link-local address of the mobile access gateway on the point- to-point link shared with the mobile node. This is generated by the local mobility anchor after accepting the initial Proxy Binding Update request. o The IPv6 home network prefix that is assigned to the mobile node's connected interface. The home network prefix of the mobile node may have been statically configured in the mobile node's policy profile, or, it may have been dynamically allocated by the local mobility anchor. The IPv6 home network prefix also includes the corresponding prefix length. o The tunnel interface identifier (If-Id) of the bi-directional tunnel between the local mobility anchor and the mobile access gateway where the mobile node is currently anchored. This is internal to the local mobility anchor. The tunnel interface identifier is acquired during the tunnel creation. o The access technology type, using which the mobile node is currently attached. This is obtained from the Access Technology Type option, present in the Proxy Binding Update request. o The 64-bit timestamp value of the most recently accepted Proxy Binding Update request sent for this mobile node. This is the time-of-day on the local mobility anchor, when the message was received. If the Timestamp option is not present in the Proxy Binding Update request (i.e., when the sequence number based scheme is in use), the value MUST be set to ALL_ZERO. Typically, the mobile node's home network prefix is the key for locating a Binding Cache entry in all cases except when there has been an handoff of the mobile node's session to a new mobile access Gundavelli (Editor), et al. Expires October 26, 2008 [Page 18] Internet-Draft Proxy Mobile IPv6 April 2008 gateway and that mobile access gateway is unaware of the home network prefix that was assigned to the handed of session. In such handoff cases, the Binding Cache entry can be located under the considerations specified in Section 5.4.1. 5.2. Supported Home Network Prefix Models This specification supports the Per-MN-Prefix model and does not support the Shared-Prefix model. As per the Per-MN-Prefix model, there will be a unique home network prefix assigned to each mobile node and no other node shares an address (other than the Subnet- Router anycast address [RFC-4291] which is used by the mobile access gateway hosting the prefix on that link). The assigned prefix is unique to a mobile node and also unique to a given interface of the mobile node. If the mobile node attaches to the Proxy Mobile IPv6 domain through multiple interfaces and simultaneously, each of those connected interfaces will be assigned a different prefix. The mobile node's home network prefix is always hosted on the access link where the mobile node is anchored. Conceptually, the entire home network prefix follows the mobile node as it moves within the Proxy Mobile IPv6 domain. The local mobility anchor is not required to perform any proxy ND operations [RFC-4861] for defending the mobile node's home address on the home link. However, from the routing perspective, the home network prefix is topologically anchored on the local mobility anchor. 5.3. Signaling Considerations This section provides the rules for processing the signaling messages. The processing rules specified in this section and other related sections are chained and are in a specific order. When applying these considerations for processing the signaling messages, the specified order MUST be maintained. 5.3.1. Processing Binding Registrations 1. The received Proxy Binding Update message (a Binding Update message with the 'P' flag set to value of 1, format specified in Section 8.1) MUST be authenticated as described in Section 4. When IPsec is used for message authentication, the SPI in the IPsec header [RFC-4306] of the received packet is needed for locating the security association, for authenticating the Proxy Binding Update message. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 19] Internet-Draft Proxy Mobile IPv6 April 2008 2. The local mobility anchor MUST observe the rules described in Section 9.2 of [RFC-3775] when processing Mobility Header in the received Proxy Binding Update request. 3. The local mobility anchor MUST ignore the check, specified in Section 10.3.1 of [RFC-3775], related to the presence of Home Address destination option in the Proxy Binding Update request. 4. The local mobility anchor MUST identify the mobile node from the identifier present in the Mobile Node Identifier option [RFC- 4283] of the Proxy Binding Update request. If the Mobile Node Identifier option is not present in the Proxy Binding Update request, the local mobility anchor MUST reject the request and send a Proxy Binding Acknowledgement message with Status field set to MISSING_MN_IDENTIFIER_OPTION (Missing mobile node identifier option) and the identifier in the Mobile Node Identifier Option carried in the message MUST be set to a zero length identifier. 5. The local mobility anchor MUST apply the required policy checks, as explained in Section 4, to verify the sender is a trusted mobile access gateway, authorized to send Proxy Binding Update requests on behalf of this mobile node. 6. If the local mobility anchor determines that the requesting node is not authorized to send Proxy Binding Update requests for the identified mobile node, it MUST reject the request and send a Proxy Binding Acknowledgement message with Status field set to MAG_NOT_AUTHORIZED_FOR_PROXY_REG (not authorized to send proxy binding registrations). 7. If the local mobility anchor cannot identify the mobile node based on the identifier present in the Mobile Node Identifier option [RFC-4283] of Proxy Binding Update request, it MUST reject the request and send a Proxy Binding Acknowledgement message with Status field set to NOT_LMA_FOR_THIS_MOBILE_NODE (Not local mobility anchor for this mobile node). 8. If the local mobility anchor determines that the mobile node is not authorized for the network-based mobility management service, it MUST reject the request and send a Proxy Binding Acknowledgement message with Status field set to PROXY_REG_NOT_ENABLED (Proxy Registration not enabled). 9. The local mobility anchor MUST apply the considerations specified in Section 5.5, for processing the Sequence Number field and the Timestamp option (if present), in the Proxy Binding Update request. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 20] Internet-Draft Proxy Mobile IPv6 April 2008 10. If the Home Network Prefix option (containing either ALL_ZERO or some prefix value) is not present in the Proxy Binding Update request, the local mobility anchor MUST reject the request and send a Proxy Binding Acknowledgement message with Status field set to MISSING_HOME_NETWORK_PREFIX_OPTION (Missing home network prefix option). 11. If the Handoff Indicator option is not present in the Proxy Binding Update request, the local mobility anchor MUST reject the request and send a Proxy Binding Acknowledgement message with Status field set to MISSING_HANDOFF_INDICATOR_OPTION (Missing handoff indicator option). 12. If the Access Technology Type option is not present in the Proxy Binding Update request, the local mobility anchor MUST reject the request and send a Proxy Binding Acknowledgement message with Status field set to MISSING_ACCESS_TECH_TYPE_OPTION (Missing access technology type option). 13. Considerations specified in Section 5.4.1 MUST be applied for performing the Binding Cache entry existence test. If those checks specified in Section 5.4.1, result in associating the received Proxy Binding Update request to a new mobility session creation request, considerations from Section 5.3.2 (Initial Binding Registration - New Mobility Session), MUST be applied. If those checks result in associating the request to an existing mobility session, the following checks determine the next set of processing rules that needs to be applied. * If the Handoff Indicator field in the Handoff Indicator option present in the request is set to a value of 5 (Handoff state not changed), considerations from Section 5.3.3 (Binding Lifetime Extension- No handoff) MUST be applied. * If the received Proxy Binding Update request has the lifetime value of zero, considerations from Section 5.3.5 (Binding De- Registration) MUST be applied. * For all other cases, considerations from Section 5.3.4 (Binding Lifetime Extension - After handoff) MUST be applied. 14. When sending the Proxy Binding Acknowledgement message with any Status field value, the message MUST be constructed as specified in Section 5.3.6. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 21] Internet-Draft Proxy Mobile IPv6 April 2008 5.3.2. Initial Binding Registration (New Mobility Session) 1. If the Home Network Prefix option present in the Proxy Binding Update request has the value set to ALL_ZERO, the local mobility anchor MUST allocate a prefix and assign it to a new mobility session created for the mobile node. The local mobility anchor MUST ensure the allocated prefix is not in use by any other node or mobility session. 2. If the local mobility anchor is unable to allocate any home network prefix for the mobile node, it MUST reject the request and send a Proxy Binding Acknowledgement message with Status field set to 130 (Insufficient resources). 3. If the Home Network Prefix option present in the request has a specific prefix value, the local mobility anchor before accepting that request, MUST ensure the prefix is owned by the local mobility anchor and further the mobile node is authorized to use that prefix. If the mobile node is not authorized to use that prefix, the local mobility anchor MUST reject the request and send a Proxy Binding Acknowledgement message with Status field set to NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX (Mobile node not authorized to use that prefix). 4. Upon accepting the request, the local mobility anchor MUST create a Binding Cache entry for the mobile node. It must set the fields in the Binding Cache entry to the accepted values for that registration. 5. If there is no existing bi-directional tunnel to the mobile access gateway that sent the request, the local mobility anchor MUST establish a bi-directional tunnel to that mobile access gateway. Considerations from Section 5.6.1 MUST be applied for managing the dynamically created bi-directional tunnel. 6. The local mobility anchor MUST create a prefix route over the tunnel to the mobile access gateway for forwarding any traffic received for the mobile node's home network prefix. The created tunnel and routing state MUST result in the forwarding behavior on the local mobility anchor as specified in Section 5.6.2. 7. The local mobility anchor MUST send the Proxy Binding Acknowledgement message with the Status field set to 0 (Proxy Binding Update Accepted). The message MUST be constructed as specified in Section 5.3.6. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 22] Internet-Draft Proxy Mobile IPv6 April 2008 5.3.3. Binding Lifetime Extension (No handoff) 1. Upon accepting the Proxy Binding Update request for extending the binding lifetime, received from the same mobile access gateway (if the Proxy-CoA address in the Binding Cache entry is the same as the Proxy-CoA address in the request) that last updated the binding, the local mobility anchor MUST update the Binding Cache entry with the accepted registration values. 2. The local mobility anchor MUST send the Proxy Binding Acknowledgement message with the Status field set to 0 (Proxy Binding Update Accepted). The message MUST be constructed as specified in Section 5.3.6. 5.3.4. Binding Lifetime Extension (After handoff) 1. Upon accepting the Proxy Binding Update request for extending the binding lifetime, received from a new mobile access gateway (if the Proxy-CoA address in the Binding Cache entry does not match the Proxy-CoA address in the request) where the mobile node's session is handed off, the local mobility anchor MUST update the Binding Cache entry with the accepted registration values. 2. The local mobility anchor MUST remove the previously created route for the mobile node's home network prefix. Additionally, if there are no other mobile node sessions sharing the dynamically created bi-directional tunnel to the previous mobile access gateway, the tunnel MUST be deleted applying considerations from section 5.6.1 (if the tunnel is a dynamically created tunnel and not a fixed pre-established tunnel). 3. If there is no existing bi-directional tunnel to the mobile access gateway that sent the request, the local mobility anchor MUST establish a bi-directional tunnel to that mobile access gateway. Considerations from Section 5.6.1 MUST be applied for managing the dynamically created bi-directional tunnel. 4. The local mobility anchor MUST create a prefix route over the tunnel to the mobile access gateway for forwarding any traffic received for the mobile node's home network prefix. The created tunnel and routing state MUST result in the forwarding behavior on the local mobility anchor as specified in Section 5.6.2. 5. The local mobility anchor MUST send the Proxy Binding Acknowledgement message with the Status field set to 0 (Proxy Binding Update Accepted). The message MUST be constructed as specified in Section 5.3.6. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 23] Internet-Draft Proxy Mobile IPv6 April 2008 5.3.5. Binding De-Registration 1. If the received Proxy Binding Update request with the lifetime value of zero, has a Source Address in the IPv6 header (or the address in the Alternate Care-of Address option, if the option is present) different from what is present in the Proxy-CoA address field in the Binding Cache entry, the local mobility anchor MUST ignore the request. 2. Upon accepting the Proxy Binding Update request with the lifetime value of zero, the local mobility anchor MUST wait for MinDelayBeforeBCEDelete amount of time, before it deletes the Binding Cache entry. However, it MUST send the Proxy Binding Acknowledgement message with the Status field set to 0 (Proxy Binding Update Accepted). The message MUST be constructed as specified in Section 5.3.6. * During this wait period, the local mobility anchor SHOULD drop the mobile node's data traffic. * During this wait period, if the local mobility anchor receives a valid Proxy Binding Update request for the same mobility session with the lifetime value of greater than zero, and if that request is accepted, then the Binding Cache entry MUST NOT be deleted, but must be updated with the newly accepted registration values and additionally the wait period should be ended. * By the end of this wait period, if the local mobility anchor did not receive any valid Proxy Binding Update request for this mobility session, then it MUST delete the Binding Cache entry and remove the routing state created for that mobility session. 5.3.6. Constructing the Proxy Binding Acknowledgement Message o The local mobility anchor when sending the Proxy Binding Acknowledgement message to the mobile access gateway MUST construct the message as specified below. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 24] Internet-Draft Proxy Mobile IPv6 April 2008 IPv6 header (src=LMAA, dst=Proxy-CoA) Mobility header - BA /* P flag must be set to value of 1 */ Mobility Options - Mobile Node Identifier Option (mandatory) - Home Network Prefix option (mandatory) - Handoff Indicator option (mandatory) - Access Technology Type option (mandatory) - Timestamp Option (optional) - Mobile Node Link-layer Identifier option (optional) - Link-local Address option (optional) Figure 6: Proxy Binding Acknowledgement message format o The Source Address field in the IPv6 header of the message MUST be set to the destination address of the received Proxy Binding Update request. o The Destination Address field in the IPv6 header of the message MUST be set to the source address of the received Proxy Binding Update request. When there is no Alternate Care-of Address option present in the request, the destination address is the same as the Proxy-CoA address, otherwise, the address may not be the same as the Proxy-CoA. o The Mobile Node Identifier option [RFC-4283] MUST be present. The identifier field in the option MUST be copied from the Mobile Node Identifier option in the received Proxy Binding Update request. If the option was not present in the request, the identifier in the option MUST be set to a zero length identifier. o The Home Network Prefix option MUST be present. * If the Status field is set to a value greater than or equal to 128, i.e., if the binding request is rejected, then the prefix value in the Home Network Prefix option MUST be set to the prefix value in the Home Network Prefix option of the received Proxy Binding Update request. But, if the option was not present in the request, the value in the option MUST be set to ALL_ZERO. * For all other cases, the prefix value in the option MUST be set to the allocated prefix value for that mobility session. o The Handoff Indicator option MUST be present. The handoff indicator field in the option MUST be copied from the Handoff Indicator option in the received Proxy Binding Update request. If Gundavelli (Editor), et al. Expires October 26, 2008 [Page 25] Internet-Draft Proxy Mobile IPv6 April 2008 the option was not present in the request, the value in the option MUST be set to zero. o The Access Technology Type option MUST be present. The access technology type field in the option MUST be copied from the Access Technology Type option in the received Proxy Binding Update request. If the option was not present in the request, the value in the option MUST be set to zero. o The Timestamp option MUST be present, if the same option was present in the received Proxy Binding Update request. Considerations from Section 5.5 must be applied for constructing the Timestamp option. o The Mobile Node Link-layer Identifier option MUST be present, if the same option was present in the received Proxy Binding Update request. The link-layer identifier value MUST be copied from the Mobile Node Link-layer Identifier option present in the received Proxy Binding Update request. o The Link-local Address option MUST be present, if the same option was present in the received Proxy Binding Update request. * If the received Proxy Binding Update request has the Link-local Address option with any value other than ALL_ZERO, the same value MUST be copied to the Link-local Address field of the Binding Cache entry and it must also be copied to the Link- local Address option in the reply. * If there is no existing Binding Cache entry (i.e., if this is a request for a new mobility session), then the local mobility anchor MUST generate the link-local address that the mobile access gateway can use on the point-to-point link shared with the mobile node and the same must be copied to the Link-local Address field of the Binding Cache entry and it must also be copied to the Link-local Address option in the reply. * For all other cases, the link-local address in the option MUST be copied from the Link-local Address field of the Binding Cache entry. o If IPsec is used for protecting the signaling messages, the message MUST be protected, using the security association existing between the local mobility anchor and the mobile access gateway. o Unlike in Mobile IPv6 [RFC-3775], the Type 2 Routing header MUST NOT be present in the IPv6 header of the packet. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 26] Internet-Draft Proxy Mobile IPv6 April 2008 5.4. Multihoming Support This specification allows mobile nodes to connect to a Proxy Mobile IPv6 domain through multiple interfaces for simultaneous access. Following are the key aspects of this multihoming support. o When a mobile node connects to a Proxy Mobile IPv6 domain through multiple interfaces for simultaneous access, the local mobility anchor MUST allocate a unique home network prefix for each of the connected interfaces. o The local mobility anchor MUST manage each of the allocated home network prefixes as part of a separate mobility session, each under a separate Binding Cache entry and with its own lifetime. o The local mobility anchor MUST allow for an handoff between two different interfaces of the mobile node. In such a scenario, the home network prefix that is associated with a specific link-layer identifier of the mobile node will be updated with the new link- layer identifier. The decision on when to create a new mobility session and when to update an existing mobility session MUST be based on the Handover hint present in the Proxy Binding Update message and under the considerations specified in this section. 5.4.1. Binding Cache entry lookup considerations There can be multiple Binding Cache entries for a given mobile node. When doing a lookup for a mobile node's Binding Cache entry for processing a received Proxy Binding Update request message, the local mobility anchor MUST apply the following multihoming considerations (in the below specified order). These rules are chained with the processing rules specified in Section 5.3. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 27] Internet-Draft Proxy Mobile IPv6 April 2008 5.4.1.1. Home Network Prefix Option (NON_ZERO Value) present in the request +=====================================================================+ | Registration/De-Registration Message | +=====================================================================+ | HNP (NON_ZERO Value) | +=====================================================================+ | ATT | +=====================================================================+ | MN-LL-Identifier Opt Present | MN-LL-Identifier Opt Not Present | +=====================================================================+ | HI | +==================================+==================================+ | BCE Lookup Key: (Home Network Prefix) | +=====================================================================+ Figure 7: BCE lookup using home network prefix 1. The local mobility anchor MUST verify if there is an existing Binding Cache entry with the home network prefix value matching the prefix value in the Home Network Prefix option of the received Proxy Binding Update request. [BCE(HNP) equals PBU(HNP)] 2. If there does not exist a Binding Cache entry (matching the MN- HNP), the request MUST be considered as a request for creating a new mobility session. 3. If there exists a Binding Cache entry (matching MN-HNP), and if the mobile node identifier in the entry does not match the mobile node identifier in the Mobile Node Identifier option of the received Proxy Binding Update request, the local mobility anchor MUST reject the request with the Status field value set to NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX (mobile node is not authorized for the requesting home network prefix). [BCE(MN- Identifier) not equals PBU(MN-Identifier)] 4. If there exists a Binding Cache entry (matching MN-Identifier and MN-HNP) and if any one or more of these below stated conditions match, the request MUST be considered as a request for updating that Binding Cache entry. [BCE(MN-Identifier) equals PBU(MN- Identifier)] Gundavelli (Editor), et al. Expires October 26, 2008 [Page 28] Internet-Draft Proxy Mobile IPv6 April 2008 * If there is a Mobile Node Link-layer Identifier option present in the request, and if the link-layer identifier value in that option matches the link-layer identifier value in the Binding Cache entry and the access technology type field in the Access Technology Type option present in the request matches the access technology type in the Binding Cache entry. [BCE(ATT, MN-LL-Identifier) equals PBU(ATT, MN-LL-Identifier)] * If the Handoff Indicator field in the Handoff Indicator option present in the request is set to a value of 2 (Handoff between two different interfaces of the mobile node). [PBU(HI) equals 2] * If there is no Mobile Node Link-layer Identifier option present in the request, the link-layer identifier value in the Binding Cache entry is set to ALL_ZERO, the access technology type field in the Access Technology Type option present in the request matches the access technology type in the Binding Cache entry and if the Handoff Indicator field in the Handoff Indicator option present in the request is set to a value of 3 (Handoff between mobile access gateways for the same interface). * If the Proxy-CoA address in the Binding Cache entry matches the source address of the request (or the address in the alternate Care-of Address option, if the option is present) and if the access technology type field in the Access Technology Type option present in the request matches the access technology type in the Binding Cache entry. [BCE(Proxy-CoA, ATT) equals PBU(Proxy-CoA, ATT)]. 5. For all other cases, the message MUST be considered as a request for creating a new mobility session. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 29] Internet-Draft Proxy Mobile IPv6 April 2008 5.4.1.2. Mobile Node Link-layer Identifier Option present in the request +=====================================================================+ | Registration/De-Registration Message | +=====================================================================+ | HNP (ALL_ZERO Value) | +=====================================================================+ | ATT | +=====================================================================+ | MN-LL-Identifier Option Present (NON_ZERO Value) | +=====================================================================+ | HI | +==================================+==================================+ | BCE Lookup Keys: (MN-Identifier + ATT + MN-LL-Identifier) | +=====================================================================+ Figure 8: BCE Lookup using Link-layer Identifier 1. The local mobility anchor MUST verify if there is an existing Binding Cache entry, with the mobile node identifier matching the identifier in the received Mobile Node Identifier option, access technology type matching the value in the received Access Technology Type option and the link-layer identifier value matching the identifier in the received Mobile Node Link-layer Identifier option. [BCE(MN-Identifier, ATT, MN-LL-Identifier) equals PBU(MN-Identifier, ATT, MN-LL-Identifier)] 2. If there exists a Binding Cache entry (matching MN-Identifier, ATT and MN-LL-Identifier), the request MUST be considered as a request for updating that Binding Cache entry. 3. If there does not exist a Binding Cache entry (matching MN- Identifier, ATT and MN-LL-Identifier) and the Handoff Indicator field in the Handoff Indicator option present in the request is set to a value of 2 (Handoff between two different interfaces of the mobile node). The local mobility anchor MUST apply the following additional considerations. [PBU(HI) equals 2] * The local mobility anchor MUST verify if there exists one and only one Binding Cache entry with the mobile node identifier matching the identifier in the Mobile Node Identifier option present in the request and for any link-layer identifier value. If there exists only one such entry (matching the MN- Gundavelli (Editor), et al. Expires October 26, 2008 [Page 30] Internet-Draft Proxy Mobile IPv6 April 2008 Identifier), the request MUST be considered as a request for updating that Binding Cache entry. [BCE(MN-Identifier) equals PBU(MN-Identifier)] 4. If there does not exist a Binding Cache entry (matching MN- Identifier, ATT and MN-LL-Identifier) and if the Handoff Indicator field in the Handoff Indicator option present in the request is set to a value of 4 (Handoff state unknown), the local mobility anchor MUST apply the following additional considerations. * The local mobility anchor MUST verify if there exists one and only one Binding Cache entry with the mobile node identifier matching the identifier in the Mobile Node Identifier option present in the request and for any link-layer identifier value. If there exists only one such entry (matching the MN- Identifier), the local mobility anchor SHOULD wait till the existing Binding Cache entry is de-registered by the previously serving mobile access gateway, before the request can be considered as a request for updating that Binding Cache entry. However, if there is no de-registration message that is received within MaxDelayBeforeNewBCEAssign amount of time, the local mobility anchor upon accepting the request MUST consider the request as a request for creating a new mobility session. The local mobility anchor MAY also choose to create a new mobility session and without waiting for a de- registration message and this should be configurable on the local mobility anchor. 5. For all other cases, the message MUST be considered as a request for creating a new mobility session. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 31] Internet-Draft Proxy Mobile IPv6 April 2008 5.4.1.3. Mobile Node Link-layer Identifier Option not present in the request +=====================================================================+ | Registration/De-Registration Message | +=====================================================================+ | HNP (ALL_ZERO Value) | +=====================================================================+ | ATT | +=====================================================================+ | MN-LL-Identifier Option Not Present | +=====================================================================+ | HI | +==================================+==================================+ | BCE Lookup Key: (MN-Identifier) | +=====================================================================+ Figure 9: BCE Lookup using Mobile Node Identifier 1. The local mobility anchor MUST verify if there exists one and only one Binding Cache entry with the mobile node identifier matching the identifier in the Mobile Node Identifier option present in the request. 2. If there exists only one such entry (matching the MN-Identifier) and the Handoff Indicator field in the Handoff Indicator option present in the request is set to a value of 2 (Handoff between two different interfaces of the mobile node), the request MUST be considered as a request for updating that Binding Cache entry. [PBU(HI) equals 2] 3. If there exists only one such entry (matching the MN-Identifier) and the Handoff Indicator field in the Handoff Indicator option present in the request is set to a value of 4 (Handoff state unknown), the local mobility anchor SHOULD wait till the existing Binding Cache entry is de-registered by the previously serving mobile access gateway, before the request can be considered as a request for updating that Binding Cache entry. However, if there is no de-registration message that is received within MaxDelayBeforeNewBCEAssign amount of time, the local mobility anchor upon accepting the request MUST consider the request as a request for creating a new mobility session. The local mobility anchor MAY also choose to create a new mobility session and without waiting for a de-registration message and this should be Gundavelli (Editor), et al. Expires October 26, 2008 [Page 32] Internet-Draft Proxy Mobile IPv6 April 2008 configurable on the local mobility anchor. 4. For all other cases, the message MUST be considered as a request for creating a new mobility session. 5.5. Timestamp Option for Message Ordering Mobile IPv6 [RFC-3775] uses the Sequence Number field in binding registration messages as a way for the home agent to process the binding updates in the order they were sent by a mobile node. The home agent and the mobile node are required to manage this counter over the lifetime of a binding. However, in Proxy Mobile IPv6, as the mobile node moves from one mobile access gateway to another and in the absence of mechanisms such as context transfer between the mobile access gateways, the serving mobile access gateway will be unable to determine the sequence number that it needs to use in the signaling messages. Hence, the sequence number scheme, as specified in [RFC-3775], will be insufficient for Proxy Mobile IPv6. If the local mobility anchor cannot determine the sending order of the received binding registration messages, it may potentially process an older message sent by a mobile access gateway where the mobile node was previously anchored, resulting in an incorrect Binding Cache entry. For solving this problem, this specification adopts two alternative solutions. One is based on timestamps and the other based on sequence numbers, as defined in [RFC-3775]. The basic principle behind the use of timestamps in binding registration messages is that the node generating the message inserts the current time-of-day, and the node receiving the message checks that this timestamp is greater than all previously accepted timestamps. The timestamp based solution may be used when the serving mobile access gateways in a Proxy Mobile IPv6 domain do not have the ability to obtain the last sequence number that was sent in a binding registration message for updating a given mobile node's binding. As an alternative to the Timestamp based approach, the specification also allows the use of Sequence Number based scheme, as specified in [RFC-3775]. However, for this scheme to work, the serving mobile access gateways in a Proxy Mobile IPv6 domain MUST have the ability to obtain the last sequence number that was sent in a binding registration message for updating a given mobile node's binding. The sequence number MUST be maintained on a per mobile node basis and MUST be synchronized between the serving mobile access gateways. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 33] Internet-Draft Proxy Mobile IPv6 April 2008 This may be achieved by using context transfer schemes or by maintaining the sequence number in a policy store. However, the specific details on how the mobile node's sequence number is synchronized between different mobile access gateways is outside the scope of this document. Using the Timestamps based approach: 1. A local mobility anchor implementation MUST support the Timestamp option. If the Timestamp option is present in the received Proxy Binding Update request message, then the local mobility anchor MUST include a valid Timestamp option in the Proxy Binding Acknowledgement message that it sends to the mobile access gateway. 2. All the mobility entities in a Proxy Mobile IPv6 domain that are exchanging binding registration messages using the Timestamp option MUST have adequately synchronized time-of-day clocks. This is the essential requirement for this solution to work. If this requirement is not met, the solution will not predictably work in all cases. 3. The mobility entities in a Proxy Mobile IPv6 domain SHOULD synchronize their clocks to a common time source. For synchronizing the clocks, the nodes MAY use the Network Time Protocol [RFC-4330]. Deployments MAY also adopt other approaches suitable for that specific deployment. Alternatively, if there is mobile node generated timestamp that is increasing at every attachment to the access link and if that timestamp is available to the mobile access gateway (Ex: The timestamp option in the SEND messages that the mobile node sends), the mobile access gateway can use this timestamp or sequence number in the Proxy Binding Update messages and does not have to depend on any external clock source. However, the specific details on how this is achieved is outside the scope of this document. 4. When generating the timestamp value for building the Timestamp option, the mobility entities MUST ensure that the generated timestamp is the elapsed time past the same reference epoch, as specified in the format for the Timestamp option (Section 8.8). 5. If the Timestamp option is present in the received Proxy Binding Update message, the local mobility anchor MUST ignore the sequence number field in the message. However, it MUST copy the sequence number from the received Proxy Binding Update message to the Proxy Binding Acknowledgement message. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 34] Internet-Draft Proxy Mobile IPv6 April 2008 6. Upon receipt of a Proxy Binding Update message with the Timestamp option, the local mobility anchor MUST check the timestamp field for validity. In order for it to be considered valid, the timestamp value contained in the Timestamp option MUST be close enough (within TimestampValidityWindow amount of time difference) to the local mobility anchor's time-of-day clock and the timestamp MUST be greater than all previously accepted timestamps in the Proxy Binding Update messages sent for that mobile node. 7. If the timestamp value in the received Proxy Binding Update is valid (validity as specified in the above considerations), the local mobility anchor MUST return the same timestamp value in the Timestamp option included in the Proxy Binding Acknowledgement message that it sends to the mobile access gateway. 8. If the timestamp value in the received Proxy Binding Update is lower than the previously accepted timestamp in the Proxy Binding Update messages sent for that mobility binding, the local mobility anchor MUST reject the Proxy Binding Update request and send a Proxy Binding Acknowledgement message with Status field set to TIMESTAMP_LOWER_THAN_PREV_ACCEPTED (Timestamp lower than previously accepted timestamp). The message MUST also include the Timestamp option with the value set to the current time-of- day on the local mobility anchor. 9. If the timestamp value in the received Proxy Binding Update is not valid (validity as specified in the above considerations), the local mobility anchor MUST reject the Proxy Binding Update and send a Proxy Binding Acknowledgement message with Status field set to TIMESTAMP_MISMATCH (Timestamp mismatch). The message MUST also include the Timestamp option with the value set to the current time-of-day on the local mobility anchor. Using the Sequence Number based approach: 1. If the Timestamp option is not present in the received Proxy Binding Update request, the local mobility anchor MUST fall back to the Sequence Number based scheme. It MUST process the sequence number field as specified in [RFC-3775]. Also, it MUST NOT include the Timestamp option in the Proxy Binding Acknowledgement messages that it sends to the mobile access gateway. 2. An implementation MUST support the Sequence Number based scheme, as specified in [RFC-3775]. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 35] Internet-Draft Proxy Mobile IPv6 April 2008 3. The Sequence Number based approach can be used only when there is some mechanism (such as context transfer procedure between mobile access gateways) that allows the serving mobile access gateway to obtain the last sequence number that was sent in a binding registration message for updating a given mobile node's binding. 5.6. Routing Considerations 5.6.1. Bi-Directional Tunnel Management The bi-directional tunnel MUST be used for routing the mobile node's data traffic between the mobile access gateway and the local mobility anchor. A tunnel hides the topology and enables a mobile node to use an address from its home network prefix from any access link in that Proxy Mobile IPv6 domain. A tunnel may be created dynamically when needed and removed when not needed. However, implementations MAY choose to use static pre-established tunnels instead of dynamically creating and tearing them down on a need basis. The following considerations MUST be applied when using dynamic tunnels. o A bi-directional tunnel MUST be established between the local mobility anchor and the mobile access gateway with IP-in-IP encapsulation, as described in [RFC-2473]. The tunnel end points are the Proxy-CoA and LMAA. When using IPv4 transport, the end points of the tunnel are the IPv4-LMAA and IPv4-Proxy-CoA, as specified in [ID-IPV4-PMIP6]. o Implementations can use a software timer for managing the tunnel lifetime and a counter for keeping a count of all the mobile nodes that are sharing the tunnel. The timer value can be set to the accepted binding lifetime and can be updated after each periodic re-registration for extending the lifetime. If the tunnel is shared for multiple mobile nodes, the tunnel lifetime must be set to the highest binding lifetime that is granted to any one of those mobile nodes sharing that tunnel. o The tunnel MUST be deleted when either the tunnel lifetime expires or when there are no mobile nodes sharing the tunnel. 5.6.2. Forwarding Considerations Intercepting Packets Sent to the Mobile Node's Home Network: o When the local mobility anchor is serving a mobile node, it MUST be able to receive packets that are sent to the mobile node's home network. In order for it to receive those packets, it MUST advertise a connected route in to the Routing Infrastructure for Gundavelli (Editor), et al. Expires October 26, 2008 [Page 36] Internet-Draft Proxy Mobile IPv6 April 2008 the mobile node's home network prefix or for an aggregated prefix with a larger scope. This essentially enables IPv6 routers in that network to detect the local mobility anchor as the last-hop router for that prefix. Forwarding Packets to the Mobile Node: o On receiving a packet from a correspondent node with the destination address matching a mobile node's home network prefix, the local mobility anchor MUST forward the packet through the bi- directional tunnel set up for that mobile node. The format of the tunneled packet is shown below. Considerations from [RFC-2473] MUST be applied for IPv6 encapsulation. However, when using IPv4 transport, the format of the packet is as described in [ID-IPV4- PMIP6]. IPv6 header (src= LMAA, dst= Proxy-CoA /* Tunnel Header */ IPv6 header (src= CN, dst= MN-HOA ) /* Packet Header */ Upper layer protocols /* Packet Content*/ Figure 10: Tunneled Packets from LMA to MAG Forwarding Packets Sent by the Mobile Node: o All the reverse tunneled packets that the local mobility anchor received from the mobile access gateway, after removing the tunnel header MUST be routed to the destination specified in the inner packet header. These routed packets will have the source address field set to the mobile node's home address. Considerations from [RFC-2473] MUST be applied for IPv6 decapsulation. 5.7. Local Mobility Anchor Address Discovery Dynamic Home Agent Address Discovery (DHAAD), as explained in Section 10.5 of [RFC-3775], allows a mobile node to discover all the home agents on its home link by sending an ICMP Home Agent Address Discovery Request message to the Mobile IPv6 Home-Agents anycast address, derived from its home network prefix. The DHAAD message in the current form cannot be used in Proxy Mobile IPv6 for discovering the address of the mobile node's local mobility anchor. In Proxy Mobile IPv6, the local mobility anchor will not be able to receive any messages sent to the Mobile IPv6 Home-Agents Gundavelli (Editor), et al. Expires October 26, 2008 [Page 37] Internet-Draft Proxy Mobile IPv6 April 2008 anycast address corresponding to the mobile node's home network prefix, as the prefix is not hosted on any of its interfaces. Further, the mobile access gateway will not predictably be able to locate the serving local mobility anchor that has the mobile node's binding cache entry. Hence, this specification does not support Dynamic Home Agent Address Discovery protocol. In Proxy Mobile IPv6, the address of the local mobility anchor configured to serve a mobile node can be discovered by the mobility entities in other ways. This may be a configured entry in the mobile node's policy profile, or it may be obtained through mechanisms outside the scope of this document. 5.8. Mobile Prefix Discovery Considerations This specification does not support mobile prefix discovery. The mobile prefix discovery mechanism as specified in [RFC-3775] is not applicable to Proxy Mobile IPv6. 5.9. Route Optimizations Considerations The Route Optimization in Mobile IPv6, as defined in [RFC-3775], enables a mobile node to communicate with a correspondent node directly using its care-of address and further the Return Routability procedure enables the correspondent node to have reasonable trust that the mobile node is reachable at both its home address and care-of address. In Proxy Mobile IPv6, the mobile node is not involved in any IP mobility related signaling. The mobile node uses only its home address for all its communication and the Care-of address (Proxy-CoA) is not visible to the mobile node. Hence, the Return Routability procedure as defined in Mobile IPv6 [RFC-3775] cannot be used in Proxy Mobile IPv6. 6. Mobile Access Gateway Operation The Proxy Mobile IPv6 protocol described in this document introduces a new functional entity, the Mobile Access Gateway (MAG). The mobile access gateway is the entity that is responsible for detecting the mobile node's movements to and from the access link and sending the binding registration requests to the local mobility anchor. In essence, the mobile access gateway performs mobility management on behalf of a mobile node. The mobile access gateway is a function that typically runs on an access router. However, implementations MAY choose to split this Gundavelli (Editor), et al. Expires October 26, 2008 [Page 38] Internet-Draft Proxy Mobile IPv6 April 2008 function and run it across multiple systems. The specifics on how that is achieved or the signaling interactions between those functional entities are beyond the scope of this document. The mobile access gateway has the following key functional roles: o It is responsible for detecting the mobile node's movements on the access link and for initiating the mobility signaling with the mobile node's local mobility anchor. o Emulation of the mobile node's home link on the access link by sending Router Advertisements with the mobile node's home network prefix information. o Responsible for setting up the data path for enabling the mobile node to configure an address from its home network prefix and use it from its access link. 6.1. Extensions to Binding Update List Entry Data Structure Every mobile access gateway MUST maintain a Binding Update List. Each entry in the Binding Update List represents a mobile node's mobility binding with its local mobility anchor. The Binding Update List is a conceptual data structure, described in Section 11.1 of [RFC-3775]. For supporting this specification, the conceptual Binding Update List entry data structure needs be extended with the following additional fields. o The Identifier of the attached mobile node, MN-Identifier. This identifier is acquired during the mobile node's attachment to the access link through mechanisms outside the scope of this document. o The link-layer identifier of the mobile node's connected interface. This can be acquired from the received Router Solicitation messages from the mobile node or during the mobile node's attachment to the access network. This is typically a Link-layer identifier conveyed by the mobile node; however, the specific details on how that is conveyed is out of scope for this specification. If this identifier is not available, the value MUST be set to ALL_ZERO. o The IPv6 home network prefix of the attached mobile node. The home network prefix of the mobile node is acquired from the mobile node's local mobility anchor through the received Proxy Binding Acknowledgement messages. The IPv6 home network prefix also Gundavelli (Editor), et al. Expires October 26, 2008 [Page 39] Internet-Draft Proxy Mobile IPv6 April 2008 includes the corresponding prefix length. o The Link-local address of the mobile node on the interface attached to the access link. o The IPv6 address of the local mobility anchor serving the attached mobile node. This address is acquired from the mobile node's policy profile or from other means. o The interface identifier (If-Id) of the point-to-point link between the mobile node and the mobile access gateway. This is internal to the mobile access gateway and is used to associate the Proxy Mobile IPv6 tunnel to the access link where the mobile node is attached. o The tunnel interface identifier (If-Id) of the bi-directional tunnel between the mobile node's local mobility anchor and the mobile access gateway. This is internal to the mobile access gateway. The tunnel interface identifier is acquired during the tunnel creation. 6.2. Mobile Node's Policy Profile A mobile node's policy profile contains the essential operational parameters that are required by the network entities for managing the mobile node's mobility service. These policy profiles are stored in a local or a remote policy store. The mobile access gateway and the local mobility anchor MUST be able to obtain a mobile node's policy profile. The policy profile MAY also be handed over to a serving mobile access gateway as part of a context transfer procedure during a handoff or the serving mobile access gateway MAY be able to dynamically generate this profile. The exact details on how this achieved is outside the scope of this document. However, this specification requires that a mobile access gateway serving a mobile node MUST have access to its policy profile. The following are the mandatory fields of the policy profile: o The mobile node's identifier (MN-Identifier) o The IPv6 address of the local mobility anchor (LMAA) The following are the optional fields of the policy profile: o The mobile node's IPv6 home network prefix (MN-HNP) Gundavelli (Editor), et al. Expires October 26, 2008 [Page 40] Internet-Draft Proxy Mobile IPv6 April 2008 o The mobile node's IPv6 home network Prefix lifetime o Supported address configuration procedures (Stateful, Stateless or both) for the mobile node in the Proxy Mobile IPv6 domain 6.3. Supported Access Link Types This specification supports only point-to-point access link types and thus it assumes that the mobile node and the mobile access gateway are the only two nodes on the access link. The link is assumed to have multicast capability. This protocol may also be used on other link types, as long as the link is configured in such a way that it guarantees a point-to-point delivery between the mobile node and the mobile access gateway for all the protocol traffic. 6.4. Supported Address Configuration Modes A mobile node in the Proxy Mobile IPv6 domain can configure one or more global IPv6 addresses on its interface using Stateless, Stateful or manual address autoconfiguration procedures. The Router Advertisement messages sent on the access link specify the address configuration methods permitted on that access link for that mobile node. However, the advertised flags with respect to the address configuration will be consistent for a mobile node, on any of the access links in that Proxy Mobile IPv6 domain. Typically, these configuration settings will be based on the domain wide policy or based on a policy specific to each mobile node. When stateless address autoconfiguration is supported on the access link, the mobile node can generate one or more IPv6 addresses by standard IPv6 mechanisms such as Stateless Autoconfiguration [RFC- 4862] or Privacy extensions [RFC-4941]. When stateful address autoconfiguration is supported on the link, the mobile node can obtain the address configuration from the DHCPv6 server located in the Proxy Mobile IPv6 domain, by standard DHCPv6 mechanisms, as specified in [RFC-3315]. The obtained address will be from its respective home network prefix. Section 6.11 specifies the details on how this configuration can be achieved. Additionally, other address configuration mechanisms specific to the access link between the mobile node and the mobile access gateway may also be used for pushing the address configuration to the mobile node. This specification does not change the behavior of address configuration mechanisms in any way. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 41] Internet-Draft Proxy Mobile IPv6 April 2008 6.5. Access Authentication & Mobile Node Identification When a mobile node attaches to an access link connected to the mobile access gateway, the deployed access security protocols on that link SHOULD ensure that the network-based mobility management service is offered only after authenticating and authorizing the mobile node for that service. The exact specifics on how this is achieved or the interactions between the mobile access gateway and the access security service is outside the scope of this document. This specification goes with the stated assumption of having an established trust between the mobile node and the mobile access gateway, before the protocol operation begins. 6.6. Acquiring Mobile Node's Identifier All the network entities in a Proxy Mobile IPv6 domain MUST be able to identify a mobile node, using its MN-Identifier. This identifier MUST be stable and unique across the Proxy Mobile IPv6 domain. The mobility entities in the Proxy Mobile IPv6 domain MUST be able to use this identifier in the signaling messages and unambiguously identify a given mobile node. Following are some of the considerations related to this MN-Identifier. o The MN-Identifier is typically obtained as part of the access authentication or from a notified network attachment event. In cases where the user identifier authenticated during access authentication uniquely identifies a mobile node, the MN- Identifier MAY be the same as the user identifier. However, the user identifier MUST NOT be used if it identifies a user account that can be used from more than one mobile node operating in the same Proxy Mobile IPv6 domain. o In some cases, the obtained identifier as part of the access authentication can be a temporary identifier and further that temporary identifier may be different at each re-authentication. However, the mobile access gateway MUST be able to use this temporary identifier and obtain the mobile node's stable identifier from the policy store. For instance, in AAA-based systems the RADIUS attribute, Chargeable-User-Identifier [RFC- 4372] may be used, as long as it uniquely identifies a mobile node, and not a user account that can be used with multiple mobile nodes. o In some cases and for privacy reasons, the MN-Identifier that the policy store delivers to the mobile access gateway may not be the true identifier of the mobile node. However, the mobility access gateway MUST be able to use this identifier in the signaling messages exchanged with the local mobility anchor. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 42] Internet-Draft Proxy Mobile IPv6 April 2008 o The mobile access gateway MUST be able to identify the mobile node by its MN-Identifier and it MUST be able to associate this identity to the point-to-point link shared with the mobile node. 6.7. Home Network Emulation One of the key functions of a mobile access gateway is to emulate the mobile node's home network on the access link. It must ensure, the mobile node believes it is still connected to its home link or on the link where it obtained its initial address configuration after it moved into that Proxy Mobile IPv6 domain. For emulating the mobile node's home link on the access link, the mobile access gateway must be able to send Router Advertisements advertising the mobile node's home network prefix and other address configuration parameters consistent with its home link properties. Typically, these configuration settings will be based on the domain wide policy or based on a policy specific to each mobile node. Typically, the mobile access gateway learns the mobile node's home network prefix information from the received Proxy Binding Acknowledgement message or it may be obtained from the mobile node's policy profile. However, the mobile access gateway SHOULD send the Router Advertisements advertising the mobile node's home network prefix only after successfully completing the binding registration with the mobile node's local mobility anchor. When advertising the home network prefix in the Router Advertisement messages, the mobile access gateway MAY set the prefix lifetime value for the advertised prefix to any chosen value at its own discretion. An implementation MAY choose to tie the prefix lifetime to the mobile node's binding lifetime. The prefix lifetime can also be an optional configuration parameter in the mobile node's policy profile. 6.8. Link-Local and Global Address Uniqueness A mobile node in the Proxy Mobile IPv6 domain, as it moves from one mobile access gateway to the other, will continue to detect its home network and thus believe it is still on the same link. Every time the mobile node attaches to a new link, the event related to the interface state change will trigger the mobile node to perform DAD operation on the link-local and global addresses. However, if the mobile node is DNAv6 enabled, as specified in [ID-DNAV6], it may not detect the link change due to DNAv6 optimizations and may not trigger the duplicate address detection (DAD) procedure for its existing addresses, which may potentially lead to address collisions after the mobile node's handoff to a new link. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 43] Internet-Draft Proxy Mobile IPv6 April 2008 The issue of address collision is not relevant to the mobile node's global address(es). Since there is a unique home network prefix assigned for each mobile node, no other node shares an address (other than Subnet-Router anycast address which is configured by the mobile access gateway) from that prefix and so the uniqueness for the mobile node's global address is assured on the access link. The issue of address collision is however relevant to the mobile node's link-local addresses since the mobile access gateway and the mobile node will have link-local addresses configured from the same link-local prefix (FE80::/64). This leaves a room for link-local address collision between the two neighbors (i.e., the mobile node and the mobile access gateway) on that access link. For solving this problem, this specification requires that the link-local address that the mobile access gateway configures on the point-to-point link shared with a given mobile node be generated by the local mobility anchor and be stored in the mobile node's Binding Cache entry. This address will not change for the duration of that mobile node's session and can be provided to the serving mobile access gateway at every mobile node's handoff, as part of the Proxy Mobile IPv6 signaling messages. The specific method by which the local mobility anchor generates the link-local addresses is out of scope for this specification. Optionally, implementations MAY choose to configure a fixed link- local address across all the access links in a Proxy Mobile IPv6 domain and without a need for carrying this address from the local mobility anchor to the mobile access gateway in the Proxy Mobile IPv6 signaling messages. 6.9. Signaling Considerations 6.9.1. Binding Registrations 6.9.1.1. Mobile Node Attachment and Initial Binding Registration 1. After detecting a new mobile node on its access link, the mobile access gateway MUST identify the mobile node and acquire its MN- Identifier. If it determines that the network-based mobility management service needs to be offered to the mobile node, it MUST send a Proxy Binding Update message to the local mobility anchor. 2. The Proxy Binding Update message MUST include the Mobile Node Identifier option [RFC-4283], carrying the MN-Identifier for identifying the mobile node. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 44] Internet-Draft Proxy Mobile IPv6 April 2008 3. The Home Network Prefix option MUST be present in the Proxy Binding Update message. If the mobile access gateway learns the mobile node's home network prefix either from its policy store or from other means, the mobile access gateway MAY choose to specify the same in the Home Network Prefix option for requesting the local mobility anchor to allocate that prefix, otherwise it MUST specify a value of ALL_ZERO. If the specified value is ALL_ZERO, then the local mobility anchor will do the prefix assignment. 4. The Handoff Indicator option MUST be present in the Proxy Binding Update message. The Handoff Indicator field in the Handoff Indicator option MUST be set to a value indicating the handoff hint. * The Handoff Indicator field MUST be set to value 1 (Attachment over a new interface), if the mobile access gateway determines (under the Handoff Indicator considerations specified in this section) that the mobile node's current attachment to the network over this interface is not as a result of a handoff of an existing mobility session (over the same interface or through a different interface), but as a result of an attachment over a new interface. This essentially serves as a request to the local mobility anchor to create a new mobility session and not update any existing Binding Cache entry created for the same mobile node connected to the Proxy Mobile IPv6 domain through a different interface. * The Handoff Indicator field MUST be set to value 2 (Handoff between two different interfaces of the mobile node), if the mobile access gateway definitively knows the mobile node's current attachment is due to a handoff of an existing mobility session, between two different interfaces of the mobile node. * The Handoff Indicator field MUST be set to value 3 (Handoff between mobile access gateways for the same interface), if the mobile access gateway definitively knows the mobile node's current attachment is due to a handoff of an existing mobility session between two mobile access gateways and for the same interface of the mobile node. * The Handoff Indicator field MUST be set to value 4 (Handoff state unknown), if the mobile access gateway cannot determine if the mobile node's current attachment is due to a handoff of an existing mobility session. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 45] Internet-Draft Proxy Mobile IPv6 April 2008 5. The mobile access gateway MUST apply the below considerations when choosing the value for the Handoff Indicator field. * The mobile access gateway can choose to use the value 2 (Handoff between two different interfaces of the mobile node), only when it knows that the mobile node has on purpose switched from one interface to another, and the previous interface is going to be disabled. It may know this due to a number of factors. For instance, most cellular networks have controlled handovers where the network knows that the host is moving from one attachment to another. In this situation the link layer mechanism can inform the mobility functions that this is indeed a movement, not a new attachment. * Some link layers have link-layer identifiers that can be used to distinguish (a) the movement of a particular interface to a new attachment from (b) the attachment of a new interface from the same host. Option value 3 (Handoff between mobile access gateways for the same interface)is appropriate in case a and value of 1 (Attachment over a new interface) in case b. * The mobile access gateway MUST NOT set the option value to 2 (Handoff between two different interfaces of the mobile node) or 3 (Handoff between mobile access gateways for the same interface) if it can not be determined that the mobile node can move the address between the interfaces involved in the handover or that it is the same interface that has moved. Otherwise Proxy Mobile IPv6-unaware hosts that have multiple physical interfaces to the same domain may suffer unexpected failures. * Where no support from the link layer exists, the host and the network would need to inform each other about the intended movement. The Proxy Mobile IPv6 protocol does not specify this and simply requires that knowledge about movements can be derived either from the link-layer or from somewhere else. The method by which this is accomplished is outside the scope of this specification. 6. Either the Timestamp option or a valid sequence number maintained on a per mobile node basis (if the Sequence Number based scheme is in use) MUST be present. When Timestamp option is added to the message, the mobile access gateway SHOULD also set the Sequence Number field to a value of a monotonically increasing counter (not to be confused with the per mobile node sequence number specified in [RFC-3775]). The local mobility anchor will ignore this field when there is a Timestamp option present in the request, but will return the same value in the Gundavelli (Editor), et al. Expires October 26, 2008 [Page 46] Internet-Draft Proxy Mobile IPv6 April 2008 Proxy Binding Acknowledgement message. This will be useful for matching the reply to the request message. 7. The Mobile Node Link-layer Identifier option carrying the link- layer identifier of the currently attached interface MUST be present in the Proxy Binding Update message, if the mobile access gateway is aware of the same. If the link-layer identifier of the currently attached interface is not known or if the identifier value is ALL_ZERO, this option MUST NOT be present. 8. The Access Technology Type option MUST be present in the Proxy Binding Update message. The access technology type field in the option SHOULD be set to the type of access technology using which the mobile node is currently attached to the mobile access gateway. 9. The Link-local Address option MAY be present in the Proxy Binding Update message. Considerations from Section 6.8 MUST be applied when using the link-local address option. * When querying the local mobility anchor for the link-local address that it should use on the point-to-point link shared with the mobile node, this option MUST be set to ALL_ZERO. This essentially serves as a request to the local mobility anchor to return the link-local address of the mobile access gateway stored in the binding cache entry associated with this mobility session. * When uploading the link-local address to the local mobility anchor, the value in the option MUST be set to the link-local address that is configured on the point-to-point link shared with the mobile node. This is allowed only during an initial mobile node's attachment. 10. The Proxy Binding Update message MUST be constructed as specified in Section 6.9.1.5. 11. If there is no existing Binding Update List entry for that mobile node, the mobile access gateway MUST create a Binding Update List entry for the mobile node upon sending the Proxy Binding Update request. Gundavelli (Editor), et al. Expires October 26, 2008 [Page 47] Internet-Draft Proxy Mobile IPv6 April 2008 6.9.1.2. Receiving Binding Registration Reply On receiving a Proxy Binding Acknowledgement message (format specified in Section 8.2) from the local mobility anchor, the mobile access gateway MUST process the message as specified below. 1. The received Proxy Binding Acknowledgement message (a Binding Acknowledgement message with the 'P' flag set to value of 1) MUST be authenticated as described in Section 4. When IPsec is used for message authentication, the SPI in the IPsec header [RFC-4306] of the received packet is needed for locating the security association, for authenticating the Proxy Binding Acknowledgement message. 2. The mobile access gateway MUST observe the rules described in Section 9.2 of [RFC-3775] when processing Mobility Headers in the received Proxy Binding Acknowledgement message. 3. The mobile access gateway MUST apply the considerations specified in Section 5.5 for processing the Sequence Number field and the Timestamp option (if present), in the message. 4. The mobile access gateway MUST ignore any checks, specified in [RFC-3775] related to the presence of a Type 2 Routing header in the Proxy Binding Acknowledgement message. 5. The mobile access gateway MAY use the mobile node identifier present in the Mobile Node Identifier option for matching the response to the request messages that it sent recently. However, if there is more than one request message in its request queue for the same mobile node, the sequence number field can be used for identifying the exact message from those messages. There are other ways to achieve this and implementations are free to adopt the best approach that suits their implementation. Additionally, if the received Proxy Binding Acknowledgement message does not match any of the Proxy Binding Update messages that it sent recently, the message MUST be ignored. 6. If the received Proxy Binding Acknowledgement message has any one or more of the following options, Handoff Indicator option, Access Technology Type option, Mobile Node Link-layer Identifier option, Mobile Node Identifier option, carrying option values that are different from the option values present in the corresponding request (Proxy Binding Update) message, the message MUST be ignored as the local mobility anchor is expected to echo back all these listed options and with the same option Gundavelli (Editor), et al. Expires October 26, 2008 [Page 48] Internet-Draft Proxy Mobile IPv6 April 2008 values in the reply message. Further, the mobile access gateway MUST NOT retransmit the Proxy Binding Update message till an administrative action is taken. 7. If the received Proxy Binding Acknowledgement message has the Status field value set to PROXY_REG_NOT_ENABLED (Proxy registration not enabled for the mobile node), the mobile access gateway SHOULD NOT send binding registration requests again for that mobile node. It MUST deny the mobility service to that mobile node. 8. If the received Proxy Binding Acknowledgement message has the Status field value set to TIMESTAMP_LOWER_THAN_PREV_ACCEPTED (Timestamp value lower than previously accepted value), the mobile access gateway SHOULD try to register again to reassert the mobile node's presence on its access link. The mobile access gateway is not specifically required to synchronize its clock upon receiving this error code. 9. If the received Proxy Binding Acknowledgement message has the Status field value set to TIMESTAMP_MISMATCH (Invalid timestamp value), the mobile access gateway SHOULD try to register again only after it has synchronized its clock to a common time source that is used by all the mobility entities in that domain for their clock synchronization. The mobile access gateway SHOULD NOT synchronize its clock to the local mobility anchor's system clock, based on the timestamp present in the received message. 10. If the received Proxy Binding Acknowledgement message has the Status field value set to NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX (mobile node is not authorized for the requesting home network prefix), the mobile access gateway SHOULD NOT request for the same prefix again, but can request the local mobility anchor to dynamically assign a prefix, by specifying a ALL_ZERO value in the Home Network Prefix option carried in the subsequent Proxy Binding Update message. 11. If the received Proxy Binding Acknowledgement message has the Status field value set to any value greater than or equal to 128 (i.e., if the binding is rejected), the mobile access gateway MUST NOT advertise the mobile node's home network prefix in the Router Advertisements sent on that access link and MUST deny the mobility service to the mobile node by not forwarding any packets using the source address from that home network prefix and originating from that point-to-point link. 12. If the received Proxy Binding Acknowledgement message has the Status field value set to 0 (Proxy Binding Update accepted), the Gundavelli (Editor), et al. Expires October 26, 2008 [Page 49] Internet-Draft Proxy Mobile IPv6 April 2008 mobile access gateway MUST update the routing state, as explained in section 6.10, and MUST also update the Binding Update List entry for reflecting the accepted binding registration status. 13. If the received Proxy Binding Acknowledgement message has the address in the Link-local Address option set to a NON_ZERO value, the mobile access gateway MUST configure that link-local address on that point-to-point link and MUST NOT configure any other link-local address on that point-to-point link. This will avoid any link-local address collisions on that access link. 6.9.1.3. Extending Binding Lifetime 1. For extending the lifetime of a currently registered mobile node (i.e., after a successful initial binding registration from the same mobile access gateway), the mobile access gateway can send a Proxy Binding Update message to the local mobility anchor with a new lifetime value. This re-registration message MUST be constructed with the same set of options as the initial binding registration message, under the considerations specified in Section 6.9.1.1. However the following exceptions apply. 2. The prefix value in the Home Network Prefix option MUST be set to the currently assigned home network prefix. 3. The Handoff Indicator field in the Handoff Indicator option MUST be set to a value of 5 (Handoff state not changed - Re- Registration). 6.9.1.4. Mobile Node Detachment and Binding De-Registration 1. If at any point the mobile access gateway detects that the mobile node has moved away from its access link, or if it decides to terminate the mobile node's mobility session, it SHOULD send a Proxy Binding Update message to the local mobility anchor with the lifetime value set to zero. This de-registration message MUST be constructed with the same set of options as the initial binding registration message, under the considerations specified in Section 6.9.1.1. However, the following exceptions apply. 2. The prefix value in the Home Network Prefix option MUST be set to the currently assigned home network prefix. 3. The Handoff Indicator field in the Handoff Indicator option MUST be set to a value of 4 (Handoff state unknown). Gundavelli (Editor), et al. Expires October 26, 2008 [Page 50] Internet-Draft Proxy Mobile IPv6 April 2008 Either upon receipt of a Proxy Binding Acknowledgement message from the local mobility anchor or after INITIAL_BINDACK_TIMEOUT [RFC-3775] timeout waiting for the reply, the mobile access gateway MUST do the following: 1. It MUST remove the Binding Update List entry for the mobile node from its Binding Update List. 2. It MUST remove the created routing state for tunneling the mobile node's traffic. 3. If there is a dynamically created tunnel to the mobile node's local mobility anchor and if there are not other mobile nodes for which the tunnel is being used, then the tunnel MUST be deleted. 4. It MUST tear down the point-to-point link shared with the mobile node. This action will force the mobile node to remove any IPv6 address configuration on the interface connected to this point- to-point link. 6.9.1.5. Constructing the Proxy Binding Update Message o The mobile access gateway when sending the Proxy Binding Update request to the local mobility anchor MUST construct the message as specified below. IPv6 header (src=Proxy-CoA, dst=LMAA) Mobility header - BU /* P & A flags MUST be set to value 1 */ Mobility Options - Mobile Node Identifier option (mandatory) - Home Network Prefix option (mandatory) - Handoff Indicator opt