
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
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages29 Page
-
File Size-