forked from obonaventure/mptcp-bib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
usecases.tex
103 lines (55 loc) · 13.8 KB
/
usecases.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
This section describes several of the use cases where Multipath TCP has already been evaluated or used.
\subsection{Datacenters}
Although Multipath TCP was initially designed with smartphones and mobile devices in mind it found a very interesting use case in datacenters. Today's datacenters are include multiple paths between any pair of communicating hosts. This redundancy is included for two main reasons. First, it enables load balancing and datacenters often rely on Equal Cost Multipath. Second, having redundancy is important to deal with switches and link failures that are frequent events \cite{Zhou_WCMP:2014}.
Raiciu et al. demonstrate in \cite{Raiciu_Datacenter:2011} that Multipath TCP can enable higher utilisation in datacenters. This work considers several datacenter topologies and uses both simulations and real measurements with the Multipath TCP implementation in the Linux kernel running on Amazon EC2 virtual machines to demonstrate the benefits of Multipath TCP. It is interesting to note that for this use case the communicating hosts have a single address in contrast with the requirements listed in \cite{rfc6182}. The different paths are created by creating several subflows between the client and the server using different source ports on the client host. The hash function used to perform ECMP on the network nodes forwards the different subflows over different paths and the Multipath TCP congestion control scheme adjusts the repartition of the load among these paths in reaction to congestion events.
Although~\cite{Raiciu_Datacenter:2011} assumed ECMP, this is not strictly required and variations of this scheme are possible. Detal et al. propose in \cite{Detal_Revisiting:2013} to replace hash function in load balancing nodes by block ciphers and demonstrates that this technique enables Multipath TCP-enabled hosts to select paths inside the datacenter. Zhou et al. propose in \cite{Zhou_WCMP:2014} a load balancing scheme that distributes the load according to different weights. Their simulations show that WCMP complements nicely Multipath TCP.
Bredel et al. modify in \cite{Bredel_Flow-based:2014} an Openflow controller and use it with Multipath TCP. Their measurements show performance improvements over disjoint paths.
Tariq and Bassiouni use simulations in \cite{Tariz_OBS:2014} to evaluate the benefits of combining Multipath TCP with optical burst switching in datacenters.
\subsection{Mobile and wireless}
The mobile and wireless networks were one of the initial motivations for Multipath TCP. Several researchers have studied Multipath TCP in such environments.
Raiciu et al. \cite{Raiciu_Opportunistic:2011} discuss how Multipath TCP can be used to support mobile devices and provides different measurement results with a Multipath TCP implementation running on a laptop. They also analyse the energy consumption with Multipath TCP.% opportunistic mobility uses proxy
Pluntke et al. \cite{Pluntke_Saving:2011} analyse whether Multipath TCP could reduce energy consumption by using several interfaces simultaneously. They also propose a scheduling algorithm that takes energy into account. Peng et al. go one step further in % saving mobile energy
\cite{Peng_Energy:2014} by proposing algorithm that try to optimise both throughput and energy consumption. % p.264: In this paper, we design MP-TCP algorithms by jointly considering both throughput and energy consumption for mobile devices. We consider two types of applications: realtime applications, such as video streaming, and file transfer applications, such as file download/upload. We develop energy efficient MP-TCP algorithms for both of them with theoretical performance guarantee. Our preliminary simulation results show that the algorithms can indeed shift traffic to energy efficient path. -- Highlighted 07 apr 2015
In \cite{Lim_Green:2014}, Lim et al. propose to take energy consumption into account when managing subflows with Multipath TCP. They first develop a model of the energy consumption of TCP and MPTCP on a smartphone based on a collected trace. To reduce energy consumption, that propose a small change to the Multipath TCP implementation that delays the establishment of subflows over the LTE interface and manipulates the congestion window and the \texttt{MP\_PRIO} flag. When enabling a subflow over an LTE interface, they also reset the round-trip-time measurement to zero to ensure that this subflow will be scheduled. This is not a clean solution to solve this problem.
Paasch et al. propose in \cite{Paasch_Exploring:2012} several modes for Multipath TCP on multihomed wireless devices and extends the Multipath TCP implementation in the Linux kernel to support these modes of operation. They also analyse the reaction of Multipath TCP to handover events.
Chen et al. report in \cite{Chen_Measurement:2013} various measurements conducted between a laptop and a server running Multipath TCP over different wireless networks (cellular and WiFi). They compare the performance of regular TCP, Multipath TCP over two paths and Multipath TCP over four paths with both short connections and long connections. Their general conclusion is that \emph{ MPTCP provides a robust data transport and reduces the variability in download latencies}.
Nguyen et al. analyse in \cite{Nguyen_cross-layer:2014} the benefits of combining Multipath TCP with WiFi virtualisation. They use virtualisation to enable a laptop with a single WiFi interface to connect to two access points and let Multipath TCP share the load over the two networks. Measurements are performed in lab and home environments and consider bandwidth aggregation and handover.
Boccassi et al. propose Binder in \cite{Boccassi_Binder:2013}. This system leverages Multipath TCP to aggregate multiple Internet gateways in community networks. The Binder path manager that is included in the Multipath TCP implementation in the Linux kernel is a result of this work. % binder path manager
Zhou et al. explore in \cite{Zhou_cooperation:2015} the possibility of allowing users to cooperate. The considered scenario is an LTE network and smartphones that serve as relays to enable other users to reach the LTE network.
Nong et al. explore in \cite{Nong_Aggregating:2014} how Multipath TCP performs in an 802.11s mesh network and propose to use this technique to aggregate multiple wireless gateways.
Williams et al. explore in \cite{Williams_Vehicular:2014} the performance of Multipath TCP in moving vehicles for interactions between the vehicles and the infrastructure. Their measurements and simulations indicate positive results when paths of similar characteristics. When paths are heterogeneous, there are situations where Multipath TCP does not perform as good as regular TCP, especially for short flows that transfer less than 1 MBytes of data and do not exit slow-start. When using connections with the road infrastructure, their measurements show that it is possible to boost the throughput and perform handover at 40km/h.
\subsection{Middleboxes}
Various types of middleboxes, ranging from simple Network Address Translation or firewalls to Deep Packet Inspection, Normalizers or transparent proxies have been deployed by entreprise and network operators. Honda et al. performed in \cite{Honda_Extend:2011} a detailed study of the interference caused by such middleboxes. This study had a profound impact on the final design of Multipath TCP and the various mechanisms that it includes to detect and mitigate interference from such middleboxes.
Detal et al. propose \href{http://tracebox.org}{tracebox} in \cite{Detal_tracebox:2013}. This middlebox detection tools leverages ICMP reports to detect middlebox interference. They use it to evaluate where TCP packets using the \texttt{MP\_CAPABLE} options are blocked.
Hesmans at al. analyse in \cite{Hesmans_Extensions:2013} the various interactions between Multipath TCP and different types of middleboxes. Their measurements with the Multipath TCP implementation in the Linux kernel show that it can correctly cope with a wide range of middleboxes. Since then, other successful interactions with stranger middleboxes have been reported \cite{draft-ietf-mptcp-experience}.
Nicutar et al. take a different approach in \cite{Nicutar_Acrobatics:2013} since they propose to leverage Multipath TCP to design new middleboxes that could cooperate with the endhosts.
\subsection{Multipath TCP Proxies}
Multipath TCP is an end-to-end protocol that needs to be deployed on both clients and servers to achieve all its benefits.
Measurements with past TCP extensions showed that new TCP extensions are deployed rather slowly and that servers are
upgraded after clients. Several researchers have proposed
and in some cases implemented different types of proxies to convert Multipath TCP into regular TCP or the opposite.
Hampel and Klein propose in \cite{draft-hampel-mptcp-proxies-anchors} two types of Multipath TCP middleboxes. A proxy can be used to convert a Multipath TCP
connection into a regular TCP connection. An anchor is a middlebox that aids mobility.
A prototype user space implementation on top of netfilter has been released\footnote{See \url{https://open-innovation.alcatel-lucent.com/docman/?group_id=73&selected_doc_group_id=313}.}. Additional details and some performance measurements are provide in \cite{Hampel_Seamless:2013}.
Ayar et al. propose in \cite{draft-ayar-transparent-sca-proxy-00} a Splitter/Combiner architecture that enables TCP connections to use different paths
through the network. The proposed architecture is discussed in more details, implemented with netfilter and tested by simulations in \cite{Ayar_SCA:2012,Ayar_TCP:2012}
Detal et al. propose in \cite{Detal_Mimbox:2013} Mimbox (Multipath in the middle(box)), an efficient in-kernel proxy that converts Multipath TCP connections into TCP connections and the opposite. Performance evaluation on 10 Gbps links shows that
the proposed solution operates are speeds that are close to line rate and similar to the performance of simple packet forwarding.
Multipath TCP is not the only transport protocol that allows to use multiple paths simultaneously. SCTP-CMT is a variant of the SCTP protocol that is able to use several paths at the same time. Tachibana et al. propose in \cite{Tachibana_proxy:2014} a
proxy that runs on Android smartphones and converts TCP connections into SCTP-CMT connections to reach a server that
converts them back to regular TCP to reach the final destination.
In practice, \cite{Tachibana_proxy:2014} uses a userspace implementation of SCTP on the smartphone and tunnels the SCTP packets inside UDP to pass through middleboxes that do not
understand SCTP. Each TCP connection is mapped onto one SCTP stream, which minimises the number of SCTP connections that need to be established between the smartphone and the proxy.
Deng et al. discuss in \cite{draft-deng-mptcp-proxy} the requirements for on-path and off-path Multipath TCP proxies that could be deployed mobile and fixed in ISP networks.
Wei et al. \cite{draft-wei-mptcp-proxy-mechanism} discuss on-path and off-path Multipath TCP proxies and propose a new flag in the \texttt{MP\_CAPABLE} option to indicate the utilisation of a proxy.
\subsection{Simulation studies}
To be provided
\subsection{Measurement studies}
The first measurements with the Multipath TCP implementation in the Linux kernel were reported in \cite{Barre_Multipath:2011}. Since then, the implementation has significantly changed. Raiciu et al. report in \cite{Raiciu_Hard:2012} the main design and implementation choices behind Multipath TCP and provide a performance evaluation of several important algorithms including the cost of computing the DSN checksum on 10 Gbps interfaces, the connection establishment latency, the impact of limited buffers. The latter analysis led to the development of the penalisation and opportunistic retransmission algorithms. These two algorithms have been further improved in \cite{Paasch_Experimental:2013}.
Arzani et al. analyse in \cite{Arzani_Impact:2014} the impact of scheduling policies and path management on the performance of Multipath TCP.
Yamauchi and Ito evaluate in \cite{Yamauchi_Web:2014} whether the users observe a benefit when Multipath TCP is used in lossy environments. The measurements with a limited set of users and web applications show some benefit with Multipath TCP in the chosen environment.
Ferlin et al. analyse in \cite{Ferlin_Bufferbloat:2014}, the impact of bufferbloat in cellular networks on the performance of Multipath TCP and propose a sender-based solution to mitigate the problem. The proposed solution is tested in the Linux kernel implementation of Multipath TCP. Chen and Towsley have also modelled the impact of the bufferbloat on Multipath TCP in \cite{Chen_Bufferbloat:2014}.
Most of the articles on Multipath TCP have used test applications like \texttt{iperf} or long web download to exchange large amounts of data. Hesmans et al. provide in \cite{HesmansTMA2015} another viewpoint on the performance of Multipath TCP by analysing a one-week long packet trace collected on \url{http://www.multipath-tcp.org}.
\subsection{Testbeds}
Nemeth et al. propose in \cite{Nemeth_Playground:2013} an overlay network on top of the Planetlab testbed to enable researchers to perform experiments with Multipath TCP in the wide area.
The Nornet testbed \cite{Gunnar_Nornet:2014,Kvalbein_Nornet:2014} is an international testbed that gathers multihomed hosts. It is composed of two parts. The Nornet core nodes \cite{Gunnar_Nornet:2014} are servers connected to several ISP networks. They form the backbone of the Nornet testbed. There are Nornet core nodes in several continents. The Nornet edge nodes \cite{Kvalbein_Nornet:2014} are embedded devices that are attached to different wireless (WiFi and cellular) networks. The Nornet edge nodes are currently located in Norway. Both types of nodes have been used to perform a wide range of measurements with Multipath TCP \cite{draft-dreibholz-mptcp-nornet-experience}.