From owner-freebsd-net Thu Oct 28 8:32: 1 1999 Delivered-To: freebsd-net@freebsd.org Received: from nimitz.ca.sandia.gov (nimitz.ca.sandia.gov [146.246.243.56]) by hub.freebsd.org (Postfix) with ESMTP id C43ED15103 for ; Thu, 28 Oct 1999 08:31:53 -0700 (PDT) (envelope-from bmah@nimitz.ca.sandia.gov) Received: (from bmah@localhost) by nimitz.ca.sandia.gov (8.9.3/8.9.3) id IAA97032; Thu, 28 Oct 1999 08:31:46 -0700 (PDT) Message-Id: <199910281531.IAA97032@nimitz.ca.sandia.gov> X-Mailer: exmh version 2.1.0 09/18/1999 To: Garrett Wollman Cc: "Craig Critchley" , net@FreeBSD.ORG Subject: Re: FTP Net Performance In-Reply-To: Your message of "Thu, 28 Oct 1999 11:07:22 EDT." <199910281507.LAA91582@khavrinen.lcs.mit.edu> From: bmah@CA.Sandia.GOV (Bruce A. Mah) Reply-To: bmah@CA.Sandia.GOV 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&+ X-Url: http://www.ca.sandia.gov/~bmah/ Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==_Exmh_-804607468P"; micalg=pgp-sha1; protocol="application/pgp-signature" Content-Transfer-Encoding: 7bit Date: Thu, 28 Oct 1999 08:31:46 -0700 Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org --==_Exmh_-804607468P Content-Type: text/plain; charset=us-ascii If memory serves me right, Garrett Wollman wrote: > < s > aid: > > > Ah, I've misunderstood the sequence number being ack'd - it's the next byte > > expected by the reciever, eh? Damn. I've probably been tearing apart the > > wrong machine. > > No, it's the sequence number of the last octet (or control bit) > successfully received *and desegmented*. The SYN and FIN bits occupy > one unit in sequence space. TCP's acknowledgements are cumulative, so > ACK(1234) means that all data up to and including sequence number 1234 > have been received successfully. If sequence 1222 is lost, then > regardless of how many later packets are successfully received, TCP > will send ACK(1221) until a segment containing 1222 is received. Possibly contributing to the confusion is the way that tcpdump prints out TCP sequence numbers. If you have a line that looks like... 08:22:19.252316 foo.ssh > bar.935: P 1:37(36) ack 20 win 8760 (DF) [tos 0x10] ...the segment displayed really contained octets with sequence numbers 1 through 36 inclusive, despite the fact that the line reads "1:37" (36 objects numbered starting from 1 will end at 36, not 37). Note that the next segment from this example conversation was... 08:22:20.472454 foo.ssh > bar.935: P 37:73(36) ack 40 win 8760 (DF) [tos 0x10] ...showing that byte 37 really went in the second segment, not the first. If a person didn't know this fact, it'd be easy to interpret the acks wrongly. Bruce. --==_Exmh_-804607468P Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: PGPfreeware 5.0i for non-commercial use MessageID: PxW59vcMMOAxFckYIAHWJKhNVEf9nMri iQA/AwUBOBhsYtjKMXFboFLDEQLB+wCfT89VgdmYJKcoubXQp9TK1MWX2AoAoOeY UrTtKo16RwOBIwqgY2DcjztA =AwR2 -----END PGP SIGNATURE----- --==_Exmh_-804607468P-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message