NETEXT Working Group                                       CJ. Bernardos
Internet-Draft                                                      UC3M
Intended status: Experimental                                   T. Melia
Expires: September 9, 2010                      Alcatel-Lucent Bell Labs
                                                                P. Seite
                                                          France Telecom
                                                             J. Korhonen
                                                  Nokia Siemens Networks
                                                           March 8, 2010


              Multihoming extensions for Proxy Mobile IPv6
                      draft-bernardos-mif-pmip-02

Abstract

   The IETF standardized Proxy Mobile IPv6 (PMIPv6).  PMIPv6 enables
   mobile devices to connect to a PMIPv6 domain and roam across gateways
   without changing the IP address.  PMIPv6 also provides limited multi-
   homing support to multi-mode mobile devices.  The IETF is working on
   optimizations for PMIPv6.  While multi-homing item has been proposed
   to be part of the approved work, discussions showed there are still
   many controversial issues to be addressed (i.e. the no-host
   modification theorem).  This document explores solutions for the
   multi-homing use case aiming at helping PMIPv6 development where
   possible.

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 to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

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




Bernardos, et al.       Expires September 9, 2010               [Page 1]


Internet-Draft             PMIPv6 multihoming                 March 2010


   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on September 9, 2010.

Copyright Notice

   Copyright (c) 2010 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 BSD License.





























Bernardos, et al.       Expires September 9, 2010               [Page 2]


Internet-Draft             PMIPv6 multihoming                 March 2010


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  MIF scope and PMIPv6 . . . . . . . . . . . . . . . . . . . . .  5
   3.  A use case . . . . . . . . . . . . . . . . . . . . . . . . . .  6
   4.  Considerations on feasibility and approach overview  . . . . .  7
     4.1.  MN considerations  . . . . . . . . . . . . . . . . . . . .  8
     4.2.  LMA considerations . . . . . . . . . . . . . . . . . . . .  9
     4.3.  MAG considerations . . . . . . . . . . . . . . . . . . . .  9
     4.4.  Downlink and Uplink considerations . . . . . . . . . . . . 10
     4.5.  IPv4 considerations  . . . . . . . . . . . . . . . . . . . 10
   5.  Implementation Experience  . . . . . . . . . . . . . . . . . . 11
     5.1.  Test setup . . . . . . . . . . . . . . . . . . . . . . . . 11
     5.2.  Attachment phase . . . . . . . . . . . . . . . . . . . . . 12
       5.2.1.  MAG considerations . . . . . . . . . . . . . . . . . . 12
       5.2.2.  LMA considerations . . . . . . . . . . . . . . . . . . 13
       5.2.3.  Miscellaneous considerations . . . . . . . . . . . . . 13
     5.3.  Flow Management  . . . . . . . . . . . . . . . . . . . . . 13
       5.3.1.  Flow identification  . . . . . . . . . . . . . . . . . 14
       5.3.2.  Flow routing . . . . . . . . . . . . . . . . . . . . . 15
     5.4.  Extensions on the MN . . . . . . . . . . . . . . . . . . . 16
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 17
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 17
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 18
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 18
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 18
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19























Bernardos, et al.       Expires September 9, 2010               [Page 3]


Internet-Draft             PMIPv6 multihoming                 March 2010


1.  Introduction

   Proxy Mobile IPv6 (PMIPv6), specified in RFC 5213 [RFC5213] and
   [I-D.ietf-netlmm-pmip6-ipv4-support], 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
   Mobility Access Gateway (MAG).  The MAG is the first layer three hop
   detecting Mobile Node (MN) attachment and providing IP connectivity.
   The LMA is the entity assigning one or more Home Network Prefixes
   (HNPs) and zero or one IPv4 Home Address (IPv4-MN-HoA)to the MN and
   is the topological anchor for all traffic from/to the MN.

   PMIPv6 allows an MN to connect to the same PMIPv6 domain through
   different interfaces.  ID
   [I-D.devarapalli-netext-multi-interface-support] identifies at least
   three possible scenarios, namely i) unique prefix per interface, ii)
   same prefix but different global addresses per interface, iii) shared
   address across multiple interfaces.  The ID further describes issues
   associated with each scenario.  The first two scenarios are similar,
   and bring similar issues, whereas the third one is more complex to
   tackle, since it requires to deal with the sharing of the same IP
   address across different interfaces.  This document focuses on the
   two first scenarios, as depicted in Figure 1.  However, if [RFC1918]
   defined private IPv4 addresses are used as IPv4 Home Addresses, the
   scenario iii) may happen implicitly.  Unless the LMA coordinates
   private IPv4 Home Addresses across different access technologies and
   mobility session, then there is a possibility that the same private
   IPv4 Home Address would be assigned to both if1 and if2 of the MN.























Bernardos, et al.       Expires September 9, 2010               [Page 4]


Internet-Draft             PMIPv6 multihoming                 March 2010


                                    LMA Binding Cache
                       +----+       -----------------
                       |LMA |       MN:if1 [prefix1 or addr1] --> MAG1
                       +----+       MN:if2 [prefix2 or addr1] --> MAG2
                        //\\
             +---------//--\\-------------+
            (         //    \\             ) PMIPv6 domain
            (        //      \\            )
             +------//--------\\----------+
                   //          \\
                  //            \\
               +----+           +----+
               |MAG1|           |MAG2|
               +----+           +----+
                 |                |
                 |                |
                 | if1        if2 |
                 +------[MN]------+

    Figure 1: Unique prefix and Unique address per Interface scenarios

   The fact is that many (client) hosts currently have the ability to
   attach to multiple networks simultaneously, and that implies benefits
   (e.g., enables load balancing, improved connectivity, higher
   throughput and better reliability, etc.), but also brings some
   operation issues (e.g., default router selection, address selection,
   DNS server selection, choice of interface for packet transmission,
   the treatment of configuration information received from the various
   networks, etc.).  Configuration decisions about how to deal with the
   different information from each of the interface might have a very
   strong impact on the connectivity experienced by a node with multiple
   network interfaces (from now on we refer a node with multiple network
   interfaces as a MIF node).

   In the context of PMIPv6, current specification [RFC5213] does not
   address the case of a MIF node attaching to a PMIPv6 domain other
   than stating it is possible.  We argue it is important to enable
   PMIPv6 to bring MIF nodes the advantages related to the simultaneous
   use of multiple interfaces.  Moreover a MIF node could be seen as a
   not-modified host implementing the right technology for multi-
   interface handling.


2.  MIF scope and PMIPv6

   Current scope of MIF nodes as described in
   [I-D.ietf-mif-problem-statement] only covers the issues of host
   attaching to multiple networks.  The current work is focused on



Bernardos, et al.       Expires September 9, 2010               [Page 5]


Internet-Draft             PMIPv6 multihoming                 March 2010


   documenting the system level effects to host IP stacks and
   identification of gaps between the existing IETF recommendations and
   existing practice, both for IPv4 and IPv6.

   While [I-D.ietf-mif-problem-statement] is not addressing any (neither
   flow nor host nor network) mobility, a MIF node might find itself
   connected to a PMIPv6 domain.  PMIPv6 should be extended to
   efficiently support MIF nodes attaching to a PMIPv6 domain, enabling
   features such as the ones identified in
   [I-D.jeyatharan-netext-multihoming-ps], e.g., dynamic mobility
   sessions between different interfaces, allowing traffic to be
   forwarded to any of the interfaces of a MIF node, not only to the one
   configured with the destination prefix/address of that traffic).


3.  A use case

   This section describes a simple use case of a MIF node in a PMIPv6
   domain, as an example of a situation where PMIPv6 needs to be
   extended.

                       +-----+
                       | CN1 |
                       +-----+
                          |               LMA Binding Cache
                          |             =====================
                          |              MN:if1, pref1, MAG1
        +-----+        +-----+             :if2, pref2, MAG2
        | CN2 |--------| LMA |
        +-----+        +-----+
                        //\\
             +---------//--\\-------------+
            (         //    \\             ) PMIPv6 domain
            (        //      \\            )
             +------//--------\\----------+
                   //          \\
                  //            \\
               +----+           +----+
               |MAG1|           |MAG2|
               +----+           +----+
                 |                 |
                 |                 |
                 | if1         if2 |
                 +-------[MN]------+
                  (WLAN)       (3G)

                            Figure 2: Use case




Bernardos, et al.       Expires September 9, 2010               [Page 6]


Internet-Draft             PMIPv6 multihoming                 March 2010


   Figure 2 shows a potential use case of interest involving an MIF
   mobile node attached to a PMIPv6 domain.  The MN is attached to MAG1
   through its WLAN interface (if1), and to MAG2 through its 3G
   interface (if2).  Lets consider the case in which each interface has
   been assigned a different prefix by the LMA (for the sake of
   simplicity we have left the IPv4 case out of this example).  Two
   different mobility bindings are created in the LMA referring to the
   MN.  In this scenario, if the MN decides to move if1 from MAG1 to a
   different MAG of the same domain, the PMIPv6 support would take care
   of ensuring that the same prefix (pref1) is assigned at the new MAG
   (we assume that there is an L2 identifier for if1 that the new MAG
   can include in the PBU).

   Lets assume for the sake of this example that the MN starts a
   communication with CN1, using as source IPv6 address (pref1::if1) the
   one assigned to its WLAN interface (if1), and that it also starts a
   different communication with CN2, using as source IPv6 address
   (pref2::if2) the one assigned to its 3G interface (if2).  In this
   scenario, it would be useful to enable the MN be able to receive
   traffic addressed to pref1::if1 via if2 and vice versa.  However,
   current PMIPv6 specification does not support this.  Analogously, it
   would be also useful to allow the MN send traffic with source address
   pref1::if1 through if2 and vice versa.

   We argue in the next section that PMIPv6 could benefit from MIF
   outcomes to support the previous scenario while limiting impact on
   the LMA and MAG operation.


4.  Considerations on feasibility and approach overview

   We analyse in the next sections the feasibility of the scenario
   presented in Section 3, by identifying the requirements and changes
   that would be needed in PMIPv6 to support it.  In this version of the
   document we do not specify with all the required details the
   solution, but rather concentrate on the concept, with the goal of
   triggering the discussion within the IETF.

   Figure 3 shows in a glimpse the extensions to PMIPv6 required to
   support the MIF example scenario shown in Section 3.











Bernardos, et al.       Expires September 9, 2010               [Page 7]


Internet-Draft             PMIPv6 multihoming                 March 2010


               +-----+
               | CN1 |
               +-----+
                  |    LMA Binding Cache      LMA policy/routing table
                  |   ===================== ============================
                  |    MN:if1, pref1, MAG1   flow1(CN1,MN[pref1])->MAG2
   +-----+     +-----+   :if2, pref2, MAG2   flow2(CN1,MN[pref2])->MAG2
   | CN2 |-----| LMA |                                 ...
   +-----+     +-----+                       flowN(CN2,MN[pref1])->MAG1
                 //\\
      +---------//--\\-------------+
     (         //    \\             ) PMIPv6 domain
     (        //      \\            )
      +------//--------\\----------+
            //          \\
           //            \\            MAG2 routing table
        +----+           +----+ ================================
        |MAG1|           |MAG2|    (dest)        (next hop)
        +----+           +----+  pref2::/64  directly connected
          |                 |    pref1::/64  directly connected
          |                 |
          | if1         if2 |
          +-------[MN]------+  MN implements the weak host model
           (WLAN)       (3G)

                        Figure 3: Solution overview

4.1.  MN considerations

   In order to support the reception of traffic addressed to pref1::if1
   at the interface if2, the MN MUST follow the Weak host model
   [RFC1122], [I-D.thaler-ip-model-evolution].  This model does not
   limit traffic reception at a host only to IP packets whose
   destination address matches the IP address assigned to the interface
   receiving the packets, but allows to receive and process packets
   whose IP destination address corresponds to that of any of the local
   interfaces of the host.

   By implementing the Weak host model, the MN in Figure 3 would be able
   to process traffic addressed to any of its IP addresses (i.e.,
   pref1::if1 and pref2::if2), no matter to which interface that traffic
   arrives to.

   We have performed some tests with different operating systems, and
   the results show that both Linux (tested with Linux-2.6.26) and Mac
   OS X (tested with Leopard) implements the Weak host model for both
   IPv4 and IPv6 traffic.  We have not performed tests with Windows, but
   some results have been reported in [I-D.ietf-mif-current-practices].



Bernardos, et al.       Expires September 9, 2010               [Page 8]


Internet-Draft             PMIPv6 multihoming                 March 2010


   It should be noted that Windows XP and Windows Server 2003 use the
   Weak host model for sends and receives for all IPv4 interfaces and
   the Strong host model for sends and receives for all IPv6 interfaces.
   This behavior cannot be modified.  The Next Generation TCP/IP stack
   in Windows Vista and Windows Server 2008 supports strong host sends
   and receives for both IPv4 and IPv6 by default on all interfaces.
   The stack can be configured to use weak host model.

   Generally it should be possible to enable automatic configuration of
   the weak model during network attachment/entry according to policies
   configured in the operator's network.  Signaling exchanged between
   the MAG and the LMA (PUB, PBA) needs to be extended to configure the
   MN (via RS/RA or DHCP) to use the weak host model on a specific
   interface.  As an example according to RFC 5175 [RFC5175] a bit can
   be assigned in the RA message indicating such option.  The access
   provider could then decide to configure the MAGs to advertise the MN
   for weak model configuration.  Obviously, understanding a new RA/RS
   bit or a DHCP option would require new functionality in the MN`s IP
   stack, or at minimum some kind of a networking configuration manager
   running in a MIF node.

4.2.  LMA considerations

   The LMA MUST be able to identify all the mobility bindings at its
   Binding Cache (BC) that refer to the same MN, using the MN-
   identifier.  The LMA SHOULD have an additional policy/routing table.
   This table is used by the LMA to store and look up information about
   how to route packets to a certain MN.  With current PMIPv6
   specification, the LMA decides on the next hop towards a particular
   MN based only on the destination prefix (that would result on an
   outgoing tunnel interface to reach the MAG where that prefix is
   currently reachable).  In order to allow the LMA to dynamically
   decide which is the best path for a certain traffic to reach the MN,
   a policy/routing table SHOULD be used.  By using this table, the LMA
   would be able to send different flows addressed to the same
   destination IP address (e.g. pref1::if1) via different MAGs.

4.3.  MAG considerations

   The MAG MUST support routing packets addressed to MNs locally
   attached to the MAG, but using a destination prefix or address that
   is not on-link.  In order to do that, the MAG SHOULD be informed by
   the LMA about the set of IP addresses that the MN has acquired from
   the PMIPv6 domain, so the MAG can add the required entries on its
   routing table.  The PBA MAY be extended to include such information.
   The prefixes advertised in the Router Advertisement (RA) sent from
   the MAG to the MN include only those that would be advertised in case
   of base RFC 5213 operation without any flow/policy routing



Bernardos, et al.       Expires September 9, 2010               [Page 9]


Internet-Draft             PMIPv6 multihoming                 March 2010


   extensions.

4.4.  Downlink and Uplink considerations

   The extensions outlined in this document would allow an MN to
   simultaneously receive traffic through all of its interfaces that are
   attached to the same PMIPv6 domain.  Enabling such a feature in the
   Downlink (DL) makes sense when several access networks are available
   at the same time, as for example in heterogeneous PMIPv6 domains
   where several access technologies exhibiting different DL capacities
   are found (e.g., WLAN and 3G).

   Enabling the feature on the Uplink (UL) is also possible.  Enabling
   the network (i.e., the LMA) to have the control on which MN's
   outgoing interface it used for a certain flow requires changes on the
   MN side, as well as signaling on the MN-AR interface or configuring
   explicit routes on the MN using existing host configuration protocols
   at IP level (e.g.  DHCP).  Nevertheless, if the decision is on the MN
   side, this might be easily supported by the solution outlined in this
   document, by properly configuring the routing and ingress filtering
   at the MAGs.

   The mapping of a flow to an interface may be driven by the terminal,
   the LMA or both:

   1.  driven by the terminal: the terminal establishes the policy and
       selects the interface to send packets.  The LMA must be aware of
       the flow/interface mapping policy to keep consistency in routing
       (the terminal would expect receiving traffic on a specific
       interface).  So the terminal may provide its policy to the LMA.

   2.  driven by the LMA: the LMA have the control on which MN's
       outgoing interface is used for a certain flow.  In such a case
       the MN's routing table is updated according to the policy which
       must be provided to the MN by the LMA.

   3.  MN driven but assisted by the LMA: the terminal controls the
       mapping of the flows to the possible interfaces.  However the LMA
       provides some default policies which can be updated by the MN.
       The policies must be exchanged in both directions (from LMA to MN
       and vice versa).

4.5.  IPv4 considerations

   IPv4 Home Addresses work mostly in a similar manner as IPv6 HNPs in
   the context of PMIPv6 and MIF nodes.  Though, a MIF node may by
   default apply a different host model depending on the IP version.




Bernardos, et al.       Expires September 9, 2010              [Page 10]


Internet-Draft             PMIPv6 multihoming                 March 2010


   One problem with IPv4 Home Addresses is the possible use of private
   IPv4 addresses [RFC1918].  It is possible for a MIF node to configure
   overlapping public IPv4 Addresses on multiple interfaces.  This is
   not a new issue as it has been possible since the introduction of
   [RFC1918] and any multi-homed IPv4 node.  Still, the host operation
   is not generally clearly defined in case of multiple overlapping
   addresses.  The only common advice is to avoid overlapping [RFC1918]
   private IPv4 Home Addresses within PMIPv6 domain, unless the MIF
   nodes are known to be able to handle such situation gracefully.  This
   situation resembles the scenario iii) of
   [I-D.devarapalli-netext-multi-interface-support] and therefore is out
   of scope of this document.


5.  Implementation Experience

   In this section we report on early implementation experience under
   Linux OS from a testbed running the solution proposed in this
   document.

5.1.  Test setup

   The test-bed is made up of 5 PCs connected according to the scheme of
   Figure 4 actually the MN's NICs in use are two WLAN cards, and the
   routes and policies refer to an already established multihoming
   scenario).

























Bernardos, et al.       Expires September 9, 2010              [Page 11]


Internet-Draft             PMIPv6 multihoming                 March 2010


              +-----+
              | C N |
              +-----+
                 |    LMA Binding Cache      LMA policy/routing table
                 |   ===================== ============================
                 |    MN:if1, pref1, MAG1   flow1(6-tuple1)->MAG2
              +-----+   :if2, pref2, MAG2   flow2(6-tuple2)->MAG2
              | LMA |                                 ...
              +-----+                       flowN(6-tupleN)->MAG1
                //\\
     +---------//--\\-------------+
    (         //    \\             ) PMIPv6 domain
    (        //      \\            )
     +------//--------\\----------+
           //          \\
          //            \\            MAG2 routing table
       +----+           +----+ ================================
       |MAG1|           |MAG2|    (dest)        (next hop)
       +----+           +----+  pref2::/64  directly connected
         |                 |    pref1::/64      pref2::if2
         |                 |
         | pref1     pref2 |
         | if1         if2 |
         +-------[MN]------+  MN implements the weak host model
          (WLAN)       (3G)

                           Figure 4: Test setup

5.2.  Attachment phase

5.2.1.  MAG considerations

   Upon receiving an RS from the MN, the MAG checks whether the MN is
   proxy authorized and consequently runs for authentication.  This
   procedure is replicated by means of a static configuration file that
   also maps the MN's set of MAC addresses into a unique MN-ID and
   provides a Multi-homing request indication.  As described in
   Section 4.2, the LMA MUST be able to identify all the mobility
   bindings at its Binding Cache (BC) that refer to the same MN, using
   the MN-ID, and this is ensured by filling the PBU's MN-ID and
   MN-LL-ID options respectively with the MN-ID and MAC address
   specified in the config file.

   One extra option, called MuHo option, is added in the PBU if the
   config file specifies a multi-homing request.  The option format
   coincides with the Home Network Prefix Option specified in section
   8.3 of RFC 5213, but for the option type number, that has to be
   agreed on (the MuHo option will be fully specified in a subsequent



Bernardos, et al.       Expires September 9, 2010              [Page 12]


Internet-Draft             PMIPv6 multihoming                 March 2010


   version of this document).  The MAG sends an empty option, indicating
   that the MN has MuHo capabilities.  By means of this option, the MAG
   is requesting all the prefixes that might have been assigned to other
   interfaces of the same MN.  These prefixes are then obtained by
   looking for the same option in the PBA message.  One option is used
   for each prefix and multiple options may be present if the MN has
   already two or more interfaces attached.  Once the MAG gains these
   prefixes it's able to set up downlink and uplink routes for all the
   MN's interfaces via the the one that's attempting to attach.

5.2.2.  LMA considerations

   Once the PBU is received by the LMA, if the MuHo option is present,
   is then processed to look if the registration might be related to
   other BCEs that belong to the same MN.  The LMA stores an extra data
   structure which entries contain pointers to group together all the
   BCEs that share the same MN-ID.  Every BCE will also have a pointer
   to its correspondent MuHo entry.  In such a way, when retrieving a
   BCE by looking for a prefix, the LMA is able to find quickly all the
   prefixes assigned to the interfaces that are already connected to the
   domain.  If the lookup succeeds, the LMA sends a PBA message with one
   MuHo option for each prefix, otherwise it replies with an empty
   option.

5.2.3.  Miscellaneous considerations

   Multiple attachments procedure should work as follows.  Every time
   that the MN attaches a new interface via a new MAG the LMA updates
   its binding cache accordingly.  The LMA should further notify all the
   previous MAGs about the configured HNPs.  To this end the LMA can re-
   use the binding revocation mechanism to notify the MN that PMIP
   multi-homing service has been updated.  This allows the LMA to
   propagates all the HNPs across multiple MAGs.

5.3.  Flow Management

   The test is intended to let the flows be driven only by the LMA, i.e.
   by the network side.  Throughout the following considerations a flow
   is then intended to come from outside the PMIP domain and addressed
   to the MN regardless of the nature nor content of the stream itself.

   Every packet that passes through the LMA has to be inspected in order
   to be assigned to a particular flow and then routed according to a
   flow-policy.  Flow management is therefore divided into two steps:

   1.  Identification of the flows;





Bernardos, et al.       Expires September 9, 2010              [Page 13]


Internet-Draft             PMIPv6 multihoming                 March 2010


   2.  Routing of the flows;

   Netfilter API and ip6tables can be used to accomplish both tasks.
   Netfilter provides 5 hooks in the routing scheme where a packet can
   be manipulated or made available for user-space applications
   (PREROUTING, INPUT, OUTPUT, FORWARDING and POSTROUTING in Figure 5).

                              | Incoming Packet
                              |
                              |
                        +-----+------+
                        | PREROUTING |
                        +-----+------+
                              |
          +-------+      +----+----+
          | INPUT +------+ routing +--------+
          +---+---+      +---------+        |
              |                             |
      +-------+-------+                +----+----+
      | local process |                | FORWARD |
      +-------+-------+                +----+----+
              |                             |
         +----+---+      +---------+        |
         | OUTPUT +------+ routing +--------+
         +--------+      +----+----+
                              |
                       +------+------+
                       | POSTROUTING |
                       +------+------+
                              |
                              | Outgoing Packet


                         Figure 5: Flow management

5.3.1.  Flow identification

   Using PREROUTING hook and NFQUEUE policy, ip6tables passes packets to
   a user-space application that performs both tasks mentioned before
   and is detached from the genuine LMA implementation.  Once the packet
   is made available to user-space, the first operation consists in
   extracting the following parameters from it:

   o  source address;

   o  destination address;





Bernardos, et al.       Expires September 9, 2010              [Page 14]


Internet-Draft             PMIPv6 multihoming                 March 2010


   o  source port;

   o  destination port;

   o  IPv6 flow label;

   o  L4 protocol type.

   Each flow is singled out by this tuple of parameters and the tuple is
   mapped into a flow identifier that univocally identifies the stream.
   A data structure stores the active flows and the associated
   identifiers, so, as second operation, a lookup over the active flows
   is performed.  Then any packet can alternatively be assigned into an
   already existing flow, or trigger a new flow generation.

   Before the packets leave user-space, the last process' operation is
   appending a mark containing the associated flow-ID.  The mark does
   not modify the packet's content and it is automatically removed by
   netfilter when the packet leaves the routing scheme in figure.  Even
   if multiple connections are set up between the same end-points (i.e.
   the same couple of destination/source addresses), different flows
   still remain distinguishable (and therefore managed) as far as one of
   the above parameters changes.

5.3.2.  Flow routing

   Linux kernel is able to manage up to 256 different routing tables,
   that may contain contrasting routes.  When a packet has to be routed,
   usually table 254 (or MAIN) is inspected, but routing rules can be
   added to decide which is the most suitable table for a given packet.

   As an example, rules are used to perform source-based routing, since
   a rule can specify a certain routing table for all the packets that
   match a given source address.  This is the "from" rule-type.  Source
   routing is applied in the MAGs, because every packet coming from the
   MN must be forwarded through the tunnel.

   On the LMA we use the "fwmark" rule-type, instead of the "from" rule-
   type in the manner explained below.  This rule-type forces to inspect
   a given table if the packet matches the mark that is appended by the
   user-space netfilter-based process described before.  A table is then
   created for each existing tunnel with just one route that forces to
   use that tunnel for all destinations, and this table is pointed to by
   a set of rules looking for different marks.  Since every packet is
   inspected and marked, at this point it is possible to route them
   according to a given routing table, and therefore forwarded through a
   desired tunnel, by switching the table the rule points to.




Bernardos, et al.       Expires September 9, 2010              [Page 15]


Internet-Draft             PMIPv6 multihoming                 March 2010


5.4.  Extensions on the MN

   It was implicitly assumed that a CN outside (or not) the PMIP domain
   only knows the MN's address that was first acquired by the MN itself.
   This assumption, in addition to all considerations made in this
   document, gives consistency to the test as far as we consider the MN
   to have one public address/interface and a bunch of private
   addresses/interfaces.  In such way, a flow (whether the connection
   was started by the MN or not) will always be first transmitted over
   the public interface and then eventually moved upon a LMA decision
   (this also provides a weak tolerance towards the full multi-homing
   issue mentioned in Section 5.2.3).

   Anyway, it's always possible to use in downlink a desired MN's
   interface since the MN behaves as weak host.  For the uplink, whether
   the connection is started by a local or a remote process, the MN will
   transmit through the interface that guarantees to reach the
   destination by means of a default or specific route.  If the
   connection is started by the CN then the answers will carry as source
   the address specified in the incoming packet's destination, otherwise
   the packets will have as source the address assigned to the
   transmitting interface.  In no case the MN can start a connection
   through an interface carrying the address of another interface.

   It would thus be possible to provide a method to add, delete or
   change a per-host route whenever we would like to switch interface
   for a given connection.

   The lacks of this solution resides in:

   o  the impossibility to manage multiple connections over different
      interfaces between the same end-points (i.e. the same couple of
      source/destination addresses);

   o  starting a connection with an undesired address.  This problem
      could be overcame by using the netfilter-based application in the
      MN too, in such a way to either "reflect" packets through the same
      interface that received the flow those packets belong to (if the
      connection was started remotely), or force the application-layer
      processes to choose the source address according to table MAIN but
      then actually route packets inspecting another routing table (if
      the connection is started by the MN).

   A different approach is adopted when using a virtual interface.
   Linux kernel provides a module called "bonding" to group together
   several interfaces (or "slaves", in the module's terminology) that
   will have the same L2 and L3 address and figure out to be as just one
   interface.  The module offers the possibility to select the



Bernardos, et al.       Expires September 9, 2010              [Page 16]


Internet-Draft             PMIPv6 multihoming                 March 2010


   transmitting slave according to pre-configured policies.
   Unfortunately these policies do not cover the scope of flow
   management so the module has to be extended to allow an external
   input to select the transmitting slave.

   As second configuration we suppose the MN to use a virtual interface,
   so that each interface will have the same MAC address and the same
   prefix will be assigned.  In this case the LMA will store the same
   BCE for all the interfaces, and conflicts may arise.  Indeed, when
   the LMA receives a PBU from a MAG for a Proxy Registration, it may
   find that the BCE already exists with a different CoA, as that CoA is
   the address of the MAG to which another interface of the same MN is
   attached.  This may be interpreted as an unexpected handover if the
   handoff indicator field is not properly set.  The Access Technology
   Type in conjunction with a new value of the HI field in the PBU might
   be used to avoid conflicts in the registration.  The correct behavior
   for the LMA would lead to a new tunnel creation in order to allow the
   MN to be reached via all the MAGs to which the MN's interfaces are
   attached.  That's why the BCE format must be extended too to contain
   multiple CoAs and tunnel identifiers.


6.  IANA Considerations

   MuHo option, TBD.


7.  Security Considerations

   None.


8.  Acknowledgements

   The authors would like to thank Fabio Giust for his work on the
   implementation of the mechanism described on this document.

   The authors would like to thank Paulo Ferrer and Marco Liebsch for
   their comments and discussion on this document.

   The research of Carlos J. Bernardos leading to these results has
   received funding from the European Community's Seventh Framework
   Programme (FP7/2007-2013) under grant agreement n. 214994 (CARMEN
   project) and also from the Ministry of Science and Innovation of
   Spain, under the QUARTET project (TIN2009-13992-C02-01).


9.  References



Bernardos, et al.       Expires September 9, 2010              [Page 17]


Internet-Draft             PMIPv6 multihoming                 March 2010


9.1.  Normative References

   [RFC1122]  Braden, R., "Requirements for Internet Hosts -
              Communication Layers", STD 3, RFC 1122, October 1989.

   [RFC1918]  Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot, G., and
              E. Lear, "Address Allocation for Private Internets",
              BCP 5, RFC 1918, February 1996.

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

   [RFC5175]  Haberman, B. and R. Hinden, "IPv6 Router Advertisement
              Flags Option", RFC 5175, March 2008.

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

9.2.  Informative References

   [I-D.devarapalli-netext-multi-interface-support]
              Devarapalli, V., Kant, N., Lim, H., and C. Vogt, "Multiple
              Interface Support with Proxy Mobile IPv6",
              draft-devarapalli-netext-multi-interface-support-00 (work
              in progress), March 2009.

   [I-D.ietf-mif-current-practices]
              Wasserman, M., "Current Practices for Multiple Interface
              Hosts", draft-ietf-mif-current-practices-00 (work in
              progress), October 2009.

   [I-D.ietf-mif-problem-statement]
              Blanchet, M. and P. Seite, "Multiple Interfaces Problem
              Statement", draft-ietf-mif-problem-statement-01 (work in
              progress), October 2009.

   [I-D.ietf-netlmm-pmip6-ipv4-support]
              Wakikawa, R. and S. Gundavelli, "IPv4 Support for Proxy
              Mobile IPv6", draft-ietf-netlmm-pmip6-ipv4-support-18
              (work in progress), February 2010.

   [I-D.jeyatharan-netext-multihoming-ps]
              Jeyatharan, M. and C. Ng, "Multihoming Problem Statement
              in NetLMM", draft-jeyatharan-netext-multihoming-ps-01
              (work in progress), March 2009.

   [I-D.thaler-ip-model-evolution]
              Thaler, D., "Evolution of the IP Model",



Bernardos, et al.       Expires September 9, 2010              [Page 18]


Internet-Draft             PMIPv6 multihoming                 March 2010


              draft-thaler-ip-model-evolution-01 (work in progress),
              July 2008.


Authors' Addresses

   Carlos J. Bernardos
   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/


   Telemaco Melia
   Alcatel-Lucent Bell Labs

   Email: Telemaco.Melia@alcatel-lucent.com


   Pierrick Seite
   France Telecom

   Email: pierrick.seite@orange-ftgroup.com


   Jouni Korhonen
   Nokia Siemens Networks

   Email: jouni.korhonen@nsn.com


















Bernardos, et al.       Expires September 9, 2010              [Page 19]