Live data from Hacker News

“Multipath” TCP Could Turbocharge Bandwidth

technologyreview.com

1–10 of 30 posts

Re: “Multipath” TCP Could Turbocharge Bandwidth

#3

Don't both endpoints have to support Multipath TCP? So I imagine we wouldn't see real gains for standard HTTP traffic in a good long while. Unless Apple passes the traffic through some intermediate proxy, of course...

Yes, as the article suggests, Apple is using it for reliability and latency for their built-in services.

But if they can do it, we can't be that far from NetFlix, Google and others being able to flip the switch for their high bandwidth products.

I am curious whether iOS exposes multipath to applications.

Re: “Multipath” TCP Could Turbocharge Bandwidth

#4
Isn't part of the point of wifi to dodge your 4G usage limits?

For pcs and the like, very occasionally I do run into a situation where I am connected to two completely different networks. Windows automatically balances them, which is nice, but only at the applications level which is kinda a bummer. It should be by request. This technology which zippers the packets would be really cool.

Re: “Multipath” TCP Could Turbocharge Bandwidth

#5

Don't both endpoints have to support Multipath TCP? So I imagine we wouldn't see real gains for standard HTTP traffic in a good long while. Unless Apple passes the traffic through some intermediate proxy, of course...

An insane amount of trafic is Google, and I can see them imolementing MPTCP.

Re: “Multipath” TCP Could Turbocharge Bandwidth

#6
post #4

Isn't part of the point of wifi to dodge your 4G usage limits? For pcs and the like, very occasionally I do run into a situation where I am connected to two completely different networks. Windows automatically balances them, which is nice, but only at the applications level which is kinda a bummer. It should be by request. This technology which zippers the packets would be really cool.

If its only being used for Siri and Maps, those are both low-bandwidth applications but with high expectations with regards to latency and availability.

I wouldn't recommend it for Netflix or bulk data transfers, but definitely for scenarios where you expect a response almost immediately (Siri, Navigation, Google Now, and so forth).

Re: “Multipath” TCP Could Turbocharge Bandwidth

#7
I've had this discussion about a dozen times now. MPTCP is a hack, plain and simple. It does not address the fundamental flaws of TCP, nor does it attempt to use something better suited for the job of, say, streaming media like SCTP.

TCP is broken in today's age. It's still reliant on upstream single path routes that are mainly devised via BGP and OSPF. These two routing protocols are showing age and suck at multi path without significant configuration and tuning.

MPTCP is a great idea if 1) you don't care about session state which is a fundamental to security controls 2) you don't care about QoS being impacted by differing paths 3) you know the network end to end. MPTCP wasn't designed with end consumers in mind.

Think about this. PMTUD doesn't work today because people still don't trust ICMP type 3 code 4. If everyone did the Internet would work much better and buffer bloat wouldn't be as much of a problem (that you likely have no awareness exists).

MPTCP is a hack as Apple has deployed it and it's not going to improve the upstream problem. It will, in fact, make things worse if they open it up beyond Siri. Do something innovative and start solving for TCP, not abusing it even further than it is already.

Our networks are ridiculously inefficient. I for one will not applaud Apple as tone this is just a greedy hack that won't pan out to much beyond what you see today.

Re: “Multipath” TCP Could Turbocharge Bandwidth

#8
I'm not really sure why the article mentions both Multipath TCP and network coding. They are very different techniques at different layers of the stack.

Multipath TCP is a way of making what looks like a single TCP connection at the socket layer actually be transmitted over several TCP connections over the network, allowing transparent sharing of bandwidth between links and roaming or failover from one link to the other. It's an actual protocol, designed to be transparent to applications and compatible with all of the hardware and software out there that mucks with TCP connections (stateful NATs and firewalls, proxies, etc) by making each connection act just like a regular TCP connection.

Network coding is a technique for reducing the bandwidth used in broadcast applications or applications over very noisy channels. The basic idea is that rather than sending packets directly, you can send the XOR of various packets (perhaps the XOR of new packets with packets that you already know the recipient has because they sent them, or that the recipient has already acknowledged), and the recipient can do some basic linear algebra to solve for the contents of packets that they haven't yet received based on ones that they have already received. This can allow you to reduce bandwidth usage in broadcast applications, and reduce retransmission round trips over noisy channels.

The problem is, it seems better suited for channels that have those characteristics (noisy and broadcast channels), which describes link-layer wireless protocols, but not transport layer protocols like TCP in general. And to apply it to something like TCP would require fundamental changes in the protocol, changing how ACKs are handled to have them reply not based on a single packet but based on how much information they are able to solve for based on the packets received so far. I'm not sure you could do it in a fully backwards compatible way that would make sense for end-to-end multipath TCP.

And as far as I can tell, the network coding research mentioned is, well, just that, mostly research, while multipath TCP is already a series of RFCs, a few experimental implementations, and at least one deployed implementation.

It seems like this article is just trying to connect this research to the recent story about multipath TCP in iOS 7, when there really isn't any direct connection between the two. It sound more like a fluff piece about a professor's research than anything actually interesting (and frustratingly, it doesn't seem to actually link to the research that it mentions either, nor even provide enough a citation to find it).

Re: “Multipath” TCP Could Turbocharge Bandwidth

#9

I've had this discussion about a dozen times now. MPTCP is a hack, plain and simple. It does not address the fundamental flaws of TCP, nor does it attempt to use something better suited for the job of, say, streaming media like SCTP. TCP is broken in today's age. It's still reliant on upstream single path routes that are mainly devised via BGP and OSPF. These two routing protocols are showing age and suck at multi pa…

So, how long has SCTP been around? And how many consumers are actually able to use it?

The problem is, IP and TCP and NAT and firewalls and BGP and OSPF are all fairly fundamental facts of the network we operate on. There's no way to unilaterally move to something else without, well, breaking the internet. IPv6 has been around for 17 years, and we're running out of IPv4 addresses at an alarming rate, yet IPv6 still has single-digit (or less) penetration.

The advantage of MPTCP is that it operates over what look to any observer as regular TCP connections. This means it's compatible with all of the NAT and firewall technologies that know how to deal with TCP, while still giving you the bandwidth and reliability advantages of utilizing multiple paths.

I'm not really sure how your example about PMTUD is supposed to support your case. That's an example of a technology that doesn't work within the constraints of the network as it's actually built, in which ICMP is not something that can be relied upon. The whole point of the MPTCP hack is to make it compatible with the existing network, and fall back gracefully to a single path TCP connection if that doesn't work, rather than something like SCTP which simply doesn't work at all if you're behind a NAT that doesn't know what SCTP is.

What session state that is "fundamental to security controls" does MPTCP lose? There's nothing that I can think of that you could do with MPTCP that you couldn't do with just two or more single path TCP connections. I'm also not sure why you think that QoS would be particularly impacted by multiple paths; you can always just use a single path and leave the second path only as a fallback, and then the QoS story should be exactly the same as you had originally, just with higher availability. Does SCTP do something special to make QoS work better over multiple paths? And why do you think that MPTCP assumes that you know the network end-to-end? Everything I've seen about it's design seems to imply that they were very careful to design with assumptions of the most degenerate possible network conditions that are still successfully able to transmit plain old TCP.

Multipath TCP isn't something that Apple just created unilaterally; it's been in development at the IETF for years with several implementations on different operating systems, and lots of experimental data to back it up. I think it's an excellent attempt at getting a working multipath solution out there, that doesn't require boiling the oceans like SCTP or IPv6 do.

Re: “Multipath” TCP Could Turbocharge Bandwidth

#10
post #8

I'm not really sure why the article mentions both Multipath TCP and network coding. They are very different techniques at different layers of the stack. Multipath TCP is a way of making what looks like a single TCP connection at the socket layer actually be transmitted over several TCP connections over the network, allowing transparent sharing of bandwidth between links and roaming or failover from one link to the ot…

> and frustratingly, it doesn't seem to actually link to the research that it mentions either, nor even provide enough a citation to find it

Citations don't sell. Sex, violence, and realistic-sounding, baseless, faulty journalism does. Welcome to the 20xx's. :)

Post reply on HN