﻿<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [


<!ENTITY rfc4301 PUBLIC ''
'http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4301.xml'>


<!ENTITY rfc3948 PUBLIC ''
'http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3948.xml'>


<!ENTITY rfc7296 PUBLIC ''
'http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7296.xml'>

<!ENTITY rfc2119 PUBLIC ''
'http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml'>

]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>
<?rfc compact="yes" ?> 
<?rfc subcompact="yes" ?>

<rfc category="std" ipr="trust200902" docName="draft-kanugovi-intarea-mams-protocol-01">


<front>
<title abbrev="MAMS">Multiple Access Management Protocol</title>

<author fullname="Satish Kanugovi" initials="S." surname="Kanugovi">
      <organization>Nokia</organization>

      <address>
        <postal>
          <street></street>

          <city></city>

          <region/>

          <code></code>

          <country></country>
        </postal>

        <phone/>

        <facsimile/>

        <email>satish.k@nokia.com</email>

        <uri/>
      </address>
    </author>

 <author fullname="Subramanian Vasudevan" initials="S." surname="Vasudevan">
      <organization>Nokia</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city></city>

          <region/>

          <code></code>

          <country></country>
        </postal>

        <phone></phone>

        <email>vasu.vasudevan@nokia.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>



<author fullname="Florin Baboescu" initials="F." surname="Baboescu">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <street></street>
          <city></city>
          <region/>
          <code/>
          <country></country>
        </postal>
        <phone/>
        <facsimile/>
        <email>florin.baboescu@broadcom.com</email>
        <uri/>
      </address>
</author>

<author fullname="Jing Zhu" initials="J." surname="Zhu">
      <organization>Intel</organization>
      <address>
        <postal>
          <street></street>
          <city></city>
          <region/>
          <code/>
          <country></country>
        </postal>
        <phone/>
        <facsimile/>
        <email>jing.z.zhu@intel.com</email>
        <uri/>
      </address>
</author>

<date day="21" month="October" year="2016"/>


<area>INTERNET</area><workgroup>INTAREA</workgroup>
<abstract>

	<t> A communication network includes an access network element that
   delivers data to/from the user and an associated core network element
   providing connectivity with the
   application servers.  Multiconnectivity scenarios are common where a
   device can be simultaneously connected to multiple communication
   networks based on different technology implementations and network
   architectures like WiFi, LTE, DSL.  A smart combination and selection
   of access and core network paths that can dynamically adapt to changing network conditions can improve quality of experience
   for a user in a multiconnectivity scenario and improve overall network utilization and efficiency.  This document presents
   the problem statement and proposes solution principles.  It specifies
   the requirements and reference architecture for a multi access
   management services framework that can be used to flexibly select the
   best combination of uplink and downlink access and core network
   paths, ensuring better network efficiency and enhanced application
   performance.
 
     </t>
 </abstract>
</front>

<middle>
	
      <section title="Conventions used in this document">
        <t>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 <xref target="RFC2119"/>. </t>
      </section>

<section title="Introduction">
    

<t> Multi Access Management Signaling (MAMS) is a programmable framework that allows to select and configure network paths, as well as adapt to dynamic network conditions, when multiple network connections can serve a client device. It is based on principles of user plane interworking that enables the solution to be deployed as an overlay without impacting the underlying networks. The framework provides for mechanisms for flexible selection of network paths based on application needs that can be leverage network intelligence and policies to dynamically adapt to changing conditions.
</t>
<t>
The document presents the requirements, solution principles and functional architecture for the MAMS framework. MAMS mechanisms are not dependent on any specific network and transport protocols like TCP, UDP, GRE, MPTCP etc. It co-exists and complements the existing protocols by providing a way to negotiate and configure the protocols based on client and network capabilities. Further it allows exchange of network state information and leveraging network intelligence to optimize the performance of such protocols. 
</t>

<t>
An important goal for MAMS is to ensure that there is minimal or no dependency on the actual access technology of the participating links, beyond the fact that there is IP connectivity between the access nodes. This allows the scheme to be scalable for addition of newer accesses and for independent technology evolution of the existing accesses.
</t>

</section>

      <section title="Terminology">

     <t> "Client": The end-user device supporting connections with multiple access nodes, possibly over different access technologies.
     </t>

        <t>"Multiconnectivity Client”: A client with multiple network connections.</t>

        <t>"Access network functional element": The functional element in the network that delivers user data packets to the client via an access link like WiFi airlink, LTE airlink, DSL.</t>

      <t> "Core": The functional element that anchors the client’s IP address used for communication with applications via the network. 
       </t>

       <t> 
	     "User Plane Gateway": The functional element that can intercept and route user data packets.
   </t>

 <t> 
	     "Network Connection manager"(NCM): A functional entity in the network that oversees distribution of data packets over the multiple available access and core network paths.
   </t>

 <t> 
	     "Client Connection Manager" (CCM): A functional entity in the client that exchanges MAMS Signaling with the Network Connection Manager and configures the multiple network paths for transport of user data.
   </t>

 
 <t> 
"Network Multi Access Data Proxy" (N-MADP): This functional entity in the network handles the user data 
   traffic forwarding across multiple network paths. N-MADP is responsible for MAMS-specific u-plane functionalities in the network.
   </t>

<t> 
	     "Client Multi Access Data Proxy" (C-MADP): This functional entity in the client handles the user data traffic forwarding across multiple network paths. C-MADP is responsible for MAMS-specific u-plane functionalities in the client.
   </t>

      </section>
    

    <section title="Problem Statement">
    

  <t> Typically, a device has access to multiple communication networks based on different technologies, say LTE, WiFi, DSL, MuLTEfire, for accessing application services. Different technologies exhibit benefits and limitations in different scenarios. For example, WiFi leverages the large spectrum available in unlicensed spectrum to deliver high capacities at low cost in uncongested scenarios with small user population, but can show significant degradation in application performance in congested scenarios with large user population. Another example is LTE network, the capacity of which is often constrained by high cost and limited availability of the licensed spectrum, but offers predictable service even in multi-user scenarios due to controlled scheduling and licensed spectrum usage. 
</t>
<t>
Additionally, the use of a particular access network path is often coupled with the use of the associated core network. For example, in an enterprise that has deployed WiFi and LTE communications network, enterprise applications, like printers, Corporate Audio and Video conferencing, are accessible only via WiFi access connected to the enterprise hosted WiFi core, whereas the LTE access can be used to get LTE operator core anchored services including access to public internet. 
</t>
<t>
Application performance in different scenarios, therefore becomes dependent on the choice of the communication networks due to the tight coupling of the access and the core network paths. Therefore to leverage the best possible application performance in the widest possible scenarios, a framework is needed that allows flexible selection of the combination of access and core network paths for application data delivery. 
</t>
<t>
For example, in uncongested scenarios, it would be beneficial to use WiFi access in the uplink and downlink for connecting to enterprise applications. Whereas in congested scenarios, where use of WiFi in uplink by multiple users can lead to degraded capacity and increased delays due to contention, it would be beneficial to use scheduled LTE uplink access combined with WiFi downlink.
</t>

</section>

<section title="Solution Principles">
    
    
<t>
This document proposes a Multiple Access Management Services(MAMS)
   framework for dynamic selection of uplink and downlink access and
   core network paths for a device connected to multiple communication
   networks.  The multiple communication networks interwork at the user plane. The selection of paths is based on negotiation of
   capabilities and network link quality between the device and a
   functional element in the network, namely the network connection
   manager (NCM).  NCM has the intelligence to setup and offer the best
   network path based on device and network capabilities, application
   needs and knowledge of the network state. 

</t>

<t>
   The NCM communicates with the Client Connection Manager (CCM), a functional element in the device, for negotiation, sharing information on the network path conditions, and configuring usage of the network paths. The messages between the NCM and CCM are carried as user plane data over any of the available network paths between the NCM and CCM.
</t>

</section>
      

<section title="Requirements">

<t>
The requirements set out in this section are for the behavior of the MAMS mechanism and the related functional elements. 
</t>

<section title="Access technology agnostic interworking">
<t>
   The access nodes can be of different technology types like LTE, WiFi
   etc.  Since MAMS routes user plane data packets at the IP layer,
   which makes it agnostic to the type of underlying technology used at
   the access nodes.
</t>
</section>

<section title="Support common transport deployments">
<t>
The network path selection and user plane distribution should work transparently across transport deployments that include e2e IPsec, VPNs, and middleboxes like NATs and proxies.
</t>
</section>

<section title="Independent Access path selection for Uplink and Downlink">
<t>
IP layer routing enables the client to transmit on uplink using one access and receive data on downlink using another access, allowing client and network connection manager to select the access paths for uplink and downlink independent of each other.
</t>
</section>

<section title="IP anchor selection independent of uplink and downlink access">
<t>
A client is able to flexibly negotiate the IP anchor, core network, independent of the access paths used to reach the IP anchor depending on the application needs.
</t>
</section>

<section title="Adaptive network path selection">
<t>
   The NCM node has the ability to determine the
   quality of each of the network paths, e.g. access link delay and
   capacity.  The network path quality information is fed into the logic
   for selection of combination of network paths to be used for
   transporting user data.  The path selection algorithm can use network
   path quality information, in addition to other considerations like
   network policies, for optimizing network usage and enhancing QoE
   delivered to the user.
</t>
</section>

<section title="Multipath support and Aggregation of access link capacities">
<t>
   MAMS supports distribution and aggregation of user data across
   multiple network paths at the IP layer. MAMS allows the client to leverage the
   combined capacity of the multiple network connections by enabling
   simultaneous transport of user data over multiple network paths.  If
   required, packet re-ordering is done at the receiver, client(C-MADP) and/or
   the network (N-MADP), when user data packets are received out
   of order.  MAMS allows flexibility to choose the flow steering and
   aggregation protocol based on capabilities supported by the client
   and the network data plane entities, C-MADP and N-MADP respectively. 
   A MAMS multi-connection aggregation solution should support existing transport and network layer protocols like TCP, UDP, GRE. 
   If flow aggregation functions are realized using existing protocols such as Multi-Path TCP(MPTCP) and SCTP, MAMS framework should allow use and configuration of these aggregation protocols.

</t>
</section>

<section title="Scalable mechanism based on IP interworking">
<t>
The mechanism is based on IP interworking, requiring only the IP connectivity between the access nodes and the interworking functionality is based on generically available IP routing and tunneling capabilities. This makes solution easy to deploy and scale easily when different networks are added and removed.
</t>
</section>

<section title="Separate Control and Data plane functions">
<t>
The client negotiates with a network connection manager the choice of access for both uplink and downlink accesses and the IP anchor(core). The network connection manager configures the actual user data distribution function residing in the Anchor element, thus maintaining a clear separation between the control and data plane functions. This makes the MAMS framework amenable to SDN based architecture and implementations.
</t>
</section>

<section title="Lossless Path (Connection) Switching">
<t>
When switching data traffic from one path (connection) to another, packets may be lost or delivered out-of-order, which will have negative impacts on the performance of higher layer protocols, e.g. TCP. MAMS should provide necessary mechanisms to ensure in-order delivery at the receiver, as well as support retransmissions at the transmitter during path switching.
</t>
</section>

<section title="Concatenation and Fragmentation to adapt to MTU differences">
<t>
MAMS should support heterogeneous access networks, which may have different MTU sizes. Moreover, tunneling protocols also have a big impact on the MTU size. Hence, MAMS should support concatenation such that multiple IP packets may be encapsulated into a single packet to improve efficiency. MAMS should also support fragmentation such that a single IP packet may be fragmented and encapsulated into multiple ones to avoid IP fragmentation.
</t>
</section>

<section title="Configuring network middleboxes based on negotiated protocols">
<t>
MAMS enables identification of the optimal parameters that may be used for configuring the middle-boxes, like binding expiry times and supported MTUs, for efficient operation of the user plane protocols, depending on the data plane related parameters negotiated between the client and the network. e.g. Configuring longer binding expiry time in NATs when UDP transport is used in contrast to the scenario where TCP is configured at the transport layer.
</t>
</section>

<section title="Client policy">
<t>
MAMS framework should support consideration of policies at the client, in addition to guidance from the network in determination of network paths selected for different application services.
</t>
</section>

<section title="Control plane signaling">
<t>
MAMS control signaling is carried over the user plane and is transparent to the transport protocols. MAMS should support delivery of control signaling over the existing Internet protocols, e.g. TCP or UDP.
</t>
</section>

<section title="Service discovery and reachability">
<t>
MAMS offers the flexibility for the functional entity NCM to be collocated with any of the network elements and reachable via any of the available user plane paths. MAMS framework allows the flexibility for the CCM to choose one of the available NCM’s and exchange control plane signaling over any of the available user plane paths. The choice of NCM can be based on considerations like, but not limited to, quality of link through with the NCM is reachable, Client preference or pre-configuration etc.
</t>
</section>

</section>

<section title="MAMS Reference Architecture">
    
    
         <figure anchor="figure1" title="MAMS Reference Architecture">
        <artwork align="center"><![CDATA[
		
+---------------------------------------------------+
!     +---------------+       +---------------+     !
!     !               !       !               !     !
!     !Core(IP anchor)!       !Core(IP anchor)!     !
!     !(network 2)    !       !(network 1)    !     !
!     !               !       !               !     !
!     +---------------+       +---------------+     !
!          +-----------------------+                !
!          ! +-----+  +------+     !                !
!          ! ! NCM !  !N-MADP|     !                !
!          ! +-----+  +------+     !                !
!          +-----------------------+                !
!                                                   !
!     +-----------+            +---------------+    !
!     !           !            !               !    !
!     !           !            !               !    !
!     !access     !            !access         !    !
!     !(network 2)!            !(network 1)    !    !
!     !           !            !               !    !
!     +-----------+            +---------------+    !
+---------------------------------------------------+


		+-----------------+
		! +------+ +-----+!
		! |C-MADP| ! CCM !!
		! +------+ +-----+!
		!        Client   !
		+-----------------+
]]></artwork>
      </figure>
    
<t>
Figure 1 illustrates MAMS architecture for the scenario of a client served by 2 networks. The NCM and MADP, functional elements, are introduced for supporting MAMS mechanisms.
The architecture is extendable to combine more than 2 networks, as well as any  choice of participating network types (e.g. LTE, WLAN, MuLTEfire, DSL) and deployment architectures (e.g. with user plane gateway function at the access edge). 
</t>
<t>

   The N-MADP entity, at the network, handles the user data traffic forwarding across
   multiple network paths, as well as other user-plane functionalities, e.g. encapsulation, fragmentation, concatenation, reordering, retransmission, etc.  N-MADP is the distribution node for uplink and
   downlink data with visibility of packets at the IP layer.
   Identification and distribution rules for different user data traffic
   type at the N-MADP are configured by the NCM.  The NCM configures the
   routing in the N-MADP based on signaling exchanged with the CCM in the
   client.  In the UL, NCM specifies the core network path to be used by
   MADP to route uplink user data at the N-MADP.  In the DL, NCM specifies the access
   links to be used for delivery of data to the client at the N-MADP.
</t>

<t>
The scheduling and load balancing algorithm at the N-MADP is configured by the NCM,
   based on static and/or dynamic network policies like assigning access
   and core paths for specific user data traffic type, data volume based
   percentage distribution, and link availability and feedback
   information from exchange of MAMS signaling with the CCM at the
   Client.
</t>

<t>
   At the client, the Client Connection Manager (CCM) manages the
   multiple network connections.  CCM is responsible for exchange of
   MAMS signaling messages with the NCM for supporting functions like
   configuring UL and DL user network path configuration for
   transporting user data packets, link sounding and reporting to
   support adaptive network path selection by NCM.  In the downlink, for
   the user data received by the client, it configures IP layer
   forwarding for application data packet received over any of the
   accesses to reach the appropriate application module on the client.
   In the uplink, for the data transmitted by the client, it configures
   the routing table to determine the best access to be used for uplink
   data based on a combination of local policy and network policy
   delivered by the NCM. The C-MADP entity handles all MAMS-specific user-plane functionalities at the client, e.g. encapsulation, fragmentation, concatenation, reordering, retransmissions, etc. C-MADP is configured by CCM based on signaling exchange with NCM and local policies at the client.
</t>

<t>
   A user plane tunnel, e.g.  IPsec, may be needed for transporting user
   data packets between the N-MADP at the network and the C-MADP at the client.  The user plane tunnel
   is needed to ensure security and routability of the user plane
   packets between the N-MADP and the C-MADP.  The most common
   implementation of the user plane tunnel is the IPsec. C-MADP receives the configuration from CCM indicates, to C-MADP, the access network interfaces over which the IPsec tunnel needs to be established, and for each of the indicated interfaces, the parameters (e.g. N-MADP IPsec endpoint IP address reachable via the indicated access network interface) for setting up the IPsec tunnel. C-MADP sets up the IPsec tunnel with the N-MADP via each of the indicated access network interfaces, using appropriate signaling, say IKEv2 and parameters provided by the CCM.  In deployments
   where the access node belonging to the two networks are connected via
   a secure and direct IP path, user plane tunnel may not be needed. Notice that the method for transporting user data packets between the N-MADP and the C-MADP should be general and based on the existing protocols.
</t>


   </section>
      
      
	<section title=" MAMS call flow">

         <figure anchor="figure2" title="MAMS call flow">
        <artwork align="center"><![CDATA[
		
                
                       +----------------------------------------+
                       |   MAMS enabled Network of Networks     |
                       | +-----+    +-----+   +-----+    +------+
+-----------------+    | |     |    |     |   |     |    |     ||
|     Client      |    | |Netwo|    |Netwo|   |     |    |     ||
| +-----+ +-----+ |    | |rk 1 |    |rk 2 +   |NCM  |    N-MADP||
| C-MADP  |CCM  | |    | |(LTE)|    |(WiFi)   |     |    |     ||
| +-----+ +-----+ |    | +-----+    +-----+   +-----+    +------|
-+----------------+    +----------------------------------------+
 |   |       |              |          |         |          |
 |   |       |              |          |         |          |
 |   |    1.SETUP CONNECTION|          |         |          |
 |<-----------+------------>|          |         |          |
 |   |       |              +          +         |          |
 |   |       |  2. MAMS Capabilities Exchange    |          |
 |   |       |<-------------+----------+-------->|          |
 |   |       |              |          |         |          |
 |   |       +              |          |         |          |
 |   |    3. SETUP CONNECTION          |         |          |
 |<--+-------------------------------->|         |          |
 | 4c. Config| 4a. NEGOTIATE NETWORK PATHS, FLOW |4b. Config|
 | C-MADP    | PROTOCOL AND PARAMETERS |         |N-MADP    |
 |   |<----->|<-------------+----------+-------->|<-------->|
 |   |       |              +          +         |          |
 |   |       |5. ESTABLISH USER PLANE PATH ACCORDING TO     |
 |   |       | SELECTED FLOW PROTOCOL  |         |          |
 |   |<---------------------+----------+------------------->|
 |   |       |              |          |         |          |
 +   +       +              +          +         +          +

]]></artwork>
      </figure>

       <t>Figure 2 illustrates the MAMS signaling mechanism for negotiation of network paths and flow protocols between the client and the network. In this example scenario, the client is connected to two networks (say LTE and WiFi).
<list style="numbers">
<t>
UE connects to network 1 and gets an IP address assigned by network 1.
</t>

<t>
CCM communicates with NCM functional element via the network 1 connection and exchanges capabilities and parameters for MAMS operation. Note: The NCM credentials can be made known to the UE by pre-provisioning.
</t>

<t>
Client sets up connection with network 2 and gets an IP address assigned by network 2. 
</t>

<t>
CCM and NCM negotiate capabilities and parameters for
       establishment of network paths, which are then used to configure user plane functions N-MADP at the network and C-MADP at the client.
<vspace blankLines="1" />
4a. CCM and NCM negotiate network paths, flow routing and aggregation protocols, and related parameters.
<vspace blankLines="1" />
4b. NCM communicates with the N-MADP to exchange and configure
       flow aggregation protocols, policies and parameters
       in alignment with those negotiated with the CCM.
<vspace blankLines="1" />
4c. CCM communicates with the C-MADP to exchange and configure
       flow aggregation protocols, policies and parameters
       in alignment with those negotiated with the NCM.
<vspace blankLines="1" />

</t>

<t>
C-MADP and N-MADP establish the user plane paths, e.g. using IKE <xref target="RFC7296"></xref> signaling, based on the negotiated flow aggregation protocol and
       parameters specified by NCM.
</t>

</list>
CCM and NCM can further exchange messages containing access link
   measurements for link maintenance by the NCM.  NCM evaluates the link
   conditions in the UL and DL across LTE and WiFi, based on link
   measurements reported by CCM and/or link probing techniques and
   determines the UL and DL user data distribution policy.  NCM and CCM also negotiate application level policies for categorizing applications, e.g.  based on DSCP, Destination IP address, and determining which of the available network 
   paths, needs to be used for transporting data of that category of applications.  NCM configures N-MADP and CCM configures C-MADP based on the negotiated application policies. CCM may apply local 
   application policies, in addition to the application policy conveyed by the NCM.

</t>
</section>

<section title="Implementation considerations">
<t>
MAMS builds on commonly available functions available on terminal devices that can be delivered as a software update over the popular end-user device operating systems, enabling rapid deployment and addressing the large deployed device base.
</t>
</section>	

<section title="Applicability to Mobile Edge Computing">
<t>
Mobile edge computing (MEC) is an access-edge cloud platform being standardized at ETSI, whose initial focus was to improve quality of experience by leveraging intelligence at cellular (e.g. 3GPP technologies like LTE) access edge, and the scope is now being extended to support access technologies beyond 3GPP. This applicability of the framework described in this document to the MEC platform has been evaluated and tested in different network configurations.
</t>

<t>
The NCM and N-MADP are hosted on the MEC cloud server that is located in the user plane path at the edge of multi-technology access networks, and in a particular large venue use case at the edge of LTE and Wi-Fi access networks. The NCM and CCM negotiate the network path combinations based on application needs and the necessary user plane protocols to manage the multiple paths. The network conditions reported by the CCM to the NCM is used in addition to Radio Analytics application residing at the MEC to configure the uplink and downlink access paths according to changing radio and congestion conditions.
</t>

<t>
The aim of these enhancements is to improve the end-user’s quality of experience by leveraging the best network path based on application needs and network conditions.
</t>

</section>	


<section title="Security Considerations">
<t>
This section details the security considerations for the MAMS framework.
</t>	
<section title="Data and Control plane security">
<t>
Signaling messages and the user data in MAMS framework rely on the security of the underlying network transport paths. When this cannot be assumed, network connection manager configures use of protocols, like IPsec <xref target="RFC4301"></xref> <xref target="RFC3948"></xref>, for securing user data and MAMS signaling messages.
</t>
</section>	
</section>

    <!-- This PI places the pagebreak correctly (before the section title) in the text output. -->

    <!-- Possibly a 'Contributors' section ... -->


    <section title="Contributors">
      <t>
This protocol is the outcome of work by many engineers, not just the authors of this document.  
In alphabetical order, the contributors to the project are: Barbara Orlandi, Bongho Kim,David Lopez-Perez, Doru Calin, Jonathan Ling, Krishna Pramod A., Lohith Nayak, Michael Scharf.
</t>
    </section>
  </middle>



<back>
<references title="Normative References">
&rfc4301;
&rfc2119;
</references>

<references title="Informative References">
&rfc3948;
&rfc7296;
</references>


</back>
</rfc>
