Mobility for IPv4 Working Group | S. Gundavelli, Ed. |
Internet-Draft | K. Leung |
Intended status: Experimental | Cisco |
Expires: December 23, 2015 | G. Tsirtsis |
Qualcomm | |
A. Petrescu | |
CEA LIST | |
June 21, 2015 |
Flow Binding Support for Mobile IP
draft-ietf-mip4-multiple-tunnel-support-13.txt
This specification defines extensions to Mobile IP protocol for allowing a mobile node with multiple interfaces to register a care-of address for each of its network interfaces and to simultaneously establish multiple IP tunnels with its home agent. This essentially allows the mobile node to utilize all the available network interfaces and build an higher aggregated logical pipe with its home agent for its home address traffic. Furthermore, these extensions also allow the mobile node and the home agent to negotiate IP traffic flow policies for binding individual flows with the registered care-of addresses.
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 December 23, 2015.
Copyright (c) 2015 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.
With the ubiquitous availability of wireless networks based on different access technology types, mobile devices are now equipped with multiple wireless interfaces and have the ability to connect to the network using any of those interfaces. For example, most mobile devices are equipped with Wi-Fi and LTE interfaces. In many deployments, it is desirable for a mobile node to leverage all the available network interfaces and have IP mobility support for its IP flows.
The operation defined in the Mobile IP Protocol [RFC5944], allows a mobile node to continue to use its home address as it moves around the internet. Based on the mode of operation, there will be a IP tunnel that will be established between the home agent [RFC5944] and the mobile node [RFC5944], or between the home agent and the foreign agent [RFC5944] where the mobile node is attached. In both of these modes, there will only be one interface on the mobile node that is receiving the IP traffic from the home agent. This approach of using a single access-interface for routing all mobile node's traffic is not efficient and so there is a need to extend Mobile IP to concurrently use multiple access-interfaces for routing the mobile node's IP traffic. The goal is for efficient use of all the available access links to obtain higher aggregated bandwidth for the tunneled traffic between the home agent and the mobile node.
This specification defines extensions to Mobile IPv4 protocol for allowing a mobile node with multiple interfaces to register a care-of address for each of its network interfaces and to simultaneously leverage all access links for the mobile node's IP traffic. Furthermore, this specification also defines extensions to allow the mobile node and the home agent to optionally negotiate IP flow policies for binding individual IP flows with the registered care-of addresses.
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].
All the mobility related terms used in this document are to be interpreted as defined in [RFC5944] and [RFC3753]. In addition this document uses the following terms.
Binding Identifier (BID)
Flow Identifier (FID)
The illustration below in Figure 1 is an example scenario where a mobile node is connected to WLAN, LTE and CDMA access networks. The mobile node is configured with an home address, HoA_1, and has obtained the care-of addresses [RFC5944] CoA_1 from the WLAN network, CoA_2 from the LTE network and CoA_3 from the CDMA network.
The mobile node using the extensions specified in this document registers all the three care-of addresses with its home agent. The mobile node also establishes an IP tunnel with the home agent using each of its IP addresses; Resulting in three IP tunnels (Tunnel_1, Tunnel_2 and Tunnel_3) between the mobile node and the home agent. Each of the tunnel represents a overlay routing path between the mobile node and the home agent and can be used for forwarding the mobile node's IP traffic.
Furthermore, the extensions specified in this document allow the mobile node and the home agent to negotiate a IP flow policy. The negotiated flow policy allow the mobile node and the home agent in determining the access network path for each of the mobile node's IP flows.
Flow_1 (SIP) | |Flow_2 (SSH) | | | |Flow_3 (HTTP) _----_ | | | CoA_1 _( )_ Tunnel_1 | | | .---=======( Wi-Fi )========\ Flow_1 | | | | (_ _) \ | | | | '----' \ | | | +=====+ _----_ \ +=====+ _----_ | | '-| | CoA_2 _( )_ Tunnel_2 \ | | _( )_ -- | '---| MN |---====( LTE )=========-----| HA |-( internet )-- '-----| | (_ _) Flow_3 / | | (_ _) -- +=====+ '----' / +=====+ '----' | | _----_ / HoA_1--' | CoA_3 _( )_ Tunnel_3 / .------====( CDMA )========/ Flow_2 (_ _) '----'
Figure 1: Mobile Node with multiple tunnels to the home agent
The above table is an example of how the individual flows are bound to different care-of addresses registered with the home agent.
+=========+===================+=====================================+ | Flow Id | Access Network | Description | | (FID) | Preferences | | +=========+===================+=====================================+ | Flow_1 | Tunnel_1 / CoA_1 | All SIP Flows over Wi-Fi (preferred)| | | Tunnel_2 / CoA_2 | If Wi-Fi is not available, use LTE | | | <DROP> | If Wi-Fi and LTE access network are | | | | not available, drop the flow | +---------+-------------------+-------------------------------------+ | Flow_3 | Tunnel_2 / CoA_2 | All HTTP Flows over LTE (Preferred) | | | <DROP> | If LTE not available, drop the flow | +---------+-------------------+-------------------------------------+ | Flow_2 | Tunnel_3 / CoA_3 | All SSH Flows over CDMA (Preferred) | | | Tunnel_2 / CoA_2 | If CDMA not available, use LTE | | | Tunnel_1 / CoA_1 | If LTE not available, use Wi-Fi | +---------+-------------------+-------------------------------------+
Figure 2: Example of a IP Traffic Policy
Figure 3 is the call-flow for the example scenario where a mobile node is connected to WLAN and LTE access networks.
+-------+ +-------+ +-------+ +-------+ | MN | | WLAN | | LTE | | HA | | | |Network| |Network| | | +-------+ +-------+ +-------+ +-------+ | | | | * MIP RRQ is sent using the IP Address obtained from the WLAN Network |<--- (1) --------->| | | | | RRQ (Multipath, Flow-Binding) | |---- (2) ----------------------------------------------->| | | RRP | | |<--- (3) ------------------------------------------------| | MIP Tunnel through WLAN Network | |=====(4)===========*=====================================| * MIP RRQ is sent using the IP address obtained from the LTE Network |<--- (5) ---------------------------->| | | | RRQ (Multipath, Flow-Binding) | |---- (6) ----------------------------------------------->| | | RRP | | |<--- (7) ------------------------------------------------| | MIP Tunnel through LTE Access | |=====(8)==============================*==================| | | * * (Policy-based Routing Rule) (Policy-based Routing Rule)
Figure 3: Multipath Negotiation - Example Call Flow
This specification defines the following new extensions to Mobile IP.
This extension is used for requesting multipath support. It indicates that the sender is requesting the home agent to register the current care-of address listed in this Registration Request as one of the many care-addresses through which the mobile node can be reached. It is also for carrying the information specific to the interface to which the care-of addresses that is being registered is bound.
This extension is a non-skippable extension and MAY be added by the mobile node to the Registration Request message. There MUST NOT be more than one instance of this extension present in the message. This extension MUST NOT be added by the home agent to the Registration Reply.
This extension should be protected using the Mobile-Home Authentication extension [RFC5944]. As specified in Section 3.2 and Section 3.6.1.3 of [RFC5944], the mobile node MUST place this Extension before the Mobile-Home Authentication Extension in the registration messages, so that this extension is integrity protected.
The format of this extension is as shown below. It adheres to the long extension format described in [RFC5944].
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 | Sub-Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | If-ATT | If-Label | Binding-Id |B|O| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Multipath Extension
This extension contains information that can be used by the mobile node and the home agent for binding mobile node's IP flows to a specific multipath registration. There can be more than one instance of this extension present in the message.
This extension is a non-skippable extension and MAY be added to the Registration Request by the mobile node, or by the home agent to the Registration Reply.
This extension should be protected by Mobile-Home Authentication extension [RFC5944]. As specified in Section 3.2 and Section 3.6.1.3 of [RFC5944], the mobile node MUST place this Extension before the Mobile-Home Authentication Extension in the registration messages, so that this extension is integrity protected.
The format of this extension is as shown below. It adheres to the long extension format described in [RFC5944].
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 | Sub-Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Action | BID Count | ... BID List ... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TS Format | Traffic Selector ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Flow-Binding Extension
+---------+-------+-------------------------------------------------+ | Action | Value | Description | +---------+-------+-------------------------------------------------+ | DROP | 0 | Drop matching packets. A filter rule | | | | indicating a drop action MUST include a single | | | | BID byte, the value of which MAY be set to 255 | | | | by the sender and the value of which SHOULD be | | | | ignored by the receiver. | +---------+-------+-------------------------------------------------+ | FORWARD | 1 | Forward matching packets to the 1st BID in the | | | | list of BIDs the filter rule is pointing to. | | | | If the 1st BID becomes invalid (i.e., the | | | | corresponding CoA is deregistered) use the next | | | | BID in the list. | +---------+-------+-------------------------------------------------+
Figure 6: Action Rules for the Traffic Selector
This document defines the following error code values for use by the home agent in the Code field of the Registration Reply.
MULTIPATH_NOT_ALLOWED (Multipath Support not allowed for this mobile node): <IANA-3>
INVALID_FB_IDENTIFIER (Invalid Flow Binding Identifier): <IANA-4>
The home agent upon receiving a Registration Request from a mobile node with a Multipath extension, should check if the mobile node is authorized for multipath support. If multipath support is not enabled, the home agent MUST reject the request with a registration reply and with the code set to MULTIPATH_NOT_ALLOWED.
If the received Registration Request includes a Multipath extension and additionally has the Bulk Re-registration (B) flag set to a value of (1), then the home agent MUST extend the lifetime of all the bindings associated with that mobile node.
The home agent upon receipt of a Registration Request with the Flow-Binding Extension must process the extension and upon accepting the flow policy must set up the forwarding plane that matches the flow policy. If the home agent cannot identify any of the binding identifiers then it MUST reject the request with a Registration Reply and with the code set to INVALID_FB_IDENTIFIER.
If the received Registration Request includes a Multipath extension and additionally has the Registration Overwrite (O) flag set to a value of (1), then the home agent MUST consider this as a request to replace all other mobile node's bindings with just one binding and that is the binding associated with this request.
When multipath registration is enabled for a mobility node, there will be multiple mobile IP tunnels established between a mobile node and its home agent. These mobile IP tunnels appear to the forwarding plane of the mobile node as equal-cost, point-to-point links.
If there is also an exchange of traffic flow policy between the mobile node and the home agent, with the use of Flow-Binding extensions (Section 4.2), then the mobile node's IP traffic can be routed by the mobility entities as per the negotiated flow policy. However, if multipath is enabled for a mobility session, without the use of any flow policy exchange, then both the mobile node and the home agent are required to have a pre-configured static flow policy. The specific details on the semantics of this static flow policy is outside the scope of this document.
In the absence of any established traffic flow policies, most IP hosts support two alternative traffic load-balancing schemes, Per-flow and Per-packet load balancing [RFC2991]. These load balancing schemes allow the forwarding plane to evenly distribute traffic based on the criteria of either a per-packet or on a per-flow basis, across all the available equal-cost links through which a destination can be reached. The default forwarding behavior of per-flow load balancing will ensure a given flow always takes the same path and will eliminate any packet re-ordering issues and that is critical for delay sensitive traffic. Whereas the per-destination load balancing scheme leverages all the paths much more affectively, but with the potential issue of packet re-ordering on the receiver end. This issue will be specially magnified when the access links have very different forwarding characteristics. A host can choose to enable any of these approaches. Therefore, this specification recommends the use of per-flow load balancing.
This document requires the following IANA actions.
+=========================================================+ | 0 | Reserved | +=========================================================+ | 1 | Multipath Extension | +=========================================================+ | 2 | Flow-Binding Extension | +=========================================================+ | | | ~ 3-254 | -- For future use -- ~ | | | +=========================================================+ | 255 | Reserved | +=========================================================+
This specification allows a mobile node to establish multiple Mobile IP tunnels with its home agent, by registering a care-of address for each of its active roaming interfaces. This essentially allows the mobile node's IP traffic to be routed through any of the tunnel paths based on a static or a dynamically negotiated flow policy. This new capability has no impact on the protocol security. Furthermore, this specification defines two new Mobile IP extensions, Multipath extension and the Flow-Binding extension. These extensions are specified to be included in Mobile IP control messages, which are authenticated and integrity protected as described in [RFC5944]. Therefore, this specification does not weaken the security of Mobile IP Protocol, and does not introduce any new security vulnerabilities.
This document reflects discussions and contributions from the following people:
We like to thank Qin Wu, Shahriar Rahman, Mohana Jeyatharan, Yungui Wang, Hui Deng Behcet Sarikaya, Jouni Korhonen, Michaela Vanderveen, Antti Makela, Charles Perkins, Pierrick Siette, Vijay Gurbani, Barry Leiba, Henrik Levkowetz, Pete McCann and Brian Haberman. for their review and comments on this draft.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC5213] | Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K. and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008. |
[RFC5944] | Perkins, C., "IP Mobility Support for IPv4, Revised", RFC 5944, November 2010. |
[RFC6088] | Tsirtsis, G., Giarreta, G., Soliman, H. and N. Montavont, "Traffic Selectors for Flow Bindings", RFC 6088, January 2011. |
[RFC2991] | Thaler, D. and C. Hopps, "Multipath Issues in Unicast and Multicast Next-Hop Selection", RFC 2991, November 2000. |
[RFC3753] | Manner, J. and M. Kojo, "Mobility Related Terminology", RFC 3753, June 2004. |
[RFC5226] | Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. |
[RFC5454] | Tsirtsis, G., Park, V. and H. Soliman, "Dual-Stack Mobile IPv4", RFC 5454, March 2009. |
[RFC6626] | Tsirtsis, G., Park, V., Narayanan, V. and K. Leung, "Dynamic Prefix Allocation for Network Mobility for Mobile IPv4 (NEMOv4)", RFC 6626, May 2012. |