[e2e] opening multiple TCP connections getting popular
huitema at windows.microsoft.com
Fri Aug 31 09:50:20 PDT 2007
> > If my experience interacting with end users in netnews is
> > representative, these "routers" are likely as not the
> > NAT/firewall/switch boxes like the one sitting between me and my DSL
> > line at the moment. They get branded with the term "router" all the
> > time.
> Indeed, it may well be that. Nonetheless my points hold true. Also
> about the "Sirens" including major router vendors.
Consider the Internet as an evolving ecosystem. The members of that
ecosystem are engaged in an evolutionary process. It is influenced by
external factors, mostly the evolution of electronics following Moore's
law, and the evolution of regulations following globalization and
various influences. The evolution is constrained by the installed base,
as new systems can only flourish if they successfully adapt to that
base. At the same time, each new system pushes the evolution forward.
That is how you end up with NAT and Skype, web services and
peer-to-peer, various forms of co-evolution, etc.
At some point, the past developments preclude the future evolution. That
may well be happening already for TCP. The knowledge of TCP is engrained
in many systems that have "adapted" to it. These systems "know" a form
of TCP as it was used in the past 10 years, and react poorly to
deviations. So it may well be that we cannot evolve TCP anymore, at
least on IPv4. We may have a chance on IPv6, because the "routers" do
not support IPv6 yet, and would need to adapt to whatever is the
prevalent form of IPv6/TCP when they come on the market. But I would not
hold my breath for too long.
In that context, using multiple TCP connections is a logical response
from the "software" side of the ecosystem. It is indeed what BitTorrent
has been doing for some time. The other plausible response would be to
develop a new transport. Of course, since "routers" will block any IP
payload type that they don't understand, we probably will need to first
deploy the new transport on top of UDP, and wait until sufficient
adoption to present a new payload type as an "optimization".
-- Christian Huitema
More information about the end2end-interest