LWN.net Logo

Fundamentally modifications to TCP are necessary

Fundamentally modifications to TCP are necessary

Posted Mar 30, 2013 20:39 UTC (Sat) by dlang (✭ supporter ✭, #313)
In reply to: Fundamentally modifications to TCP are necessary by giraffedata
Parent article: Multipath TCP: an overview

The problem is that when the other side needs to reply to you, it sends packets out with a destination of your 1.2.3.4 IP address

every router along the way will have one best path to get to 1.2.3.4, and so all the traffic will go down that path.

It's this best path priority routing that lets the Internet work as well as it does, but it means that if you have two completely different connections, and you want to use them both, you have to split the traffic between two different IP addresses, one for each connection, so that the traffic to you will get split between those connections.

The nice thing with multipath TCP is that it can do this under the covers (in a library or in the kernel).

With multipath TCP widely available, you could even have this implemented in a router. The router would have multiple connections, and proxy the TCP connection into multipath TCP, utilizing the multiple connections that it has completely transparently to the endpoint machine.


(Log in to post comments)

Fundamentally modifications to TCP are necessary

Posted Mar 30, 2013 20:42 UTC (Sat) by dlang (✭ supporter ✭, #313) [Link]

Clarifying one point that I skipped

Routing on the Internet is done one hop at a time.

your default routers don't talk directly to the server, they talk to other routers that talk to other routers.... that talk to the server.

It's common to have 10-20 routers in the path for some connections (do a traceroute to the server to see the routers that your traffic to the server goes through, and keep in mind that the traffic from the server back to you may go through a different series of routers)

Fundamentally modifications to TCP are necessary

Posted Mar 31, 2013 1:01 UTC (Sun) by giraffedata (subscriber, #1954) [Link]

Thanks; that explains it. I forgot that every router along the way would be independently choosing a route to the destination.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds