How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP
Networks have become multipath: mobile devices have multiple radio interfaces, datacenters have redundant paths andmultihoming is the normfor big server farms. Meanwhile, TCP is still only single-path. Is it possible to extend TCP to enable it to support multiple paths for current applications on today's Internet? The answer is positive. The authors carefully review the constraints - partly due to various types ofmiddleboxes - that influenced the design of Multipath TCP and show how they handled them to achieve its deployability goals. They report their experience in implementing Multipath TCP in the Linux kernel and they evaluate its performance. Their measurements focus on the algorithms needed to efficiently use paths with different characteristics, notably send and receive buffer tuning and segment reordering.