Endpoint-Transparent Multipath Transport with Software-Defined
Total Page:16
File Type:pdf, Size:1020Kb
Endpoint-transparent Multipath Transport with Software-defined Networks Dario Banfi∗z, Olivier Mehani∗, Guillaume Jourjony, Lukas Schwaighoferz, Ralph Holzx ∗ NICTA, Sydney, Australia; Email: [email protected] y Data61, CSIRO, Sydney, Australia; Email: {first.last}@data61.csiro.au z Faculty of Informatics, Technical University of Munich, Germany; Email: {first.last}@tum.de x School of IT, University of Sydney, NSW, Australia; Email: [email protected] Abstract—Multipath forwarding consists of using multiple modify end-hosts. Heterogeneous network paths also worsen paths simultaneously to transport data over the network. While the issue of packet reordering, creating head-of-line blocking most such techniques require endpoint modifications, we invest- delays, and sometimes leading to worse performance than igate how multipath forwarding can be done inside the network, transparently to endpoint hosts. With such a network-centric single-path transfers [8]. approach, packet reordering becomes a critical issue as it may In this paper,1 we attempt to join both lower- and upper- cause critical performance degradation. layer approaches and merge their successes through the use of We present a Software Defined Network architecture which SDN. We aim to satisfy the following goals: capacity aggreg- automatically sets up multipath forwarding, including solutions ation, ease of end-to-end deployment, adaptivity to failures, for reordering and performance improvement, both at the sending side through multipath scheduling algorithms, and the and automatic path computation. To this end, we introduce receiver side, by resequencing out-of-order packets in a dedicated the MPSDN architecture, comprising an SDN controller with in-network buffer. better knowledge and control of available paths than endpoint- We implemented a prototype with commonly available tech- only layer-4 solutions, as well as modifications of the Open nology and evaluated it in both emulated and real networks. vSwitch implementation and OpenFlow protocol to enable Our results show consistent throughput improvements, thanks to the use of aggregated path capacity. We give comparisons finer packet scheduling and reordering within the network, to Multipath TCP, where we show our approach can achieve a without need for explicit end-host support. similar performance while offering the advantage of endpoint The solution can be deployed with either layer-2 forwarding transparency. or layer-3 routing or tunnelling, and the controller does not Index Terms—multipath transport, SDN, OpenFlow, Open require full control of the network hops. We show that this vSwitch approach enables performance similar to MPTCP’s while lifting the requirement for end-host modifications. The focus I. INTRODUCTION of this paper is on TCP, but we note that our proposal can IP networks are inherently multipath. Yet, the existence of handle other transport protocol in a similar fashion [9]. Our multiple paths between two endpoints is rarely leveraged. This work also allows us to identify some non-trivial issues when issue can be ascribed to the fact that only lower layers can implementing layer-4 switching and scheduling with SDN establish an accurate view of the network topology, while only solutions. upper layers are able to control transmission rate and end-to- The proposed mechanism can offer benefits in several end connectivity. scenarios where additional bandwidth would enhance the Nonetheless, solutions have been proposed at various layers Quality of Experience for users. A typical scenario is high- arXiv:1608.04579v1 [cs.NI] 16 Aug 2016 to enable specific use-cases and improve performance. Ex- definition video streaming where the bit-rate is higher than the amples are given at layers 2–3 for data-centres with, e.g., capacity of a single path.2 Another use-case for this proposal BCube [1] or DCell [2], or at layer 4 for multi-homed devices is that of multi-cloud overlay networks between virtualised with Multipath TCP (MPTCP) [3] or Concurrent Multipath environments.3 In this scenario, a user controls the edges of Transfer for SCTP (CMT-SCTP) [4]. the network and deploys the proposed mechanism to maximise The most prominently quoted motivations for multipath bandwidth utilisation between clouds. are the potential for continuity of connectivity in case of The remainder of this paper is organised as follows: The path failure or congestion (i.e., fail-over or load-balancing), next section reviews state of the art of multipath approaches or capacity aggregation to speed up high volume transfers between endpoints [e.g.,5, for MPTCP]. 1This paper improves on the first author’s MSc thesis but focuses on TCP Layer-2 multipath topologies [e.g.,6], have been success- only; please refer to [9] for more details and other transport protocols. 2 fully deployed and used within fully-controlled data-centre A video demonstration of this use-case can be found at https://www. youtube.com/watch?v=hkgf7l9Lshw networks. End-to-end multipath support throughout the public 3See, for example, Docker’s overlays https://docs.docker.com/engine/ Internet is however limited [7] due to the requirement to userguide/networking/get-started-overlay/. Table I: Comparison of characteristics and fulfilment of our as label on each received frames. Packets travel on the shortest goals of state-of-the-art multipath proposals and MPSDN. path to the edge switch, which again de-encapsulates the frame and sends it to the end device. Neither of these techniques allows aggregated bandwidth because of their use of ECMP- like hashing. MPTCP, discussed in more details below, has also been TRILL SPB FLARE Harp MPTCP CMT-SCTP AMR OLiMPS MPSDN suggested as a way to leverage multiple layer-2 paths in data- Layer 2 XXX y XXX Layer 3 XXX centres and improve performance and robustness [15]. It has Layer 4 XX z been shown that, with a sufficiently high number of subflows, SDN-based solution XXX it is possible to aggregate capacity and increase load-sharing. Bandwidth Aggregation XXXXXX The downsides of this approach are the necessary end-host Easy Deployability XXXXX support, the lack of multipath capability for other protocols Adaptivity to Failures XXXXXX Load-Balancing XXXXXXXX such as UDP or SCTP, and its limitation to data-centres. Automatic Path Computation XXXXX y MPTCP was used for aggregation on top of a multihomed L2 network B. Network-layer multipath z MPSDN uses L4 knowledge, e.g., sequence numbers, to reorder packets Flowlet Aware Routing Engine (FLARE) [16] is a dy- namic multipath load balancing technique. It uses time delays in line with the goals of our research. We present the proposed between packets of the same flow to split them into flowlets architecture and its implementation in Section III and provide that may be distributed on different paths. This allows to a performance evaluation in both emulated conditions and distribute the traffic between available paths more accurately, in a real multi-homed testbed in SectionIV. We give some as compared to flow-based distribution, while maintaining in- insight and lessons learnt about mixing SDN and multipath in order arrival at the receiver. SectionV and offer concluding remarks in SectionVI. FLARE has shown, through trace-driven simulations of tier- 1 and regional ISPs, that highly accurate traffic splitting can II. RELATED WORK be implemented with very low state overhead and negligible Multipath topologies in both layer 2 and layer 3 networks impact on packet reordering. However its focus is on load- are common, offering multiple communication options for ca- balancing and does not offer capacity aggregation. pacity aggregation, load-balancing, and congestion avoidance. The Harp network architecture prioritizes foreground traffic This section reviews the state-of-the-art of solutions proposed and uses multipath to dissipate background transfers [17]. to leverage those capabilities. We do this layer by layer, from It can leverage path diversity and load imbalance in the 2 to 4, and offer some insight about previous uses of SDN for Internet to tailor network resource allocation to human needs this purpose. (foreground vs. background traffic). It also provides better TableI summarizes the discussed work in light of our fairness and utilization compared to single-path end-host pro- design goals. With “easy deployability” we denote the use tocols. Moreover, it can be deployed at either end-hosts or of software/hardware that can be incrementally deployed and enterprise gateways, thereby aligning the incentive for deploy- used on real networks and that is not only an experimental ment with the goals of network customers. Packet reordering proof-of-concept. is performed at the exit gateways to cope with different path latencies. Its focus on background traffic at the exception of A. Link-layer Multipath all other traffic, however, makes it ill-fitted for our goals. The spanning tree (STP) protocol is extensively used on L2 networks to ensure loop-free forwarding in Ethernet net- C. Transport-layer multipath works. It has the downside of actively pruning paths from Extensions to two main transport protocols have been pro- the networks which could be utilized for increased bandwidth. posed to support multipath. MPTCP [3] introduced a new Cisco’s layer-2 multipath [10] attempts to remediate this by set of TCP options to enable negotiation between multipath- enabling the use of alternate paths, while the IEEE 802.3ad capable hosts while using backward-compatible TCP packets amendment introduces provisions for link aggregation [11]. on each path. SCTP’s fail-over supports load-balancing [18] Neither solution however offers full multipath support across and has been extended to support concurrent multipath trans- complex topologies. fer [19]. Despite their intrinsic limitation to a single transport TRILL (Transparent Interconnection of Lots of Links) [12] protocol, those approaches have seen reasonable success in the uses IS-IS routing to ensure that every bridge has full know- lab, with their main barrier to deployment being the need for ledge of the network, allowing for the creating of an op- end-host support.