Andy Furniss wrote:
Mark Butler wrote:
Andy Furniss wrote:
Mark Butler wrote:
There is no problem manipulating the TCP window per se. The problem
is advertising a window and then shrinking it faster than it is
naturally reduced by incoming data, essentially granting credit to
transmit x bytes, and then revoking that credit. The net result is
the peer transmits data the advertiser said it was going to accept,
and then the advertiser drops it on the floor. RFC793 only has a
SHOULD NOT for this practice, but it is universally condemned
nonetheless.
Thanks Mark, I guess packeteer closes window down properly, I
thought Dave's reply meant that doing that was Treason.
Packeteer is almost certainly being cavalier about the way it reduces
windows. It could be a serious problem, depending on the way it
treats traffic on the return path. The "treason" thing is a joke.
It is like a bank extending you a credit line one day, and revoking
it the next.
I don't use or know of anyone who uses Packeteer - or have you tested?
My post was just a suggestion because I think that it uses adv window
manipulation. I misunderstood DaveMs reply -
"it is illegally advertising a smaller window that it previously
did."
to mean that it was illegal to close down a window at all - you
cleared that up - ie it is legal if you close it by <= the amount of
data that has just been acked. I assume this won't cause the Treason
messaage so don't really understand why it is cavalier - or do you
just mean the whole idea of window manipulation to shape may be dodgey
but legal?
I thought that Packeteer was causing the error messages. If not then no
problem. The "treason" messages will not occur if the window is reduced
normally. The window is there for a reason - namely flow control. A
zero rwnd means "I can't handle any more data right now". That is
perfectly legal as long as previously granted transmit credit is not
withdrawn. Generally speaking the rwnd always drops to zero when the
receive buffer is full.
- Mark B.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html