mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: kuznet@ms2.inr.ac.ru
To: dwd@bell-labs.com (Dave Dykstra)
Cc: linux-kernel@vger.kernel.org
Subject: Re: Linux 2.2.16 through 2.2.18preX TCP hang bug triggered by rsync
Date: Sat, 27 Jan 2001 21:27:29 +0300 (MSK)	[thread overview]
Message-ID: <200101271827.VAA02754@ms2.inr.ac.ru> (raw)
In-Reply-To: <20010126145622.A25707@lucent.com> from "Dave Dykstra" at Jan 26, 1 02:56:22 pm

Hello!

> Why is it a bug to accept the ACK from it?  RFC793 page 69 says 
> 
>     If the RCV.WND is zero, no segments will be acceptable, but
>     special allowance should be made to accept valid ACKs, URGs and
>     RSTs.

8) This obscure place is discussed for ages. The question is:
What is "valid"? Solaris folks apparently read that valid
are "all".

BSD interprets valid as "segment fits to window after truncation".


> Why shouldn't this be considered a valid ACK?

It may be considered as a valid ACK, provided all the pieces of TCP
do window updates right. If window update algorithm were sane,
it would not be a big problem from tcp viewpoint
(though it remains security hole)

Actually, the same effect (pathological window expansion)
happens in other cases. See tcp-impl, Subj: "Send window update algorithm ...".


> can point me to it.  Why doesn't the probe use the correct sequence number
> instead of backing up one?  Perhaps a workaround is for Linux to not send
> the zero probe with the deliberately incorrect sequence number.

Linux does things, which are recommended by RFC.
BSD style zero window probes are known to be wrong way.

However, I repeat, real problem is not here.

Problem is that Solaris has inconsistent window update
algorithm. It currupts its SND.WND (like all BSD), but
also fails to recover from this (unlike BSD).

Alexey
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  reply	other threads:[~2001-01-27 18:27 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-26 20:56 Dave Dykstra
2001-01-27 18:27 ` kuznet [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-01-25 12:24 Studierende der Universitaet des Saarlandes
2001-01-25 12:34 ` Andi Kleen
2001-01-23 22:17 Manfred Spraul
2001-01-23 22:59 ` Manfred Spraul
2001-01-24 20:03 ` kuznet
2001-01-24 20:34   ` Manfred Spraul
2001-01-24 20:42     ` kuznet
2001-01-25 18:35     ` kuznet
2001-01-24 20:56   ` Andi Kleen
2001-01-25 10:58     ` Matthias Andree
2001-01-25 12:17       ` James Sutherland
2001-01-25 12:27         ` Matthias Andree
2001-01-25 11:32   ` David S. Miller
2001-01-25 11:40     ` Andi Kleen
2001-01-25 11:44     ` David S. Miller
2001-01-25 11:56       ` Andi Kleen
2001-01-25 12:25     ` James Sutherland
2001-01-23 20:42 Dave Dykstra
2001-01-23 22:51 ` Dave Dykstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200101271827.VAA02754@ms2.inr.ac.ru \
    --to=kuznet@ms2.inr.ac.ru \
    --cc=dwd@bell-labs.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®