TOC 
Network Working GroupP. Seite
Internet-DraftFrance Telecom - Orange
Intended status: InformationalG. Feige
Expires: January 6, 2011Cisco
 July 5, 2010


Connection Manager requirements
draft-seite-mif-connection-manager-00.txt

Abstract

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.

Status of this Memo

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

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

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

This Internet-Draft will expire on January 6, 2011.

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 Simplified BSD License.



Table of Contents

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.  References
    7.1.  Informative References
    7.2.  Informative References
§  Authors' Addresses




 TOC 

1.  Introduction

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 provisionned, 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,” May 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 accross 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 developpers, 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 

2.  Use-cases



 TOC 

2.1.  Provisioning domain selection

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 abovementioned criteria.



 TOC 

2.2.  Reselection

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 communiation 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 foloowing an attachment failure (at Layer 2 or 3). For instance, the connection manager shouls select an alternative provisioning domain if:



 TOC 

3.  MIF Connection manager requirement

This section describes the generic framework of a MIF connection connection manager.



 TOC 

3.1.  Functional architecture

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:

  1. initiation function: it monitors for events which possibly required connection management operations. Events may be related to access link characteristics, application hints, user triggers, etc. When detecting an event which may require multiple interfaces management operations (e.g. selection of a new provisioning domain), the initiation function triggers the decision function (see next item).
  2. decision function: upon triggers and information fired by the initiation Function, the decision function makes decision about multiple interfaces management (e.g. select the best appropriate provisioning domain to be used, source address selection, …). The decision is also made using local information (e.g. policies, user preferences) fetched from a local/remote repository.
  3. execution function: once the decision made, the decision function triggers the execution if required, e.g. attachment to the targeted interface interface configuration, control of associated mechanisms for communication continuity if needed (e.g. configuration of a virtual interface, trigger mobile IP procedures, and so on,….).

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 

3.2.  Interfaces

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 

3.2.1.  Network SAP

The Network SAP relates to features directly integrated with the link layer access technologies and one specific network interface. Fon instanceThe Network SAP should provide the following capabilities:



 TOC 

3.2.2.  User SAP

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 

3.2.3.  Operator SAP

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 

3.2.4.  Cloud SAP

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 

3.2.5.  OS SAP

The OS SAP makes interface with terminal Operating system. This SAP could provide the following capabilities:



 TOC 

3.2.6.  Execution SAP

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 

3.2.7.  Application SAP

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 

3.2.8.  Authentication SAP

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 

3.3.  Functions of the connection manager



 TOC 

3.3.1.  Initiation

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 

3.3.2.  Decision

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 

3.3.3.  Execution function

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 

3.3.3.1.  IP connectivity check

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 

3.3.3.2.  IP address and interface mapping

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 

3.3.3.3.  IP flow mobility

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_1    | | if_2    |
 |(WLAN)   | |(3GPP)   |
 +-.-------+-+-------.-+
   _|_ |  Virtual  | _|_ IF/CM interface
    |  | Interface |  |
  +-'-----------------'-|
  |      Connection     |
  |       Manager       |
  +---------------------+
  |         MN          |
  +---------------------+

 Figure 3: Connection Manager and Virtual Interface relationship 



 TOC 

4.  Security Considerations

TBD



 TOC 

5.  IANA Considerations

This document has no actions for IANA.



 TOC 

6.  Contributors

The following people contributed to this document:

Lucian Suciu

France telecom - Orange

lucian.suciu@orange-ftfroup.com

Patrice Nivagiolli

Cisco

pnivaggi@cisco.com



 TOC 

7.  References



 TOC 

7.1. Informative References

[RFC3484] Draves, R., “Default Address Selection for Internet Protocol version 6 (IPv6),” RFC 3484, February 2003 (TXT).


 TOC 

7.2. Informative References

[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-00 (work in progress), March 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-03 (work in progress), February 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-04 (work in progress), May 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 

Authors' Addresses

  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