[e2e] TCP ex Machina

Joe Touch touch at isi.edu
Fri Jul 26 10:44:32 PDT 2013

Hi, Jon,

On 7/25/2013 9:53 PM, Jon Crowcroft wrote:
> I'm sorry, but this smacks of "orthodoxy"
> which is anathema to good science.

I'm not referring to science, or research. I'm referring to changes to 
TCP that are being pushed for deployment or already deployed.

E.g., TCP-CT is not an approved IETF standard. It was not taken to 
through the IETF process. But it is *deployed* in Linux. As an example 
of bad behavior, TCP-CT uses a TCP option codepoint that is reserved for 
experiments that are not widely deployed.

> the reality is that the nature of
> most of the "optimization" work that makes it into good conferences
> (nsdi, icnp, sigcomm, pick your fave)
> are in the nature of the word you use - extensions

There are different kinds of TCP extensions, falling into at least two 
broad categories:

	A- extensions to TCP itself
		A1- some intended to make TCP more robust or address
		a corner case
		A2- some intended to correct a problem in TCP's design
		A3- some intended to support a specific use case

	B- using the TCP protocol ID and coarsely conforming to TCP's
	connection establishment

I'm not referring to A1 or A2, which includes some published research.

I'm concerned more about B, and somewhat about A3.

B-style extensions are really new transport protocols. That's a valid 
area of research, but the deployment reality is that no such new 
transports can traverse widely-deployed non-standard network elements 
(e.g., NATs). So B is really a new transport masquerading as TCP.

A3 are extensions to optimize specific use cases. The trouble with such 
optimizations is that they can easily undermine a key feature of TCP - 
that it falls back to working nearly all the time it possibly can.

I don't consider breaking that key property of TCP a good thing.

Experimentation is fine, as is research. But the medical community 
doesn't start playing with new meds by handing them out on street 
corners like candy.

> so of course there might be extensions which would kick in,
> in the wrong circumstances and do harm -
> so do you believe any OS vendor or
> community would ship those?

Linux. Cisco. Alcatel-Lucent. This is a partial list of vendors who have 
deployed code that uses *the same* experimental codepoint.

> do you believe that unless the papers about them showed a net win,
> anyone would use them?

Yes. Linux has done this repeatedly.

> instead of waiting a duty cycle of 1 grad-student-year for a next
> TCP congestion control idea,
> you use a big cluster of machines and evolutionary computing
> to run at the rate of around 100 graduate students-per-week
> and pick the best according to some metric -
> you could, if you like, pick a different metric

I did, and you took issue with it.


More information about the end2end-interest mailing list