Re: [tcpm] On the implementation of TCP urgent data (IETF Internet Draft)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [tcpm] On the implementation of TCP urgent data (IETF Internet Draft)
On Thu, 12 Mar 2009, Jerry Leichter wrote:
In summary: This is not, and has never been, a TCP problem. The issues are
at the boundary between the TCP stack and the socket API, affecting code on
both sides of that boundary.
That's somewhat the problem is that it's "noone's problem". In my opinion,
the best thing is a strongest possible message to the application
developers "if you were planning to use this, don't". Whether the
definition of is one byte left or right does not matter - the ambiguity is
*already* there. Granted, it can be mitigated within the specific
administrative domain, but if I talk to you across the internet, there's
absolutely no guarantee whatsoever (try to interrupt an FTP transfer from
a randomly selected server and see how many actually do not hang -
amongst those that keep the tcp/21 connection of course)
Finally, on the question of whether the socket API should be changed to
eliminate OOB data: That's perhaps an arguable position, exactly because the
implementations are so bad; but the implicit message in the way you state it
- that TCP is what matters, and the socket API is just some minor thing - is
exactly backwards. There are at most, what, a couple of hundred engineers in
the entire world, working on at most a few tens of distinct code bases, who
actually deal with *TCP*. There are hundreds of thousands of engineers
dealing with millions of applications that depend on the socket API.
The initial discussion we had with Fernando that gave a rise to this draft
was of the flavour "TCP Urgent considered harmful for application
developers".
Changing TCP is a big job, but one that would be doable if there were
sufficient need: Look at IPv6. Changing the socket API is impossible - if
you think IPv6 is taking a long time to roll out, that's nothing compared to
how long it would take a new, incompatible socket API replacement. Chances
are it would never happen.
All depends on the business needs, but the TCP Urgent is indeed not
among the most widely used ones. A clear and well-structured semantics of Out-Of-Band
Notifications might be of some use though, IMHO - but then, one could as
well use the separate UDP channel along - though it is not as "convenient".
thanks,
andrew
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.