The issue is that turning on TCP_NODELAY doesn't actually do the right
thing, nor does removing the delayed ACK timer.   Both of these are
heuristic solutions that apply across the entire session, and have negative
consequences (which is why they are on by default).

What we need is actually a very small thing, in a sense: the ability to say
"I got the message, and will not be responding to it," so that the existing
heuristic is satisfied in exactly the same way that sending a response
satisfies it.

It's true that on a gigabit ethernet, just turning off the heuristics and
sending whatever we have whenever we have it isn't likely to cause
problems, but this stuff also has to work in home networks and over
wide-area links and even low-bandwidth mobile links, where we can't assume
that we have as much headroom as we do on a gigabit ethernet link.

We think that it is probably worth the IETF thinking about this problem,
yet at the same time that's out of scope for the current work.   But not
talking about the problem at all in the current work means that when the
solution to this problem starts appearing in APIs, which seems likely,
there will be no advice in the document about what the implementation
should do.

What we propose to do therefore is to put in a paragraph that briefly
mentions the issue and says "when unacknowledged messages are received, if
an API is present to inform the TCP layer that no response will be sent,
the responder SHOULD do so."   And then the text from the section as it was
when you put the DISCUSS on it would go in an Appendix, so that it's clear
what's going on.   We can then reference this section in the text telling
the implementation what to do.

Will this satisfy your DISCUSS (assuming that we don't make mistakes in how
we document this)?
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to