Introduction and motivation MPTCP Middleboxes Coupled congestion control Benefits and new challenges MPTCP as seen by IETF - overview Miroslav Popovic March 17, 2011 Miroslav Popovic MPTCP as seen by IETF - overview 1/ 33
Introduction and motivation MPTCP Middleboxes Coupled congestion control Benefits and new challenges Table of contents 1 Introduction and motivation Introduction Motivation 2 MPTCP MPTCP basics MPTCP operation 3 Middleboxes 4 Coupled congestion control Motivation Road to solution 5 Benefits and new challenges Miroslav Popovic MPTCP as seen by IETF - overview 2/ 33
Introduction and motivation MPTCP Introduction Middleboxes Motivation Coupled congestion control Benefits and new challenges Introduction The Multipath TCP (MPTCP) working group develops mechanisms that add the capability of simultaneously using multiple paths to a regular TCP session. The primary output of the group will be the protocol extensions needed to deploy MPTCP, and adaptations to congestion control to safely support multipath resource sharing. Initially the WG will only produce documents that are experimental or informational. (From the MPTCP workgroup web page) Miroslav Popovic MPTCP as seen by IETF - overview 3/ 33
Introduction and motivation MPTCP Introduction Middleboxes Motivation Coupled congestion control Benefits and new challenges Resource pooling principle Resource pooling < = > making a collection of resources behave like a single pooled resource. Goal is to increase the robustness in case of failures or congestions, better handling of bursts of traffic, better utilization of resources. Some examples: statistical multiplexing through packet switching, dynamic alternative routing, multihoming, load balancing... Problems with scalabilty, speed of responsivness, lack of global picture... Miroslav Popovic MPTCP as seen by IETF - overview 4/ 33
Introduction and motivation MPTCP MPTCP basics Middleboxes MPTCP operation Coupled congestion control Benefits and new challenges What is MPTCP? MPTCP is a set of extensions to regular TCP to allow a transport connection to operate across multiple paths simultaneously. Protocol changes are needed for signalling and setting up multiple subflows, their management, reassembly of data and session termination. Design assumptions Backwards compatible to increase the chances of deployment (middleboxes, existing applications, fall-back to regular TCP). At least one endpoint is multihomed and multiaddressed (there is no necessity for entirely disjoint paths). Miroslav Popovic MPTCP as seen by IETF - overview 5/ 33
Introduction and motivation MPTCP MPTCP basics Middleboxes MPTCP operation Coupled congestion control Benefits and new challenges Regular TCP vs MPTCP - Networking Stack MPTCP operates at the transport layer and should be transparent to higher and lower layers. Miroslav Popovic MPTCP as seen by IETF - overview 6/ 33
Introduction and motivation MPTCP MPTCP basics Middleboxes MPTCP operation Coupled congestion control Benefits and new challenges How does it work? MPTCP operations are signalled using optional TCP header fields. Connection Initiation begins with a SYN, SYN / ACK, ACK exchange on a single path as regular TCP. MPTCP connection is identified by the first subflow even if that path becomes unavailable later. Multiple addresses = > multiple paths (they do not have to be entirely disjoint). Path management for discovery end subflow setup; initiation and adress signalling. Additional subsockets are not visible by application layer. Miroslav Popovic MPTCP as seen by IETF - overview 7/ 33
Introduction and motivation MPTCP MPTCP basics Middleboxes MPTCP operation Coupled congestion control Benefits and new challenges Specific features of MPTCP Possibility to mark some subflows as a backup (hot standby). Status of a particular link can be changed during the operation. This option appeared in the latest version of the draft (not implemented yet). Data Sequence Mapping option defines the mapping from the data sequence number to the subflow sequence number. This option specifies a full mapping from data sequence number to subflow sequence number, informing the receiver that there is a one-to-one correspondence between the two sequence spaces for the specified length. Miroslav Popovic MPTCP as seen by IETF - overview 8/ 33
Introduction and motivation MPTCP Middleboxes Coupled congestion control Benefits and new challenges What if intermediate devices behave different from what we expect? NATs, firewalls, proxies... Possible problems are: stripping unknown options, dropping packets with unknown options, manipulation with options during segmentation and reassembling... MPTCP design takes into account ”reasonable” existing middlebox behaviour. MPTCP is able to handle these scenarios (sometimes by falling back to regular TCP behaviour). Miroslav Popovic MPTCP as seen by IETF - overview 9/ 33
Introduction and motivation MPTCP Motivation Middleboxes Road to solution Coupled congestion control Benefits and new challenges Design goals for the MPTCP congestion control algorithm Goal 1 (Improve Throughput) A multipath flow should perform at least as well as a single path flow would on the best of the paths available to it. Goal 2 (Do no harm) A multipath flow should not take up more capacity on any one of its paths than if it was a single path flow using only that route. This guarantees it will not unduly harm other flows. Goal 3 (Balance congestion) A multipath flow should move as much traffic as possible off its most congested paths, subject to meeting the first two goals. Miroslav Popovic MPTCP as seen by IETF - overview 10/ 33
Introduction and motivation MPTCP Motivation Middleboxes Road to solution Coupled congestion control Benefits and new challenges Theoretical analysis of coordinated congestion controler Multi-path congestion control algorithm is proposed in [Kelly and Voice, 2005] (simple increase/decrease rules). Stability analysis under the assumption that fluid models are an appropriate description of the system establishes stability condition. Every subflow has its own congestion window but the congestion control parameters are linked in order to achieve resource pooling. Miroslav Popovic MPTCP as seen by IETF - overview 11/ 33
Introduction and motivation MPTCP Motivation Middleboxes Road to solution Coupled congestion control Benefits and new challenges ”Fully linked” MPTCP algorithm This algorithm for coordinated congestion controler is in the spirit of the findings mentioned on previous slide. Regular TCP In case of positive ACK: CWND ← CWND + 1 In case of loss: CWND ← CWND / 2 ”Fully linked” MPTCP algorithm In case of positive ACK: CWND i ← CWND i + CWND i / CWND TOT CWND i � CWND TOT = 1 = > same as regular TCP i In case of loss: CWND i ← CWND i − CWND TOT / 2 same as regular TCP Miroslav Popovic MPTCP as seen by IETF - overview 12/ 33
Introduction and motivation MPTCP Motivation Middleboxes Road to solution Coupled congestion control Benefits and new challenges Example 1: ”Fully linked” algorithm is unstable? Scenario: Two MPTCP flows sharing the same link, there is a loss whenever w 1 + w 2 = 100, increases as before, decreases for 1 / 4 of the total congestion window. Starting at w 1 = w 2 = 1, increases until w 1 = w 2 = 50 when loss occurs on path 1. The result is w 1 = 25 , w 2 = 50. 2nd observed loss will occur for w 1 = 33 , w 2 = 67. If it is on path 1 the result is w 1 = 33 − 100 / 4 = 8 , w 2 = 67 It takes 5 consecutive drops on path 2 for windows to equalize. Even if the 2nd observed loss was on path 2 the result would be 33 = w 1 < w 2 = 66 − 25 = 41. Miroslav Popovic MPTCP as seen by IETF - overview 13/ 33
Introduction and motivation MPTCP Motivation Middleboxes Road to solution Coupled congestion control Benefits and new challenges Example 1: Two consecutive drops on path 1 Miroslav Popovic MPTCP as seen by IETF - overview 14/ 33
Introduction and motivation MPTCP Motivation Middleboxes Road to solution Coupled congestion control Benefits and new challenges ”Fully linked” MPTCP achieves resource pooling (left figure) but is unstable (right figure - flappiness) Single connection with two paths. Packets are dropped randomly according to an inhomogeneous Poisson process. Miroslav Popovic MPTCP as seen by IETF - overview 15/ 33
Introduction and motivation MPTCP Motivation Middleboxes Road to solution Coupled congestion control Benefits and new challenges MPTCP ”uncoupled” algorithm The case of uncoordinated congestion controler where every subflow behaves as regular TCP no matter what is the situation on other subflows. Regular TCP In case of positive ACK: CWND ← CWND + 1 In case of loss: CWND ← CWND / 2 MPTCP ”uncoupled” algorithm In case of positive ACK: CWND i ← CWND i + 1 In case of loss: CWND i ← CWND i / 2 Miroslav Popovic MPTCP as seen by IETF - overview 16/ 33
Introduction and motivation MPTCP Motivation Middleboxes Road to solution Coupled congestion control Benefits and new challenges MPTCP ”uncoupled” = > stable but no resource pooling Worse path unaware there exists better path where we might move the traffic. Miroslav Popovic MPTCP as seen by IETF - overview 17/ 33
Recommend
More recommend