<?xml version="1.0" encoding="US-ASCII"?> 
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>

<rfc number="5213" category="std">

<front>
<title abbrev="Proxy Mobile IPv6">
Proxy Mobile IPv6
</title>

<author initials="S" surname="Gundavelli" role="editor" fullname="Sri Gundavelli">
<organization abbrev="">Cisco</organization>
<address>
<postal>
<street>170 West Tasman Drive</street>
<city>San Jose</city> 
<region>CA</region>
<code>95134</code>
<country>USA</country>
</postal>
<email>sgundave@cisco.com</email>
</address>
</author>

<author initials="K" surname="Leung" fullname="Kent Leung">
<organization abbrev="">Cisco</organization>
<address>
<postal>
<street>170 West Tasman Drive</street>
<city>San Jose</city> 
<region>CA</region>
<code>95134</code>
<country>USA</country>
</postal>
<email>kleung@cisco.com</email>
</address>
</author>

<author initials="V" surname="Devarapalli" fullname="Vijay Devarapalli">
<organization abbrev="">Wichorus</organization>
<address>
<postal>
<street>3590 North First Street</street>
<city>San Jose</city> 
<region>CA</region>
<code>95134</code>
<country>USA</country>
</postal>
<email>vijay@wichorus.com</email>
</address>
</author>

<author initials="K" surname="Chowdhury" fullname="Kuntal Chowdhury">
<organization abbrev="">Starent Networks</organization>
<address>
<postal>
<street>30 International Place</street>
<city>Tewksbury</city> 
<region>MA</region>
<code></code>
<country></country>
</postal>
<email>kchowdhury@starentnetworks.com</email>
</address>
</author>

<author initials="B" surname="Patil" fullname="Basavaraj Patil">
<organization abbrev="">Nokia</organization>
<address>
<postal>
<street>6000 Connection Drive</street>
<city>Irving</city> 
<region>TX</region>
<code>75039</code>
<country>USA</country>
</postal>
<email>basavaraj.patil@nokia.com</email>
</address>
</author>

<date month="June" year="2008" />
<area>Internet</area>
<workgroup>NETLMM WG</workgroup>



<keyword>example</keyword>

<!------------------------------------------------>
<!--  SECTION 0:  ABSTRACT                              -->
<!------------------------------------------------>
<abstract>
<t>
Network-based mobility management enables IP mobility for a host
without requiring its participation in any mobility-related 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.
</t>
</abstract>
</front>

<middle>

<!------------------------------------------------>
<!--  SECTION 1:  INTRODUCTION                          -->
<!------------------------------------------------>
<section title="Introduction">
<t>
IP mobility for IPv6 hosts is specified in Mobile IPv6 <xref target="RFC3775" />.
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 <xref target="RFC3775" /> requires the IP host to send IP mobility
management signaling messages to the home agent, which is located in
the network.
</t>

<t>
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 <xref target="RFC3775" /> 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). 
</t>

<t>
Network deployments that are designed to support mobility would be
agnostic to the capability in the IPv6 stack of the nodes that it
serves.  IP mobility for nodes that have mobile IP client functionality
in the IPv6 stack as well as those nodes that 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:
</t>

<list style='symbols'>
<t>
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.
</t>

<t>
A common home agent would serve as the mobility agent for all
types of IPv6 nodes.
</t>
</list>

<t>
The problem statement and the need for a network-based mobility
protocol solution has been documented in <xref target="RFC4830" />.  Proxy Mobile IPv6
is a solution that addresses these issues and requirements. 
</t>


</section>

<?rfc needLines="8"?>

<!------------------------------------------------>
<!--  SECTION 2:  CONVENTIONS & TERMINOLOGY     -->
<!------------------------------------------------>
<section title="Conventions and Terminology">


<!------------------------------------------------>
<!--  SECTION 2.1:  CONVENTIONS                         -->
<!------------------------------------------------>
<section title="Conventions Used in This Document">

<t>
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 <xref target="RFC2119" />.
</t>

</section>



<!------------------------------------------------>
<!--  SECTION 2.2:  TERMINOLOGY                         -->
<!------------------------------------------------>
<section title="Terminology">
<t>
All the general mobility-related terms used in this document are to be
interpreted as defined in the Mobile IPv6 base specification
<xref target="RFC3775" />.
</t>

<t>
This document adopts the terms, Local Mobility Anchor (LMA) and Mobile
Access Gateway (MAG) from the NETLMM Goals document <xref target="RFC4831" />.  This
document also provides the following context-specific explanation to
the following terms used in this document.
</t>


<t>
Proxy Mobile IPv6 Domain (PMIPv6-Domain)
</t>
<list style="hanging">
<t>
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. 
</t>
</list>


<t>
Local Mobility Anchor (LMA)
</t>
<list style="hanging">
<t>
Local Mobility Anchor is the home agent for the mobile node in a
Proxy Mobile IPv6 domain.  It is the topological anchor point for the
mobile node's home network prefix(es) 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 <xref target="RFC3775" /> with the additional capabilities required for
supporting Proxy Mobile IPv6 protocol as defined in this specification.
</t>
</list>


<t>
Mobile Access Gateway (MAG)
</t>
<list style="hanging">
<t>
Mobile Access Gateway is a function on an access router 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.
</t>
</list>


<t>
Mobile Node (MN)
</t>
<list style="hanging">
<t>
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. 
</t>
</list>


<t>
LMA Address (LMAA)
</t>
<list style="hanging">
<t>
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 which 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
<xref target="IPV4-PMIP6" />.
</t>
</list>


<t>
Proxy Care-of Address (Proxy-CoA)
</t>
<list style="hanging">
<t>
Proxy-CoA is the global address configured on the egress 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 <xref target="IPV4-PMIP6" />.
</t>
</list>


<t>
Mobile Node's Home Network Prefix (MN-HNP)
</t>
<list style="hanging">
<t>
The MN-HNP is a prefix assigned to the link between the mobile node and
the mobile access gateway.  More than one prefix can be assigned to the
link between the mobile node and the mobile access gateway, in which
case, all of the assigned prefixes are managed as a set associated with
a mobility session.  The mobile node configures its interface with one
or more addresses from its home network prefix(es).  If the mobile node
connects to the Proxy Mobile IPv6 domain through multiple interfaces,
simultaneously, each of the attached interfaces will be assigned a
unique set of home network prefixes, and all the prefixes assigned to a
given interface of a mobile node will be managed under one mobility
session.  For example, home network prefixes P1 and P2 assigned to interface I1 will
be managed under one mobility session and prefixes P3, P4, and P5 assigned
to interface I2 of the mobile node will be managed under a different
mobility session.  Additionally, in some configurations the assigned
prefix can be of 128-bit prefix length. 
</t>
</list>


<t>
Mobile Node's Home Address (MN-HoA)
</t>
<list style="hanging">
<t>
MN-HoA is an address from a mobile node's home network prefix.  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.  If the mobile node uses more than one address from its home
network prefix(es), any one of these addresses is referred to as mobile
node's home address.  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(es) and are not always aware of the exact address(es) that the
mobile node configured on its interface from its home network
prefix(es).  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(es) configured by
the mobile node.
</t>
</list>



<t>
Mobile Node's Home Link 
</t>
<list style="hanging">
<t>
This is the 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.
</t>
</list>


<t>
Multihomed Mobile Node
</t>
<list style="hanging">
<t>
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.
</t>
</list>


<t>
Mobile Node Identifier (MN-Identifier)
</t>
<list style="hanging">
<t>
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 for
predictably identifying a mobile node.  This is typically an identifier
such as a Network Access Identifier (NAI) <xref target="RFC4282" /> or other identifier
such as a Media Access Control (MAC) address.
</t>
</list>


<t>
Mobile Node Link-layer Identifier (MN-LL-Identifier)
</t>

<list style="hanging">
<t>
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 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.  An identifier value of
ALL_ZERO is not considered a valid identifier and cannot be used as an
interface identifier.
</t>
</list>


<t>
Policy Profile
</t>
<list style="hanging">
<t> 
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.
</t>
</list>


<t>
Proxy Binding Update (PBU)
</t>
<list style="hanging">
<t>
A 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 home network prefix(es) assigned to a given interface of a
mobile node and its current care-of address (Proxy-CoA).
</t>
</list>


<t>
Proxy Binding Acknowledgement (PBA)
</t>
<list style="hanging">
<t>
A reply message sent by a local mobility anchor in response to a Proxy
Binding Update message that it received from a mobile access gateway.
</t>
</list>


<t>
Per-MN-Prefix and Shared-Prefix Models
</t>
<list style="hanging">
<t>
The term Per-MN-Prefix model is used to refer to an addressing model
where there is a unique network prefix or prefixes assigned for each
node.  The term Shared-Prefix model is used to refer to an addressing
model where the prefix(es) are shared by more than one node.  This
specification supports the Per-MN-Prefix model and does not support the
Shared-Prefix model.
</t>
</list>


<t>
Mobility Session
</t>
<list style="hanging">
<t>
In the context of Proxy Mobile IPv6 specification, the term mobility
session refers to the creation or existence of state associated with
the mobile node's mobility binding on the local mobility anchor and on
the serving mobile access gateway.
</t>
</list>


<t>
DHCP 
</t>
<list style="hanging">
<t>
Throughout this document, the acronym DHCP refers to DHCP for IPv6, as
defined in <xref target="RFC3315" />.
</t>
</list>


<t>
ALL_ZERO and NON_ZERO 
</t>
<list style="hanging">
<t>
Protocol message fields initialized with value 0 in each byte of the
field.  For example, 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.
</t>
</list>



</section>
</section>










<!------------------------------------------------------>
<!--  SECTION 3: Proxy Mobile IPv6 Protocol Overview  -->
<!------------------------------------------------------>
<section title="Proxy Mobile IPv6 Protocol Overview">

<t>
This specification describes a network-based mobility management
protocol.  It is called Proxy Mobile IPv6 and is based on Mobile IPv6
<xref target="RFC3775" />.
</t>

<t>
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.
</t>

<t>
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(es).  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.  There can be
multiple local mobility anchors in a Proxy Mobile IPv6 domain each
serving a different group of mobile nodes.  The architecture of a Proxy
Mobile IPv6 domain is shown in Figure 1.
</t>

<figure anchor='fig1' title="Proxy Mobile IPv6 Domain" >
<artwork>
<![CDATA[
            +----+                +----+
            |LMA1|                |LMA2|
            +----+                +----+
     LMAA1 -> |                      | <-- LMAA2
              |                      |
              \\                    //\\  
               \\                  //  \\ 
                \\                //    \\     
             +---\\------------- //------\\----+
            (     \\  IPv4/IPv6 //        \\    )
            (      \\  Network //          \\   )
             +------\\--------//------------\\-+
                     \\      //              \\
                      \\    //                \\
                       \\  //                  \\
           Proxy-CoA1--> |                      | <-- Proxy-CoA2
                      +----+                 +----+   
                      |MAG1|-----{MN2}       |MAG2|
                      +----+    |            +----+
                        |       |               | 
           MN-HNP1 -->  |     MN-HNP2           | <-- MN-HNP3, MN-HNP4
                      {MN1}                   {MN3}

]]>
</artwork>
</figure> 

<t>
When 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.
</t>

<t>
If the network determines that the mobile node is authorized for network-based mobility service, 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(es), the default-router
address on the link, and other related configuration parameters.  From
the perspective of each mobile node, the entire Proxy Mobile IPv6
domain appears as a single link, the network ensures that the mobile
node does not detect any change with respect to its layer-3 attachment
even after changing its point of attachment in the network.
</t>

<t>
The mobile node may be an IPv4-only node, IPv6-only node, or a dual-stack (IPv4/v6) node.  Based on the policy profile information that indicates the type of address or prefixes to be assigned for the mobile node in the network, the mobile node will be able to obtain an IPv4, IPv6, or dual
IPv4/IPv6 address and move anywhere in that Proxy Mobile IPv6 domain.
However, this specification only supports IPv6 address/prefix mobility with the transport network being IPv6.  The support for IPv4
addressing or an IPv4 transport network is specified in the companion
document <xref target="IPV4-PMIP6" />.
</t>

<t>
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 set of home network prefixes for each of the
connected interfaces.  The mobile node will be able to configure
address(es) on those interfaces from the respective home network
prefix(es).  However, if the mobile node performs a 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(es) that it previously assigned prior to
the handoff.  The mobile node will also be able to perform a handoff by
changing its point of attachment from one mobile access gateway to a
different mobile access gateway using the same interface and will be 
able to retain the address configuration on the attached interface.
</t>

<figure anchor='fig2' title="Mobile Node Attachment - Signaling Call Flow" >
<artwork>
<![CDATA[
  +-----+                +-----+                +-----+                      
  | MN  |                | MAG |                | LMA |  
  +-----+                +-----+                +-----+
     |                      |                      |
 MN Attached                |                      |
     |                      |                      |
     |       MN Attached Event from MN/Network     |         
     |        (Acquire MN-Id and Profile)          |
     |                      |                      |
     |--- Rtr Sol --------->|                      |     
     |                      |                      |
     |                      |--- PBU ------------->|
     |                      |                      |  
     |                      |                  Accept PBU
     |                      | (Allocate MN-HNP(s), Setup BCE and Tunnel) 
     |                      |                      | 
     |                      |<------------- PBA ---|  
     |                      |                      |      
     |                 Accept PBA                  |  
     |          (Set Up Tunnel and Routing)        |   
     |                      |                      |
     |                      |==== Bi-Dir Tunnel ===|        
     |                      |                      |
     |<--------- Rtr Adv ---|                      | 
     |                      |                      |
  IP Address                |                      |
 Configuration              |                      |
     |                      |                      |     
]]>
</artwork>
</figure> 


<t>
Figure 2 shows the signaling call flow when the mobile node enters the
Proxy Mobile IPv6 domain.  The Router Solicitation message from the
mobile node may arrive at any time after the mobile node's attachment
and has no strict ordering relation with the other messages in the call
flow.
</t>

<t>
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(es).  It also creates the Binding Cache entry and sets up
its endpoint of the bi-directional tunnel to the mobile access gateway.
</t>

<t>
The mobile access gateway on receiving the Proxy Binding
Acknowledgement message sets up its endpoint of the bi-directional
tunnel to the local mobility anchor and also sets up the forwarding for
the mobile node's traffic.  At this point, the mobile access gateway has 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(es) as
the hosted on-link prefix(es).
</t>

<t>
The mobile node, on receiving these Router Advertisement messages on the
access link, attempts to configure its interface using either
stateful or stateless address configuration modes, based on the modes
that are permitted on that access link as indicated in Router
Advertisement messages.  At the end of a successful address
configuration procedure, the mobile node has one or more
addresses from its home network prefix(es). 
</t>

<t>
After address configuration, the mobile node has one or
more valid addresses from its home network prefix(es) 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 any one or more of the
addresses from its home network prefix(es).
</t>

<t>
The local mobility anchor, being the topological anchor point for the
mobile node's home network prefix(es), receives any packets that are
sent to the mobile node by any node in or outside the Proxy Mobile IPv6
domain.  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 (refer to Section 6.10.3).
</t>

<t>
The mobile access gateway acts as the default router on the
point-to-point link shared with the mobile node.  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 (refer to Section 6.10.3).
</t>

<figure anchor='fig3' title="Mobile Node Handoff - Signaling Call Flow" >
<artwork>
<![CDATA[
  +-----+          +-----+          +-----+          +-----+                   
  | 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(s)
     |                |                |                |     
]]>
</artwork>
</figure> 

<t>
Figure 3 shows the signaling call flow for the mobile node's handoff
from the previously attached mobile access gateway (p-MAG) to the newly
attached mobile access gateway (n-MAG).  This call flow only reflects
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.
</t>

<t>
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.  It will signal the local mobility
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 request was
received, and accepts the request after which it waits for a certain amount
of time to allow the mobile access gateway on the new link to
update the binding.  However, if it does not receive any Proxy Binding
Update message within the given amount of time, it will delete the
binding cache entry. 
</t>

<t>
The mobile access gateway on the new access link, upon detecting the
mobile node on its access link, will signal the local mobility anchor
to update the binding state.  After completion of the signaling, the
serving mobile access gateway will send the Router Advertisements
containing the mobile node's home network prefix(es), and this will
ensure the mobile node will not detect any change with respect to the
layer-3 attachment of its interface.
</t>

</section>

<!------------------------------------------------------>
<!--  SECTION 4: Proxy Mobile IPv6 Protocol Security  -->
<!------------------------------------------------------>
<section title="Proxy Mobile IPv6 Protocol Security">
<t>
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.
</t>

<!--
However, additional documents may specify alternative
mechanisms and which may also support capability negotiation. 
-->

<t>
The mobile access gateway and the local mobility anchor MUST implement
IPsec for protecting the Proxy Mobile IPv6 signaling messages
<xref target="RFC4301" />.  IPsec is a mandatory-to-implement security
mechanism.  However, additional documents may specify alternative
mechanisms and the mobility entities can enable a specific mechanism
for securing Proxy Mobile IPv6 signaling messages, based on either a
static configuration or after a dynamic negotiation using any standard
security negotiation protocols.  As in Mobile IPv6 <xref target="RFC3775" />, the use
of IPsec for protecting a mobile node's data traffic is optional.
</t>

<t>
IPsec Encapsulating Security Payload (ESP) <xref target="RFC4303" /> in transport mode with mandatory integrity
protection SHOULD be used for protecting the signaling messages. 
Confidentiality protection of these messages is not required.
</t>

<t>
IPsec ESP <xref target="RFC4303" /> in tunnel mode MAY be used to protect the
mobile node's tunneled data traffic, if protection of data traffic is
required.
</t>

<t>
Internet Key Exchange Protocol version 2 (IKEv2) <xref target="RFC4306" /> 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 <xref target="RFC4306" />, for mutual
authentication.
</t>

<t>
The Mobile IPv6 specification <xref target="RFC3775" /> 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 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 Authentication, Authorization, and Accounting (AAA) may
be employed, but these are outside the scope of this specification.
</t>

<t>
Unlike in Mobile IPv6 <xref target="RFC3775" />, 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 and require no special IPsec related considerations.
</t>


        
<!----------------------------------------------------------------------->
<!--  SECTION 4.1: Peer Authorization Database (PAD) Example Entries   -->
<!----------------------------------------------------------------------->

<section title="Peer Authorization Database (PAD) Example Entries">
<t>
This section describes PAD entries <xref target="RFC4301" /> 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.
</t>

<t>
In the example shown below, the identity of the local mobility anchor
is assumed to be lma_identity_1 and the identity of the mobile access
gateway is assumed to be mag_identity_1.
</t>


<figure anchor='fig4' title="PAD Entries">
<artwork>
<![CDATA[
    mobile access gateway PAD:
      - IF remote_identity = lma_identity_1
           Then authenticate (shared secret/certificate/EAP)
           and authorize CHILD_SAs 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
]]>
</artwork>
</figure> 

<t>
The list of authentication mechanisms in the above examples is not
exhaustive.  There could be other credentials used for authentication
stored in the PAD.
</t>
</section>

<!-------------------------------------------------------------------->
<!--  SECTION 4.2: Security Policy Database (SPD) Example Entries   -->
<!-------------------------------------------------------------------->

<section title="Security Policy Database (SPD) Example Entries">

<t>
This section describes the security policy entries <xref target="RFC4301" /> 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 or a local
mobility anchor implementation could configure different SPD entries as
long as they provide the required security.
</t>

<t>
In the example shown below, the identity of the mobile access gateway
is assumed to be mag_identity_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.  The acronym MH
represents the protocol number for the Mobility Header <xref target="RFC3775" />,
while the terms local_mh_type and remote_mh_type stand for local
mobility header type and remote mobility header type, respectively.
</t>



<figure anchor='fig5' title="SPD Entries">
<artwork>
<![CDATA[
   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_identity_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
]]>
</artwork>
</figure> 
</section>
</section>










<!-------------------------------------------------------------------------->
<!--  SECTION 5: Local Mobility Anchor Operation                          -->
<!-------------------------------------------------------------------------->

<section title="Local Mobility Anchor Operation">
<t>
The local mobility anchor MUST support the home agent function as
defined in <xref target="RFC3775" /> and 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. 
</t>

<t>
This section describes the operational details of the local mobility
anchor.
</t>



<!-------------------------------------------------------------------------->
<!--  SECTION 5.1: Extensions to Binding Cache Entry Data Structure        -->
<!-------------------------------------------------------------------------->

<section title="Extensions to Binding Cache Entry Data Structure">
<t>
Every local mobility anchor MUST maintain a Binding Cache entry for
each currently registered mobile node.  A Binding Cache entry is a
conceptual data structure, described in Section 9.1 of <xref target="RFC3775" />.
</t>

<t>
For supporting this specification, the Binding Cache Entry data
structure needs to be extended with the following additional fields.
</t>

<list style="symbols">
<t>
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.
</t>

<t>
The identifier of the registered mobile node, MN-Identifier.  This
identifier is obtained from the Mobile Node Identifier Option
<xref target="RFC4283" /> present in the received Proxy Binding Update message.
</t>

<t>
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 message.  If the option was not present in the request, this
variable length field MUST be set to two (octets) and MUST be
initialized to a value of ALL_ZERO.
</t>    

<t>
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 message.
</t>

<t>
A list of IPv6 home network prefixes assigned to the mobile node's
connected interface.  The home network prefix(es) may have been
statically configured in the mobile node's policy profile, or, they may
have been dynamically allocated by the local mobility anchor.  Each one 
of these prefix entries will also include the corresponding prefix
length.
</t>

<t>
The tunnel interface identifier (tunnel-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.
</t>

<t>
The access technology type, by which the mobile node is currently
attached.  This is obtained from the Access Technology Type option,
present in the Proxy Binding Update message.
</t>

<t>
The 64-bit timestamp value of the most recently accepted Proxy Binding
Update message 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 message
(i.e., when the sequence-number-based scheme is in use), the value MUST
be set to ALL_ZERO.
</t>

</list>

<t>
Typically, any one of the mobile node's home network prefixes from its
mobility session may be used as a key for locating its Binding Cache
entry in all cases except when there has been a handoff of the mobile
node's session to a new mobile access gateway, and that mobile access
gateway is unaware of the home network prefix(es) assigned to that
mobility session.  In such handoff cases, the Binding Cache entry can be
located under the considerations specified in Section 5.4.1.
</t>

</section>

<!-------------------------------------------------------------------------->
<!--  SECTION 5.2: Supported Home Network Prefix Models                    -->
<!-------------------------------------------------------------------------->
<section title="Supported Home Network Prefix Models">
<t>
This specification supports the Per-MN-Prefix model and does not
support the Shared-Prefix model. According to the Per-MN-Prefix model,
home network prefix(es) assigned to a mobile node are for that mobile
node's exclusive use and no other node shares an address from that
prefix (other than the Subnet-Router anycast address <xref target="RFC4291" /> that
is used by the mobile access gateway hosting that prefix on that link).
</t>

<t>
There may be more than one prefix assigned to a given interface of the
mobile node; all of those assigned prefixes MUST be unique to that
mobile node, and all are part of exactly one mobility session.  If the
mobile node simultaneously attaches to the Proxy Mobile IPv6 domain
through multiple interfaces, each of the attached interfaces MUST be
assigned one or more unique prefixes.  Prefixes that are not assigned
to the same interface MUST NOT be managed under the same mobility
session.
</t>

<!-->
There may be more than one prefix assigned to a given interface of the
mobile node and all of those assigned prefixes are unique to that
mobile node and all are part of one mobility session.  If the mobile
node attaches to the Proxy Mobile IPv6 domain through multiple
interfaces and simultaneously, each of the attached interfaces will be
assigned one or more unique prefixes and all of the assigned prefixes
to a given interface will be managed under a different mobility
session.
</t-->

<t>
The mobile node's home network prefix(es) assigned to a given interface
of a mobile node (part of a mobility session) will be hosted on the
access link where the mobile node is attached (using that interface).
The local mobility anchor is not required to perform any proxy Neighbor Discovery (ND)
operations <xref target="RFC4861" /> for defending the mobile node's home address(es),
as the prefixes are not locally hosted on the local mobility anchor.
However, from the routing perspective, the home network prefix(es) is
topologically anchored on the local mobility anchor.
</t>
</section>



<!-------------------------------------------------------------------------->
<!--  SECTION 5.3: Signaling Consideration                                -->
<!-------------------------------------------------------------------------->
<section title="Signaling Considerations">

<t>
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.
</t>


<!-------------------------------------------------------------------------->
<!--  SECTION 5.3.1: Processing Proxy Binding Updates                     -->
<!-------------------------------------------------------------------------->

<section title="Processing Proxy Binding Updates">

<list style="numbers">
<t>
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 Security Parameter Index (SPI) in the IPsec header <xref target="RFC4306" /> of
the received packet is needed for locating the security association,
for authenticating the Proxy Binding Update message. 
</t>

<t>
The local mobility anchor MUST observe the rules described in Section
9.2 of <xref target="RFC3775" /> when processing the Mobility Header in the received
Proxy Binding Update message. 
</t>

<t>
The local mobility anchor MUST ignore the check, specified in Section
10.3.1 of <xref target="RFC3775" />, related to the presence of the Home Address
destination option in the Proxy Binding Update message. 
</t>

<t>
The local mobility anchor MUST identify the mobile node from the
identifier present in the Mobile Node Identifier option <xref target="RFC4283" /> of
the Proxy Binding Update message.  If the Mobile Node Identifier option
is not present in the Proxy Binding Update message, 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.
</t>

<t>
The local mobility anchor MUST apply the required policy checks, as
explained in Section 4, to verify that the sender is a trusted mobile
access gateway authorized to send Proxy Binding Update messages on
behalf of this mobile node.
</t>

<t>
If the local mobility anchor determines that the requesting node is not
authorized to send Proxy Binding Update messages for the identified
mobile node, it MUST reject the request and send a Proxy Binding
Acknowledgement message with the Status field set to
MAG_NOT_AUTHORIZED_FOR_PROXY_REG (not authorized to send proxy binding
updates).
</t>

<t>
If the local mobility anchor cannot identify the mobile node based on
the identifier present in the Mobile Node Identifier option <xref target="RFC4283" />
of the Proxy Binding Update message, it MUST reject the  request and send a
Proxy Binding Acknowledgement message with the Status field set to 
NOT_LMA_FOR_THIS_MOBILE_NODE (Not a local mobility anchor for this mobile
node).
</t>

<t>
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 the Status field set to PROXY_REG_NOT_ENABLED (Proxy Registration not
enabled).
</t>

<t>
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 message.
</t>

<t>
If there is no Home Network Prefix option(s) (with any value) present
in the Proxy Binding Update message, the local mobility anchor MUST
reject the request and send a Proxy Binding Acknowledgement message
with the Status field set to MISSING_HOME_NETWORK_PREFIX_OPTION (Missing
Home Network Prefix option).
</t>

<t>
If the Handoff Indicator option is not present in the Proxy Binding
Update message, the local mobility anchor MUST reject the request and
send a Proxy Binding Acknowledgement message with the Status field set to
MISSING_HANDOFF_INDICATOR_OPTION (Missing Handoff Indicator option).
</t>

<t>
If the Access Technology Type option is not present in the Proxy
Binding Update message, the local mobility anchor MUST reject the
request and send a Proxy Binding Acknowledgement message with the Status
field set to MISSING_ACCESS_TECH_TYPE_OPTION (Missing Access
Technology Type option).
</t>

<t>
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 message 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 need to be
applied.
</t>

<list style="symbols">

<t>
If the received Proxy Binding Update message has the lifetime value of
zero, considerations from Section 5.3.5 (Binding De-Registration) MUST
be applied.
</t>

<t>
If the Proxy-CoA 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),	
considerations from Section 5.3.3 (Binding Lifetime Extension - No handoff) MUST be applied.
</t>

<t>
For all other cases, considerations from Section 5.3.4 (Binding Lifetime
Extension - After handoff) MUST be applied.
</t>

</list>


<t>
When sending the Proxy Binding Acknowledgement message with any Status
field value, the message MUST be constructed as specified in Section
5.3.6.
</t>

</list>


</section>


<!-------------------------------------------------------------------------->
<!--  SECTION 5.3.2: Initial Binding Registration                         -->
<!-------------------------------------------------------------------------->

<section title="Initial Binding Registration (New Mobility Session)">

<list style="numbers">

<t>
If there is at least one instance of the Home Network Prefix option present
in the Proxy Binding Update message with the prefix value set to
ALL_ZERO, the local mobility anchor MUST allocate one or more home
network prefixes to the mobile node and assign it to the new mobility
session created for the mobile node.  The local mobility anchor MUST
ensure the allocated prefix(es) is not in use by any other node or
mobility session.  The decision on how many prefixes to be allocated for
the attached interface can be based on a  global policy or a policy
specific to that mobile node.  However, when stateful address
autoconfiguration using DHCP is supported on the link, considerations
from Section 6.11 MUST be applied for the prefix assignment.
</t>

<t>
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 the Status field set to 130
(Insufficient resources).
</t>

<t>
If there are one or more Home Network Prefix options present in the
Proxy Binding Update message (with each of the prefixes set to a
NON_ZERO value), the local mobility anchor, before accepting that
request, MUST ensure each one of those prefixes is owned by the local
mobility anchor, and further that the mobile node is authorized to use these
prefixes.  If the mobile node is not authorized to use any one or more
of those prefixes, the local mobility anchor MUST reject the request
and send a Proxy Binding Acknowledgement message with the Status field set
to NOT_AUTHORIZED_FOR_HOME_NETWORK_PREFIX (mobile node not authorized
for one or more of the requesting home network prefixes).
</t>

<t>
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.
</t>

<t>
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.
</t>

<t>
The local mobility anchor MUST create a prefix route(s) over the tunnel
to the mobile access gateway for forwarding any traffic received for
the mobile node's home network prefix(es) associated with this mobility
session.  The created tunnel and the routing state MUST result in the
forwarding behavior on the local mobility anchor as specified in Section
5.6.2.
</t>

<t>
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.
</t>

</list>

</section>


<!-------------------------------------------------------------------------->
<!--  SECTION 5.3.3: Binding Lifetime Extension (No handoff)              -->
<!-------------------------------------------------------------------------->

<section title="Binding Lifetime Extension (No Handoff)">

<list style="numbers">

<t>
Upon accepting the Proxy Binding Update message for extending the
binding lifetime, received from the same mobile access gateway 
(if the Proxy-CoA in the Binding Cache entry is the same as the
Proxy-CoA in the request) that last updated the binding, the
local mobility anchor MUST update the Binding Cache entry with the
accepted registration values. 
</t>

<t>
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.
</t>

</list>

</section>


<!-------------------------------------------------------------------------->
<!--  SECTION 5.3.4: Binding Lifetime Extension (After handoff)           -->
<!-------------------------------------------------------------------------->

<section title="Binding Lifetime Extension (After Handoff)">

<list style="numbers">

<t>
Upon accepting the Proxy Binding Update message for extending the
binding lifetime, received from a new mobile access gateway (if the
Proxy-CoA in the Binding Cache entry does not match the
Proxy-CoA in the request) where the mobile node's mobility
session is handed off, the local mobility anchor MUST update the
Binding Cache entry with the accepted registration values. 
</t>

<t>
The local mobility anchor MUST  remove the previously created route(s)
for the mobile node's home network prefix(es) associated with this
mobility session.  Additionally, if there are no other mobile nodes
sharing the dynamically created bi-directional tunnel to the previous
mobile access gateway, the tunnel SHOULD be deleted, applying 
considerations from section 5.6.1 (if the tunnel is a dynamically
created tunnel and not a fixed pre-established tunnel). 
</t>

<t>
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.
</t>

<t>
The local mobility anchor MUST create prefix route(s) over the tunnel
to the mobile access gateway for forwarding any traffic received for
the mobile node's home network prefix(es) associated with that mobility
session.  The created tunnel and routing state MUST result in the
forwarding behavior on the local mobility anchor as specified in
Section 5.6.2.
</t>

<t>
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.
</t>

</list>

</section>


<!-------------------------------------------------------------------------->
<!--  SECTION 5.3.5: Processing Binding De-Registration                   -->
<!-------------------------------------------------------------------------->

<section title="Binding De-Registration">

<list style="numbers">

<t>
If the received Proxy Binding Update message 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 field in the Binding
Cache entry, the local mobility anchor MUST ignore the request.
</t>

<t>
Upon accepting the Proxy Binding Update message, 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.
</t>


<list style="symbols">

<t>
During this wait period,
<!--[rfced] Should "wait period" be changed to "waiting period"?  Please note it appears throughout this list. -->
 the local mobility anchor SHOULD drop the
mobile node's data traffic.
</t>

<t>
During this wait period, if the local mobility anchor receives a valid
Proxy Binding Update message 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 the wait
period should be ended.
</t>

<t>
By the end of this wait period, if the local mobility anchor did not
receive any valid Proxy Binding Update messages for this mobility
session, then it MUST delete the Binding Cache entry and remove the
routing state created for that mobility session.  The local mobility
anchor can potentially reassign the prefix(es) associated with this
mobility session to other mobile nodes.
</t>


</list>

</list>

</section>


<!-------------------------------------------------------------------------->
<!--  SECTION 5.3.6: Constructing the Proxy Binding Acknowledgement Message -->
<!-------------------------------------------------------------------------->

<section title="Constructing the Proxy Binding Acknowledgement Message">

<list style="symbols">

<t>
The local mobility anchor, when sending the Proxy Binding Acknowledgement
message to the mobile access gateway, MUST construct the message as
specified below. 
</t>

<figure anchor='fig6' title="Proxy Binding Acknowledgement Message Format"> 
<artwork>        
    <![CDATA[
       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(s)            (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)            
     ]]>        
</artwork>        
</figure>

<t>
The Source Address field in the IPv6 header of the message MUST
be set to the destination address of the received Proxy Binding Update
message.
</t>

<t>
The Destination Address field in the IPv6 header of the message MUST
be set to the source address of the received Proxy Binding Update
message.  When there is no Alternate Care-of Address option present in
the request, the destination address is the same as the Proxy-CoA; otherwise, the address may not be the same as the Proxy-CoA.
</t>

<t>
The Mobile Node Identifier option <xref target="RFC4283" /> MUST be present.  The
identifier field in the option MUST be copied from the Mobile Node
Identifier option in the received Proxy Binding Update message.  If the
option was not present in the request, the identifier in the option
MUST be set to a zero length identifier.
</t>

<t>
At least one Home Network Prefix option MUST be present.
</t>

<list style="symbols">

<t>
If the Status field is set to a value greater than or equal to 128,
i.e., if the Proxy Binding Update is rejected, all the Home Network
Prefix options that were present in the request (along with their prefix
values) MUST be present in the reply.  But, if there was no Home Network
Prefix option present in the request, then there MUST be only one Home
Network Prefix option with the value in the option set to ALL_ZERO. 
</t>

<t>
For all other cases, there MUST be a Home Network Prefix option for
each of the assigned home network prefixes (for that mobility session),
and with the prefix value in the option set to the allocated prefix
value.
</t>

</list>


<t>
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 message.  If the option was not
present in the request, the value in the option MUST be set to zero.
</t>


<t>
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 message.  If
the option was not present in the request, the value in the option MUST
be set to zero.
</t>


<t>
The Timestamp option MUST be present only if the same option was
present in the received Proxy Binding Update message and MUST NOT be
present otherwise.  Considerations from Section 5.5 must be applied for
constructing the Timestamp option.
</t>


<t>
The Mobile Node Link-layer Identifier option MUST be present only if
the same option was present in the received Proxy Binding Update
message and MUST NOT be present otherwise.  The link-layer identifier
value MUST be copied from the Mobile Node Link-layer Identifier option
present in the received Proxy Binding Update message.
</t>

<t>
The Link-local Address option MUST be present only if the same option
was present in the received Proxy Binding Update message and MUST NOT
be present otherwise.  If the Status field in the reply is set to a
value greater than or equal to 128, i.e., if the Proxy Binding Update
is rejected, then the link-local address from the request MUST be
copied to the Link-local Address option in the reply, otherwise the
following considerations apply.
</t>


<list style="symbols">
<t>
If the received Proxy Binding Update message has the Link-local Address
option with ALL_ZERO value and if there is an existing Binding Cache
entry associated with this request, then the link-local address from
the Binding Cache entry MUST be copied to the Link-local Address option
in the reply.
</t>

<t>
If the received Proxy Binding Update message has the Link-local Address
option with ALL_ZERO value and if there is no existing Binding Cache
entry associated with this request, 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.  This generated
address MUST be copied to the Link-local Address option in the reply.
The same address MUST also be copied to the link-local address field of
Binding Cache entry created for this mobility session.
</t>

<t>
If the received Proxy Binding Update message has the Link-local Address
option with NON_ZERO value, then the link-local address from the
request MUST be copied to the Link-local Address option in the reply.
The same address MUST also be copied to the link-local address field of
the Binding Cache entry associated with this request (after creating
the Binding Cache entry, if one does not exist).
</t>
</list>


<t>
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.
</t>


<t>
Unlike in Mobile IPv6 <xref target="RFC3775" />, the Type 2 Routing header MUST NOT be
present in the IPv6 header of the packet.
</t>

</list>

</section>

</section>





<!-------------------------------------------------------------------------->
<!--  SECTION 5.4: Multihoming Support                                   -->
<!-------------------------------------------------------------------------->

<section title="Multihoming Support">

<t>
This specification allows mobile nodes to connect to a Proxy Mobile
IPv6 domain through multiple interfaces for simultaneous access. 
The following are the key aspects of this multihoming support.
</t>

<list style="symbols">

<t>
When a mobile node connects to a Proxy Mobile IPv6 domain through
multiple interfaces for simultaneous access, the local mobility
anchor MUST allocate a mobility session for each of the attached
interfaces.  Each mobility session should be managed under a
separate Binding Cache entry and with its own lifetime.
</t>

<t>
The local mobility anchor MAY allocate more than one home network
prefix for a given interface of the mobile node.  However, all the
prefixes associated with a given interface MUST be managed as part of
one mobility session, associated with that interface.
</t>

<t>
The local mobility anchor MUST allow for a handoff between two
different interfaces of a mobile node.  In such a scenario, all the
home network prefixes associated with one interface (part of one
mobility session) will be associated with a different interface of
the mobile node.  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.
</t>

</list>

<!-------------------------------------------------------------------------->
<!--  SECTION 5.4.1: Binding Cache entry lookup considerations            -->
<!-------------------------------------------------------------------------->

<section title="Binding Cache Entry Lookup Considerations">

<t>
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 message, the local mobility
anchor MUST apply the following multihoming considerations (in the
below specified order, starting with Section 5.4.1.1).  These rules are
chained with the processing rules specified in Section 5.3.
</t>





<!------------------------------------------------------------------------------------------>
<!--  SECTION 5.4.1.1: Home Network Prefix Option (NON_ZERO Value) present in the request -->
<!------------------------------------------------------------------------------------------>

<section title="Home Network Prefix Option (NON_ZERO Value) Present in the Request">

<figure anchor="fig7"  title="Binding Cache Entry (BCE) Lookup Using Home Network Prefix">
<artwork><![CDATA[
+=====================================================================+
|                Registration/De-Registration Message                 |                     
+=====================================================================+ 
|             At least one HNP Option with NON_ZERO Value             | 
+=====================================================================+ 
|                                 ATT                                 | 
+=====================================================================+ 
|   MN-LL-Identifier Opt Present   | MN-LL-Identifier Opt Not Present |     
+=====================================================================+
|                                 HI                                  |
+==================================+==================================+
| BCE Lookup Key: Any of the Home Network Prefixes from the request   | 
+=====================================================================+
]]>        
</artwork>        
</figure>


<t>
If there is at least one Home Network Prefix option present in the
request with a NON_ZERO prefix value and irrespective of the presence
of the Mobile Node Link-layer Identifier option in the request, the
following considerations MUST be applied.  If there is more than one
instance of the Home Network Prefix option, any one of the Home
Network Prefix options present in the request (with NON_ZERO prefix
value) can be used for locating the Binding Cache entry.
</t>

<list style="numbers">

<t>
The local mobility anchor MUST verify if there is an existing Binding
Cache entry with one of its home network prefixes matching the
prefix value in one of the Home Network Prefix options of the received
Proxy Binding Update message.
</t>

<t>
If a Binding Cache entry  does not exist (with one of its home
network prefixes in the Binding Cache entry matching the prefix value
in one of the Home Network Prefix options of the received Proxy Binding
Update message), the request MUST be considered as a request for
creating a new mobility session.
</t>

<t>
If there exists a Binding Cache entry (with one of its home network
prefixes in the Binding Cache entry matching the prefix value in one of
the Home Network Prefix options of the received Proxy Binding Update
message), but 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 message, 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 one or more of the requesting home network prefixes). 
</t>

<t>
If there exists a Binding Cache entry (matching MN-Identifier and 
one of its home network prefixes in the Binding Cache entry matching
the prefix value in one of the Home Network Prefix options of the received
Proxy Binding Update message), but if all the prefixes in the request
do not match all the prefixes in the Binding Cache entry, or if they do
not match in count, then the local mobility anchor MUST reject the
request with the Status field value set to
BCE_PBU_PREFIX_SET_DO_NOT_MATCH (all the home network prefixes listed
in the BCE do not match all the prefixes in the received PBU).
</t>

<t>
If there exists a Binding Cache entry (matching MN-Identifier and all
the home network prefixes in the Binding Cache entry matching all the
home network prefixes in the received Proxy Binding Update message) and
if any one or more of these below stated conditions are true, the request
MUST be considered as a request for updating that Binding Cache entry. 
</t>


<list style="symbols">

<t>
If there is a Mobile Node Link-layer Identifier option present	
in the request and if the link-layer identifier in the option	
matches the link-layer identifier of the Binding Cache entry	
and the access technology type in the Access Technology Type	
option present in the request matches the access technology	
type in the Binding Cache entry.
</t>

<t>
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).
</t>

<t>
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).
</t>

<t>
If the Proxy-CoA 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.
</t>

</list>

<t>
For all other cases, the message MUST be considered as a request for
creating a new mobility session.  However, if the received Proxy Binding
Update message has the lifetime value of zero and if the request cannot
be associated with any existing mobility session, the message MUST be
silently ignored.
</t>


</list>
</section>



<!-------------------------------------------------------------------------------------->
<!--  SECTION 5.4.1.2: Mobile Node Link-layer Identifier Option present in the request -->
<!-------------------------------------------------------------------------------------->

<section title="Mobile Node Link-layer Identifier Option Present in the Request">

<figure anchor="fig8"  title="BCE Lookup Using Link-layer Identifier">
<artwork><![CDATA[
+=====================================================================+
|                   Registration/De-Registration Message              |                     
+=====================================================================+ 
|                  No HNP option with a NON_ZERO Value                | 
+=====================================================================+ 
|                                 ATT                                 | 
+=====================================================================+ 
|         MN-LL-Identifier Option Present (NON_ZERO Value)            |  
+=====================================================================+
|                                 HI                                  |
+==================================+==================================+
|  BCE Lookup Keys: (MN-Identifier + ATT + MN-LL-Identifier)          |           
+=====================================================================+
]]>        
</artwork>        
</figure>

<t>
If there is no Home Network Prefix option present in the request with
a NON_ZERO prefix value, but if there is a Mobile Node Link-layer
Identifier option present in the request, then the following
considerations MUST be applied for locating the Binding Cache entry.
</t>



<list style="numbers">
<t>
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.
</t>

<t>     
If there exists a Binding Cache entry (matching MN-Identifier, Access Technology Type (ATT), and
MN-LL-Identifier), the request MUST be considered as a request
for updating that Binding Cache entry. 
</t>

<t>
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.
</t>

<list style="symbols">

<t>
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 request MUST be considered as a
request for updating that Binding Cache entry. 
</t>

</list>


<t>
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.
</t>

<list style="symbols">

<t>
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 until 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 without waiting for a
de-registration message, and this should be configurable on the local
mobility anchor.
</t>

</list>


<t>
For all other cases, the message MUST be considered as a request for
creating a new mobility session.  However, if the received Proxy Binding
Update message has the lifetime value of zero and if the request cannot
be associated with any existing mobility session, the message MUST be
silently ignored.
</t>

</list>


</section>


<!-------------------------------------------------------------------------------------->
<!--  SECTION 5.4.1.3: Mobile Node Link-layer Identifier Option not present in the request -->
<!-------------------------------------------------------------------------------------->

<section title="Mobile Node Link-layer Identifier Option Not Present in the Request">

<figure anchor="fig9"  title="BCE Lookup Using Mobile Node Identifier">
<artwork><![CDATA[
+=====================================================================+
|                 Registration/De-Registration Message                |                                                   
+=====================================================================+ 
|                 No HNP option with a NON_ZERO Value                 | 
+=====================================================================+ 
|                                 ATT                                 | 
+=====================================================================+ 
|                 MN-LL-Identifier Option Not Present                 |  
+=====================================================================+
|                                 HI                                  |
+==================================+==================================+
|                   BCE Lookup Key: (MN-Identifier)                   |         
+=====================================================================+
]]>        
</artwork>        
</figure>

<t>
If there is no Home Network Prefix option present in the request with
a NON_ZERO prefix value and if there is also no Mobile Node Link-layer
Identifier option present in the request, then the following
considerations MUST be applied for locating the Binding Cache entry.
</t>



<list style="numbers">
<t>
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.
</t>

<t>
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) or set to a value of 3 (Handoff between
mobile access gateways for the same interface), then the request MUST
be considered as a request for updating that Binding Cache entry. 
</t>


<t>
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 until 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
without waiting for a de-registration message, and this should be 
configurable on the local mobility anchor.
</t>

<t>
For all other cases, the message MUST be considered as a request for
creating a new mobility session.  However, if the received Proxy Binding
Update message has the lifetime value of zero and if the request cannot
be associated with any existing mobility session, the message MUST be
silently ignored.
</t>

</list>


</section>
</section>
</section>

<!-------------------------------------------------------------------------->
<!--  SECTION 5.5: Timestamp Option for Message Ordering                   -->
<!-------------------------------------------------------------------------->

<section title="Timestamp Option for Message Ordering">

<t>
Mobile IPv6 <xref target="RFC3775" /> 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 <xref target="RFC3775" />, will be
insufficient for Proxy Mobile IPv6.
</t>

<t>
If the local mobility anchor cannot determine the sending order of the
received Proxy Binding Update messages, it may potentially process an
older message sent by a mobile access gateway where the mobile node
was previously anchored, but delivered out of order, resulting in
incorrectly updating the mobile node's Binding Cache entry and creating
a routing state for tunneling the mobile node's traffic to the
previous mobile access gateway.
</t>

<t>
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 <xref target="RFC3775" />.
</t>

<t>
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 Proxy Binding Update
message for updating a given mobile node's binding.
</t>

<t>
Clock drift reduces the effectiveness of the timestamp mechanism.  The
time required for reconnection is the total of the time required for
the mobile node to roam between two mobile access gateways and the
time required for the serving mobile access gateway to detect the
mobile node on its access link and construct the Proxy Binding Update
message.  If the clock skew on any one of these two neighboring mobile
access gateways (relative to the common time source used for clock
synchronization) is more than half this reconnection time, the
timestamp solution will not predictably work in all cases and hence
SHOULD NOT be used.
</t>

<t>
As an alternative to the Timestamp-based approach, the specification
also allows the use of Sequence-Number-based scheme, as specified in
<xref target="RFC3775" />.  However, for this scheme to work, the serving mobile
access gateway 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 that mobility session.  The sequence number MUST be maintained on a
mobile node's per mobility session basis and MUST be available to the serving mobile access
gateway.  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 made
available to the serving mobile access gateway prior to sending the
Proxy Binding Update message is outside the scope of this document.
</t>

<t>
Using the Timestamp-Based Approach:
</t>

<list style="numbers">
<t>
A local mobility anchor implementation MUST support the Timestamp option.
If the Timestamp option is present in the received Proxy Binding Update
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.
</t>

<t>
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.
</t>

<t>
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 <xref target="RFC4330" />.  Deployments MAY
also adopt other approaches suitable for that specific deployment.
Alternatively, if there is a 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 (e.g., the Timestamp option in
the SEND <xref target="RFC3971" /> 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 are
outside the scope of this document.
</t>

<t>
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).
</t>

<t>
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.
</t>

<t>
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 following MUST be
true.

<list style='symbols'>

<t>
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.  However, if the flag
MobileNodeGeneratedTimestampInUse is set to a value of 1, the local
mobility anchor MUST ignore this check and perform only the following
check.
</t>

<t>
The timestamp MUST be greater than all previously accepted timestamps
in the Proxy Binding Update messages sent for that mobile node. 
</t>

</list>
</t>


<t>
If the timestamp value in the received Proxy Binding Update is valid
(validity as specified in the above considerations) or if the flag
MobileNodeGeneratedTimestampInUse is set to value of 1, 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. 
</t>

<t>
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 message and send a Proxy Binding
Acknowledgement message with the 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.
</t>

<t>
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 the 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.
</t>

</list>

<t>
Using the Sequence-Number-Based Approach:
</t>

<list style="numbers">

<t>
If the Timestamp option is not present in the received Proxy Binding
Update message, the local mobility anchor MUST fall back to the
Sequence-Number-based scheme.  It MUST process the sequence number field
as specified in <xref target="RFC3775" />.  Also, it MUST NOT include the Timestamp
option in the Proxy Binding Acknowledgement messages that it sends to
the mobile access gateway.
</t>

<t>
An implementation MUST support the Sequence-Number-based scheme, as
specified in <xref target="RFC3775" />. 
</t>

<t>
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 Proxy Binding Update message
for updating a given mobile node's binding.
</t>

</list>



</section>





<!-------------------------------------------------------------------------->
<!--  SECTION 5.6: Routing Considerations                                 -->
<!-------------------------------------------------------------------------->
<section title="Routing Considerations">


<!-------------------------------------------------------------------------->
<!--  SECTION 5.6.1: Bi-Directional Tunnel Management                       -->
<!-------------------------------------------------------------------------->
<section title="Bi-Directional Tunnel Management">
<t>
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
address(es) from its home network prefix(es) 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 dynamically created tunnels.
</t>

<list style="symbols">
<t>
A bi-directional tunnel MUST be established between the local mobility
anchor and the mobile access gateway and the local mobility anchor with IPv6-in-IPv6 encapsulation,
as described in <xref target="RFC2473" />.  The tunnel endpoints are the Proxy-CoA and
LMAA.  However, when using IPv4 transport, the endpoints of the tunnel
are IPv4-LMAA and IPv4-Proxy-CoA with the encapsulation mode as
specified in <xref target="IPV4-PMIP6" />.
</t>

<t>
Implementations MAY 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. 
</t>

<t>
The tunnel SHOULD be deleted when either the tunnel lifetime expires or
when there are no mobile nodes sharing the tunnel.
</t>
</list>

</section>



<!-------------------------------------------------------------------------->
<!--  SECTION 5.6.2: Forwarding Considerations                                 -->
<!-------------------------------------------------------------------------->
<section title="Forwarding Considerations">

<t>
Intercepting Packets Sent to the Mobile Node's Home Network:
</t>

<list style="symbols">
<t>
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 the mobile node's
home network prefix(es) 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 the mobile node's
home network prefix(es).
</t>
</list>

<t>
Forwarding Packets to the Mobile Node:
</t>

<list style="symbols">
<t>
On receiving a packet from a correspondent node with the destination
address matching a mobile node's home network prefix(es), the local
mobility anchor MUST forward the packet through the bi-directional
tunnel set up for that mobile node. 
</t>


<t>
The format of the tunneled packet is shown below.  Considerations from
<xref target="RFC2473" /> MUST be applied for IPv6 encapsulation.  However, when using
IPv4 transport, the format of the packet is as described in
<xref target="IPV4-PMIP6" />.
</t>

<figure anchor="fig10"  title="Tunneled Packet from LMA to MAG">
<artwork>        
<![CDATA[
     IPv6 header (src= LMAA, dst= Proxy-CoA  /* Tunnel Header */
        IPv6 header (src= CN, dst= MN-HOA )  /* Packet Header */                           
           Upper layer protocols             /* Packet Content*/ 
            
]]>        
</artwork>        
</figure>


<t>
The format of the tunneled packet is shown below, when payload
protection using IPsec is enabled for the mobile node's data traffic.
However, when using IPv4 transport, the format of the packet is as
described in <xref target="IPV4-PMIP6" />.
</t>

<figure anchor="fig11"  title="Tunneled Packet from LMA to MAG with Payload Protection">
<artwork>        
<![CDATA[
     IPv6 header (src= LMAA, dst= Proxy-CoA     /* Tunnel Header */
        ESP Header in tunnel mode               /* ESP Header */
           IPv6 header (src= CN, dst= MN-HoA )  /* Packet Header */                           
              Upper layer protocols             /* Packet Content*/ 
            
]]>        
</artwork>        
</figure>

</list>

<t>
Forwarding Packets Sent by the Mobile Node:
</t>

<list style="symbols">
<t>
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 <xref target="RFC2473" /> MUST be
applied for IPv6 decapsulation.
</t>
</list>

</section>





<!-------------------------------------------------------------------------->
<!--  SECTION 5.6.3: ECN Considerations                                   -->
<!-------------------------------------------------------------------------->

<section title="Explicit Congestion Notification (ECN) Considerations for Proxy Mobile IPv6 Tunnels">
<t>
This section describes how the ECN information needs to be handled by
the mobility agents at the tunnel entry and exit points.  The ECN 
considerations for IP tunnels are specified in <xref target="RFC3168" />, and the
same considerations apply to Proxy Mobile IPv6 tunnels (using
IPv6-in-IPv6 encapsulation mode).  Specifically, the full-functionality
option MUST be supported.  The relevant ECN considerations from
<xref target="RFC3168" /> are summarized here for convenience.
</t>

<t>
Encapsulation Considerations:
</t>

<list style="symbols">

<t>
If the Explicit Congestion Notification (ECN) field in the inner header
is set to ECT(0) or ECT(1), where ECT stands for ECN-Capable Transport
(ECT), the ECN field from the inner header MUST be copied to the outer
header.  Additionally, when payload protection using IPsec is enabled
for the mobile node's data traffic, the ECN considerations from
<xref target="RFC4301" /> MUST be applied.
</t>

</list>

<t>
Decapsulation Considerations:
</t>

<list style="symbols">

<t>
If the Explicit Congestion Notification (ECN) field in the inner header
is set to ECT(0) or ECT(1), and if the ECN field in the outer header is
set to Congestion Experienced (CE), then the ECN field in the inner
header MUST be set to CE.  Otherwise, the ECN field in the inner header
MUST NOT be modified.  Additionally, when payload protection using IPsec
is enabled for the mobile node's data traffic, the ECN considerations
from <xref target="RFC4301" /> MUST be applied.
</t>

</list>
</section>


</section>





<!-------------------------------------------------------------------------->
<!--  SECTION 5.7: Local Mobility Anchor Address Discovery                 -->
<!-------------------------------------------------------------------------->
<section title="Local Mobility Anchor Address Discovery">
<t>
Dynamic Home Agent Address Discovery (DHAAD), as explained in Section 
10.5 of <xref target="RFC3775" />, 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 Agent's anycast address, derived
from its home network prefix. 
</t>

<t>
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 Agent's
anycast address corresponding to the mobile node's home network
prefix(es), as the prefix(es) 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.
</t>

<t>
In Proxy Mobile IPv6, the
address of the local mobility anchor configured to serve a mobile
node can be discovered by the mobility access gateway entity via
other means.  The LMA to be assigned to a mobile node 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. 
</t>
</section>



<!-------------------------------------------------------------------------->
<!--  SECTION 5.8: Mobile Prefix Discovery Considerations                  -->
<!-------------------------------------------------------------------------->
<section title="Mobile Prefix Discovery Considerations">

<t>
This specification does not support mobile prefix discovery.  The
mobile prefix discovery mechanism as specified in <xref target="RFC3775" /> is not
applicable to Proxy Mobile IPv6.
</t>

</section>



<!-------------------------------------------------------------------------->
<!--  SECTION 5.9: Route Optimization Considerations                       -->
<!-------------------------------------------------------------------------->
<section title="Route Optimization Considerations">
<t>
The Route Optimization in Mobile IPv6, as defined in <xref target="RFC3775" />, 
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. 
</t>

<t>
This specification does not support the Route Optimization specified
in Mobile IPv6 <xref target="RFC3775" />.  However, this specification does support
another form of route optimization, as specified in Section 6.10.3.
</t>

<!--t>
In Proxy Mobile IPv6, the mobile node is not involved in any IP
mobility related signaling. The mobile node uses address(es) from its
home network prefix(es) 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 <xref target="RFC3775" />
cannot be used in Proxy Mobile IPv6. 
</t-->
</section>
</section> 



<!-------------------------------------------------------------------------->
<!--  SECTION 6: Mobile Access Gateway Operation                          -->
<!-------------------------------------------------------------------------->

<section title="Mobile Access Gateway Operation">
<t>
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
Proxy Binding Update messages to the local mobility anchor.  In essence,
the mobile access gateway performs mobility management on behalf of a
mobile node. 
</t>

<t>
The mobile access gateway is a function that typically runs on an
access router.  However, implementations MAY choose to split this
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. 
</t>

<t>
The mobile access gateway has the following key functional roles: 
</t>

<list style='symbols'>
<t>
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.
</t>

<t>
Emulation of the mobile node's home link on the access link by sending
Router Advertisement messages containing the mobile node's home network
prefix(es), each prefix carried using the Prefix Information option
<xref target="RFC4861" />.
</t>

<t>
Responsible for setting up the forwarding for enabling the mobile node
to configure one or more addresses from its home network prefix(es) and
use it from the attached access link.
</t>
</list>





<!-------------------------------------------------------------------------->
<!--  SECTION 6.1: Conceptual Data Structure                              -->
<!-------------------------------------------------------------------------->
<section title="Extensions to Binding Update List Entry Data Structure">
<t>
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 <xref target="RFC3775" />. 
</t>

<t>
For supporting this specification, the conceptual Binding Update List
entry data structure needs be extended with the following additional
fields.
</t>

<list style='symbols'>
<t>
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.
</t>

<t>
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, this variable length field MUST be set to two (octets)
and MUST be initialized to a value of ALL_ZERO.
</t>

<t>
A list of IPv6 home network prefixes assigned to the mobile node's
connected interface.  The home network prefix(es) may have been
statically configured in the mobile node's policy profile, or, may
have been dynamically allocated by the local mobility anchor.  Each of
these prefix entries will also include the corresponding prefix
length.
</t>

<t>
The Link-local address of the mobile access gateway on the access link
shared with the mobile node.
</t>

<t>
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.
</t>

<t>
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. 
</t>

<t>
The tunnel interface identifier (tunnel-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.
</t>

</list>
</section>





<!-------------------------------------------------------------------------->
<!--  SECTION 6.2:   Mobile Node's Policy Profile Data                    -->
<!-------------------------------------------------------------------------->
<section title="Mobile Node's Policy Profile">
<t>
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.
</t>


<t>
The following are the mandatory fields of the policy profile:
</t>

<list style="symbols">
<t>
The mobile node's identifier (MN-Identifier)
</t>
<t>
The IPv6 address of the local mobility anchor (LMAA)
</t>
</list>

<t>
The following are the optional fields of the policy profile:
</t>
<list style="symbols">
<t>
The mobile node's IPv6 home network prefix(es) assigned to the mobile
node's connected interface.  These prefixes have to be maintained on
a per-interface basis.  There can be multiple unique entries for each
interface of the mobile node.  The specific details on how the network
maintains this association between the prefix set and the interfaces,
specially during the mobility session handoff between interfaces, is
outside the scope of this document.
</t>

<t>
The mobile node's IPv6 home network Prefix lifetime.  This lifetime 
will be the same for all the hosted prefixes on the link, as they all
are part of one mobility session.  This value can also be the same for all
the mobile node's mobility sessions.
</t>

<t>
Supported address configuration procedures (Stateful, Stateless, or
both) for the mobile node in the Proxy Mobile IPv6 domain
</t>
</list>
</section>

<!-------------------------------------------------------------------------->
<!--  SECTION 6.3: Supported Access Link Types                            -->
<!-------------------------------------------------------------------------->
<section title="Supported Access Link Types">
<t>
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.
</t>

<t>
This protocol may also be used on other link types, as long as the link
is configured in such a way that it emulates point-to-point delivery
between the mobile node and the mobile access gateway for all the
protocol traffic.
</t>

<t>
It is also necessary to be able to identify mobile nodes attaching to the
link.  Requirements relating to this are covered in Section 6.6.
</t>

<t>
Finally, while this specification can operate without link-layer indications
of node attachment and detachment to the link, the existence of such
indications either on the network or mobile node side improves the
resulting performance.
</t>
        
</section>





<!-------------------------------------------------------------------------->
<!--  SECTION 6.4: Supported Address Configuration Modes                  -->
<!-------------------------------------------------------------------------->
<section title="Supported Address Configuration Modes">
<t>
A mobile node in the Proxy Mobile IPv6 domain can configure one or more
global IPv6 addresses on its interface (using Stateless, Stateful address autoconfiguration procedures or manual address configuration) from the hosted prefix(es)
on that link.  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. 
</t>

<t>
When stateless address autoconfiguration is supported on the access
link, the mobile node can generate one or more IPv6 addresses from
the hosted prefix(es) by standard IPv6 mechanisms such as Stateless
Autoconfiguration <xref target="RFC4862" /> or Privacy extensions <xref target="RFC4941" />.
</t>

<t>
When stateful address autoconfiguration is supported on the link, the
mobile node can obtain the address configuration from the DHCP server
located in the Proxy Mobile IPv6 domain, by standard DHCP mechanisms,
as specified in <xref target="RFC3315" />.  The obtained address(es) will be from its
home network prefix(es).  Section 6.11 specifies the details on how this
configuration can be achieved.
</t>

<t>
Additionally, other address configuration mechanisms specific to the
access link between the mobile node and the mobile access gateway may
also be used for delivering the address configuration to the mobile
node.  This specification does not modify the behavior of any of the
standard IPv6 address configuration mechanisms.
</t>
</section>





<!-------------------------------------------------------------------------->
<!--  SECTION 6.5: Access Authentication                                  -->
<!-------------------------------------------------------------------------->
<section title="Access Authentication and Mobile Node Identification">
<t>
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 are 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.
</t>
</section>





<!-------------------------------------------------------------------------->
<!--  SECTION 6.6: Acquiring Mobile Node's Identifier                     -->
<!-------------------------------------------------------------------------->
<section title="Acquiring Mobile Node's Identifier">

<t>
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.  The following are some of the considerations related to this
MN-Identifier.
</t>


<list style="symbols">
<t>
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.
</t>

<t>
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 Remote Authentication Dial-In User Service (RADIUS) attribute,
Chargeable-User-Identifier <xref target="RFC4372" /> 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.
</t>

<t>
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.
</t>

<t>
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.
</t>

</list>
</section>




<!-------------------------------------------------------------------------->
<!--  SECTION 6.7: Home Network Emulation                                 -->
<!-------------------------------------------------------------------------->
<section title="Home Network Emulation">
<t>
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 does not detect any change with respect to its layer-3
attachment even after it changes its point of attachment in that Proxy
Mobile IPv6 domain.
</t>

<t>
For emulating the mobile node's home link on the access link, the 
mobile access gateway must be able to send Router Advertisement 
messages advertising the mobile node's home network prefix(es) carried
using the Prefix Information option(s) <xref target="RFC4861" /> and with 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.
</t>

<t>
Typically, the mobile access gateway learns the mobile node's
home network prefix(es) details from the received Proxy Binding
Acknowledgement message, or it may obtain them 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(es) only after successfully completing the binding registration
with the mobile node's local mobility anchor.
</t>

<t>
When advertising the home network prefix(es) in the Router
Advertisement messages, the mobile access gateway MAY set the prefix
lifetime value for the advertised prefix(es) 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.
</t>

</section>





<!-------------------------------------------------------------------------->
<!--  SECTION 6.8: Link-local and Global Address Uniqueness               -->
<!-------------------------------------------------------------------------->
<section title="Link-local and Global Address Uniqueness">
<t>
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 does not detect a change of layer-3 attachment.  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 Duplicate Address Detection (DAD)
operation on the link-local and global address(es).  However, if the
mobile node is Detecting Network Attachment in IPv6 (DNAv6) enabled, as specified in <xref target="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.
</t>

<t>
The issue of address collision is not relevant to the mobile node's
global address(es).  Since the assigned home network prefix(es) are
for the mobile node's exclusive usage, no other node shares an address
(other than Subnet-Router anycast address that is configured by the
mobile access gateway) from the prefix(es), and so the uniqueness for
the mobile node's global address is assured on the access link. 
</t>

<t>
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 mobility 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 address is out of scope for this specification.
</t>

<t>
It is highly desirable that the access link on the mobile access
gateway shared with the mobile node be provisioned in such a way that
before the mobile node completes the DAD operation <xref target="RFC4862" /> on its
link-local address, the mobile access gateway on that link is aware of
its own link-local address provided by the local mobility anchor that
it needs to use on that access link.  This essentially requires a
successful completion of the Proxy Mobile IPv6 signaling by the mobile
access gateway before the mobile node completes the DAD operation. 
This can be achieved by ensuring that link-layer attachment does not
complete until the Proxy Mobile IPv6 signaling is completed.
Alternatively, network and local mobility anchor capacity and
signaling retransmission timers can be provisioned in such a way that
signaling is likely to complete during the default waiting
period associated with the DAD process.
</t>

<t>
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.  The configuration variable
FixedMAGLinkLocalAddressOnAllAccessLinks determines the enabled mode in
that Proxy Mobile IPv6 domain.
</t>

</section>      





<!-------------------------------------------------------------------------->
<!--  SECTION 6.9: Signaling Consideration                                -->
<!-------------------------------------------------------------------------->
<section title="Signaling Considerations">



<!-------------------------------------------------------------------------->
<!--  SECTION 6.9.1: Binding Registrations                                -->
<!-------------------------------------------------------------------------->
<section title="Binding Registrations">



<!------------------------------------------------------------------------------->
<!--  SECTION 6.9.1.1: Mobile Node Attachment and Initial Binding Registration -->
<!------------------------------------------------------------------------------->
<section title="Mobile Node Attachment and Initial Binding Registration">

<list style="numbers">
<t>
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. 
</t>

<t>
The Proxy Binding Update message MUST include the Mobile Node
Identifier option <xref target="RFC4283" />, carrying the MN-Identifier for
identifying the mobile node.
</t>

<t>
The Home Network Prefix option(s) MUST be present in the Proxy Binding
Update message.  If the mobile access gateway learns the mobile node's
home network prefix(es) either from its policy store or from other
means, the mobile access gateway MAY choose to request the local
mobility anchor to allocate the specific prefix(es) by including a
Home Network Prefix option for each of those requested prefixes.  The
mobile access gateway  MAY also choose to include just one Home Network
Prefix option with the prefix value of ALL_ZERO, for requesting the
local mobility anchor to do the prefix assignment.  However, when
including a Home Network Prefix option with the prefix value of
ALL_ZERO, there MUST be only one instance of the Home Network
prefix option in the request.
</t>


<t>
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. 
</t>


<list style="symbols">                
<t>
The Handoff Indicator field MUST be set to a value of 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. 
</t>

<t>
The Handoff Indicator field MUST be set to a value of 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.
</t>

<t>
The Handoff Indicator field MUST be set to a value of 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.
</t>

<t>
The Handoff Indicator field MUST be set to a value of 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.
</t>
</list>

<t>
The mobile access gateway MUST apply the below considerations when
choosing the value for the Handoff Indicator field. 
</t>

<list style="symbols">    
<t>
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.
</t>
 
<t>
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 a value of 1 (Attachment
over a new interface) in case (b).
</t>
 
<t> 
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 cannot
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.
</t>

<t>
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.
</t>
</list>


<t>
Either the Timestamp option or a valid sequence number maintained on a
per mobile node's mobility session basis as specified in [RF3775] (if the Sequence-Number-based scheme is in use)
MUST be present.  This can be determined based on the value of the configuration flag TimestampBasedApproachInUse.  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 (maintained at each mobile access gateway and not to be confused with
the per mobile node sequence number specified in <xref target="RFC3775" />).  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 Proxy
Binding Acknowledgement message.  This will be useful for matching the
reply to the request message.
</t>

<t>
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.
</t>

<t>
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 by which the mobile node is
currently attached to the mobile access gateway.
</t>

<t>
The Link-local Address option MUST be present in the Proxy Binding
Update message only if the value of the configuration variable
FixedMAGLinkLocalAddressOnAllAccessLinks is set to a value of ALL_ZERO;
otherwise, the Link-local Address option MUST NOT be present in the
request.  Considerations from Section 6.8 MUST be applied when using
the Link-local Address option.
</t>

<list style="symbols">  
<t>
For querying the local mobility anchor to provide 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 value.  This
essentially serves as a request to the local mobility anchor to
provide the link-local address that it can use on the access link
shared with the mobile node.
</t>

<!--t>
When uploading the link-local address (generated by the mobile access
gateway) 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 using that interface.
</t-->
</list>


<t>
The Proxy Binding Update message MUST be constructed as specified in
Section 6.9.1.5.
</t>

<t>
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 message.
</t>
</list>
</section>


<!-------------------------------------------------------------------------->
<!--  SECTION 6.9.1.2: Receiving Proxy Proxy Binding Acknowledgement      -->
<!-------------------------------------------------------------------------->
<section title="Receiving Proxy Binding Acknowledgement">

<t>
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.
</t>

<list style="numbers">
<t>
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 <xref target="RFC4306" /> of the received
packet is needed for locating the security association, for
authenticating the Proxy Binding Acknowledgement message.
</t>

<t>
The mobile acc