Skip to main content

DHCP Options for Network-Assisted Multipath TCP (MPTCP)
draft-boucadair-mptcp-dhc-02

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Mohamed Boucadair , Christian Jacquenet , Tirumaleswar Reddy.K
Last updated 2015-11-05
Replaced by draft-boucadair-tcpm-dhc-converter
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-boucadair-mptcp-dhc-02
Network Working Group                                       M. Boucadair
Internet-Draft                                              C. Jacquenet
Intended status: Standards Track                          France Telecom
Expires: May 8, 2016                                            T. Reddy
                                                                   Cisco
                                                        November 5, 2015

        DHCP Options for Network-Assisted Multipath TCP (MPTCP)
                      draft-boucadair-mptcp-dhc-02

Abstract

   One of the promising deployment scenarios for Multipath TCP (MPTCP)
   is to enable a Customer Premises Equipment (CPE) that is connected to
   multiple networks (e.g., DSL, LTE, WLAN) to optimize the usage of its
   network attachments.  Because of the lack of MPTCP support at the
   server side, some service providers consider a network-assisted model
   that relies upon the activation of a dedicated function called: MPTCP
   Concentrator.

   This document focuses on the explicit deployment scheme where the
   identity of the MPTCP Concentrator(s) is explicitly configured on
   connected hosts.  This document specifies DHCP (IPv4 and IPv6)
   options to configure hosts with Multipath TCP (MPTCP) parameters.

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 8, 2016.

Boucadair, et al.          Expires May 8, 2016                  [Page 1]
Internet-Draft               DHCP for MPTCP                November 2015

Copyright Notice

   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  DHCPv6 MPTCP Option . . . . . . . . . . . . . . . . . . . . .   4
     3.1.  Format  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     3.2.  DHCPv6 Client Behavior  . . . . . . . . . . . . . . . . .   5
   4.  DHCPv4 MPTCP Option . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  Format  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     4.2.  DHCPv4 Client Behavior  . . . . . . . . . . . . . . . . .   7
   5.  DHCP Server Configuration Guidelines  . . . . . . . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  Privacy Considerations  . . . . . . . . . . . . . . . . . . .   9
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
     8.1.  DHCPv6 Option . . . . . . . . . . . . . . . . . . . . . .   9
     8.2.  DHCPv4 Option . . . . . . . . . . . . . . . . . . . . . .   9
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  10
     10.2.  Informative References . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   One of the promising deployment scenarios for Multipath TCP (MPTCP,
   [RFC6824]) is to enable a Customer Premises Equipment (CPE) that is
   connected to multiple networks (e.g., DSL, LTE, WLAN) to optimize the
   usage of such resources, see for example [RFC4908].  This deployment
   scenario relies on MPTCP proxies located on both the CPE and network
   sides (Figure 1).  The latter plays the role of traffic concentrator.
   A concentrator terminates the MPTCP sessions established from a CPE,
   before redirecting traffic into a legacy TCP session.

Boucadair, et al.          Expires May 8, 2016                  [Page 2]
Internet-Draft               DHCP for MPTCP                November 2015

                         IP Network #1
    +------------+        _--------_    +------------+
    |            |       (e.g., LTE )   |            |
    |   CPE      +======================+            |
    | (MPTCP     |       (_        _)   |Concentrator|
    |  Proxy)    |         (_______)    | (MPTCP     |
    |            |                      |  Proxy)    |------> Internet
    |            |                      |            |
    |            |        IP Network #2 |            |
    |            |        _--------_    |            |
    |            |       ( e.g., DSL )  |            |
    |            +======================+            |
    |            |       (_        _)   |            |
    +-----+------+        (_______)     +------------+
          |
   ----CPE network----
          |
       end-nodes

                 Figure 1: "Network-Assisted" MPTCP Design

   Both implicit and explicit modes are considered to steer traffic
   towards an MPTCP Concentrator.  This document focuses on the explicit
   mode that consists in configuring explicitly the reachability
   information of the MPTCP concentrator on a host.

   This document defines DHCPv4 [RFC2131] and DHCPv6 [RFC3315] options
   that can be used to configure hosts with MPTCP Concentrator IP
   addresses.

   This specification assumes an MPTCP Concentrator is reachable through
   one or multiple IP addresses.  As such, a list of IP addresses can be
   returned in the DHCP MPTCP option.  Also, it assumes the various
   network attachments provided to an MPTCP-enabled CPE are managed by
   the same administrative entity.

2.  Terminology

   This document makes use of the following terms:

   o  MPTCP Concentrator (or concentrator): refers to a functional
      element that is responsible for aggregating the traffic of a group
      of CPEs.  This element is located upstream in the network.  One or
      multiple concentrators can be deployed in the network side to
      assist MPTCP-enabled CPEs to establish MPTCP connections via
      available network attachments.

Boucadair, et al.          Expires May 8, 2016                  [Page 3]
Internet-Draft               DHCP for MPTCP                November 2015

      On the uplink path, the concentrator terminates the MPTCP
      connections [RFC6824] received from its customer-facing interfaces
      and transforms these connections into legacy TCP connections
      [RFC0793] towards upstream servers.

      On the downlink path, the concentrator turns the legacy server's
      TCP connection into MPTCP connections towards its customer-facing
      interfaces.
   o  DHCP refers to both DHCPv4 [RFC2131] and DHCPv6 [RFC3315].
   o  DHCP client denotes a node that initiates requests to obtain
      configuration parameters from one or more DHCP servers.
   o  DHCP server refers to a node that responds to requests from DHCP
      clients.

3.  DHCPv6 MPTCP Option

3.1.  Format

   The DHCPv6 MPTCP option can be used to configure a list of IPv6
   addresses of an MPTCP Concentrator.

   The format of this option is shown in Figure 2.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     OPTION_V6_MPTCP           |         Option-length         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      |                         ipv6-address                          |
      |                                                               |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      |                         ipv6-address                          |
      |                                                               |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                              ...                              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Figure 2: DHCPv6 MPTCP option

   The fields of the option shown in Figure 2 are as follows:

   o  Option-code: OPTION_V6_MPTCP (TBA, see Section 8.1)
   o  Option-length: Length of the 'MPTCP Concentrator IP Address(es)'
      field in octets.  MUST be a multiple of 16.

Boucadair, et al.          Expires May 8, 2016                  [Page 4]
Internet-Draft               DHCP for MPTCP                November 2015

   o  MPTCP Concentrator IPv6 Addresses: Includes one or more IPv6
      addresses [RFC4291] of the MPTCP Concentrator to be used by the
      MPTCP client.

      Note, IPv4-mapped IPv6 addresses (Section 2.5.5.2 of [RFC4291])
      are allowed to be included in this option.

   To return more than one MPTCP concentrators to the requesting DHCPv6
   client, the DHCPv6 server returns multiple instances of
   OPTION_V6_MPTCP.

3.2.  DHCPv6 Client Behavior

   To retrieve IPv6 addresses of one or more MPTCP Concentrators, the
   DHCPv6 client requests MPTCP Concentrator IP addresses by including
   OPTION_V6_MPTCP in an Option Request Option (ORO), as described in
   Section 22.7 of [RFC3315].

   The DHCPv6 client MUST be prepared to receive multiple instances of
   OPTION_V6_MPTCP; each instance is to be treated separately as it
   corresponds to a given MPTCP Concentrator: there are as many
   concentrators as instances of the OPTION_V6_MPTCP option.

   If an IPv4-mapped IPv6 address is received in OPTION_V6_MPTCP, it
   indicates that the MPTCP Concentrator has the corresponding IPv4
   address.

   The DHCPv6 client MUST silently discard multicast and host loopback
   addresses [RFC6890] conveyed in OPTION_V6_MPTCP.

4.  DHCPv4 MPTCP Option

4.1.  Format

   The DHCPv4 MPTCP option can be used to configure a list of IPv4
   addresses of an MPTCP Concentrator.  The format of this option is
   illustrated in Figure 3.

Boucadair, et al.          Expires May 8, 2016                  [Page 5]
Internet-Draft               DHCP for MPTCP                November 2015

       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Code         |     Length    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | List-Length   |   List of     |
      +-+-+-+-+-+-+-+-+    MPTCP      |
      / Concentrator IPv4 Addresses   /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   ---
      | List-Length   |   List of     |    |
      +-+-+-+-+-+-+-+-+    MPTCP      |   |
      / Concentrator IPv4 Addresses   /    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    |
      .             ...               . optional
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    |
      | List-Length   |   List of     |    |
      +-+-+-+-+-+-+-+-+    MPTCP      |    |
      / Concentrator IPv4 Addresses   /    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   ---

                       Figure 3: DHCPv4 MPTCP option

   The fields of the option shown in Figure 3 are as follows:

   o  Code: OPTION_V4_MPTCP (TBA, see Section 8.2);
   o  Length: Length of all included data in octets.  The minimum length
      is 5.
   o  List-Length: Length of the "List of MPTCP Concentrator IPv4
      Addresses" field in octets; MUST be a multiple of 4.
   o  List of MPTCP Concentrator IPv4 Addresses: Contains one or more
      IPv4 addresses of the MPTCP Concentrator to be used by the MPTCP
      client.  The format of this field is shown in Figure 4.
   o  OPTION_V4_MPTCP can include multiple lists of MPTCP Concentrator
      IPv4 addresses; each list is treated separately as it corresponds
      to a given MPTCP Concentrator.

      When several lists of MPTCP Concentrator IPv4 addresses are to be
      included, "List-Length" and "MPTCP Concentrator IPv4 Addresses"
      fields are repeated.

Boucadair, et al.          Expires May 8, 2016                  [Page 6]
Internet-Draft               DHCP for MPTCP                November 2015

      0     8     16    24    32    40    48
      +-----+-----+-----+-----+-----+-----+--
      |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 | ...
      +-----+-----+-----+-----+-----+-----+--
           IPv4 Address 1          IPv4 Address 2 ...

   This format assumes that an IPv4 address is encoded as a1.a2.a3.a4.

     Figure 4: Format of the List of MPTCP Concentrator IPv4 Addresses

   OPTION_V4_MPTCP is a concatenation-requiring option.  As such, the
   mechanism specified in [RFC3396] MUST be used if OPTION_V4_MPTCP
   exceeds the maximum DHCPv4 option size of 255 octets.

4.2.  DHCPv4 Client Behavior

   To discover one or more MPTCP Concentrators, the DHCPv4 client
   requests MPTCP Concentrator's IP addresses by including
   OPTION_V4_MPTCP in a Parameter Request List Option [RFC2132].

   The DHCPv4 client MUST be prepared to receive multiple lists of MPTCP
   Concentrator IPv4 addresses in the same OPTION_V4_MPTCP; each list is
   to be treated as a separate MPTCP Concentrator instance.

   The DHCPv4 client MUST silently discard multicast and host loopback
   addresses [RFC6890] conveyed in OPTION_V4_MPTCP.

5.  DHCP Server Configuration Guidelines

   DHCP servers that support the DHCP MPTCP Concentrator option can be
   configured with a list of IP addresses of the MPTCP Concentrator(s).
   If multiple IP addresses are configured, the DHCP server MUST be
   explicitly configured whether all or some of these addresses refer
   to:

   1.  the same MPTCP Concentrator: the DHCP server returns multiple
       addresses in the same instance of the DHCP MPTCP Concentrator
       option.

   2.  distinct MPTCP Concentrators : the DHCP server returns multiple
       lists of MPTCP Concentrator IP addresses to the requesting DHCP
       client (encoded as multiple OPTION_V6_MPTCP or in the same
       OPTION_V4_MPTCP); each list refers to a distinct MPTCP
       Concentrator.

   Precisely how DHCP servers are configured to separate lists of IP
   addresses according to which MPTCP Concentrator they refer to is out
   of scope for this document.  However, DHCP servers MUST NOT combine

Boucadair, et al.          Expires May 8, 2016                  [Page 7]
Internet-Draft               DHCP for MPTCP                November 2015

   the IP addresses of multiple MPTCP Concentrators and return them to
   the DHCP client as if they were belonging to a single MPTCP
   Concentrator, and DHCP servers MUST NOT separate the addresses of a
   single MPTCP Concentrator and return them as if they were belonging
   to distinct MPTCP Concentrators.  For example, if an administrator
   configures the DHCP server by providing a Fully Qualified Domain Name
   (FQDN) for a MPTCP Concentrator, even if that FQDN resolves to
   multiple addresses, the DHCP server MUST deliver them within a single
   server address block.

   DHCPv6 servers that implement this option and that can populate the
   option by resolving FQDNs will need a mechanism for indicating
   whether to query A records or only AAAA records.  When a query
   returns A records, the IP addresses in those records are returned in
   the DHCPv6 response as IPv4-mapped IPv6 addresses.

   Since this option requires support for IPv4-mapped IPv6 addresses, a
   DHCPv6 server implementation will not be complete if it does not
   query A records and represent any that are returned as IPv4-mapped
   IPv6 addresses in DHCPv6 responses.  The mechanism whereby DHCPv6
   implementations provide this functionality is beyond the scope of
   this document.

   For guidelines on providing context-specific configuration
   information (e.g., returning a regional-based configuration), and
   information on how a DHCP server might be configured with FQDNs that
   get resolved on demand, see [I-D.ietf-dhc-topo-conf].

6.  Security Considerations

   The security considerations in [RFC2131] and [RFC3315] are to be
   considered.

   MPTCP-related security considerations are discussed in [RFC6824].

   Means to protect the MPTCP concentrator against Denial-of-Service
   (DoS) attacks must be enabled.  Such means include the enforcement of
   ingress filtering policies at the boundaries of the network.  In
   order to prevent exhausting the resources of the concentrator by
   creating an aggressive number of simultaneous subflows for each MPTCP
   connection, the administrator should limit the number of allowed
   subflows per host for a given connection.

   Attacks outside the domain can be prevented if ingress filtering is
   enforced.  Nevertheless, attacks from within the network between a
   host and a concentrator instance are yet another actual threat.
   Means to ensure that illegitimate nodes cannot connect to a network
   should be implemented.

Boucadair, et al.          Expires May 8, 2016                  [Page 8]
Internet-Draft               DHCP for MPTCP                November 2015

   Traffic theft is also a risk if an illegitimate concentrator is
   inserted in the path.  Indeed, inserting an illegitimate concentrator
   in the forwarding path allows to intercept traffic and can therefore
   provide access to sensitive data issued by or destined to a host.  To
   mitigate this threat, secure means to discover a concentrator (for
   non-transparent modes) should be enabled.

7.  Privacy Considerations

   Generic privacy-related considerations are discussed in
   [I-D.ietf-dhc-anonymity-profile].  The concentrator may have access
   to privacy-related information (e.g., IMSI, link identifier,
   subscriber credentials, etc.).  The concentrator must not leak such
   sensitive information outside a local domain.

8.  IANA Considerations

8.1.  DHCPv6 Option

   IANA is requested to assign the following new DHCPv6 Option Code in
   the registry maintained in http://www.iana.org/assignments/
   dhcpv6-parameters:

                               Option Name Value
                           --------------- -----
                           OPTION_V6_MPTCP TBA

8.2.  DHCPv4 Option

   IANA is requested to assign the following new DHCPv4 Option Code in
   the registry maintained in http://www.iana.org/assignments/bootp-
   dhcp-parameters/:

       Option Name Value Data length Meaning
   --------------- ----- ----------- -----------------------------------
   OPTION_V4_MPTCP TBA   Variable;   Includes one or multiple lists of
                         the minimum MPTCP Concentrator IP addresses;
                         length is   each list is treated as a separate
                         5.          MPTCP Concentrator.

9.  Acknowledgements

   Many thanks to Olivier Bonaventure for the feedback on this document.
   Olivier suggested to define the option as a name but that design
   approach was debated several times within dhc wg.

Boucadair, et al.          Expires May 8, 2016                  [Page 9]
Internet-Draft               DHCP for MPTCP                November 2015

10.  References

10.1.  Normative References

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

   [RFC2131]  Droms, R., "Dynamic Host Configuration Protocol",
              RFC 2131, DOI 10.17487/RFC2131, March 1997,
              <http://www.rfc-editor.org/info/rfc2131>.

   [RFC2132]  Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
              Extensions", RFC 2132, DOI 10.17487/RFC2132, March 1997,
              <http://www.rfc-editor.org/info/rfc2132>.

   [RFC3315]  Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
              C., and M. Carney, "Dynamic Host Configuration Protocol
              for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July
              2003, <http://www.rfc-editor.org/info/rfc3315>.

   [RFC3396]  Lemon, T. and S. Cheshire, "Encoding Long Options in the
              Dynamic Host Configuration Protocol (DHCPv4)", RFC 3396,
              DOI 10.17487/RFC3396, November 2002,
              <http://www.rfc-editor.org/info/rfc3396>.

   [RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
              Architecture", RFC 4291, DOI 10.17487/RFC4291, February
              2006, <http://www.rfc-editor.org/info/rfc4291>.

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

   [RFC6890]  Cotton, M., Vegoda, L., Bonica, R., Ed., and B. Haberman,
              "Special-Purpose IP Address Registries", BCP 153,
              RFC 6890, DOI 10.17487/RFC6890, April 2013,
              <http://www.rfc-editor.org/info/rfc6890>.

10.2.  Informative References

   [I-D.ietf-dhc-anonymity-profile]
              Huitema, C., Mrugalski, T., and S. Krishnan, "Anonymity
              profile for DHCP clients", draft-ietf-dhc-anonymity-
              profile-04 (work in progress), October 2015.

Boucadair, et al.          Expires May 8, 2016                 [Page 10]
Internet-Draft               DHCP for MPTCP                November 2015

   [I-D.ietf-dhc-topo-conf]
              Lemon, T. and T. Mrugalski, "Customizing DHCP
              Configuration on the Basis of Network Topology", draft-
              ietf-dhc-topo-conf-06 (work in progress), October 2015.

   [RFC0793]  Postel, J., "Transmission Control Protocol", STD 7,
              RFC 793, DOI 10.17487/RFC0793, September 1981,
              <http://www.rfc-editor.org/info/rfc793>.

   [RFC4908]  Nagami, K., Uda, S., Ogashiwa, N., Esaki, H., Wakikawa,
              R., and H. Ohnishi, "Multi-homing for small scale fixed
              network Using Mobile IP and NEMO", RFC 4908,
              DOI 10.17487/RFC4908, June 2007,
              <http://www.rfc-editor.org/info/rfc4908>.

   [RFC6333]  Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
              Stack Lite Broadband Deployments Following IPv4
              Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011,
              <http://www.rfc-editor.org/info/rfc6333>.

Authors' Addresses

   Mohamed Boucadair
   France Telecom
   Rennes  35000
   France

   Email: mohamed.boucadair@orange.com

   Christian Jacquenet
   France Telecom
   Rennes
   France

   Email: christian.jacquenet@orange.com

   Tirumaleswar Reddy
   Cisco Systems, Inc.
   Cessna Business Park, Varthur Hobli
   Sarjapur Marathalli Outer Ring Road
   Bangalore, Karnataka  560103
   India

   Email: tireddy@cisco.com

Boucadair, et al.          Expires May 8, 2016                 [Page 11]