4 ms·
>TCP, the foundational protocol of the Internet, was never designed for a mobile environment. Amusingly, this is actually not true. TCP was originally develope
by catern 8y ago
>TCP, the foundational protocol of the Internet, was never designed for a mobile environment.
Amusingly, this is actually not true. TCP was originally developed to run on an inter-network over two networks: the ARPANET which has the reliability characteristics of a "traditional" network, and an extremely mobile network with lots of packet loss: ship-to-ship packet radio.
TCP today seems very poorly suited for the mobile environment, but it was in fact originally designed for mobile.
- eridius 8y agoMy interpretation of “not designed for mobile” is mobile devices, not mobile network. In particular, TCP is not designed for a scenario where the device keeps leaving old networks and joining new ones, or where a device routinely has 2 network interfaces where one has better performance than the other but which one is better changes frequently.
- catern 8y agoShips, as mobile devices, frequently entered and left packet radio range with each other, or might have multiple other ships in range and have to select which ship to send their packets to.
- topranks 8y agoMultipath-TCP is designed for precisely that.
- eridius 8y agoI may be wrong but isn't Multipath TCP pretty darn new and rarely used? At least on iOS you have to explicitly opt into it, either using the new Network framework for raw networking or a special configuration for URLSession, and also requires an entitlement to even do (no idea why). AFAIK the only Multipath TCP that my iPhone regularly actually uses is Siri. Which is to say, it still feels largely experimental.
- topranks 8y agoYou're absolutely correct, it's new, not in mainline Linux kernel yet etc. I just mentioned it as it's a cool project and in time will help address some of the limitations you mention.
- cogman10 8y agoIn fact, I'd argue that it is a good fit even today. What wasn't designed for mobile is the Http protocol. HTTP2 solves most of the problems with mobile without changing out TCP. QUIC provides a few benefits, but by and large not many.
- kristofferR 8y agoBTW, HTTP3 is actually mostly QUIC (or rather "HTTP-over-QUIC"). https://en.wikipedia.org/wiki/HTTP/3 https://en.wikipedia.org/wiki/HTTP/3