TOC |
|
It is a common practice for multiple interfaces terminals to leverage on a connection manager to perform provisioning domain selection. Problem statement document highlighted that lack of standardized behavior for connection managers can bring specific issues in a MIF context. To address this issue, this document proposes a set of functional requirements for a generic MIF connection manager.
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 January 27, 2011.
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 Simplified BSD License.
1.
Introduction
2.
Use-cases
2.1.
Provisioning domain selection
2.2.
Reselection
3.
MIF Connection manager requirement
3.1.
Functional architecture
3.2.
Interfaces
3.2.1.
Network SAP
3.2.2.
User SAP
3.2.3.
Operator SAP
3.2.4.
Cloud SAP
3.2.5.
OS SAP
3.2.6.
Execution SAP
3.2.7.
Application SAP
3.2.8.
Authentication SAP
3.3.
Functions of the connection manager
3.3.1.
Initiation
3.3.2.
Decision
3.3.3.
Execution function
3.3.3.1.
IP connectivity check
3.3.3.2.
IP address and interface mapping
3.3.3.3.
IP flow mobility
4.
Security Considerations
5.
IANA Considerations
6.
Contributors
7.
Acknowledgements
8.
References
8.1.
Informative References
8.2.
Informative References
§
Authors' Addresses
TOC |
As shown in [I‑D.ietf‑mif‑current‑practices] (Wasserman, M. and P. Seite, “Current Practices for Multiple Interface Hosts,” June 2010.), it is a common practice for multiple interfaces terminals to leverage on a connection manager to perform provisioning domain selection. The connection manager can make its decision on user preferences, applications inputs or many other criteria. There are various ways to provide information to connection manager (static configuration, user provisioned, out-of-band mechanisms, etc) and a lot of possible strategies that a connection manager can implement to make a selection. This variety of situations may lead to specific issues, as specified in [I‑D.ietf‑mif‑problem‑statement] (Blanchet, M. and P. Seite, “Multiple Interfaces Problem Statement,” July 2010.). For instance, issues may rise up because connection managers does not behave in the same way depending on the operating systems and/or platforms. High level API may also differ across different operating systems and/or platforms. It is also stressed that, implementation of different connection manager on a same node may lead to inconsistencies and unexpected behavior in interface selection.
Obviously, more consistency in connection manager behavior and API specifications would be a must for applications developers, operators, users, etc... So, this document aims to address this issue by proposing functional requirements for a generic connection manager expected to be used by a MIF node. This document proposes a functional architecture for the connection manager, describes interfaces and required functions.
TOC |
TOC |
According to [I‑D.ietf‑mif‑current‑practices] (Wasserman, M. and P. Seite, “Current Practices for Multiple Interface Hosts,” June 2010.); one of the basic operation of the connection manager is the selection of the provisioning domain.
This selection comes into play when the MIF host bootstraps, or when it discovers a new provisioning domain. The selection could be based on various criteria,
among them are:
In a MIF context, the Connection Manager must handle multiple domains simultaneously in particular for host supporting multiple access technologies. In this situation, when the user starts an application, the Connection Manager selects the best domain taking into account the application constraints besides aforementioned selection criteria. Among these application constraints we can mention for example the access restriction for a given application or minimum required quality of service. By default, the Connection Manager selects the provisioning domain provided by user and/or operator. If the application is restricted to one provisioning domain, the application must start on it. If the default provisioning domain is not available, the application cannot start. If the application can run over several provisioning domains, the Connection Manager selects the provisioning domain which provides the best quality and/or which satisfy the user preferences, operator policies, and service provider preferences, e.g. selection of the access with lower cost.
If the user starts more than one application on a MIF host, the connection manager should be able to select for each application the most appropriate domain based on above mentioned criteria.
TOC |
Once attached, if quality of the link degrades and/or the link becomes unavailable and/or other domains with higher preferences become available, the Connection Manager should re-select, if possible, an alternative provisioning domain.
If IP communication is ongoing and if IP session continuity must be provided, the connection manager may trigger specific mobility management mechanisms (e.g. trigger MIPv6 signalling [RFC3775] (Johnson, D., Perkins, C., and J. Arkko, “Mobility Support in IPv6,” June 2004.)) or associated configuration operations, e.g. configuration of a virtual interface for inter-access handover support with PMIPv6 (as proposed in [I‑D.melia‑netext‑logical‑interface‑support] (Melia, T., Gundavelli, S., Yokota, H., and C. Bernardos, “Logical Interface Support for multi-mode IP Hosts,” July 2010.)).
Reselection may also happen following an attachment failure (at Layer 2 or 3). For instance, the connection manager should select an
alternative provisioning domain if:
TOC |
This section describes the generic framework of a MIF connection connection manager.
TOC |
It can be deduced from the use-cases described in Section 2 (Use-cases) that a connection manager should support at least
three main functions:
An example of a functional architecture of a Connection Manager is given on Figure 1 (A functional architecture for the connection manager).
The Connection Manager supports the functions described above and it implements interfaces with all the involved actors (e.g., user, application,
operator,...) and with other functional modules on the terminal (i.e., access monitoring, mobility management protocol, etc.).
Interface endpoints on the connection manager side are called Service Access Points (SAPs). The following will discuss needed SAPs in order
to allow other functional modules to interact with the Connection Manager.
+------------+ +--------+ +------------+ +------------+ |User Tools | | Appli. | | policies | |Authent. | | | | | | server | | Framework | +-----x------+ +---x----+ +------x-----+ +-----x------+ | | | | _____x____ ____x_____ _____x______ ______x___ __ / user SAP \____ / Appli SAP\___ / Oper/cloud \__/ Auth. SAP\_ | \__________/ \__________/ \____________/ \__________/ | | | | Connection Manager | | | | +------------+ get info +------------+ | | | Decision | ------------->| Repository | | | | | <------------ | | | | +------------+ send info +------------+ | | __________ __________ __________ ________ | |_ / 3GPP SAP \____ / Exec. SAP\_____ /WiFi SAP \____/OS SAP \___| \__________/ \__________/ \__________/ \________/ x x x x | +------------x-----------------+ | | | | virtual Intf, | | +---- x------+ | | MIP stack, IP stack | | | OS | | +------------------------------+ | +------------+ +--- x-------+ +-----x------+ |3GPP Intf. | |WiFi Intf. | | | | | +------------+ +------------+
Figure 1: A functional architecture for the connection manager |
TOC |
This section focuses on the interfaces endpoints on the connection manager side. It is reminded that interface endpoints on the connection manager side are called Service Access Points (SAPs).
TOC |
The Network SAP relates to features directly integrated with the link layer access technologies and network interface.
For instance, the Network SAP should provide the following capabilities:
TOC |
The User SAP should allow the user to give his preferences expected to influence the interface management, e.g. modification of the application profiles, preferred provisioning domain per application, and so on… These preferences are stored by the connection manager in a local repository.
TOC |
The Operator SAP provides services between the client and an operator which could be either the network operator of any service
operator over the top. These services are not integrated within the link layer protocols. If they were these SAP primitives would
then be migrated to the Network SAP. The Operator SAP should provide the following capabilities:
TOC |
The cloud SAP is the operator SAP dedicated to Over The Top service provider.
Obviously, this SAP is very similar to the operator SAP, the interface between MIF host and server uses same mechanisms than operator SAP.
But, in this case, services may be specific to OTT operator. More specifically:
TOC |
The OS SAP makes interface with terminal Operating system. This SAP could provide the following capabilities:
TOC |
The execution SAP allows to command actions on connectivity layers
(e.g., IP configuration, trigger IP session continuity management protocols).
The Execution SAP is tightly integrated with OS features and capabilities.
The Execution SAP should provide the following capabilities:
TOC |
The Application SAP allows to exchange application triggers (e.g. application start/stop, notification for QoS requirements)
and to provide notification of selection decision from the connection manager towards applications
(i.e., to let the applications change their behavior if it is appropriate). Typically, the Application SAP should:
it is worth mentioning that the data traffic is exchanged directly between the applications and the transport/IP layers, through the standard socket, i.e. without traversing the Connection Manager.
TOC |
The Authentication SAP provides access to all supported authentication protocols in a shared fashion for all interfaces.
For instance, these protocols may include:
In addition to network authentication solutions, the Authentication SAP can provide shared mechanisms for applications to use Single-Sign-On solutions such as Open ID, HTTP digest or any other proposal.
TOC |
TOC |
According to Section 3.1 (Functional architecture ) The decision is made on triggers and the parameters provided by the initiation function.
This function should manage, at least, the following triggers:
TOC |
The decision function is the core of the connection manager, it consists in two main functional blocks:
There are plenty of criteria which could be used to make a decision. For instance, the following criteria could be considered:
TOC |
After making a decision, the decision function triggers the execution, e.g. operation for attachment to a new interface, IP connectivity check,
source address selection, trigger other virtual interface like tunnel interface (e.g. IPSEC) or steer the mobility protocol e.g. MIPv6 ([RFC3775] (Johnson, D., Perkins, C., and J. Arkko, “Mobility Support in IPv6,” June 2004.)),
if IP session continuity must be ensured.
Figure 2 (State machine of connection manager) shows interaction between functions of the generic MIF connection manager.
+-----------------+ +-----------------+ |Event Monitoring | |policies, address| |(e.g. monitoring | |selection policy,| | access link) | |preferences,... | +-----------------+ +-----------------+ || || ,---------. || || ,-' `-. \/ \/ | Execution | ,---------. ,---------. | (connectivity | ,-' `-. ,-' `-. | check, | ( Initiation |------>( Decision )--->| interface | `-. ,-' `-. ,-' | control, | `---------' `---------' | Handover | ^ ^ | ^ | management,.. , | | fail | | `---------------' | +------(e.g. no access<---+ | | | | available) | | | | +-- reselection <---+ | | due to execution | | failure | | | +---------------- execution completed <-----------------+
Figure 2: State machine of connection manager |
TOC |
This sub-function of the execution deals with IP connectivity verification (via OS SAP): this function triggers reselection in case of layer 3 failure, during attachment or when a handover happens, and that the layer 2 is still connected.
Various situations may occur and various mechanisms are needed to ensure the IP connectivity can be used, for example:
TOC |
In a MIF context, the notion of path is indeed key as, even a single network interface could be providing multiple paths, e.g. in IPv6 when delivering multiple prefixes. For example, current IP mobility solutions use one IP address for local access and another for anchored traffic through a mobility anchor (i.e. HA or LMA). Mechanism for selecting on or the other of these paths resides within source address selection rules associated with selection policies.
Selection of a source address should at least rely on default address selection as per [RFC3484] (Draves, R., “Default Address Selection for Internet Protocol version 6 (IPv6),” February 2003.) which defines algorithms for source and destination IP address selections. However, more sophisticated selection mechanism could also be provided by connection managers. Here, the connection manager will typically select the path (i.e. source address) based on local information (e.g. access monitoring) and policies/requirements issued from all actors coming to play (i.e., user, application, operator, etc.). Once the decision is made (i.e. path selected), the execution function will configure, in a transparent manner for applications, the appropriate mapping of IP communication with selected local interface.
Information on IP address type (e.g. local, global, assigned to a virtual interface, etc…) must be known by the connection manager as an input for address selection. This information may be provided by specific extensions to IP address allocation mechanisms (e.g. DHCP, IPCP, RA, or any other…).
TOC |
Flow mobility realtes to the capability to move specific flows from one interface to another. Specification of a network based solution is currently ongoing within NetExt working group. Basically, Network based IP flow mobility is proposed to leverage on a virtual interface hiding the access change to application [I‑D.melia‑netext‑logical‑interface‑support] (Melia, T., Gundavelli, S., Yokota, H., and C. Bernardos, “Logical Interface Support for multi-mode IP Hosts,” July 2010.). This approach results in a mobile node getting the same IP address on multiple interfaces in the case of IPv4 and the same prefix in the case of IPv6. To handle these situations, it is proposed that the mobile node should create a virtual interface to which an IP address would be allocated . The connection manager can typically control the mapping of that virtual interface to the physical interface.
Mechanism for selecting on or the other of the paths for each IP flow resides within source address selection rules associated with Flow Mobility policies. The flow mobility policies have direct impact on the source address selection rules. In the same manner than in the preceding section, the connection manager could handle the mapping of the physical interface to the virtual interface (including the selection of the source address) depending on the decision made.
In this situation, the mapping control shall take into account the method used to learn the IP address, which can differ if:
As in Section 3.3.3.2 (IP address and interface mapping), information on IP address type (e.g. local, anchored, assigned to a virtual interface, etc…) must be known by the connection manager as an input for address selection.
The following picture illustrates the relationship between the connection manager and the virtual interface.
IF/CM +---------+ +---------+ interface | if_1 | | if_2 | +------------+ |(WLAN) | |(3GPP) |<--->| Connection | +---------+ +---------+ | Manager | +---------------------+ +----^-------+ | Virtual | | | Interface |<---------+ +---------------------+ | IP | +---------------------+ | TCP/UDP | +---------------------+
Figure 3: Connection Manager and Virtual Interface relationship |
TOC |
TBD
TOC |
This document has no actions for IANA.
TOC |
The following people contributed to this document:
Lucian Suciu
France telecom - Orange
lucian.suciu@orange-ftfroup.com
Patrice Nivagiolli
Cisco
pnivaggi@cisco.com
TOC |
The authors would like to acknowledge (in no specific order) Sri Gundavelli, Hidetoshi Yokota, Telemaco Melia, Hui Deng and Dapeng Liu for all the fruitful discussions on this topic.
TOC |
TOC |
[RFC3484] | Draves, R., “Default Address Selection for Internet Protocol version 6 (IPv6),” RFC 3484, February 2003 (TXT). |
TOC |
[802.21] | IEEE, “IEEE Standard for Local and Metropolitan Area Networks - Part 21: Media Independent Handover Services", IEEE LAN/MAN Std 802.21-2008, January 2009.,” 2010. |
[I-D.cao-mif-analysis] | Laganier, J., Montenegro, G., Korhonen, J., Savolainen, T., and Z. Cao, “MIF Current Practice Analysis,” draft-cao-mif-analysis-01 (work in progress), July 2010 (TXT). |
[I-D.das-mipshop-andsf-dhcp-options] | Das, S. and G. Bajko, “Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6) Options for Access Network Discovery and Selection Function(ANDSF) Discovery,” draft-das-mipshop-andsf-dhcp-options-04 (work in progress), July 2010 (TXT). |
[I-D.ietf-mif-current-practices] | Wasserman, M. and P. Seite, “Current Practices for Multiple Interface Hosts,” draft-ietf-mif-current-practices-02 (work in progress), June 2010 (TXT). |
[I-D.ietf-mif-problem-statement] | Blanchet, M. and P. Seite, “Multiple Interfaces Problem Statement,” draft-ietf-mif-problem-statement-05 (work in progress), July 2010 (TXT). |
[I-D.melia-netext-logical-interface-support] | Melia, T., Gundavelli, S., Yokota, H., and C. Bernardos, “Logical Interface Support for multi-mode IP Hosts,” draft-melia-netext-logical-interface-support-01 (work in progress), July 2010 (TXT). |
[I-D.sarikaya-mif-dhcpv6solution] | Sarikaya, B., Xia, F., and P. Seite, “DHCPv6 Extension for Configuring Hosts with Multiple Interfaces,” draft-sarikaya-mif-dhcpv6solution-04 (work in progress), July 2010 (TXT). |
[RFC3775] | Johnson, D., Perkins, C., and J. Arkko, “Mobility Support in IPv6,” RFC 3775, June 2004 (TXT). |
[RFC5213] | Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K., and B. Patil, “Proxy Mobile IPv6,” RFC 5213, August 2008 (TXT). |
[TS23.402] | 3GPP, “3GPP TS 23.402; Architecture enhancements for non-3GPP accesses,” 2010. |
TOC |
Pierrick Seite | |
France Telecom - Orange | |
4, rue du Clos Courtel, BP 91226 | |
Cesson-Sevigne 35512 | |
France | |
Email: | pierrick.seite@orange-ftgroup.com |
Gaetan Feige | |
Cisco | |
11 rue Camille Desmoulin | |
Issy les Moulineaux 92782 | |
France | |
Email: | gfeige@cisco.com |