From owner-freebsd-hackers Tue Apr 16 08:09:43 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id IAA18039 for hackers-outgoing; Tue, 16 Apr 1996 08:09:43 -0700 (PDT) Received: from tenet.CS.Berkeley.EDU (root@tenet.CS.Berkeley.EDU [128.32.33.109]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id IAA18031 for ; Tue, 16 Apr 1996 08:09:38 -0700 (PDT) Received: from premise.CS.Berkeley.EDU (premise.CS.Berkeley.EDU [128.32.33.172]) by tenet.CS.Berkeley.EDU (8.6.11/8.6.6) with ESMTP id IAA04511; Tue, 16 Apr 1996 08:09:23 -0700 Received: from premise.CS.Berkeley.EDU (localhost.Berkeley.EDU [127.0.0.1]) by premise.CS.Berkeley.EDU (8.6.11/1.3-tenet) with ESMTP id IAA01593; Tue, 16 Apr 1996 08:09:22 -0700 Message-Id: <199604161509.IAA01593@premise.CS.Berkeley.EDU> X-Mailer: exmh version 1.6.5 12/11/95 To: Nate Williams Cc: dennis@etinc.com (dennis), hackers@freebsd.org Subject: Re: TCP Window question In-reply-to: Your message of "Mon, 15 Apr 1996 21:42:34 MDT." <199604160342.VAA14472@rocky.sri.MT.net> From: bmah@cs.berkeley.edu (Bruce A. Mah) Reply-to: bmah@cs.berkeley.edu X-Face: g~c`.{#4q0"(V*b#g[i~rXgm*w;:nMfz%_RZLma)UgGN&=j`5vXoU^@n5v4:OO)c["!w)nD/!!~e4Sj7LiT'6*wZ83454H""lb{CC%T37O!!'S$S&D}sem7I[A 2V%N&+ Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 16 Apr 1996 08:09:17 -0700 Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Nate Williams writes: > > Will BSD TCP accept packets received out of order? If so, how does it > > handle delayed delivery to upper layers, and how long does it wait > > for the missing data? > > If you are truly interested in this, you're best bet would be to be the > Stevens Network book, Volume II, which goes into great detail on > subjects such as this. Perhaps a better bet would be Volume *1*. [1] Volume 2 handles the actual implementation in all glory, but if you want a description of the *behavior* of the various protocols, including BSD 4.4Lite TCP/IP, Volume 1 may actually be better-suited to your needs. Short answers to the original questions (which apply to all TCP implementations I know of): 1. Yes, it accepts packets delivered out of order. 2. It handles "delayed delivery" by buffering received TCP segments and delivering them to the receiving process in order. 3. How long it waits to do this is not determined by any interval of time, but rather, by how much data the receiver is willing to buffer (the "receive window"). Bruce. [1] W. Richard Stevens. _TCP/IP Illustrated, Volume 1_, Addison-Wesley, Reading, MA, 1994.