News: 0001516475

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Cloudflare Talks Up Multi-Path TCP But Dings Linux's Less Than Ideal Support

([Linux Networking] 96 Minutes Ago MPTCP)


The folks at Cloudflare have published another great engineering blog post with this time covering [1]Multi-Path TCP (MPTCP) as a very interesting addition to the TCP spec. But there they acknowledge the less than ideal Linux support especially on the client side.

Multi-Path TCP is a means of allowing a TCP connection to use multiple paths (such as multiple wired/wireless network adapters) for achieving greater throughput and increased redundancy. This is excellent in theory for allowing greater throughput and redundancy especially for mobile phones having both a cellular data connection and WiFi or servers sporting multiple wired network interfaces, but in practice it's still not a fully-baked solution.

As written about back in 2020 on Phoronix, [2]Multi-Path TCP was merged in Linux 5.6 and since then [3]MPTCP has been seeing more improvements within the kernel as well as related Linux networking user-space components.

In the Cloudflare blog post they acknowledge the Linux support as well as the Apple support found with macOS 10.10 and newer or iOS 7 and newer. MPTCP support on Linux is more viable for servers but less ideal with the current client support.

Among the key takeaways from the Cloudflare blog:

"I find MPTCP very exciting, being one of a few deployable serious TCP extensions. However, current implementations are limited. My experimentation showed that the only practical scenario where currently MPTCP might be useful is:

- Linux as a server

- macOS/iOS as a client

- "interactive" use case

With a bit of effort, Linux can be made to work as a client.

Don't get me wrong, Linux developers did tremendous work to get where we are, but, in my opinion for any serious out-of-the-box use case, we're not there yet. I'm optimistic that Linux can develop a good MPTCP client story relatively soon, and the possibility of implementing the Path manager and Scheduler in BPF is really enticing.

Time will tell if MPTCP succeeds — it's been 15 years in the making. In the meantime, Multi-Path QUIC is under active development, but it's even further from being usable at this stage."

Those interested can read [4]the blog post in full by Cloudflare engineer Marek Majkowsk.



[1] https://www.phoronix.com/search/Multi-Path+TCP

[2] https://www.phoronix.com/news/Net-Next-For-Linux-5.6

[3] https://www.phoronix.com/search/MPTCP

[4] https://blog.cloudflare.com/multi-path-tcp-revolutionizing-connectivity-one-path-at-a-time/



phoronix

Magic is always the best solution -- especially reliable magic.