2624Re: Persist Mode
- Jun 18, 20011) Somewhere in the mile high stack of paper that represents the TCP standard
it says that the receiver is not allowed to reduce it's advertised window.
2) Somewhere else it says the sender is not allowed to expect nice things if
it transmits past the advertised window.
If both conditions are met the receiver can't close his window before
in-flight packets are acked.
If I am right ( and this is from memory), then all three behave correctly as
the condition should not arise.
It would seem AIX4.3 and Sun0S 5.6 throw their hands in the air and wait for
some sanity. Linux insists you obey rule 1.
As I only allow the window to move forward I am with linux.
Martin McSweeney wrote:
> Hello, my question regards the persist mode feature of TCP.
> In general, sending a zero window acknowledgement forces a sender into
> persist mode, and a subsequent acknowledgement re-opens the send window.
> I have found that in some implementations (AIX 4.3 and SunOS 5.6, for
> example), sending a zero window acknowledgment that moves the right
> edge of the send window left still forces the sender into persist mode.
> Once another acknowledgement re-opens the window, all segments that were
> moved to the right of the send window are retransmitted immediately
> (because congestion control mechanism are not invoked).
> However, with other implementations (Linux, for example), behavior is
> quite the opposite. It seems that Linux does not enter persist mode unless
> a zero window acknowledgement acknowledges all outstanding bytes.
> Even if a zero window acknowledgement does put a sender into persist mode,
> Linux will not freeze its transmission rate, but rather use slow-start to
> recover losses. I think the idea behind this is from RFC 2861---a pause in
> communication invalidates the congstion window.
> Does anyone have a comment an how an implementation should re-act to a
> zero window acknowledgement? RFC 1122 is very brief on this subject.
> Thank you,
> Martin McSweeney
- << Previous post in topic Next post in topic >>