  Multi-path TCP (MP-TCP) has the potential to greatly improve application
performance by using multiple paths transparently. We propose a fluid model for
a large class of MP-TCP algorithms and identify design criteria that guarantee
the existence, uniqueness, and stability of system equilibrium. We clarify how
algorithm parameters impact TCP-friendliness, responsiveness, and window
oscillation and demonstrate an inevitable tradeoff among these properties. We
discuss the implications of these properties on the behavior of existing
algorithms and motivate a new design that generalizes existing algorithms and
strikes a good balance among TCP-friendliness, responsiveness, and window
oscillation. We have implemented our algorithm in the Linux kernel. We use our
prototype to compare the new algorithm with existing MP-TCP algorithms.
