TCP conformance question
Harti Brandt
hartmut.brandt at dlr.de
Sat Nov 17 14:23:14 PST 2007
Hi,
I was browsing through our TCP implementation and found the following:
according to RFC 793 if a segment with length 0 is received its sequence
number must hold: RCV.NXT <= SEG.SEQ < RCV.NXT + RCV.WND. That is, the
sequence number must be within the window. Otherwise the segment is not
acceptable and an ACK must be sent (see table on p. 69 of the RFC). This
is meant to re-synchronize the TCPs. Our TCP responds with an ACK for all
sequence numbers outside the window, except for SEG.SEQ == RCV.NXT +
RCV.WND. I've no idea whether this can be a problem in bizarre loss
situations or not. In any case it would be interesting to know whether
this was done on purpose, or is just an implementation effect. The BSD
code in 'TCP/IP Illustrated' has the same 'problem' so I suppose that
behaviour is rather old.
Has anybody insight into this effect?
harti
More information about the freebsd-net
mailing list