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
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to