Skip to main content

Proxy Mobile IPv6 Extensions to Support Flow Mobility
draft-ietf-netext-pmipv6-flowmob-05

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 7864.
Author Carlos J. Bernardos
Last updated 2012-10-22
RFC stream Internet Engineering Task Force (IETF)
Formats
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd Basavaraj Patil
IESG IESG state Became RFC 7864 (Proposed Standard)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-netext-pmipv6-flowmob-05
NETEXT Working Group                                  CJ. Bernardos, Ed.
Internet-Draft                                                      UC3M
Intended status: Standards Track                        October 22, 2012
Expires: April 25, 2013

         Proxy Mobile IPv6 Extensions to Support Flow Mobility
                  draft-ietf-netext-pmipv6-flowmob-05

Abstract

   Proxy Mobile IPv6 allows a mobile node to connect to the same Proxy
   Mobile IPv6 domain through different interfaces.  However, the
   ability of movement of selected flows from one access technology to
   another is missing in the basic Proxy Mobile IPv6 protocol.  This
   document describes extensions to the Proxy Mobile IPv6 protocol that
   are required to support network based flow mobility over multiple
   physical interfaces.

   The extensions required consist on the operations performed by the
   local mobility anchor and the mobile access gateway to manage the
   prefixes assigned to the different interfaces of the mobile node, as
   well as how the forwarding policies are handled by the network to
   ensure consistent flow mobility management.

Requirements Language

   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 [RFC2119].

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on April 25, 2013.

Bernardos                Expires April 25, 2013                 [Page 1]
Internet-Draft            PMIPv6 flow mobility              October 2012

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Overview of the PMIPv6 flow mobility extensions  . . . . . . .  4
     3.1.  Use case scenarios . . . . . . . . . . . . . . . . . . . .  4
     3.2.  Basic Operation  . . . . . . . . . . . . . . . . . . . . .  5
       3.2.1.  MN sharing a common set of prefixes on all MAGs  . . .  5
       3.2.2.  MN with different sets of prefixes on each MAG . . . .  9
       3.2.3.  MN with combination of prefix(es) in use and new
               prefix(es) on each MAG . . . . . . . . . . . . . . . . 14
   4.  Message formats  . . . . . . . . . . . . . . . . . . . . . . . 14
     4.1.  Flow Mobility Initiate (FMI) . . . . . . . . . . . . . . . 14
     4.2.  Flow Mobility Acknowledgement (FMA)  . . . . . . . . . . . 15
   5.  Conceptual Data Structures . . . . . . . . . . . . . . . . . . 16
     5.1.  Multiple Proxy Care-of Address Registration  . . . . . . . 16
     5.2.  Flow Mobility Cache  . . . . . . . . . . . . . . . . . . . 17
   6.  Mobile Node considerations . . . . . . . . . . . . . . . . . . 18
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 18
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 18
   9.  Authors  . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
   10. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 21
   11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     11.1. Normative References . . . . . . . . . . . . . . . . . . . 21
     11.2. Informative References . . . . . . . . . . . . . . . . . . 22
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 22

Bernardos                Expires April 25, 2013                 [Page 2]
Internet-Draft            PMIPv6 flow mobility              October 2012

1.  Introduction

   Proxy Mobile IPv6 (PMIPv6), specified in [RFC5213], provides network
   based mobility management to hosts connecting to a PMIPv6 domain.
   PMIPv6 introduces two new functional entities, the Local Mobility
   Anchor (LMA) and the Mobile Access Gateway (MAG).  The MAG is the
   entity detecting Mobile Node's (MN) attachment and providing IP
   connectivity.  The LMA is the entity assigning one or more Home
   Network Prefixes (HNPs) to the MN and is the topological anchor for
   all traffic belonging to the MN.

   PMIPv6 allows a a mobile node to connect to the same PMIPv6 domain
   through different interfaces.  This document specifies protocol
   extensions to Proxy Mobile IPv6 between the local mobility anchor and
   mobile access gateways to enable "flow mobility" and hence distribute
   specific traffic flows on different physical interfaces.  It is
   assumed that the mobile node IP layer interface can simultaneously
   and/or sequentially attach to multiple MAGs, possibly over multiple
   media.  One form to achieve this multiple attachment is described in
   [I-D.ietf-netext-logical-interface-support], which allows the mobile
   node supporting traffic flows on different physical interfaces
   regardless of the assigned prefixes on those physical interfaces.

   In particular, this document specifies how to enable "flow mobility"
   in the PMIPv6 network (i.e., local mobility anchors and mobile access
   gateways).  In order to do so, two main operations are required: i)
   proper prefix management by the PMIPv6 network, ii) consistent flow
   forwarding policies.  This memo analyzes different potential use case
   scenarios, involving different prefix assignment requirements, and
   therefore different PMIPv6 network extensions to enable "flow
   mobility".

2.  Terminology

   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 RFC2119 [RFC2119].

   The following terms used in this document are defined in the Proxy
   Mobile IPv6 [RFC5213]:

      Local Mobility Agent (LMA).

      Mobile Access Gateway (MAG).

      Proxy Mobile IPv6 Domain (PMIPv6-Domain).

Bernardos                Expires April 25, 2013                 [Page 3]
Internet-Draft            PMIPv6 flow mobility              October 2012

      LMA Address (LMAA).

      Proxy Care-of Address (Proxy-CoA).

      Home Network Prefix (HNP).

   The following terms used in this document are defined in the Multiple
   Care-of Addresses Registration [RFC5648] and Flow Bindings in Mobile
   IPv6 and Network Mobility (NEMO) Basic Support [RFC6089]:

      Binding Identification Number (BID).

      Flow Identifier (FID).

      Traffic Selector (TS).

   The following terms are defined and used in this document:

   FMI (Flow Mobility Initiate).  Message sent by the LMA to the MAG
      conveying the information required to enable flow mobility in a
      PMIPv6-Domain.  This message is only needed when the prefixes
      initially assigned by the different MAGs to the mobile node are
      different.

   FMA (Flow Mobility Acknowledgement).  Message sent by the MAG in
      reply to an FMI message.

   FMC (Flow Mobility Cache).  Conceptual data structure maintained by
      the LMA and the MAG to support the flow mobility management
      operations described in this document.

3.  Overview of the PMIPv6 flow mobility extensions

3.1.  Use case scenarios

   In contrast to a typical handover where connectivity to a physical
   medium is relinquished and then re-established, flow mobility assumes
   a mobile node can have simultaneous access to more than one network.
   In this specification, it is assumed that the local mobility anchor
   is aware of the mobile node's capabilities to have simultaneous
   access to both access networks and it can handle the same or a
   different set of prefixes on each access.  How this is done is
   outside the scope of this specification.

   There are different flow mobility scenarios.  In some of them the
   mobile node might share a common set of prefixes among all its
   physical interfaces, whereas in others the mobile node might have a

Bernardos                Expires April 25, 2013                 [Page 4]
Internet-Draft            PMIPv6 flow mobility              October 2012

   different subset of prefixes configured on each of the physical
   interfaces.  The different scenarios are the following:

   1.  At the time of a new network attachment, the MN obtains the same
       prefix or the same set of prefixes as already assigned to an
       existing session.  This is not the default behavior with basic
       PMIPv6 [RFC5213], and the LMA needs to be able to provide the
       same assignment even for the simultaneous attachment (as opposed
       to the handover scenario only).

   2.  At the time of a new network attachment, the MN obtains a new
       prefix or a new set of prefixes for the new session.  This is the
       default behavior with basic PMIPv6 [RFC5213].

   3.  At the time of a new network attachment, the MN obtains a
       combination of prefix(es) in use and new prefix(es).  This is a
       hybrid of the two above-mentioned scenarios.  The local policy
       determines whether the new prefix is exclusive to the new
       attachment or it can be assigned to an existing attachment as
       well.

   The operational description of how to enable flow mobility in each of
   these scenarios is provided in Section 3.2.1, Section 3.2.2 and
   Section 3.2.3.

   The extensions described in this document support all the
   aforementioned scenarios.

3.2.  Basic Operation

   This section describes how the PMIPv6 extensions described in this
   document enable flow mobility support.

   Both the mobile node and the local mobility anchor SHOULD have local
   policies in place that ensure packets are forwarded coherently for
   unidirectional and bidirectional communications.  The details about
   how this consistency is ensured are out of the scope of this
   document.

3.2.1.  MN sharing a common set of prefixes on all MAGs

   This scenario corresponds to the use case scenario number 1 described
   in Section 3.1.  This scenario needs extensions to basic PMIPv6
   [RFC5213] signaling at the time of a new attachment, to ensure that
   the same prefix (or set of prefixes) is assigned to all the
   interfaces of the same mobile node that are simultaneously attached.
   Subsequently, no further signaling is necessary between the local
   mobility anchor and the mobile access gateway and flows are forwarded

Bernardos                Expires April 25, 2013                 [Page 5]
Internet-Draft            PMIPv6 flow mobility              October 2012

   according to policy rules on the local mobility anchor and the mobile
   node.

   If the local mobility anchor assigns a common prefix (or set of
   prefixes) to the different physical interfaces attached to the
   domain, then all the MAGs already have all the routing knowledge
   required to forward uplink or downlink packets, and the local
   mobility anchor does not need to perform any kind of signaling in
   order to move flows across the different physical interfaces.

   The local mobility anchor needs to know when to assign the same set
   of prefixes to all the different physical interfaces of the mobile
   node.  This can be achieved by different means, such as policy
   configuration or default policies, etc.  In this document a new
   Handoff Indicator (HI) value ("Attachment over a new interface
   sharing prefixes") is defined, to allow the mobile access gateway
   indicate to the local mobility anchor that the same set of prefixes
   MUST be assigned to the mobile node.  The considerations of Section
   5.4.1 of [RFC5213] are updated by this specification as follows:

   o  If there is at least one Home Network Prefix option present in the
      request with a NON_ZERO prefix value, there exists a Binding Cache
      entry (with one all home network prefixes in the Binding Cache
      entry matching the prefix values of all Home Network Prefix
      options of the received Proxy Binding Update message), and the
      entry matches the mobile node identifier in the Mobile Node
      Identifier option of the received Proxy Binding Update message,
      and the value of the Handoff Indicator of the received Proxy
      Binding Update is equal to "Attachment over a new interface
      sharing prefixes".

      1.  If there is a Mobile Node Link-layer Identifier Option present
          in the request and the Binding Cache entry matches the Access
          Technology Type (ATT), and MN-LL-Identifier, the request MUST
          be considered as a request for updating that Binding Cache
          entry.

      2.  If there is a Mobile Node Link-layer Identifier Option present
          in the request and the Binding Cache entry does not match the
          Access Technology Type (ATT), and MN-LL-Identifier, the
          request MUST be considered as a request for creating a new
          mobility session sharing the same set of Home Network Prefixes
          assigned to the existing Binding Cache entry found.

      3.  If there is not a Mobile Node Link-layer Identifier Option
          present in the request, the request MUST be considered as a
          request for creating a new mobility session sharing the same
          set of Home Network Prefixes assigned to the existing Binding

Bernardos                Expires April 25, 2013                 [Page 6]
Internet-Draft            PMIPv6 flow mobility              October 2012

          Cache entry found.

   In case the mobile access gateways need to be configured to support
   flow mobility because of packet policing, packet enforcement,
   charging or similar reasons, the local mobility anchor MUST re-use
   the signaling defined later in this document to convey this
   information.

                                     LMA Binding Cache
                       +---+       =======================
                       |LMA|        MN1, if1, pref1, MAG1
                       +---+        MN1, if2, pref1, MAG2
                        //\\
             +---------//--\\-------------+
            (         //    \\             ) PMIPv6 domain
            (        //      \\            )
             +------//--------\\----------+
                   //          \\
                  //            \\
               +----+           +----+
               |MAG1|           |MAG2|
               +----+           +----+
                 |                |
                 |   +-------+    |
                 |   |  I P  |    |
                 |   +---+---+    |
                 |---|if1|if2|----|
                     +---+---+
                        MN1

        Figure 1: Shared prefix across physical interfaces scenario

   Next, an example of how flow mobility works in this case is shown.
   In Figure 1, a mobile node (MN1) has two different physical
   interfaces (if1 and if2).  Each physical interface is attached to a
   different mobile access gateway, both of them anchored and controlled
   by the same local mobility anchor.  Both physical interfaces are
   assigned the same prefix (pref1) upon attachment to the MAGs.  If the
   IP layer at the mobile node shows one single interface, then the
   mobile node has one single IPv6 address configured at the IP layer:
   pref1::mn1.  Otherwise, two different IPv6 addresses (pref1::if1 and
   pref1::if2) would be configured.  We assumme the former case in the
   following example (and in the rest of this document).  Initially,
   flow X goes through MAG1 and flow Y through MAG2.  At certain point,
   flow Y can be moved to also go through MAG1.  As shown in Figure 2,
   no signaling between the local mobility anchor and the mobile access
   gateways is needed.

Bernardos                Expires April 25, 2013                 [Page 7]
Internet-Draft            PMIPv6 flow mobility              October 2012

                 +-----+         +------+        +------+      +-----+
   Internet      | LMA |         | MAG1 |        | MAG2 |      | MN1 |
                 +-----+         +------+        +------+      +-----+
      |             |               |               |             |
      |  flow X to  |   flow X to   |           flow X to         |
      |  pref1::mn1 |   pref1::mn1  |           pref1::mn1        |
      |<----------->|<------------->|<-------------------------->if1
      |  flow Y to  |           flow Y to           |  flow Y to  |
      |  pref1::mn1 |           pref1::mn1          |  pref1::mn1 |
      |<----------->|<----------------------------->|<---------->if2
      |             |               |               |             |
      |       ============          |               |       ============
      |       ||  flow  ||          |               |       ||  flow  ||
      |       || policy ||          |               |       || policy ||
      |       || update ||          |               |       || update ||
      |       ============          |               |       ============
      |             |               |               |             |
      |  flow Y to  |   flow Y to   |          flow Y to          |
      |  pref1::mn1 |   pref1::mn1  |          pref1::mn1         |
      |<----------->|<------------->|<-------------------------->if1
      |             |               |               |             |

   Figure 2: Flow mobility message sequence with common set of prefixes

   Figure 3 shows the state of the different network entities after
   moving flow Y in the previous example.  This documents re-uses some
   of the terminology and mechanisms of the flow bindings and multiple
   care-of address registration specifications.  Note, that in this case
   the BIDs shown in the figure are assigned locally by the LMA, since
   there is no signaling required in this scenario.  In any case,
   alternative implementations of flow routing at the LMA could be used,
   as it does not impact on the operation of the solution in this case.

Bernardos                Expires April 25, 2013                 [Page 8]
Internet-Draft            PMIPv6 flow mobility              October 2012

                           LMA Binding Cache        LMA flowmob state
                      (BID, MN-ID, ATT, HNP, PCoA)      (BID, TS)
                 +---+ ==========================  ===================
                 |LMA|  1, MN1, if1, pref1, MAG1       1, flow X
                 +---+  2, MN1, if2, pref1, MAG2       1, flow Y
                  //\\
       +---------//--\\-------------+
      (         //    \\             ) PMIPv6 domain
      (        //      \\            )
       +------//--------\\----------+
             //          \\
            //            \\       MAG1 routing state
         +----+           +----+  ================================
         |MAG1|           |MAG2|     (dest)         (next hop)
         +----+           +----+   pref1::/64   p2p-iface-with-MN1
           |                |         ::/0             LMA
           |                |
           |                |      MAG2 routing state
           |   +-------+    |     ================================
           |   |  I P  |    |        (dest)         (next hop)
           |   +---+---+    |      pref1::/64   p2p-iface-with-MN1
           |---|if1|if2|----|         ::/0             LMA
               +---+---+
                  MN1

           Figure 3: Data structures with common set of prefixes

3.2.2.  MN with different sets of prefixes on each MAG

   A different flow mobility scenario happens when the local mobility
   anchor assigns different sets of prefixes to physical interfaces of
   the same mobile node.  This covers the second and third use case
   scenarios described in Section 3.1.  In this case, specific signaling
   is required between the local mobility anchor and the mobile access
   gateway to enable relocating flows between the different attachments,
   so the MAGs are aware of the prefixes for which the MN is going to
   receive traffic, and local routing entries are configured
   accordingly.  Two different possibilities are considered next.

   The first possibility corresponds to the use case scenario number 2
   described in Section 3.1, in which a multi-interfaced mobile node
   obtains a different set of prefixes on each attachment.  Signaling is
   required when a flow is to be moved from its original interface to a
   new one.  Since the local mobility anchor cannot send a PBA message
   which has not been triggered in response to a received PBU message,
   new signaling messages are defined to cover this case.  The trigger
   for the flow movement can be on the mobile node (e.g., by using
   layer-2 signaling, by explicitly start sending flow packets via a new

Bernardos                Expires April 25, 2013                 [Page 9]
Internet-Draft            PMIPv6 flow mobility              October 2012

   interface, etc.) or on the network (e.g., based on congestion and
   measurements performed at the network).

   If the flow is being moved from its default path (which is determined
   by the destination prefix) to a different one, the local mobility
   anchor constructs a Flow Mobility Initiate (FMI) message.  This
   message MUST be sent to the new target mobile access gateway, i.e.
   the one selected to be used in the forwarding of the flow.  The FMI
   message contains (as explained in further detail in Section 4.1), the
   MN-Identifier, the Flow Identification Mobility option (specified in
   [RFC6089]) which can convey prefix or full flow information, and the
   type of flow mobility operation (add flow).  By default, prefix
   information is provided.  Full prefix granularity is non mandatory.
   Optionally, the local mobility anchor may send another FMI message,
   this time to remove the flow Y state at MAG2.  Otherwise the flow
   state at MAG2 will be removed upon timer expiration.  The message
   sequence is shown in Figure 4.

Bernardos                Expires April 25, 2013                [Page 10]
Internet-Draft            PMIPv6 flow mobility              October 2012

                 +-----+         +------+        +------+      +-----+
   Internet      | LMA |         | MAG1 |        | MAG2 |      | MN1 |
                 +-----+         +------+        +------+      +-----+
      |             |               |               |             |
      |  flow X to  |   flow X to   |           flow X to         |
      |  pref1::mn1 |   pref1::mn1  |           pref1::mn1        |
      |<----------->|<------------->|<-------------------------->if1
      |  flow Y to  |           flow Y to           |  flow Y to  |
      |  pref2::mn1 |           pref2::mn1          |  pref2::mn1 |
      |<----------->|<----------------------------->|<---------->if2
      |             |               |               |             |
      |       ============          |               |       ============
      |       ||  flow  ||          |               |       ||  flow  ||
      |       || policy ||          |               |       || policy ||
      |       || update ||          |               |       || update ||
      |       ============          |               |       ============
      |             |               |               |             |
      |             | FMI[MN1-ID,flow_info(Y),add]  |             |
      |             |-------------->|               |             |
      |             |          FMA  |               |             |
      |             |<--------------|               |             |
      |  flow Y to  |   flow Y to   |          flow Y to          |
      |  pref2::mn1 |   pref2::mn1  |          pref2::mn1         |
      |<----------->|<------------->|<-------------------------->if1
      |             |               |               |             |
      |             |           (optional)          |             |
      |             |FMI[MN1-ID,flow_info(Y),lft=0] |             |
      |             |------------------------------>|             |
      |             |               |         FMA   |             |
      |             |<------------------------------|             |
      |             |               |               |             |

       Figure 4: Flow mobility message sequence when the LMA assigns
     different sets of prefixes per physical interface (FMI signaling)

   The state in the network after moving a flow, for the case the LMA
   assigns a different set of prefixes is shown in Figure 5.

Bernardos                Expires April 25, 2013                [Page 11]
Internet-Draft            PMIPv6 flow mobility              October 2012

                           LMA Binding Cache          LMA flowmob state
                      (BID, MN-ID, ATT, HNP, PCoA)       (BID, TS)
                 +---+ ============================  ===================
                 |LMA|  1, MN1, if1, pref1,               1, flow X
                 +---+               pref2,  MAG1         1, flow Y
                  //\\  2, MN1, if2, pref2,  MAG2
       +---------//--\\-------------+
      (         //    \\             ) PMIPv6 domain
      (        //      \\            )
       +------//--------\\----------+
             //          \\
            //            \\       MAG1 routing state
         +----+           +----+  ================================
         |MAG1|           |MAG2|     (dest)         (next hop)
         +----+           +----+   pref1::/64   p2p-iface-with-MN1
           |                |      pref2::/64   p2p-iface-with-MN1
           |                |         ::/0             LMA
           |                |
           |   +-------+    |      MAG2 routing state
           |   |  I P  |    |     ================================
           |   +---+---+    |        (dest)         (next hop)
           |---|if1|if2|----|      pref2::/64   p2p-iface-with-MN1
               +---+---+              ::/0             LMA
                  MN1

    Figure 5: Data structures when the LMA assigns a  different set of
                                 prefixes

   The second possibility corresponds to the use case scenario number 3
   described in Section 3.1, in which upon new physical interface
   attachment, the MN obtains a combination of prefix(es) in use and new
   prefix(es).  Here, the mobile node is already attached to the PMIPv6-
   Domain via MAG1.  At a certain moment, the mobile node attaches a new
   interface (if2) to MAG2.  MAG2 sends a PBU which is then used by the
   LMA to enable flow mobility.  In this case, we consider that flows
   are moved with a prefix granularity, meaning that flows are moved by
   moving prefixes among the different MAGs the mobile node is attached
   to.  In this example, flow Y is bound to pref2::/64 and therefore the
   flow can be moved by just binding pref2::/64 to MAG2.  This is done
   by including the prefix in the PBA message.  The scenario is shown in
   Figure 6.

   Optionally, a Binding Revocation Indication message [RFC5846] with
   the P bit set MAY be sent to MAG1 to indicate that this is a
   revocation of PMIP prefix(es).  After processing BRI, the source MAG
   MUST send a Binding Revocation Acknowledgement (BRA) message back to
   the LMA.

Bernardos                Expires April 25, 2013                [Page 12]
Internet-Draft            PMIPv6 flow mobility              October 2012

                 +-----+           +------+        +------+      +-----+
   Internet      | LMA |           | MAG1 |        | MAG2 |      | MN  |
                 +-----+           +------+        +------+      +-----+
      |             |                 |               |             |
      |  flow X to  |    flow X to    |           flow X to         |
      |  pref1::mn1 |    pref1::mn1   |           pref1::mn1        |
      |<----------->|<--------------->|<-------------------------->if1
      |  flow Y to  |    flow Y to    |           flow Y to         |
      |  pref2::mn1 |    pref2::mn1   |           pref2::mn1        |
      |<----------->|<--------------->|<-------------------------->if1
      |             |                 |               |             |
      |             |                 |               |             |
      |             |                 |            MN powers on if2 and
      |             |                 |           performs L2 attachment
      |             |                 |               |<-----------if2
      |             |                 |          PBU  |             |
      |             |<--------------------------------|             |
      |             |   PBA (pref2)   |               |             |
      |             |-------------------------------->|             |
      |     LMA moves pref2 to new    |               |             |
      |  binding cache entry for if2  |               |             |
      |             |                 |               |             |
      |  flow y to  |             flow y to           |  flow y to  |
      |  pref2::mn1 |             pref2::mn1          |  pref2::mn1 |
      |<----------->|<------------------------------->|<---------->if2
      |             |                 |               |             |
      |             |   (optional)    |               |             |
      |             |   BRI[pref2]    |               |             |
      |             |---------------->|               |             |
      |             |       BRA       |               |             |
      |             |<----------------|               |             |
      |             |                 |               |             |

      Figure 6: Flow mobility message sequence with different set of
              prefixes per physical interface (PBU signaling)

   In case flow mobility is needed with a finer granularity (e.g., flow
   level instead of full prefix), a Flow Identification Mobility option
   (specified in [RFC6089]) that can convey full flow information MUST
   be included in the PBA.  The MAG MAY also include the Flow
   Identification Mobility option in the PBU message that it sends to
   the LMA.  This serves as a request from MAG to LMA to consider the
   flow policy rules specified in the option.  In this case, no prefix
   is removed from any MAG because the movement is performed at a flow
   level.

Bernardos                Expires April 25, 2013                [Page 13]
Internet-Draft            PMIPv6 flow mobility              October 2012

3.2.3.  MN with combination of prefix(es) in use and new prefix(es) on
        each MAG

   This scenario is a hybrid of the ones described in Section 3.2.1 and
   Section 3.2.2.  It requires flow mobility signaling to enable
   relocating flows for the new prefix(es) which are not shared across
   attachments.

4.  Message formats

   This section defines extensions to the Proxy Mobile IPv6 [RFC5213]
   protocol messages.

4.1.  Flow Mobility Initiate (FMI)

   The LMA sends an FMI message to a MAG to enable flow mobility.  It is
   a Mobility Header message.

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                     |           Sequence #          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |I|        Reserved             |           Lifetime            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     .                                                               .
     .                        Mobility options                       .
     .                                                               .
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Sequence Number:

      A monotonically increasing integer.  Set by the LMA sending then
      initiate message, and used to match a reply in the
      Acknowledgement.

   'I' (initiate) flag:

      Set to 1, indicates it is an FMI message.

   Reserved:

      This field is unused.  MUST be set to zero by the sender.

   Lifetime:

Bernardos                Expires April 25, 2013                [Page 14]
Internet-Draft            PMIPv6 flow mobility              October 2012

      The requested time in seconds for which the LMA asks the MAG keep
      flow-specific state.  A value of all one bits (0xffff) represents
      infinity.  If set to 0, it indicates a request to remove state
      about the flow (cancel flow mobility)

   Mobility Options:

      MUST contain the MN-ID, followed by one or more Flow
      Identification Mobility options [RFC6089].

4.2.  Flow Mobility Acknowledgement (FMA)

   The MAG sends an FMI message to the LMA as a response to the FMI
   message.  It is a Mobility Header message.

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                     |           Sequence #          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |I|  Reserved   |    Status     |           Lifetime            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     .                                                               .
     .                        Mobility options                       .
     .                                                               .
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Sequence Number:

      A monotonically increasing integer.  Copied from the value set by
      the sending LMA in the FMI message being acknowledged by this FMA
      message.

   'I' flag:

      Set to 0, indicates it is an FMA message.

   Reserved:

      This field is unused.  MUST be set to zero by the sender.

   Status (values to be assigned by IANA):

      ??: Success.

Bernardos                Expires April 25, 2013                [Page 15]
Internet-Draft            PMIPv6 flow mobility              October 2012

      ??: Reason unspecified.

      ??: MN not attached.

      ??: Sequence number out of window.

      ??: Traffic Selector format unsupported.

      ??: No existing Flow Mobility Cache entry.

   Lifetime:

      The requested time in seconds for which the MAG keeps flow-
      specific state.  A value of all one bits (0xffff) represents
      infinity.

   Mobility Options:

      When Status code is 0, MUST contain the MN-ID, followed by one or
      more Flow Identification Mobility options [RFC6089].

5.  Conceptual Data Structures

   This section summarizes the extensions to Proxy Mobile IPv6 that are
   necessary to manage flow mobility.

5.1.  Multiple Proxy Care-of Address Registration

   The binding cache structure of the local mobility anchor is extended
   to allow multiple proxy care of address (Proxy-CoA) registrations,
   and support the mobile node use the same address (prefix) beyond a
   single interface and mobile access gateway.  The LMA maintains
   multiple binding cache entries for an MN.  The number of binding
   cache entries for a mobile node is equal to the number of the MN's
   interfaces attaching to any MAGs.

   This specification re-uses the extensions defined in [RFC5648] to
   manage multiple registrations, but in the context of Proxy Mobile
   IPv6.  The binding cache is therefore extended to include more than
   one proxy care-of addresses and to associate each of them with a
   binding identifier (BID).  Note that the BID is a local identifier,
   assigned and used by the local mobility anchor to identify which
   entry of the flow mobility cache is used to decide how to route a
   given flow.

Bernardos                Expires April 25, 2013                [Page 16]
Internet-Draft            PMIPv6 flow mobility              October 2012

            +---------+-----+-------+------+-----------+------------+
            | BID-PRI | BID | MN-ID |  ATT |   HNP(s)  | Proxy-CoA  |
            +---------+-----+-------+------+-----------+------------+
            |    20   |  1  |  MN1  | WiFi | HNP1,HNP2 | IP1 (MAG1) |
            |    30   |  2  |  MN1  | 3GPP | HNP1,HNP3 | IP2 (MAG2) |
            +---------+-----+-------+------+-----------+------------+

                     Figure 7: Extended Binding Cache

   Figure 7 shows and example of extended binding cache, containing two
   binding cache entries (BCEs) of a mobile node MN1 attached to the
   network using two different access technologies.  Both of the two
   attachments share the same prefix (HNP1) and are bounded to two
   different Proxy-CoAs (two MAGs).

5.2.  Flow Mobility Cache

   Each local mobility anchor MUST maintain a flow mobility cache (FMC)
   as shown in Figure 8.  The flow mobility cache can be thought of as a
   conceptual list of entries that is separate from the binding cache.
   This conceptual list contains an entry for each of the registered
   flows.  This specification re-uses the format of the flow binding
   list defined in [RFC6089].  Each enty includes the following fields:

   o  Flow Identifier Priority (FID-PRI).

   o  Flow Identifier (FID).

   o  Traffic Selector (TS).

   o  Binding Identifier (BID).

   o  Action.

   o  Active/Inactive.

               +---------+-----+-----+------+---------+----------+
               | FID-PRI | FID | TS  | BIDs |  Action |   A/I    |
               +---------+-----+-----+------+---------+----------+
               |   10    |  2  | TCP |  1   | Forward |  Active  |
               |   20    |  4  | UDP | 1,2  | Forward | Inactive |
               +---------+-----+-----+------+---------+----------+

                       Figure 8: Flow Mobility Cache

   The BID field contains the identifier of the binding cache entry
   which packets matching the flow information described in the TS field

Bernardos                Expires April 25, 2013                [Page 17]
Internet-Draft            PMIPv6 flow mobility              October 2012

   will be forwarded to.  When a flow is decided to be moved, the
   affected BID(s) of the table are updated.

   Similar to flow binding described in [RFC6089], each entry of the
   flow mobility cache points to a specific binding cache entry
   identifier (BID).  When a flow is moved, the local mobility anchor
   simply updates the pointer of the flow binding entry with the BID of
   the interface to which the flow will be moved.  The traffic selector
   (TS) in flow binding table is defined as in [RFC6088].  TS is used to
   classify the packets of flows basing on specific parameters such as
   service type, source and destination address, etc.  The packets
   matching with the same TS will be applied the same forwarding policy.
   FID-PRI is the order of precedence to take action on the traffic.
   Action may be forward or drop.  If a binding entry becomes 'Inactive'
   it does not affect data traffic.  An entry becomes 'Inactive' only if
   all of the BIDs are deregistered.

   The mobile access gateway MAY also maintain a similar data structure.
   In case no full flow mobility state is required at the MAG, the
   Binding Update List (BUL) data structure is enough and no extra
   conceptual data entries are needed.  In case full per-flow state is
   required at the mobile access gateway, it SHOULD also maintain a flow
   mobility cache structure.

6.  Mobile Node considerations

   This specification assumes that the mobile node IP layer interface
   can simultaneously and/or sequentially attach to multiple MAGs,
   possibly over multiple media.  The mobile node MUST be able to
   enforce uplink policies to select the right outgoing interface.  One
   form to achieve this multiple attachment is described in
   [I-D.ietf-netext-logical-interface-support], which allows the mobile
   node supporting traffic flows on different physical interfaces
   regardless of the assigned prefixes on those physical interfaces.

7.  IANA Considerations

   This specification defines two new mobility header types (Flow
   Mobility Initiate and Flow Mobility Acknowledgement) and a new value
   for the Handoff Indicator.

8.  Security Considerations

   The protocol signaling extensions defined in this document share the
   same security concerns of Proxy Mobile IPv6 [RFC5213] and do not pose

Bernardos                Expires April 25, 2013                [Page 18]
Internet-Draft            PMIPv6 flow mobility              October 2012

   any additional security threats to those already identified in
   [RFC5213].  The new Flow Mobility Initiate and Flow Mobility
   Acknowledgement signaling messages, exchanged between the mobile
   access gateway and the local mobility anchor, MUST be protected using
   end-to-end security association(s) offering integrity and data origin
   authentication.

   The mobile access gateway and the local mobility anchor MUST use the
   IPsec security mechanism mandated by Proxy Mobile IPv6 [RFC5213] to
   secure the signaling described in this document.  In the following,
   we describe the Security Policy Database (SPD) and Security
   Association Database (SAD) entries necessary to protect the new
   signaling introduced by this specification (Flow Mobility Initiate
   and Flow Mobility Acknowledgement).  We use the same format used by
   [RFC4877].  The SPD and SAD entries are only example configurations.
   A particular mobile access gateway implementation and a local
   mobility anchor home agent implementation could configure different
   SPD and SAD entries as long as they provide the required security of
   the signaling messages.

   For the examples described in this document, a mobile access gateway
   with address "mag_address_1", and a local mobility anchor with
   address "lma_address_1" are assumed.

      mobile access gateway SPD-S:
        - IF local_address = mag_address_1 &
             remote_address = lma_address_1 &
             proto = MH & (remote_mh_type = FMI | local_mh_type = FMA )
          Then use SA1 (OUT) and SA2 (IN)

      mobile access gateway SAD:
        - SA1(OUT, spi_a, lma_address_1, ESP, TRANSPORT):
              local_address = mag_address_1 &
              remote_address = lma_address_1 &
              proto = MH
        - SA2(IN, spi_b, mag_address_1, ESP, TRANSPORT):
              local_address = lma_address_1 &
              remote_address = mag_address_1 &
              proto = MH

      local mobility anchor SPD-S:
        - IF local_address = lma_address_1 &
             remote_address =mag_address_1 &
             proto = MH & (remote_mh_type = FMA | local_mh_type = FMI)
          Then use SA2 (OUT) and SA1 (IN)

Bernardos                Expires April 25, 2013                [Page 19]
Internet-Draft            PMIPv6 flow mobility              October 2012

      local mobility anchor SAD:
        - SA2(OUT, spi_b, mag_address_1, ESP, TRANSPORT):
              local_address = lma_address_1 &
              remote_address = mag_address_1 &
              proto = MH
        - SA1(IN, spi_a, lma_address_1, ESP, TRANSPORT):
              local_address = mag_address_1 &
              remote_address = lma_address_1 &
              proto = MH

9.  Authors

   This document reflects contributions from the following authors (in
   alphabetical order).

      Kuntal Chowdhury

         E-mail: Kchowdhu@cisco.com

      Vijay Devarapalli

         E-mail: vijay@wichorus.com

      Sri Gundavelli

         E-mail: sgundave@cisco.com

      Youn-Hee Han

         E-mail: yhhan@kut.ac.kr

      Yong-Geun Hong

         E-mail: yonggeun.hong@gmail.com

      Mohana Dahamayanthi Jeyatharan

         E-mail: mohana.jeyatharan@sg.panasonic.com

      Rajeev Koodli

         E-mail: rkoodli@cisco.com

      Kent Leung

         E-mail: kleung@cisco.com

Bernardos                Expires April 25, 2013                [Page 20]
Internet-Draft            PMIPv6 flow mobility              October 2012

      Telemaco Melia

         E-mail: Telemaco.Melia@alcatel-lucent.com

      Bruno Mongazon-Cazavet

         E-mail: Bruno.Mongazon-Cazavet@alcatel-lucent.com

      Chan-Wah Ng

         E-mail: chanwah.ng@sg.panasonic.com

      Behcet Sarikaya

         E-mail: sarikaya@ieee.org

      Tran Minh Trung

         E-mail: trungtm2909@gmail.com

      Frank Xia

         E-mail: xiayangsong@huawei.com

10.  Acknowledgments

   The authors would like to thank Juan-Carlos Zuniga, Pierrick Seite,
   Julien Laganier for all the useful discussions on this topic.

   The authors would also like to thank Marco Liebsch and Juan-Carlos
   Zuniga for their reviews of this document.

   The work of Carlos J. Bernardos has also been partially supported by
   the European Community's Seventh Framework Programme (FP7-ICT-2009-5)
   under grant agreement n. 258053 (MEDIEVAL project) and by the
   Ministry of Science and Innovation of Spain under the QUARTET project
   (TIN2009-13992-C02-01).

11.  References

11.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4877]  Devarapalli, V. and F. Dupont, "Mobile IPv6 Operation with

Bernardos                Expires April 25, 2013                [Page 21]
Internet-Draft            PMIPv6 flow mobility              October 2012

              IKEv2 and the Revised IPsec Architecture", RFC 4877,
              April 2007.

   [RFC5213]  Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K.,
              and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008.

   [RFC5648]  Wakikawa, R., Devarapalli, V., Tsirtsis, G., Ernst, T.,
              and K. Nagami, "Multiple Care-of Addresses Registration",
              RFC 5648, October 2009.

   [RFC5846]  Muhanna, A., Khalil, M., Gundavelli, S., Chowdhury, K.,
              and P. Yegani, "Binding Revocation for IPv6 Mobility",
              RFC 5846, June 2010.

   [RFC6088]  Tsirtsis, G., Giarreta, G., Soliman, H., and N. Montavont,
              "Traffic Selectors for Flow Bindings", RFC 6088,
              January 2011.

   [RFC6089]  Tsirtsis, G., Soliman, H., Montavont, N., Giaretta, G.,
              and K. Kuladinithi, "Flow Bindings in Mobile IPv6 and
              Network Mobility (NEMO) Basic Support", RFC 6089,
              January 2011.

11.2.  Informative References

   [I-D.ietf-netext-logical-interface-support]
              Melia, T. and S. Gundavelli, "Logical Interface Support
              for multi-mode IP Hosts",
              draft-ietf-netext-logical-interface-support-05 (work in
              progress), April 2012.

Author's Address

   Carlos J. Bernardos (editor)
   Universidad Carlos III de Madrid
   Av. Universidad, 30
   Leganes, Madrid  28911
   Spain

   Phone: +34 91624 6236
   Email: cjbc@it.uc3m.es
   URI:   http://www.it.uc3m.es/cjbc/

Bernardos                Expires April 25, 2013                [Page 22]