[comp.protocols.tcp-ip] Resequencing in TCP

kotto@cbnewsi.att.com (karen.otto) (01/12/91)

I would like to find out how Wollongong TCP does resequencing.
One scenario that has been suggested as likely is that if it 
receives IP packets 1,2,4 it throws 4 away immediately.  Then if 
3 arrives right after 4 is thrown away, the receiving TCP accepts 
3 and states that it is expecting packet 4 and thus packet 4 must be 
retransmitted.  (So basically TCP doesn't accept out-of-sequence 
packets).

I understand that this is implementation dependent.  I am 
particularly interested in the Wollongong implementation, but I 
would also appreciate any information anyone had on any of the 
other implementations out there.

Thank you for any help you can offer, including contacts.


Karen Otto			AT&T Bell Laboratories
karen.otto@att.com		(908)-949-3370

Standard Disclaimer:  All opinions are strictly those of the author.

BILLW@MATHOM.CISCO.COM (William "Chops" Westfield) (01/13/91)

    I would like to find out how Wollongong TCP does resequencing.
    One scenario that has been suggested as likely is that if it 
    receives IP packets 1,2,4 it throws 4 away immediately.

The "Requirments for Internet Hosts" (RFC1122) specifies that TCPs
SHOULD accept out-of-sequence packets, since not doing so can
significantly reduce throughput when packets are lost.  Some
implementations do not do this, so as to conserve memory (I don't
know offhand whether Wollongong does or doesn't).

The latest berkeley software not only accepts these packets, but
contains special code to allow "fast recovery" when a single packet
from a data stream is lost (normally, this would take at least one
retransimssion interval to retransmit the packet, but Van Jacobson
figured out a neat way to notice that a packet was probably lost
before the retransmission interval expires.)

The cisco TCP implementation takes a middle-of-the-road approach.
Up to 5 out-of-sequnce TCP packets are accepted, and then we throw
any more away.  Since our window is 4x a typical Max packet size,
we don't often have to drop any packets...

Bill Westfield
cisco Systems.
-------