<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.0.31 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-peirens-mptcp-transparent-00" category="info">

  <front>
    <title abbrev="MPTCP Transparent">Link bonding with transparent Multipath TCP</title>

    <author initials="B." surname="Peirens" fullname="Bart Peirens">
      <organization>Proximus</organization>
      <address>
        <email>bart.peirens@proximus.com</email>
      </address>
    </author>
    <author initials="G." surname="Detal" fullname="Gregory Detal">
      <organization>Tessares</organization>
      <address>
        <email>Gregory.Detal@tessares.net</email>
      </address>
    </author>
    <author initials="S." surname="Barre" fullname="Sebastien Barre">
      <organization>Tessares</organization>
      <address>
        <email>Sebastien.Barre@tessares.net</email>
      </address>
    </author>
    <author initials="O." surname="Bonaventure" fullname="Olivier Bonaventure">
      <organization>Tessares</organization>
      <address>
        <email>Olivier.Bonaventure@tessares.net</email>
      </address>
    </author>

    <date year="2016" month="July" day="05"/>

    <area>Transport</area>
    <workgroup>MPTCP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document describes the utilisation of the
transparent Multipath TCP mode to enable network operators
to provide link bonding services
in hybrid access networks.</t>



    </abstract>


  </front>

  <middle>


<section anchor="intro" title="Introduction">

<t>Internet Service Provider networks are composed of different parts :
access networks, metropolitan and wide area networks. Given the
growing demand for bandwidth, these networks must evolve. In the
metropolitan and wide area parts, bandwidth increases thanks to the
utilisation of optical fiber or through link aggregation. Increasing
bandwidth in the core is not sufficient to allow all users to
benefit from faster services. For many operators, the last-mile
of the access network remains a bottleneck that is difficult
to upgrade.</t>

<t>Many service providers do not rely on a single access network
technology. They often have deployed different access networks
that were initially targeted at different types of users and
customers. Such access networks include xDSL, DOCSIS, FTTx and
various wireless technologies (3G, 4G, Wimax, satellite, 5G, &#8230;).
With these different access networks, service providers have
different ways to reach their customers and combining two
access networks would enable them to deliver higher bandwidth
services to their customers <xref target="I-D.zhang-banana-problem-statement"/>.</t>

<t>In this document, we first describe in section <xref target="architecture"/>
the hybrid access networks
that are being deployed by various network operators. We focus on
the aggregation of a fixed network (e.g. xDSL) with a cellular
network (e.g. LTE). Many operators wish to use the bandwidth
that is not consumed by the mobile devices on their cellular
network to deliver better services to their fixed line customers.
Section <xref target="requirements"/> lists the main requirements expressed by
these operators. Section <xref target="existing"/> briefly evaluates whether
the main proposed bonding techniques meet those requirements.
We then describe in section <xref target="transparent"/> how a transparent
mode of operation for Multipath TCP <xref target="RFC6824"/> can be used
to meet those operator requirements.</t>

</section>
<section anchor="architecture" title="Reference architecture">

<t>Our reference architecture is shown in figure <xref target="figref"/>. We use
a similar terminology as in <xref target="WT-348"/> and
consider the following elements :</t>

<t><list style="symbols">
  <t>a single homed end host H that is attached through one
interface (e.g. WiFi) to a Hybrid Customer Premisses Equipment
(HCPE)</t>
  <t>a Hybrid Customer Premises Equipment (HCPE) that is connected to
two different access networks. The solution proposed in this
document support any number of access networks, but we restrict
our examples to two.</t>
  <t>A Hybrid Aggregation Gateway (HAG) that is reachable over
both access networks</t>
  <t>a regular server, S</t>
</list></t>

<figure title="Hybrid access networks" anchor="figref"><artwork><![CDATA[
                 ___________
                /            \
           +---| access net 2 |-+
           |    \____________/  |
           |               _____|___
 +-+    +--+--+           /         \   +---+        +-+
 |H|----|HCPE |          | Backbone  +--|HAG|-/.../--|S|
 +-+    +--+--+           \_________/   +---+        +-+
           |                    |
           |    ___________     |
           |   /           \    |
           +--| access net 1|---+
               \___________/
]]></artwork></figure>

<t>We assume that IP addresses are assigned according to the best
current practices, i.e. host H is allocated one IP address,
and one IP address is assigned to each interface of the HCPE.
Furthermore, BCP 38
<xref target="RFC2827"/> is used on the two access networks attached to the HCPE.
The solution proposed in this document is agnostic of the IP version
that is used. It operates equally well with both IPv4 and
IPv6 and can use any mix of IPv4/IPv6.
When writing IP addresses, we use the @ notation.
For example, H@ is the IP address assigned to host H,
HCPE@1 is the IP address assigned to the HCPE on access network 1,&#8230;
For most network operators, the different access networks that
need to be aggregated are not equivalent. One network, typically
a fixed access network managed by the operator, is considered
to be the main access network. The other access network,
possibly managed by another network operator, is used to provide
additional capacity to cope with bandwidth limitations on the
primary access network.
We focus on this bandwidth aggregation scenario in this document.
While the second access network can also be used in case of failure
of the primary access network we currently leave it out of scope
of the solution (existing solutions are already deployed by
operators for this).</t>

</section>
<section anchor="requirements" title="Operator requirements">

<t>Many operators have expressed their interest in efficiently
supporting hybrid access networks. We list here some of the
requirements that they have identified and have guided the
design of the proposed solution.</t>

<t><list style="symbols">
  <t>Req1: the bonding solution MUST support IPv6 and IPv4</t>
  <t>Req2: the bonding solution SHOULD minimize the additional delay
that it introduces in the network</t>
  <t>Req3: the bonding solution MUST not expose multiple
addresses for a given customer and the same address MUST be used
for all transport protocols used by each customer</t>
  <t>Req4 : the bonding solution MUST not use more than one public IPv4
address per customer</t>
  <t>Req5 : the bonding solution SHOULD enable the
operator to trace the connections created by a given customer</t>
  <t>Req6 : the bonding solution MUST monitor the quality of
the different links and adapt the load distribution dynamically
according to the load and the operator's policies</t>
  <t>Req7 : the bonding solution MUST be decoupled from the underlying
fixed/mobile access network</t>
  <t>Req8: the bonding solution MUST be able to efficiently
load-balance the packets belonging to a single TCP connection
over several access networks</t>
  <t>Req9: the bonding solution SHOULD not change the subscriber service
attachment and authentication point in the network.</t>
</list></t>

<t>The second requirement reflects the importance of minimising the
latency. Many applications, including HTTP, are affected by
any increased latency. The third requirement reflects operational
issues. Many applications expect that all the flows originated
by a host will have the same source address, independently of
the protocol used for each flow. A solution that would use different
addresses for different transport protocols or for flows that do
not benefit from hybrid access (e.g. by defined policy), would cause
operational
problems. The fifth requirement reflects the desire of the network
operator to have some visibility of the flows that pass through
its access network in order to apply filtering rules, log flows or
provide QoS. The sixth requirement reflects the fact that the
bandwidth of the access networks that are aggregated can
vary quickly.
This is particularly the case for cellular networks where mobile
devices could have priority over the bonding service. The last
two requirements correspond to the utilisation of large TCP flows.
Measurement studies in access networks show that TCP is the dominant
protocol in these networks and that most of the data volume is
carried by long TCP connections. Such connections must be
load-balanced on a per packet basis to achieve a good aggregation.</t>

</section>
<section anchor="existing" title="Existing solutions">

<t>In this document,
we focus on solutions that can combine very different access
network technologies, typically a fixed line access network
such as xDSL and a wireless access network such as LTE. We discuss
only some of the proposed techniques. A complete overview of
all the available solutions is outside the scope of this document.</t>

<section anchor="datalink" title="Datalink solutions for hybrid access networks">

<t>Some datalink technologies, such as Multilink PPP <xref target="RFC1990"/>,
can load balance packets over different links. Unfortunately,
they cannot easily be used in hybrid access networks that rely
on different types of datalinks.</t>

</section>
<section anchor="network" title="Network layer solutions for hybrid access networks">

<t>Various solutions exist in the network layer. A first possibility
is to assign the same address to the HCPE (and thus the hosts
behind it) over the different access networks. This requires a
specific configuration of the routing in the access network
and some network operators have deployed such solutions.
Per-flow and per-packet load balancing are possible with this
approach. Unfortunately, it has a number of important drawbacks :</t>

<t><list style="symbols">
  <t>it is difficult for the HAG/HCPE to measure the performance
of the different access networks in to adjust their utilisation
in realtime (Req6)</t>
  <t>assigning the same address to the HCPE over different networks
requires integration on the subscriber attachment points for
both the fixed and mobile network (e.g. BNG &amp; P-GW) for the
bonding solution which might not be desirable (Req7)</t>
  <t>if packets from a transport connection are spread over different
access networks, they experience different delays and different
levels of congestion, but the transport protocol is unaware of
those different networks. The net result is a lower
throughput since the congestion control scheme adapts the
throughput to the access network offering the lowest performance
(Req8).</t>
</list></t>

<t>An alternative to assigning the same IP addresses on the different
access networks is to use tunnels between the HCPE and the HAG.
Various types of IP tunnels are possible <xref target="RFC2784"/>
<xref target="I-D.zhang-gre-tunnel-bonding"/>.
With such tunnels, the problems mentioned above remain and
the tunneling protocol adds a per-packet overhead which may be
significant in some environments. Extensions have been recently
proposed to include flow control mechanisms in some of these
tunneling techniques <xref target="I-D.zhang-banana-tcp-in-bonding-tunnels"/>
but this increases the complexity of the solution.
Tunnel based solutions assign the external exposed customer
address within the tunnel and change the subscriber service
attachment point (Req9) which forces operators to re-implement
authentication, logging and service definitions at a different
location than the non-hybrid access customers. See also concerns
listed in the next section {#transport}.</t>

</section>
<section anchor="transport" title="Transport layer solutions">

<t>The Multipath TCP plain mode option <xref target="I-D.boucadair-mptcp-plain-mode"/>
was recently proposed as a solution to cope with some of the above
problems of the network layer solutions. This solution
is an extension of the TCP option proposed in <xref target="HotMiddlebox13b"/>.
With the
plain mode option, the HAG maintains a pool of public addresses
that are used to translate the client addresses. From an addressing
viewpoint, this is equivalent to the deployment of a
carrier-grade NAT which leads to operational problems for the
management of access-lists that are used to provide QoS,
firewalling, but also for the collection of meta data about
customer traffic, logs, &#8230; With <xref target="I-D.boucadair-mptcp-plain-mode"/>,
all the TCP traffic in the access networks appears to be
destined to the HAG.</t>

<t>While the Multipath TCP plain mode optionally allows transparency of
the source address by using the option a second time with D-bit
set to zero, it would require subscriber session information
from the network element that assigned the now embedded source
address to correctly implement BCP-38 <xref target="RFC2827"/> validation
when restoring this at the HAG.</t>

</section>
<section anchor="application" title="Application layer solutions">

<t>The SOCKS protocol <xref target="RFC1928"/> was designed to enable clients
behind a firewall to establish TCP connections through a
TCP proxy running on the firewall. A possible deployment
in hybrid access networks is to use the HAG as a SOCKS
server over Multipath TCP to benefit from its aggregation
capabilities. Since regular hosts usually do not use a SOCKS client
and do not support Multipath TCP, the HCPE needs to act
as a transparent TCP/Multipath-TCP+SOCK proxy.</t>

<t>Compared with the network layer solutions and
<xref target="I-D.boucadair-mptcp-plain-mode"/>, the SOCKS approach has several
drawbacks from an operational viewpoint :</t>

<t><list style="symbols">
  <t>the HAG must maintain a pool of public addresses</t>
  <t>to establish a TCP connection through a SOCKS server running on
the HAG, the HCPE must first perform the three-way handshake
and then exchange SOCKS messages to authenticate the client
(the number of messages is function of the SOCKS authentication
scheme that is used). This increases the establishment time
for each TCP connection by one or more additional round-trip
times (Req2).</t>
</list></t>

</section>
</section>
<section anchor="transparent" title="The transparent MPTCP mode">

<t>The transparent MPTCP mode proposed in this documented was
designed under the assumption that in many hybrid access networks,
there is a primary access network and the other access network(s)
that are combined are used to (virtually) increase the capacity 
of the primary access network. In such networks, operators
usually expect that the secondary access networks will only be used
if the primary access networks does not have sufficient capacity
to handle the load.</t>

<t>The solution is targeted at TCP traffic only. Non TCP traffic is
sent over the primary access network. Support for
other transport protocols over the secondary
access networks is outside the scope of this document.</t>

<figure title="Reference architecture" anchor="fignetwork"><artwork><![CDATA[
                 ____________        _________
                /            \      /         \    +-+
           +---| access net 2 |----|  backbone |---|S|
           |    \____________/      \_________/    +-+
           |                               |
 +-+    +--+--+                          +-+-+
 |H|----|HCPE |                 +--------|HAG|
 +-+    +--+--+                 |        +---+
           |                    |
           |    ___________     |
           |   /           \    |
           +--| access net 1|---+
               \___________/
]]></artwork></figure>

<t>We consider the network environment shown in figure <xref target="fignetwork"/>.
Access net 1 is the primary network. This figure reflects the
specific network configuration that is required for the transparent
Multipath TCP mode. The HAG MUST reside on the path followed by
the packets sent to/from the HCPE that it serves. This can be
achieved, by e.g. using a specific mobile APN that has restricted
routing, using service chaining at BNG/BRAS, using specific
BNG/BRAS domains or AAA/RADIUS triggered policy routing at
BNG/BRAS. Several vendors have implemented such solutions and they
are deployed in various networks.</t>

<t>A HAG typically serves a group of HCPEs and several HAGs can be
deployed by an operator. Note that the requirement of placing
the HAG on the path of the HCPE that it serves only applies
to the primary access network. The other access networks only
need to be able to reach the HAG. They do not need direct Internet
access.</t>

<t>The HCPE has two IP addresses (or IP prefixes in the case of
IPv6 prefix delegation) : HCPE@1 and HCPE@2. HCPE@1 is the
primary address prefix assigned to the HCPE and host H
uses one address from this prefix as its public address when
contacting remote servers (we assume IPv6 in this description. With
IPv4, the HCPE will assign a private IPv4 address to the hosts that
it serves and will perform NAT). The HAG has one IP address that
is reachable from the secondary network, identified as HAG@2.
This is illustrated by the vertical link on the HAG
in <xref target="fignetwork"/>.</t>

<t>Both the HCPE and the HAG include a transparent Multipath-TCP/TCP
proxy. Various forms of TCP proxies have been defined and
are deployed <xref target="RFC3135"/>. 
The HCPE uses its TCP/Multipath TCP proxy to convert the regular TCP
connections initiated by the client host, H, into Multipath
TCP connections towards the distant server. However, these
Multipath TCP connections do not directly reach the distant
server. They are converted into regular TCP connections by the
Multipath-TCP/TCP proxy running on the HAG. This is illustrated
in figure <xref target="figproxies"/>.</t>

<figure title="The TCP&lt;-&gt;Multipath TCP proxies used on the
HCPE and the HAG" anchor="figproxies"><artwork><![CDATA[
 +-+       +-----+               +---+      +-+
 |H|       |HCPE |               |HAG|      |S|
 +-+       +-----+               +---+      +-+
  |           |                   |         |
  |<--TCP---->|<=======MPTCP=====>|<--TCP-->|
  |           |                   |         |
  
]]></artwork></figure>

<figure title="Creation of the initial subflow with the
transparent mode" anchor="figinitial"><artwork><![CDATA[
H           HCPE                            HAG                 S
            @1  @2                         @1  @2                
|           |   |                          |    |               |
 --SYN(1)->
             --------SYN+MPC(2)----------->
                                           --------SYN(3)------>
                                           <------SYN+ACK(4)----
             <-----SYN+ACK+MPC(5)----------
 <-SYN+  --
   ACK(6)

]]></artwork></figure>

<t>The operation of the transparent mode is illustrated in
figure <xref target="figinitial"/>. We consider the establishment
of one TCP connection from host H (using address H@) to a
distant server, S@. The following packets are exchanged :</t>

<t><list style="symbols">
  <t>(1) H sends a SYN towards S@.</t>
  <t>(2) The HCPE intercepts the SYN of the initial handshake. It
creates some state for a regular TCP connection between H@ and
itself acting as a transparent proxy for S@ and a Multipath
TCP connection towards S@. These two connections are linked
together and
any data received over one connection is forwarded over the
other. The HCPE then sends a SYN with the MP_CAPABLE option
towards
S@ over its primary access network to create a
Multipath TCP connection to the HAG. Over the primary access
network, this SYN appears as originating from H@ and being
sent to S@.</t>
  <t>(3) The HAG acts as a transparent proxy for S@ and intercepts
the SYN that contains the MP_CAPABLE option. It creates some
state for this Multipath TCP connection and initiates
a regular TCP connection towards S@. It should be noted that
neither the HCPE nor the HAG perform address translation. The
distant server receives the SYN from the client as originating
from address H@.</t>
  <t>(4) The server replies with a SYN+ACK to confirm the
establishment of the connection.</t>
  <t>(5) The HAG intercepts the returning SYN+ACK.
The HAG then sends a SYN+ACK with the MP_CAPABLE option to
confirm the establishment of the Multipath TCP connection
that is proxied by the HCPE.</t>
  <t>(6) The HCPE sends a SYN+ACK to the client host to confirm
the establishment of the regular TCP connection</t>
</list></t>

<t>At this point, the establishment of the three connections can
be finalised by sending a third ACK. Data can be exchanged by the
client and the server through the proxied connections.</t>

<t>The end-to-end connection between the client host (H) and
the server (S) is composed of three
TCP connections : a regular TCP connection between the host and
the HCPE, a Multipath TCP connection between the HCPE and
the HAG and a regular TCP connection between the HAG and the
remote server. All the packets sent on these three
connections contain the H@ and S@ addresses in their IP header.</t>

<t>To use another access network, the HAG simply
advertises its address reachable through this access network (HAG@2)
on the initial subflow
by sending an ADD_ADDR option (1). This
triggers the establishment of an additional subflow from
the HCPE over the second access network (arrows
(2), (3) and (4) in figure <xref target="figsecondhcpe"/>).
The endpoints of this
subflow are the IP address of the HCPE on the second access
network, i.e. HCPE@2, and the IP address of the HAG, i.e. HAG@2.
Note that the ADD_ADDR option shown in figure <xref target="figsecondhcpe"/>
is optional. If the HCPE already knows, e.g. by configuration
or through mechanisms such as <xref target="I-D.boucadair-mptcp-radius"/>
or <xref target="I-D.boucadair-mptcp-dhc"/>,
the IP address of the HAG, it can crate the additional subflow
without waiting for the ADD_ADDR option.</t>

<figure title="Creation of the second subflow by the
HCPE with the transparent MPTCP mode" anchor="figsecondhcpe"><artwork><![CDATA[
H           HCPE                            HAG                 S
            @1  @2                         @1  @2               
|           |   |                          |    |               |
|           |   |                          |    |               |
            <------ADD_ADDR(1)-------------
                ------SYN+MP_JOIN(2)---------->
                <-----SYN+ACK+MPJOIN(3)--------
                -------ACK+MP_JOIN(4)---------->

]]></artwork></figure>

<t>At this point, any data received from the host by the HCPE
or from the server by the HAG can be transported over any
of the established subflows. Both the HAG and the HCPE select
the most appropriate subflow based on their policies and the
current network conditions that are automatically measured by
Multipath TCP.</t>

<t>This is not the only way to create additional subflows. The HAG
may also create additional subflows. This is illustrated in
figure <xref target="figsecondhag"/> where we assume that the HAG already
knows the IP address of the HCPE and thus does not wait for
the reception of an ADD_ADDR option from the HCPE to create
the additional subflow.</t>

<figure title="Creation of the second subflow by the HAG with
the transparent MPTCP mode" anchor="figsecondhag"><artwork><![CDATA[
H           HCPE                            HAG                 S
           @1  @2                          @1  @2
|           |   |                          |    |               |
|           |   |                          |    |               |
                <------SYN+MP(1)-----------------
                -----SYN+ACK+MPJOIN(2)---------->
                <-------ACK+MP_JOIN(3)-----------

]]></artwork></figure>

</section>
<section anchor="security" title="Security considerations">

<t>Providing a bonding service through different access networks
introduces new capabilities, but also new threats to the network.
We focus in this section on the threats that are specific
to the bonding service and assume that the CPE devices implement
the recommendations listed in <xref target="RFC6092"/>.
For the HAG, since it operates on the path like a router, many
of the the security considerations for routers apply.</t>

<t>When Multipath TCP is used over different paths, the security
threats listed in <xref target="RFC6181"/> and <xref target="RFC7430"/>
need to be considered. Some of these
can be mitigated through proper configuration of the HCPEs, HAGs
and access networks.</t>

<t>An important security threat with Multipath TCP is if 
an attacker were able to inject data on an existing Multipath TCP by
associating an additional subflow. Such an attack is already covered
by the utilisation of keys in the Multipath TCP handshake. Thanks to
the utilisation of the tokens and the HMAC in the MP_JOIN option,
the HAG and the HCPE will refuse additional subflows created
by an attacker who did not observe the initial SYN packets. Note
that since the keys are only exchanged on the first access
network, this attacker would have to reside on this access
network.</t>

<t>Since the HAG and the HCPE only create subflows among themselves,
it is possible for an operator to configure those devices to
only accept SYN packets with the MP_CAPABLE or MP_JOIN
option to those prefixes. Furthermore, the second access network
does not need to be connected to the Internet. This implies that
an attacker would need to reside on this network to send
packets towards the visible address of the HAG. Ingress filtering
and uRPF should be deployed on the access networks to prevent
spoofing attacks.</t>

<t>If TCP connections originating from the Internet are accepted
on the HCPEs, then the HAG must be secured against denial of service
attacks since it will be involved in the processing of all
incoming SYN packets.</t>

</section>
<section anchor="IANA" title="IANA Considerations">

<t>There are no IANA considerations in this document.</t>

</section>
<section anchor="conclusion" title="Conclusion">

<t>In this document, we have proposed the transparent mode for Multipath
TCP and described its utilisation in hybrid access networks where
a secondary access network is used to complement a primary
access network. Our solution leverages the flow and congestion
control capabilities of Multipath TCP to allow an efficient
utilisation of the different access networks, even if their
capacity fluctuates.</t>

<t>Compared with network layer solutions such as
<xref target="I-D.zhang-gre-tunnel-bonding"/>, the transparent
mode does not introduce any per-packet overhead and does
not require any form of network address translation.
Compared with the plain mode Multipath TCP proposed in
<xref target="I-D.boucadair-mptcp-plain-mode"/>, our solution does not
require any form of network address translation which
has clear operational benefits.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor='RFC6824' target='http://www.rfc-editor.org/info/rfc6824'>
<front>
<title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
<author initials='A.' surname='Ford' fullname='A. Ford'><organization /></author>
<author initials='C.' surname='Raiciu' fullname='C. Raiciu'><organization /></author>
<author initials='M.' surname='Handley' fullname='M. Handley'><organization /></author>
<author initials='O.' surname='Bonaventure' fullname='O. Bonaventure'><organization /></author>
<date year='2013' month='January' />
<abstract><t>TCP/IP communication is currently restricted to a single path per connection, yet multiple paths often exist between peers.  The simultaneous use of these multiple paths for a TCP/IP session would improve resource usage within the network and, thus, improve user experience through higher throughput and improved resilience to network failure.</t><t>Multipath TCP provides the ability to simultaneously use multiple paths between peers.  This document presents a set of extensions to traditional TCP to support multipath operation.  The protocol offers the same type of service to applications as TCP (i.e., reliable bytestream), and it provides the components necessary to establish and use multiple TCP flows across potentially disjoint paths.  This  document defines an Experimental Protocol for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='6824'/>
<seriesInfo name='DOI' value='10.17487/RFC6824'/>
</reference>




    </references>

    <references title='Informative References'>





<reference anchor='I-D.boucadair-mptcp-plain-mode'>
<front>
<title>An MPTCP Option for Network-Assisted MPTCP Deployments: Plain Transport Mode</title>

<author initials='M' surname='Boucadair' fullname='Mohamed Boucadair'>
    <organization />
</author>

<author initials='C' surname='Jacquenet' fullname='Christian Jacquenet'>
    <organization />
</author>

<author initials='D' surname='Behaghel' fullname='Denis Behaghel'>
    <organization />
</author>

<author initials='s' surname='stefano.secci@lip6.fr' fullname='stefano.secci@lip6.fr'>
    <organization />
</author>

<author initials='W' surname='Henderickx' fullname='Wim Henderickx'>
    <organization />
</author>

<author initials='R' surname='Skog' fullname='Robert Skog'>
    <organization />
</author>

<author initials='O' surname='Bonaventure' fullname='Olivier Bonaventure'>
    <organization />
</author>

<author initials='S' surname='Vinapamula' fullname='Suresh Vinapamula'>
    <organization />
</author>

<author initials='S' surname='Seo' fullname='SungHoon Seo'>
    <organization />
</author>

<author initials='W' surname='Cloetens' fullname='Wouter Cloetens'>
    <organization />
</author>

<author initials='U' surname='Meyer' fullname='Ullrich Meyer'>
    <organization />
</author>

<author initials='L' surname='Contreras' fullname='Luis M. Contreras'>
    <organization />
</author>

<date month='July' day='4' year='2016' />

<abstract><t>Because of the lack of Multipath TCP (MPTCP) support at the server side, some service providers now consider a network-assisted model that relies upon the activation of a dedicated function called MPTCP concentrator.  This document focuses on a deployment scheme where the identity of the MPTCP concentrator(s) is explicitly configured on connected hosts.  This document specifies an MPTCP option that is used to avoid the encapsulation of packets and out-of-band signaling between the CPE and the MPTCP concentrator.  Also, this document specifies how UDP traffic, in particular, can be distributed among available paths by leveraging MPTCP capabilities.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-boucadair-mptcp-plain-mode-08' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-boucadair-mptcp-plain-mode-08.txt' />
</reference>



<reference anchor='I-D.zhang-gre-tunnel-bonding'>
<front>
<title>Huawei's GRE Tunnel Bonding Protocol</title>

<author initials='N' surname='Leymann' fullname='Nicolai Leymann'>
    <organization />
</author>

<author initials='C' surname='Heidemann' fullname='Cornelius Heidemann'>
    <organization />
</author>

<author initials='M' surname='Zhang' fullname='Mingui Zhang'>
    <organization />
</author>

<author initials='B' surname='Sarikaya' fullname='Behcet Sarikaya'>
    <organization />
</author>

<author initials='M' surname='Cullen' fullname='Margaret Cullen'>
    <organization />
</author>

<date month='May' day='23' year='2016' />

<abstract><t>There is an emerging demand for solutions that provide redundancy and load-sharing across wired and cellular links from a single service provider, so that a single subscriber is provided with bonded access to heterogeneous connections at the same time.  In this document, GRE (Generic Routing Encapsulation) Tunnel Bonding is specified as an enabling approach for bonded access to a wired and a wireless network in customer premises, e.g. homes. In GRE Tunnel Bonding, two GRE tunnels, one per network connection, are set up and bonded together to form a single GRE tunnel for a subscriber. Compared with each composing connection, the bonded connections promise increased access capacity and improved reliability. The solution described in this document is currently implemented by Huawei and deployed by Deutsche Telekom AG.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-zhang-gre-tunnel-bonding-03' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-zhang-gre-tunnel-bonding-03.txt' />
</reference>



<reference  anchor='RFC1928' target='http://www.rfc-editor.org/info/rfc1928'>
<front>
<title>SOCKS Protocol Version 5</title>
<author initials='M.' surname='Leech' fullname='M. Leech'><organization /></author>
<author initials='M.' surname='Ganis' fullname='M. Ganis'><organization /></author>
<author initials='Y.' surname='Lee' fullname='Y. Lee'><organization /></author>
<author initials='R.' surname='Kuris' fullname='R. Kuris'><organization /></author>
<author initials='D.' surname='Koblas' fullname='D. Koblas'><organization /></author>
<author initials='L.' surname='Jones' fullname='L. Jones'><organization /></author>
<date year='1996' month='March' />
<abstract><t>This memo describes a protocol that is an evolution of the previous version of the protocol, version 4 [1]. This new protocol stems from active discussions and prototype implementations.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='1928'/>
<seriesInfo name='DOI' value='10.17487/RFC1928'/>
</reference>



<reference  anchor='RFC1990' target='http://www.rfc-editor.org/info/rfc1990'>
<front>
<title>The PPP Multilink Protocol (MP)</title>
<author initials='K.' surname='Sklower' fullname='K. Sklower'><organization /></author>
<author initials='B.' surname='Lloyd' fullname='B. Lloyd'><organization /></author>
<author initials='G.' surname='McGregor' fullname='G. McGregor'><organization /></author>
<author initials='D.' surname='Carr' fullname='D. Carr'><organization /></author>
<author initials='T.' surname='Coradetti' fullname='T. Coradetti'><organization /></author>
<date year='1996' month='August' />
<abstract><t>This document proposes a method for splitting, recombining and sequencing datagrams across multiple logical data links.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='1990'/>
<seriesInfo name='DOI' value='10.17487/RFC1990'/>
</reference>



<reference  anchor='RFC2784' target='http://www.rfc-editor.org/info/rfc2784'>
<front>
<title>Generic Routing Encapsulation (GRE)</title>
<author initials='D.' surname='Farinacci' fullname='D. Farinacci'><organization /></author>
<author initials='T.' surname='Li' fullname='T. Li'><organization /></author>
<author initials='S.' surname='Hanks' fullname='S. Hanks'><organization /></author>
<author initials='D.' surname='Meyer' fullname='D. Meyer'><organization /></author>
<author initials='P.' surname='Traina' fullname='P. Traina'><organization /></author>
<date year='2000' month='March' />
<abstract><t>This document specifies a protocol for encapsulation of an arbitrary network layer protocol over another arbitrary network layer protocol. [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2784'/>
<seriesInfo name='DOI' value='10.17487/RFC2784'/>
</reference>



<reference  anchor='RFC2827' target='http://www.rfc-editor.org/info/rfc2827'>
<front>
<title>Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing</title>
<author initials='P.' surname='Ferguson' fullname='P. Ferguson'><organization /></author>
<author initials='D.' surname='Senie' fullname='D. Senie'><organization /></author>
<date year='2000' month='May' />
<abstract><t>This paper discusses a simple, effective, and straightforward method for using ingress traffic filtering to prohibit DoS (Denial of Service) attacks which use forged IP addresses to be propagated from 'behind' an Internet Service Provider's (ISP) aggregation point.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='38'/>
<seriesInfo name='RFC' value='2827'/>
<seriesInfo name='DOI' value='10.17487/RFC2827'/>
</reference>



<reference  anchor='RFC3135' target='http://www.rfc-editor.org/info/rfc3135'>
<front>
<title>Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations</title>
<author initials='J.' surname='Border' fullname='J. Border'><organization /></author>
<author initials='M.' surname='Kojo' fullname='M. Kojo'><organization /></author>
<author initials='J.' surname='Griner' fullname='J. Griner'><organization /></author>
<author initials='G.' surname='Montenegro' fullname='G. Montenegro'><organization /></author>
<author initials='Z.' surname='Shelby' fullname='Z. Shelby'><organization /></author>
<date year='2001' month='June' />
<abstract><t>This document is a survey of Performance Enhancing Proxies (PEPs) often employed to improve degraded TCP performance caused by characteristics of specific link environments, for example, in satellite, wireless WAN, and wireless LAN environments.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='3135'/>
<seriesInfo name='DOI' value='10.17487/RFC3135'/>
</reference>



<reference  anchor='RFC6181' target='http://www.rfc-editor.org/info/rfc6181'>
<front>
<title>Threat Analysis for TCP Extensions for Multipath Operation with Multiple Addresses</title>
<author initials='M.' surname='Bagnulo' fullname='M. Bagnulo'><organization /></author>
<date year='2011' month='March' />
<abstract><t>Multipath TCP (MPTCP for short) describes the extensions proposed for TCP so that endpoints of a given TCP connection can use multiple paths to exchange data.  Such extensions enable the exchange of segments using different source-destination address pairs, resulting in the capability of using multiple paths in a significant number of scenarios.  Some level of multihoming and mobility support can be achieved through these extensions.  However, the support for multiple IP addresses per endpoint may have implications on the security of the resulting MPTCP.  This note includes a threat analysis for MPTCP. This document is not an Internet Standards Track specification; it is published for informational purposes.</t></abstract>
</front>
<seriesInfo name='RFC' value='6181'/>
<seriesInfo name='DOI' value='10.17487/RFC6181'/>
</reference>



<reference  anchor='RFC6092' target='http://www.rfc-editor.org/info/rfc6092'>
<front>
<title>Recommended Simple Security Capabilities in Customer Premises Equipment (CPE) for Providing Residential IPv6 Internet Service</title>
<author initials='J.' surname='Woodyatt' fullname='J. Woodyatt' role='editor'><organization /></author>
<date year='2011' month='January' />
<abstract><t>This document identifies a set of recommendations for the makers of devices and describes how to provide for &quot;simple security&quot; capabilities at the perimeter of local-area IPv6 networks in Internet-enabled homes and small offices.  This document is not  an Internet Standards Track specification; it is published for  informational purposes.</t></abstract>
</front>
<seriesInfo name='RFC' value='6092'/>
<seriesInfo name='DOI' value='10.17487/RFC6092'/>
</reference>



<reference  anchor='RFC7430' target='http://www.rfc-editor.org/info/rfc7430'>
<front>
<title>Analysis of Residual Threats and Possible Fixes for Multipath TCP (MPTCP)</title>
<author initials='M.' surname='Bagnulo' fullname='M. Bagnulo'><organization /></author>
<author initials='C.' surname='Paasch' fullname='C. Paasch'><organization /></author>
<author initials='F.' surname='Gont' fullname='F. Gont'><organization /></author>
<author initials='O.' surname='Bonaventure' fullname='O. Bonaventure'><organization /></author>
<author initials='C.' surname='Raiciu' fullname='C. Raiciu'><organization /></author>
<date year='2015' month='July' />
<abstract><t>This document analyzes the residual threats for Multipath TCP (MPTCP) and explores possible solutions to address them.</t></abstract>
</front>
<seriesInfo name='RFC' value='7430'/>
<seriesInfo name='DOI' value='10.17487/RFC7430'/>
</reference>



<reference anchor='I-D.zhang-banana-tcp-in-bonding-tunnels'>
<front>
<title>Flow Control for Bonding Tunnels</title>

<author initials='M' surname='Zhang' fullname='Mingui Zhang'>
    <organization />
</author>

<author initials='N' surname='Leymann' fullname='Nicolai Leymann'>
    <organization />
</author>

<author initials='C' surname='Heidemann' fullname='Cornelius Heidemann'>
    <organization />
</author>

<author initials='M' surname='Cullen' fullname='Margaret Cullen'>
    <organization />
</author>

<date month='March' day='21' year='2016' />

<abstract><t>Tunnel bonding enables Bandwidth Aggregation across multiple Internet access links. From the practice of deployment, flow control is a desirable feature of the bonding tunnel. This document explores the way to equip bonding tunnel with flow control mechanism.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-zhang-banana-tcp-in-bonding-tunnels-00' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-zhang-banana-tcp-in-bonding-tunnels-00.txt' />
</reference>



<reference anchor='I-D.zhang-banana-problem-statement'>
<front>
<title>Problem Statement: Bandwidth Aggregation for Internet Access</title>

<author initials='M' surname='Cullen' fullname='Margaret Cullen'>
    <organization />
</author>

<author initials='N' surname='Leymann' fullname='Nicolai Leymann'>
    <organization />
</author>

<author initials='C' surname='Heidemann' fullname='Cornelius Heidemann'>
    <organization />
</author>

<author initials='M' surname='Boucadair' fullname='Mohamed Boucadair'>
    <organization />
</author>

<author initials='D' surname='Hui' fullname='DENG Hui'>
    <organization />
</author>

<author initials='M' surname='Zhang' fullname='Mingui Zhang'>
    <organization />
</author>

<author initials='B' surname='Sarikaya' fullname='Behcet Sarikaya'>
    <organization />
</author>

<date month='July' day='4' year='2016' />

<abstract><t>Bandwidth aggregation capabilities for Internet access services can significantly improve end user's Quality of Experience. Such capabilities are especially attractive in environments where multi- interfaced boxes become commonplace and can technically connect to various access networks, both wired and wireless.  This document describes the issues with bandwidth aggregation for Internet access. A set of requirements are derived from the said issues.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-zhang-banana-problem-statement-02' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-zhang-banana-problem-statement-02.txt' />
</reference>



<reference anchor='I-D.boucadair-mptcp-radius'>
<front>
<title>RADIUS Extensions for Network-Assisted Multipath TCP (MPTCP)</title>

<author initials='M' surname='Boucadair' fullname='Mohamed Boucadair'>
    <organization />
</author>

<author initials='C' surname='Jacquenet' fullname='Christian Jacquenet'>
    <organization />
</author>

<date month='January' day='19' year='2016' />

<abstract><t>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 specifies a new Remote Authentication Dial-In User Service (RADIUS) attributes that carry the IP addresses that allow CPE devices to reach one or multiple MPTCP Concentrators.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-boucadair-mptcp-radius-01' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-boucadair-mptcp-radius-01.txt' />
</reference>



<reference anchor='I-D.boucadair-mptcp-dhc'>
<front>
<title>DHCP Options for Network-Assisted Multipath TCP (MPTCP)</title>

<author initials='M' surname='Boucadair' fullname='Mohamed Boucadair'>
    <organization />
</author>

<author initials='C' surname='Jacquenet' fullname='Christian Jacquenet'>
    <organization />
</author>

<author initials='T' surname='Reddy' fullname='Tirumaleswar Reddy'>
    <organization />
</author>

<date month='May' day='9' year='2016' />

<abstract><t>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.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-boucadair-mptcp-dhc-05' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-boucadair-mptcp-dhc-05.txt' />
</reference>


<reference anchor="WT-348" target="http://datatracker.ietf.org/liaison/1355/">
  <front>
    <title>Hybrid Access for Broadband Network</title>
    <author initials="." surname="Broadband Forum">
      <organization></organization>
    </author>
    <date year="2014"/>
  </front>
</reference>
<reference anchor="HotMiddlebox13b" target="http://inl.info.ucl.ac.be/publications/multipath-middlebox">
  <front>
    <title>Multipath in the Middle(Box)</title>
    <author initials="G." surname="Detal">
      <organization></organization>
    </author>
    <author initials="C." surname="Paasch">
      <organization></organization>
    </author>
    <author initials="O." surname="Bonaventure">
      <organization></organization>
    </author>
    <date year="2013" month="December"/>
  </front>
  <seriesInfo name="HotMiddlebox'13" value=""/>
</reference>


    </references>




  </back>
</rfc>

