Internet DRAFT - draft-srinivasa-mip4-mir

draft-srinivasa-mip4-mir






Mobility for IPv4 Working Group                             K. Srinivasa
Internet-Draft                                                Net-Mobile
Expires: April 9, 2006                                   October 6, 2005


           Multi-Interface Routing for Mobile Terminals (MIR)
			draft-srinivasa-mip4-mir-00.txt 

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

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

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

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

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

   This Internet-Draft will expire on April 9, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This document defines protocol enhancements that allow a Mobile IP
   enabled mobile terminal, when away from home, to simultaneously use
   multiple connected network interfaces for the routed traffic between
   the home agent and the mobile terminal so as to obtain higher
   aggregated bandwidth.








Srinivasa                 Expires April 9, 2006                 [Page 1]

Internet-Draft       Multi-Interface Routing Support        October 2005


Table of Contents

   1.  Problem Statement  . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Solution in a nut shell  . . . . . . . . . . . . . . . . . . .  4
   3.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   4.  Message Extensions . . . . . . . . . . . . . . . . . . . . . .  5
     4.1.  Multi-Interface Routing Registration Request . . . . . . .  5
     4.2.  Error Codes  . . . . . . . . . . . . . . . . . . . . . . .  7
   5.  Scenarios & Routing Considerations . . . . . . . . . . . . . .  8
     5.1.  Case-1 . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     5.2.  Case-2 . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     5.3.  Case-3 . . . . . . . . . . . . . . . . . . . . . . . . . . 11
     5.4.  Case-4 . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     5.5.  Case-5 . . . . . . . . . . . . . . . . . . . . . . . . . . 13
   6.  Operation  . . . . . . . . . . . . . . . . . . . . . . . . . . 15
     6.1.  Mobile Terminal Operation: . . . . . . . . . . . . . . . . 15
     6.2.  Foreign Agent Operation: . . . . . . . . . . . . . . . . . 17
     6.3.  Home Agent Operation:  . . . . . . . . . . . . . . . . . . 18
   7.  Implementations  . . . . . . . . . . . . . . . . . . . . . . . 18
   8.  Traffic Flow Management  . . . . . . . . . . . . . . . . . . . 19
   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 19
   10. Security Considerations  . . . . . . . . . . . . . . . . . . . 20
   11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 20
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 20
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 22
   Intellectual Property and Copyright Statements . . . . . . . . . . 23

























Srinivasa                 Expires April 9, 2006                 [Page 2]

Internet-Draft       Multi-Interface Routing Support        October 2005


1.  Problem Statement

   We have a requirement for our mobile video terminal to support
   multiple cellular interfaces for achieving higher throughput for the
   traffic from the streaming server to the mobile terminal.  To that
   effect, we have extended the Mobile IP protocol to support this
   functionality.  We have implemented these extensions on a open source
   code base and were able to demonstrate a very high quality Video when
   using this scheme.

   With the availability of multiple cellular technologies and services,
   mobile terminals are now equipped with multiple interfaces and with
   the ability to connect to a provider network over any of those
   interfaces and access the Internet.  However, the available bandwidth
   on any single interface or the connected link is quite low, in the
   order of 20kbps to 100kbps, and that is not sufficient for running
   multimedia or other high bandwidth consuming applications.

   The operation defined in the Mobile IP Protocol [11], allows a mobile
   terminal to continue to use its home address as it moves around the
   Internet.  There will be a tunnel that will be setup directly from
   the home agent to the mobile terminal or from the home agent to the
   attached foreign agent of the mobile terminal based on the mode of
   operation.  In both these modes, there will only be one interface on
   the mobile terminal that is receiving the traffic from the home
   agent.  However, this is not efficient and requires an approach where
   the mobile terminal can use more than one interfaces for reaching the
   home network.  The objective being efficient use of all available
   links to obtain higher aggregated bandwidth for the tunneled traffic
   between the home agent and the mobile terminal.

   This document presents extensions to the Mobile IP protocol for using
   multiple interfaces on the mobile terminal and having a over lay
   network of tunnels to the home agent over those interfaces for load
   balancing the traffic across all those tunnels based on various
   traffic policies.















Srinivasa                 Expires April 9, 2006                 [Page 3]

Internet-Draft       Multi-Interface Routing Support        October 2005


2.  Solution in a nut shell



    Home Agent                                       Mobile Terminal
    %%%%%%%%              Tunnel 1               If_1   %%%%%%%%%
    %%    %%     |=============={PROVIDER_1}------------%%     %%
    %%    %%     |                              COA_1   %%     %%
    %%    %%     |                                      %%     %%
    %%    %%     |        Tunnel 2               If_2   %%     %%  ----
    %%    %%     |==============={PROVIDER_2}-----------%%     %% |    |
    %%    %%     |                              COA_2   %%     %% |Home|
    %%    %%     |                                      %%     %%-|Addr|
    %%    %%-----|HA_If                                 %%     %% |    |
    %%    %%     |                                      %%     %%  ----
    %%    %%     |        Tunnel 3               If_3   %%     %%
    %%    %%     |==============={PROVIDER_3}-----------%%     %%
    %%    %%     |                              COA_3   %%     %%
    %%    %%     |                                      %%     %%
    %%    %%     |        Tunnel 4         %%%%%   If_4 %%     %%
    %%    %%     |============{PROVIDER_4}-%% %%--------%%     %%
    %%%%%%%%                               %%%%% FA_COA %%%%%%%%%
                                           Foreign
                                           Agent


   Figure 1: Mobile Terminal with multi-interface routing support



   This is the view of the routing data paths between the mobile
   terminal and the home agent.  The home address of the mobile terminal
   may be reachable from the home agent through any these tunnels.

   The throughput capacity of each of these tunnels is dependent on the
   type of the interface and the attached provider network.  The mobile
   terminal will have the ability to notify the size of the tunnel to
   the home agent for more effective load balancing of the traffic.

   The care-of address of any these interfaces of the mobile terminal
   when configured to operate in co-located mode, may keep changing as
   the mobile terminal keeps moving across the network.

   When a given interface of the mobile terminal is configured to avail
   the mobility services of a foreign agent available on the link, the
   available foreign agents may change as the mobile terminal keeps
   moving across the network.




Srinivasa                 Expires April 9, 2006                 [Page 4]

Internet-Draft       Multi-Interface Routing Support        October 2005


3.  Terminology

   The keywords "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 [9].  Other
   terminology is used as already defined in RFC 3344 [7].

   In addition, this document frequently uses the following terms and
   conventions:

      HAA - Home Agent Address

      COA - Care-of Address

      MT_HA - Mobile Terminal Home Address

      MT_If - Mobile Terminal Interface

      MT_If_COA - Mobile Terminal Interface Care-of Address

      NH_GW - Next Hop Gateway

      FA_If - Foreign Agent Interface

      HA_If - Home Agent Interface

      FA_If_COA - Foreign Agent Interface Care-of Address

      NAT_GWA - Network Address Translation Gateway Address

      ======= - Tunnel Representation

      ------- - Interface Representation


4.  Message Extensions

4.1.  Multi-Interface Routing Registration Request

   This extension is a non-skippable extension and MAY be added to the
   Registration Request message by the mobile terminal.  It notifies the
   home agent to register the current care-of address listed in this
   Registration Request as one of the care-addresses through which the
   mobile terminal can be reached.  The home agent after authorizing the
   request MUST create a tunnel to the care-of address listed in the
   registration request.

   The Multi-Interface Routing Registration extension MAY be added to



Srinivasa                 Expires April 9, 2006                 [Page 5]

Internet-Draft       Multi-Interface Routing Support        October 2005


   the Registration request ONLY by the mobile terminal.  This extension
   MUST not be added by the home agent or by the foreign agent either to
   the Registration Request or to the Reply.

   This extension should be protected by Mobile Home Authentication
   extension.  As per Section 3.2 and 3.6.1.3 of RFC 3344 [1], the
   mobile terminal MUST place this Extension before the Mobile-Home
   Authentication Extension in the registration messages, so that it is
   covered by the Mobile-Home Authentication Extension.



        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Type      |    Length     |    Sub-Type   |   If-Id       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |F|W|L|Reservd-0|    If-Type    |  Link-Weight  |   Reserved-1  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



   Figure 2: Multi-Interface Routing Extension



      Type: <IANA>

      Length: 6.  Length in bytes of this extension, not including the
      Type and Length bytes.

      Sub-Type: 0

      If-Id: Interface identifier.  Indicates the identifier of the
      interface from where this request is being sent.  This is useful
      when the mobile terminal moves from one access network to another
      access network and keeps sending the registration requests.  The
      home agent can identify the movement of the terminal and the given
      interface for registering the new care-of address.

      F: Flow Continuity flag indicates that the mobile node wants the
      home agent to route all packets for a given flow originating from
      this tunnel to always be sent over the same tunnel.  But, if the
      tunnel goes down, then the home agent MUST route the traffic
      through the other available tunnel routes.

      W: Weighted Mode Flag indicates that the value specified in the
      Link-Weight field must be interpreted as "Weighted Ratio" mode.



Srinivasa                 Expires April 9, 2006                 [Page 6]

Internet-Draft       Multi-Interface Routing Support        October 2005


      If this flag is not specified, then the home agent must interpret
      the Link-Weight field as the "Absolute Bandwidth" mode.

      L: Rate Limit Flag indicates that the mobile node wants the home
      agent to rate limit the traffic sent on this tunnel to the
      specified bandwidth in the link weight flag.  This flag is
      applicable only for the "Absolute Bandwidth" mode, when the "W"
      bit is not set.

      Reserved-0: Reserved for future use.  MUST be set to 0 on sending,
      MUST be ignored on reception.

      If-Type: Interface Type for the link.  Further study required

      Link-Weight: The Link Weight could be either the weighted ratio or
      the absolute link bandwidth.  The mode is specified by the "W" bit
      in the request.  The Link-Weight in the weighted ratio mode
      indicates the ratio of the traffic from the home agent that can
      take this Interface route.  If there are 3 interfaces on the
      mobile with the following ratios 1, 4 and 5 respectively.  Every 1
      packet of the 10 packets goes through Interface-1, every 4 packets
      out of the 10 packets go through Interface-2 and every 5 packets
      out of the 10 packets go through Interface-3.  If Interface-3 goes
      down, the ratios between Interface-1 and Interface-2 get adjusted
      to 2 and 8.  The Link-Weight when the W bit is not set indicates
      that the value specified for this field is the absolute bandwidth
      available for this link.  The value indicates the absolute
      bandwidth in the kilobytes, rounded to the nearest integer.

      Reserved-1: Reserved for future use.  MUST be set to 0 on sending,
      MUST be ignored on reception.




4.2.  Error Codes

   Four new registration reply codes are defined for supporting these
   protocol extensions:



   ERROR_HA_MULTI_INTERFACE_RTG_UNAVAIL: Requested Multi-Interface
   Routing service unavailable at the home agent

   This is used by the home agent in registration reply with the code
   set to the above value.  A home agent that is not configured to
   support this Multi-Interface Routing feature or when it is not



Srinivasa                 Expires April 9, 2006                 [Page 7]

Internet-Draft       Multi-Interface Routing Support        October 2005


   allowed to offer this service to the requesting mobile terminal, MUST
   reject the request with the above reply code.



   ERROR_HA_MULTI_INTERFACE_UNEQUAL_LD_UNAVAIL: Requested Multi-
   Interface unequal traffic load distribution unavailable at the home
   agent.

   This is used by the home agent in registration reply with the code
   set to the above value.  A home agent that is not capable of routing
   the traffic to the mobile terminal on its registered interfaces, in
   unequal load distribution terms as requested MUST reject the request
   with the above code.



   ERROR_FA_MULTI_INTERFACE_RTG_UNAVAIL: Requested Multi-Interface
   routing service unavailable at the foreign agent.

   This is used by the foreign agent in registration reply with the code
   set to the above value.  The foreign agent that is not configured to
   support this Multi-Interface Routing feature or when it is not
   allowed to offer this service to the requesting mobile terminal, MUST
   reject the request with the above reply code.



   ERROR_FA_MULTI_INTERFACE_UNEQUAL_LD_UNAVAIL: Requested Multi-
   Interface unequal traffic load distribution unavailable at the
   foreign agent.

   This is used by the foreign agent in registration reply with the code
   set to the above value.  A foreign agent that is not capable of
   routing the traffic to the mobile terminal on its registered
   interfaces, in unequal load balancing terms as requested MUST reject
   the request with the above code.


5.  Scenarios & Routing Considerations

   We have considered the following five scenarios for this feature
   implementation verification.  The below scenarios each describe the
   network configuration and the forwarding plane state when this
   feature is active.  Each of the tunnels can be of the standard type
   such as GRE, IP-IP, Min-IP, or UDP/IP as defined in the Mobile IP
   specifications [7] and [8].




Srinivasa                 Expires April 9, 2006                 [Page 8]

Internet-Draft       Multi-Interface Routing Support        October 2005


5.1.  Case-1




   Home Agent                                  Mobile Terminal
   %%%%%%%%%             Tunnel_1           MT_COA_1 %%%%%%%%%
   %%     %%        =====================------------%%     %%
   %%     %% HAA  //                         MT_If_1 %%     %%
   %%     %%------                                   %%     %%
   %%     %% HA_If\\     Tunnel_n           MT_COA_n %%     %%
   %%     %%        =====================------------%%     %%
   %%%%%%%%%                                 MT_If_n %%%%%%%%%
                                                        MT_HA

   Figure 3: Mobile Terminal registering directly with the home agent





   IP forwarding plane at the mobile terminal:

   0.0.0.0/0.0.0.0   via   Tunnel_1
   0.0.0.0/0.0.0.0   via   Tunnel_n
   Tunnel_1:  MT_COA_1 <------> HAA, next hop NH_GW_1
   Tunnel_n:  MT_COA_n <------> HAA, next hop NH_GW_n



   IP forwarding plane at the home agent:

   MT_HA   via   Tunnel_1
   MT_HA   via   Tunnel_n
   Tunnel_1:  HAA ------> MT_COA_1
   Tunnel_n:  HAA ------> MT_COA_n





5.2.  Case-2









Srinivasa                 Expires April 9, 2006                 [Page 9]

Internet-Draft       Multi-Interface Routing Support        October 2005


   Home Agent             Foreign Agent (FA_1)
   %%%%%%%%%                       %%%%%%%% FA_1_If (FA_1_COA)
   %%     %%        ============---%%    %%---------
   %%     %%      //      Tunnel_1 %%%%%%%%          \MT_If_1
   %%     %% HAA //                             %%%%%%%%
   %%     %%-----                               %%    %% Mobile Terminal
   %%     %%     \\       Foreign Agent (FA_n)  %%%%%%%%    MT_HA
   %%     %%      \\               %%%%%%%%          /MT_If_n
   %%     %%        ============---%%    %%---------
   %%     %%              Tunnel_n %%%%%%%% FA_n_If (FA_n_COA)
   %%%%%%%%%


   Figure 5: Mobile Terminal registering through multiple foreign agents




   IP forwarding plane at the mobile terminal:

   0.0.0.0/0.0.0.0   via   MT_If_1   next hop   FA_1_If (L2 forwarding)
   0.0.0.0/0.0.0.0   via   MT_If_n   next hop   FA_n_If (L2 forwarding)


   IP forwarding plane at the foreign agent (FA_1):

   MT_HA   via   FA_1_If   next hop  MT_If_1 (L2 forwarding)

   Will reverse tunnel all the traffic from MT_HA received on FA_1_If
   over Tunnel_1, if reverse tunnel is enabled for the tunnel. If
   reverse tunnel is not enabled, the traffic received on FA_1_If
   will be routed normally.

   Tunnel_1:  FA_1_COA <------> HAA


   IP forwarding plane at the home agent:

   MT_HA   via   Tunnel_1
   MT_HA   via   Tunnel_n
   Tunnel_1:  HAA <------> FA_1_COA
   Tunnel_n:  HAA <------> FA_n_COA









Srinivasa                 Expires April 9, 2006                [Page 10]

Internet-Draft       Multi-Interface Routing Support        October 2005


5.3.  Case-3




   Home Agent
   %%%%%%%%%                                         Mobile Terminal
   %%     %%                                 MT_If_1 %%%%%%%%
   %%     %%                   Foreign Agent    _____%%    %%
   %%     %% HAA               %%%%%%%%% FA_COA/     %%    %%
   %%     %%-----===========---%%     %%------       %%    %%
   %%     %%    Tunnel_1       %%%%%%%%% FA_If \_____%%    %%
   %%     %%                                 MT_If_n %%    %%
   %%     %%                                         %%%%%%%%
   %%     %%                                          MT_HA
   %%%%%%%%%



   Figure 7: Mobile Terminal registering multiple links through the same
   foreign agent and with the same foreign agent care-of address




   IP forwarding plane at the mobile terminal:

   0.0.0.0/0.0.0.0  via  MT_If_1   next hop  FA_If (L2 forwarding)
   0.0.0.0/0.0.0.0  via  MT_If_n   next hop  FA_If (L2 forwarding)


   IP forwarding plane at the foreign agent:

   MT_HA   via   FA_If   next hop  MT_If_1 (L2 forwarding)
   MT_HA   via   FA_If   next hop  MT_If_n (L2 forwarding)

   Will reverse tunnel all the traffic from MT_HA received on FA_If
   over Tunnel_1, if reverse tunnel is enabled for the tunnel. If
   reverse tunnel is not enabled, the traffic received on FA_If
   will be routed normally.

   Tunnel_1:  FA_COA <------> HAA


   IP forwarding plane at the home agent:

   MT_HA   via   Tunnel_1
   Tunnel_1:  HAA <------> FA_COA



Srinivasa                 Expires April 9, 2006                [Page 11]

Internet-Draft       Multi-Interface Routing Support        October 2005


5.4.  Case-4




   Home Agent                   Foreign Agent       Mobile Terminal
                                     |
   %%%%%%%%%         Tunnel_1        |-------------------
   %%     %%         =============---|FA_COA_1           \ MT_If_1
   %%     %%       //                |FA_If_1         %%%%%%%%
   %%     %% HAA  //             %%%%%%%%%            %%    %%
   %%     %%------               %%     %%            %%    %%
   %%     %% HA_If\\             %%%%%%%%%            %%    %%
   %%     %%       \\Tunnel_n        |FA_If_n         %%%%%%%%
   %%     %%         =============---|FA_COA_n           / MT_If_n
   %%     %%                         |-------------------
   %%%%%%%%%                         |                  MT_HA



   Figure 9: Mobile Terminal registering its multiple interfaces through
   the same foreign agent but with different foreign agent care-of
   addresses




























Srinivasa                 Expires April 9, 2006                [Page 12]

Internet-Draft       Multi-Interface Routing Support        October 2005


   IP forwarding plane at the mobile terminal:

   0.0.0.0/0.0.0.0   via   MT_If_1   next hop  FA_If_1 (L2 forwarding)
   0.0.0.0/0.0.0.0   via   MT_If_n   next hop  FA_If_n (L2 forwarding)


   IP forwarding plane at the foreign agent:

   MT_HA   via   FA_If_1   next hop  MT_If_1 (L2 forwarding)
   MT_HA   via   FA_If_n   next hop  MT_If_n (L2 forwarding)

   Will reverse tunnel all the traffic from MT_HA received on FA_If_1
   over Tunnel_1, if reverse tunnel is enabled for the tunnel. If
   reverse tunnel is not enabled, the traffic received on FA_If_1
   will be routed normally.

   Tunnel_1:  FA_COA_1 <------> HAA

   Will reverse tunnel all the traffic from MT_HA received on FA_If_n
   over Tunnel_n, if reverse tunnel is enabled for the tunnel. If
   reverse tunnel is not enabled, the traffic received on FA_If_n
   will be routed normally.

   Tunnel_n:  FA_COA_n <------> HAA


   IP forwarding plane at the home agent:

   MT_HA   via   Tunnel_1
   MT_HA   via   Tunnel_n
   Tunnel_1:  HAA <------> FA_COA_1
   Tunnel_n:  HAA <------> FA_COA_n




5.5.  Case-5














Srinivasa                 Expires April 9, 2006                [Page 13]

Internet-Draft       Multi-Interface Routing Support        October 2005


                       NAT
                      =====
   Home Agent         | |          Foreign Agent
   %%%%%%%%%          | |          %%%%%%%%% FA_If
   %%     %%        ==| |=======---%%     %%-----------
   %%     %%      //  | | Tunnel_1 %%%%%%%%% FA_COA    \MT_If_1
   %%     %% HAA //   | |                    MT_If_2 %%%%%%%%
   %%     %%----- ====| |========================----%%    %% Mobile
   %%     %%     \\   | | Tunnel_2          MT_COA_2 %%%%%%%%
   %%     %%      \\  | |                     MT_If_n /MT_HA
   %%     %%        ==| |===========================--
   %%     %%          | | Tunnel_n            MT_COA_n
   %%%%%%%%%          | |
                      =====
                       NAT_GWA


   Figure 11: Mobile Terminal registering and some other  interfaces
   through one or more foreign agents
































Srinivasa                 Expires April 9, 2006                [Page 14]

Internet-Draft       Multi-Interface Routing Support        October 2005


   IP forwarding plane at the mobile terminal:

   0.0.0.0/0.0.0.0   via   MT_If_1   next hop  FA_If (L2 forwarding)
   0.0.0.0/0.0.0.0   via   Tunnel_2
   0.0.0.0/0.0.0.0   via   Tunnel_n
   Tunnel_2:  MT_COA_2 <------> HAA, next hop NH_GW_2
   Tunnel_n:  MT_COA_n <------> HAA, next hop NH_GW_n


   IP forwarding plane at the foreign agent:

   MT_HA   via   FA_If   next hop  MT_If_1 (L2 forwarding)

   Reverse tunnel all traffic from MT_HA received on FA_If
   over Tunnel_1

   Tunnel_1:  MT_COA <------> HAA


   IP forwarding plane at the home agent:

   MT_HA   via   Tunnel_1
   MT_HA   via   Tunnel_2
   MT_HA   via   Tunnel_n
   Tunnel_1:  HAA <------> NAT_GWA, (UDP Port 1)
   Tunnel_2:  HAA <------> NAT_GWA, (UDP Port 2)
   Tunnel_n:  HAA <------> NAT_GWA, (UDP Port n)





6.  Operation

6.1.  Mobile Terminal Operation:

   At Home:

   When the mobile terminal is at home, the communication with other
   nodes occurs normally without the use of Mobile IPv4 functionality.
   The method used by a mobile terminal to determine that it is attached
   to the home link is per the base Mobile IP Specification [7].  If the
   mobile moves into the home network from a foreign network and if it
   had previous bindings with the home agent, it will deregister all of
   its care-of addresses with the home agent per Section 3.6.1.2 of the
   Mobile IP Specification [7].  If the mobile terminal for connecting
   to the home link, uses either a designated interface or any of the
   available interfaces, to connect to the home link, the mobile



Srinivasa                 Expires April 9, 2006                [Page 15]

Internet-Draft       Multi-Interface Routing Support        October 2005


   terminal in either case MUST consider it is at home when the home
   link is available from any one of its interfaces.



   Away from Home:


   The mobile terminal is considered to be away from home when the home
   link is not available from any one of its interfaces.  When the
   mobile terminal is away from home, the following occurs:

   1.  The mobile terminal should send the registration request with the
   Multi-Interface Registration Request extension for each of the
   interfaces configured to participate in Multi-Interface routing.  The
   mobile terminal should tune the routing stack to ensure the
   registration request goes out from the interface where the
   registration is sough for.  The mobile terminal should constantly try
   to check the availability of the link on each of the interfaces and
   attempt to register over that interface.

   2.  The mobile terminal on receiving a registration reply for a
   registration request that it sent over a specific interface and by
   specifying the "D" bit in the request and in the co-located care-of
   address mode, should check for the code in the reply.  If the Code
   field indicates that the request has been accepted, the mobile
   terminal SHOULD create a tunnel with the registered care-of address
   as the tunnel source address and the home agent address as the tunnel
   destination address.

   3.  The mobile terminal on receiving a registration reply for a
   registration request that it sent over a specific interface and using
   the foreign agent care-of address in the request, should check for
   the code in the reply.  If the Code field indicates that the request
   has been accepted, the mobile terminal SHOULD configure its routing
   table appropriately for its current point of attachment.

   4.  The mobile terminal on registering from two different interfaces
   and using the same foreign agent care-of address [Section 5.3] MUST
   register to the home agent with the adjusted link-weight equal to sum
   of the specified link-weights on each of those interfaces.  In this
   configuration, there is only one tunnel between the home agent and
   foreign agent and the traffic for both the interfaces sent by the
   home agent is sent on the same tunnel and so this adjusted link-
   weight metric reflects the consolidated load for the tunnel.

   5.  The mobile terminal on receiving a registration reply with the
   code set to either ERROR_HA_MULTI_INTERFACE_RTG_UNAVAIL or



Srinivasa                 Expires April 9, 2006                [Page 16]

Internet-Draft       Multi-Interface Routing Support        October 2005


   ERROR_FA_MULTI_INTERFACE_RTG_UNAVAIL, MAY attempt to register using a
   single interface as per the base Mobile IP specification [11].

   6.  The mobile terminal on receiving a registration reply with the
   code set to either ERROR_HA_MULTI_INTERFACE_UNEQUAL_LD_UNAVAIL or
   ERROR_FA_MULTI_INTERFACE_UNEQUAL_LD_UNAVAIL, MAY attempt to register
   using a equal load-weight for all the interfaces.

6.2.  Foreign Agent Operation:

   As per the operation defined in the Mobile IP Protocol [11], when a
   mobile terminal is using a foreign agent services and its care-of
   address, the routing between the mobile terminal and the foreign
   agent is based on layer 2 forwarding, using MAC address as the
   communication end point identifier.  In this model, there is an
   association between the home address of the mobile terminal, its MAC
   address and the tunnel from the foreign agent to the mobile terminal.
   The capabilities that got extended to the mobile terminal by the way
   of this specification is in the form of the ability for the mobile
   terminal to use multiple interfaces and simultaneously connect to one
   or more interfaces of the foreign agent as described in Section 5.
   This requires a change at the foreign agent for maintaining an
   association between a tunnel from the home agent, its interface where
   the mobile terminal with a specific MAC address is anchored and the
   home address of the mobile terminal.  This foreign agent has to
   establish the routing path keeping this relation.

   1.  Upon receipt of a registration request from a mobile terminal
   attached to one of its interface advertising the foreign agent
   service, the foreign agent SHOULD verify its policy database to check
   if it configured to allow the multi-interface registration.  If it
   not configured to allow this service, the foreign agent MUST reject
   the request with a registration reply and with the code set to
   ERROR_FA_MULTI_INTERFACE_RTG_UNAVAIL, as explained in Section 4.2.

   2.  A foreign agent upon receipt of a registration request with the
   Multi-Interface Routing extension from a mobile terminal, and if
   there is an existing visitor list entry for the same home address,
   but on a different interface, the foreign agent should setup the
   routing path as described in Section 5.4.

   3.  A foreign agent upon receipt of a registration request with the
   Multi-Interface Routing extension from a mobile terminal, and if
   there is an exisiting visitor list entry for the same mobile terminal
   identified by the home address and on the same interface, the foreign
   agent should setup the routing path as described in Section 5.3.  In
   this scenario, there is 1 to many relation between the tunnel from
   the home agent and the interface of the mobile terminal where the



Srinivasa                 Expires April 9, 2006                [Page 17]

Internet-Draft       Multi-Interface Routing Support        October 2005


   flow from the tunnel terminates.  The foreign agent should perform
   the traffic load distribution between these two interfaces as
   requested by the mobile terminal.  If the foreign agent is not
   capable of doing unequal load distribution, it MUST reject the
   request with a registration reply and with the code set to
   ERROR_FA_MULTI_INTERFACE_UNEQUAL_LD_UNAVAIL, as explained in Section
   4.2.

6.3.  Home Agent Operation:

   As per the operation defined in the Mobile IP Protocol [11], the home
   agent is required to maintain multiple bindings for a mobile terminal
   when it is supporting simultaneous bindings for that registration.
   When the home agent allows simultaneous bindings, it will tunnel a
   separate copy of each arriving datagram to each care-of address, and
   the mobile node will receive multiple copies of datagrams destined to
   it.  The operation defined in this specification allows a mobile
   terminal to register from multiple interfaces using different care-of
   addresses and have multiple tunnels from the home agent to each of
   those care-of addresses and for distributing the traffic load across
   those tunnels.  This is slightly a different model than the
   simultanous bindings when it comes to the datagram routing.  However,
   the basis ability for the home agent to associate a mobile terminal
   with multiple care-of addresses remain to be the same.

   1.  A home agent upon receipt of a registration request with the
   Multi-Interface Routing extension from a mobile terminal, SHOULD
   verify its policy database to check if it is configured to allow the
   Multi-Interface registration.  If it not configured to allow this
   service, the home agent MUST reject the request with a registration
   reply and with the code set to ERROR_HA_MULTI_INTERFACE_RTG_UNAVAIL,
   as explained in Section 4.2.

   2.  A home agent upon receipt of a registration request with the
   Multi-Interface Routing extension from a mobile terminal, and with a
   unequal load distribution metric, and if the home agent is not
   capable of doing unequal load distribution, it MUST reject the
   request with a registration reply and with the code set to
   ERROR_HA_MULTI_INTERFACE_UNEQUAL_LD_UNAVAIL, as explained in Section
   4.2.


7.  Implementations

   We have implemented this feature on Linux 2.6 Kernel.  We might be
   able to open source the implementation under GNU Licensing terms at a
   later date, if this work gets accepted in the working group.




Srinivasa                 Expires April 9, 2006                [Page 18]

Internet-Draft       Multi-Interface Routing Support        October 2005


8.  Traffic Flow Management

   The document defines a simple "Link-Weight" based model for load
   balancing the traffic across all the available interfaces on the
   mobile terminal and that are participating in the Mobile IP routing.
   It is possible to define more complex policies than what this
   document supports.  However, it comes at its own implementation
   complexity.  We have verified the approach chosen by this draft on
   Linux and by using the IPTables architecture.  We believe that this
   approach is sufficient and serves the required purpose.  We have also
   allowed room for enabling new traffic management policies that can be
   defined outside this document and still be applied when using the
   Multi-Interface approach defined in this document, by simply ignoring
   the Link-Weight field in the Multi-Interface Registration extension
   of the Mobile IP Registration request.


9.  IANA Considerations

   The numbers for the extensions defined in this document have been
   taken from the numbering space defined for Mobile IP registration
   extensions and error codes defined in RFC 3344 [1].  This document
   proposes one new extension and four new error codes that require type
   numbers and an error code value that have been assigned by IANA.  The
   new extension also introduces a new sub-type numbering spaces to be
   managed by IANA.

   Section 4.1 defines a new Mobile IP extension, the Multi-Interface
   Routing Request Extension.  The type number for this extension has is
   IANA-1 [IANA: TBD].  This extension introduces a new sub-type
   numbering space where the value 0 has been chosen for this extension.
   Approval of this new Multi-Interface Routing Extension sub-type
   numbers is subject to Expert Review, and a specification is required
   [7].

   Section 4.2 defines a new error code, ERROR_HA_MULTI_IF_REG_UNAVAIL:
   "Requested Multi-Interface Routing service unavailable at the home
   agent", from the numbering space for values defined for use with the
   Code field of Mobile IP Registration Reply Messages.  Code number
   IANA-2 [IANA: TBD] has been assigned from the subset "Error Codes
   from the Home Agent".

   Section 4.2 defines a new error code,
   ERROR_HA_MULTI_IF_UNEQUAL_LD_UNAVAIL: "Requested Multi-Interface
   unequal traffic load distribution unavailable at the home agent",
   from the numbering space for values defined for use with the Code
   field of Mobile IP Registration Reply Messages.  Code number IANA-
   5[IANA: TBD] has been assigned from the subset "Error Codes from the



Srinivasa                 Expires April 9, 2006                [Page 19]

Internet-Draft       Multi-Interface Routing Support        October 2005


   Home Agent".

   Section 4.2 defines a new error code, ERROR_FA_MULTI_IF_REG_UNAVAIL:
   "Requested Multi-Interface Routing service unavailable at the foreign
   agent", from the numbering space for values defined for use with the
   Code field of Mobile IP Registration Reply Messages.  Code number
   IANA-3 [IANA: TBD] has been assigned from the subset "Error Codes
   from the Foreign Agent"

   Section 4.2 defines a new error code,
   ERROR_FA_MULTI_IF_UNEQUAL_LD_UNAVAIL: "Requested Multi-Interface
   unequal traffic load distribution unavailable at the foreign agent",
   from the numbering space for values defined for use with the Code
   field of Mobile IP Registration Reply Messages.  Code number IANA-
   5[IANA: TBD] has been assigned from the subset "Error Codes from the
   Foreign Agent".


10.  Security Considerations

   This specification introduces a new Mobile IP extension that is used
   to carry the Multi-Interface Routing request.  The Mobile IP messages
   that carry this extension MUST be authenticated as described in [7].
   Therefore, this specification does not lessen the security of Mobile
   IP Protocol.


11.  Acknowledgements

   We like to thank all those people who have discussed with us about
   this approach and contributed to the improvement of this
   specification.

   We also like thank the Open Source community for enabling us to prove
   this technique by extending the open source work and building on top
   of it.

   We acknowledge IETF for adopting a open community contribution model
   and for enabling the technology evolution in the true spirit and with
   the goal of making Internet better and available to one and all.


12.  References

   Normative References:

      [1] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August
      1980.



Srinivasa                 Expires April 9, 2006                [Page 20]

Internet-Draft       Multi-Interface Routing Support        October 2005


      [2] Postel, J., "Internet Protocol", STD 5, RFC 791, September
      1981.

      [3] Perkins, C., "IP Encapsulation within IP", RFC 2003, October
      1996.

      [4] Perkins, C., "Minimal Encapsulation within IP", RFC 2004,
      October 1996.

      [5] Farinacci, D., Li, T., Hanks, S., Meyer, D. and P. Traina,
      "Generic Routing Encapsulation (GRE)", RFC 2784, March 2000.

      [6] Montenegro, G., "Reverse Tunneling for Mobile IP, revised",
      RFC 3024, January 2001.

      [7] Perkins, C., "IP Mobility Support for IPv4", RFC 3344, August
      2002.

      [8] Levkowetz, H., Vaarala, S., "NAT Traversal for Mobile IP", RFC
      3519, April 2003.

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

      [10] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
      Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

   Informative References:

      [11] Alvestrand, H., "A Mission Statement for the IETF, October
      2004.




















Srinivasa                 Expires April 9, 2006                [Page 21]

Internet-Draft       Multi-Interface Routing Support        October 2005


Author's Address

   K. Srinivasa
   Architect,
   Net-Mobile India Ltd.
   18-1-98/1, Yeshoda Nagar,
   Tirupathi, AP  517501
   India

   Email: krsriniva@gmail.com









































Srinivasa                 Expires April 9, 2006                [Page 22]

Internet-Draft       Multi-Interface Routing Support        October 2005


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2005).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Srinivasa                 Expires April 9, 2006                [Page 23]