Multipath TCP: from Theory to Practice

Multipath TCP: from Theory to Practice

MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP: From Theory to Practice S´ebastienBarr´e Christoph Paasch Olivier Bonaventure 9 mai 2011 http ://inl.info.ucl.ac.be/mptcp/ S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 1 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP Mobile devices can connect to the Internet via different interfaces 3G Internet WiFi Data-centers have a large redundant infrastructure Dual-Homed Servers S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 2 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP Mobile devices can connect to the Internet via different interfaces 3G Internet WiFi Data-centers have a large redundant infrastructure Dual-Homed Servers S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 2 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP State of the Art TCP is used for 95% of the Internet communications A single TCP connection cannot be used across different interfaces. MultiPath TCP (short MPTCP) MPTCP allows a single data-connection to use several interfaces simultaneously. Allows failover from one interface to another (e.g., mobile client). Increases the bandwidth due to resource pooling. S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 3 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP : From Theory To Practice S. Barr´e,C. Paasch, O. Bonaventure We implemented MultiPath TCP in the Linux Kernel. Solved several design challenges that needed to be considered. Evaluated and measured the impact of our design choices in a testbed. Live-Demo of MPTCP at the end of this presentation. S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 4 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Architecture - From Theory Application Layer standard Socket API Transport Layer MultiPath TCP TCP TCP TCP subflow subflow subflow Network Layer WiFi Wired 3G S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 5 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Architecture - To Practice Sending packets over MultiPath TCP Application Layer standard Socket API Transport Layer Meta-socket MultiPath TCP send-queue Master Slave Slave subsocket subsocket subsocket TCP TCP TCP subflow subflow subflow Network Layer S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 6 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Architecture - To Practice Sending packets over MultiPath TCP Application Layer standard Socket API Transport Layer Meta-socket MultiPath TCP send-queue MultiPath TCP Scheduler Master Slave Slave subsocket subsocket subsocket TCP TCP TCP subflow subflow subflow Network Layer S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 7 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Architecture - To Practice Receiving packets over MultiPath TCP Packets can be reordered at the data-level due to delay-differences. out-of-order queue 8 7 6 5 4 M low-delay path M subflow 1 subflow 1 P P T T C subflow 2 subflow 2 C P high-delay path P 3 2 1 receive-queue S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 8 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Architecture - To Practice Receiving packets over MultiPath TCP A loss at the subflow-level (or network-reordering) can also cause reordering at the subflow-level dropped packet out-of-order queue 9 10 8 7 6 5 4 M low-delay path M subflow 1 subflow 1 P P T T C subflow 2 subflow 2 C P high-delay path P 3 2 1 receive-queue S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 9 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Architecture - To Practice Receiving packets over MultiPath TCP Subflow-level out-of-order queues are necessary to handle the retransmission at the subflow-level retransmitted packet subflow out-of-order queue 8 out-of-order queue 7 6 5 4 10 9 M low-delay path M subflow 1 subflow 1 P P T T C subflow 2 subflow 2 C P high-delay path P 3 2 1 receive-queue S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 10 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Architecture - To Practice Receiving packets over MultiPath TCP Application Layer standard Socket API Transport Layer Meta-socket MultiPath TCP send-queue receive-queue ofo-queue Master Slave Slave subsocket subsocket subsocket TCP TCP TCP subflow subflow subflow ofo-queue ofo-queue ofo-queue Network Layer S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 11 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Architecture - To Practice Interconnected testbed with two separate paths at 1Gbps 2000 1500 1Gbps 1000 1Gbps iperf goodput (Mbps ) 500 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 MSS (bytes ) S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 12 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Architecture - To Practice regular TCP can only use one single path 2000 1500 1Gbps regular TCP 1000 1Gbps iperf goodput (Mbps ) 500 regular T ! 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 MSS (bytes ) S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 12 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Architecture - To Practice MultiPath TCP uses both paths simultaneously 2000 1500 1Gbps MPTCP 1000 1Gbps iperf goodput (Mbps ) 500 regular !"P MultiPath !"P 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 MSS (bytes ) S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 12 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Receive-Buffer - From Theory Regular TCP : receive-buffer should be twice the BDP Support a fast-retransmit Support network-level reordering MultiPath TCP : Higher reordering possible due to delay-differences of the paths. out-of-order queue 8 7 6 5 4 M low-delay path M subflow 1 subflow 1 P P T T C subflow 2 subflow 2 C P high-delay path P 3 2 1 receive-queue S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 13 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Receive-Buffer - To Practice )A subflow on a slow path (high RTT) may block a subflow on a fast path from transmitting. RTTmax S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 14 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Receive-Buffer - To Practice )A subflow on a slow path (high RTT) may block a subflow on a fast path from transmitting. )We need to cope with one fast-retransmit and network-level reordering on this slow path RTTmax ∗ 2 S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 14 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Receive-Buffer - To Practice )A subflow on a slow path (high RTT) may block a subflow on a fast path from transmitting. )We need to cope with one fast-retransmit and network-level reordering on this slow path )During this time, all other subflows should be able to transmit at full speed (BWi = bandwidth of subflow i) X RTTmax ∗ 2 ∗ BWi i2subflows S´ebastienBarr´e- Christoph Paasch - Olivier Bonaventure MultiPath TCP: From Theory to Practice 14 / 17 MultiPath TCP - Architecture MultiPath TCP - Receive-Buffer MultiPath TCP - Congestion Control MultiPath TCP - Live-Demo MultiPath TCP - Receive-Buffer - To Practice Regular TCP only gets 100Mbps of goodput 200 180 160 100Mbps 140 regular TCP 120 100 100Mbps + 0ms iperf goodput (Mbps ) 80 60 TCP (0 ms ec) 40 2 4 6 8 10 12 14 16 rcvbuf (MB) S´ebastienBarr´e- Christoph Paasch - Olivier

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    29 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us