Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!att!tut.cis.ohio-state.edu!ucbvax!MATHOM.CISCO.COM!BILLW From: BILLW@MATHOM.CISCO.COM (William "Chops" Westfield) Newsgroups: comp.protocols.tcp-ip Subject: Re: Resequencing in TCP Message-ID: <12653520946.15.BILLW@mathom.cisco.com> Date: 13 Jan 91 08:26:31 GMT References: <1991Jan11.161423.17551@cbnewsi.att.com> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 26 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. -------