Network Working Group                                       M. Boucadair
Internet-Draft                                              C. Jacquenet
Intended status: Experimental                                     Orange
Expires: May 28, 2017                                  November 24, 2016


    Negotiating the Maximum Number of Multipath TCP (MPTCP) Subflows
                  draft-boucadair-mptcp-max-subflow-03

Abstract

   This document specifies an experimental Multipath TCP (MPTCP) option
   that is meant to negotiate the maximum number of subflows that can be
   established and maintained for a given MPTCP connection.  The purpose
   is to minimize any possible performance degradation that can be
   induced by a possibly large number of establishment requests for
   additional subflows if the remote endpoint is not appropriately
   dimensioned to handle such requests.

Requirements Language

   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].

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 May 28, 2017.

Copyright Notice

   Copyright (c) 2016 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Boucadair & Jacquenet     Expires May 28, 2017                  [Page 1]


Internet-Draft           MPTCP Maximum Subflows            November 2016


   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
     1.1.  Experiment Goals  . . . . . . . . . . . . . . . . . . . .   3
   2.  Maximum Subflows MPTCP Option (MP_MAXSUBFLOW) . . . . . . . .   3
   3.  Behavior  . . . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     6.2.  Informative References  . . . . . . . . . . . . . . . . .   5
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   This document specifies a Multipath TCP (MPTCP) [RFC6824] option that
   is meant to indicate to a remote peer the maximum number of subflows
   that can be established within a single MPTCP connection.  If the
   remote peer honors the indication provided in this option, any
   performance degradation induced by a possibly abusive setup of
   additional subflows that exceed the said maximum becomes unlikely.

   This option mainly targets MPTCP deployments within a single
   administrative domain such as those MPTCP designs meant to achieve
   load-balancing, for example.  The use of this option contributes to
   the harmonization of node configuration within an administrative
   domain, so that an optimal number of subflows is maintained by
   involved nodes independently of their actual performance
   capabilities.  This option can be used in other deployment scenarios.
   It is out of scope of this document to identify what are such
   scenarios.

   Section 3.4 of [I-D.ietf-mptcp-experience] includes a discussion on
   the MPTCP session manager issues.  That document states that creating
   subflows between multihomed clients and servers may sometimes lead to
   operational issues.  The present document targets to soften these
   issues.




Boucadair & Jacquenet     Expires May 28, 2017                  [Page 2]


Internet-Draft           MPTCP Maximum Subflows            November 2016


1.1.  Experiment Goals

   Experiments based upon the MPTCP option described in this document
   are meant to help operators optimize their MPTCP design and
   operational procedures, by tweaking some MPTCP parameters such as the
   number of subflows to be associated with a given MPTCP connection.
   Experimenting with this MPTCP option should also help assess whether
   this option can be used to propagate MPTCP-related optimization
   parameters (derived from the number of concurrent subflows associated
   to each MPTCP connection) that can be configured in a node that is
   responsible for aggregating MPTCP connections established with
   upstream nodes.

2.  Maximum Subflows MPTCP Option (MP_MAXSUBFLOW)

   The MP_MAXSUBFLOW option (Figure 1) follows the shared experimental
   format defined in [I-D.ietf-mptcp-rfc6824bis].

                            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
       +---------------+---------------+-------+-----------------------+
       |     Kind      |    Length     |Subtype| Flags | Experiment Id |
       +---------------+---------------+-------+-------+---------------+
       |                        Maximum Subflows                       |
       +---------------+-----------------------------------------------+

                          Figure 1: Option Format

   The meaning of "Kind", "Length", "Subtype", and "Flags" (especially
   'S' and 'U' flags) are exactly the same as defined in Section 3.7 of
   [I-D.ietf-mptcp-rfc6824bis].

   Experiment ID MUST be set to 0xAA (see Section 5).

   The "Maximum Subflows" field indicates the maximum number of
   concurrent subflows that can be maintained by a given MPTCP endpoint
   for each MPTCP connection established by or with this endpoint.  The
   value of this field MUST be strictly greater than zero.

3.  Behavior

   The MP_MAXSUBFLOW option may be used by a TCP endpoint to indicate to
   its corresponding peer the maximum number of subflows that it can
   maintain per MPTCP connection.

   How an MPTCP endpoint determines the maximum number of concurrent
   subflows it supports (i.e., the value it indicates in an
   MP_MAXSUBFLOW option) is implementation-specific.  For example, an



Boucadair & Jacquenet     Expires May 28, 2017                  [Page 3]


Internet-Draft           MPTCP Maximum Subflows            November 2016


   implementation may support a configuration parameter and/or use a
   default value.

   If two peers (T1 and T2) indicate the maximum number of concurrent
   subflows per connection they can maintain, then they MUST NOT
   maintain more than "MIN(MAX_SUBFLOW(T1), MAX_SUBFLOW(T2))" concurrent
   subflows.

   The absence of the MP_MAXSUBFLOW option in an MPTCP control message
   issued by a MPTCP endpoint is an indication that this endpoint can
   instantiate any number of subflows per MPTCP connection.

4.  Security Considerations

   MPTCP-related security considerations are documented in [RFC6824] and
   [RFC7430].

   Establishing a large number of subflows may exhaust the resources of
   an MPTCP implementation (especially, MPTCP servers).  MPTCP
   implementations SHOULD rate-limit the number of concurrent subflows
   per MPTCP connection.  This policy is meant to prevent DoS attacks
   that would result in creating additional subflows to exhaust the
   remote peer resources (typically, an MPTCP server).

5.  IANA Considerations

   This document uses the experiment Id (0xAA).  This Id is not
   registered yet given that no registry is maintained by IANA for this
   purpose.

6.  References

6.1.  Normative References

   [I-D.ietf-mptcp-rfc6824bis]
              Ford, A., Raiciu, C., Handley, M., Bonaventure, O., and C.
              Paasch, "TCP Extensions for Multipath Operation with
              Multiple Addresses", draft-ietf-mptcp-rfc6824bis-07 (work
              in progress), October 2016.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.







Boucadair & Jacquenet     Expires May 28, 2017                  [Page 4]


Internet-Draft           MPTCP Maximum Subflows            November 2016


   [RFC6824]  Ford, A., Raiciu, C., Handley, M., and O. Bonaventure,
              "TCP Extensions for Multipath Operation with Multiple
              Addresses", RFC 6824, DOI 10.17487/RFC6824, January 2013,
              <http://www.rfc-editor.org/info/rfc6824>.

6.2.  Informative References

   [I-D.ietf-mptcp-experience]
              Bonaventure, O., Paasch, C., and G. Detal, "Use Cases and
              Operational Experience with Multipath TCP", draft-ietf-
              mptcp-experience-07 (work in progress), October 2016.

   [RFC7430]  Bagnulo, M., Paasch, C., Gont, F., Bonaventure, O., and C.
              Raiciu, "Analysis of Residual Threats and Possible Fixes
              for Multipath TCP (MPTCP)", RFC 7430,
              DOI 10.17487/RFC7430, July 2015,
              <http://www.rfc-editor.org/info/rfc7430>.

Authors' Addresses

   Mohamed Boucadair
   Orange
   Rennes  35000
   France

   Email: mohamed.boucadair@orange.com


   Christian Jacquenet
   Orange
   Rennes  35000
   France

   Email: christian.jacquenet@orange.com

















Boucadair & Jacquenet     Expires May 28, 2017                  [Page 5]