From owner-freebsd-net@FreeBSD.ORG Fri Apr 27 15:38:22 2007 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F207516A400 for ; Fri, 27 Apr 2007 15:38:22 +0000 (UTC) (envelope-from nataraja@cis.udel.edu) Received: from mail.eecis.udel.edu (louie.udel.edu [128.4.40.12]) by mx1.freebsd.org (Postfix) with ESMTP id CCFEA13C480 for ; Fri, 27 Apr 2007 15:38:22 +0000 (UTC) (envelope-from nataraja@cis.udel.edu) Received: by mail.eecis.udel.edu (Postfix, from userid 62) id 0B87C368B; Fri, 27 Apr 2007 11:21:17 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on louie.udel.edu X-Spam-Level: X-Spam-Status: No, score=-22.3 required=4.1 tests=ALL_TRUSTED,AWL,BAYES_00, LOCAL_AUTH_RCVD autolearn=ham version=3.1.8 Received: from [128.175.192.45] (roaming-192-45.nss.udel.edu [128.175.192.45]) (Authenticated sender: nataraja@mail.eecis.udel.edu) by mail.eecis.udel.edu (Postfix) with ESMTP id 40F4F3680; Fri, 27 Apr 2007 11:21:16 -0400 (EDT) Message-ID: <463214E4.9090401@cis.udel.edu> Date: Fri, 27 Apr 2007 11:21:08 -0400 From: Preethi Natarajan User-Agent: Thunderbird 1.5.0.4 (Windows/20060516) To: freebsd-net@freebsd.org X-Sanitizer: This message has been sanitized! X-Sanitizer-URL: http://mailtools.anomy.net/ X-Sanitizer-Rev: UDEL-ECECIS: Sanitizer.pm, v 1.64 2002/10/22 MIME-Version: 1.0 MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Cc: "Paul D. Amer" Subject: TCP Delayed Ack implementation in 6.1 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Apr 2007 15:38:23 -0000 Hello, I have a question about the TCP delayed ack implementation in FreeBSD 6.1 According to specs, if delayed acks are enabled, the receiver delays transmitting acks for the delack time period or acks every other incoming packet. I have an experimental setup where: - RTT between server & client ~90ms. - one-way data transmission from server to client. - tcp delayed acks enabled - delacktimer = 200ms. - tcp inflight (BDP) calculation is disabled. From tcpdump at client side: Time: 38s.695ms: S->C data (282b) Time: 38s.707ms: S->C data (1448b) Time: 38s.707ms: C->S ack Time: 38s.719ms: S->C data (1448b) Time: 38s.719ms: C->S ack Time: 38s.731ms: S->C data (1448b) Time: 38s.741ms: S->C data (1166b) Time: 38s.741ms: C->S ack I do not understand the reason for the second ack from C->S (Time 38s.719ms). Clearly this ack has not delayed for 200ms from the previous ack and acks only 1 packet. Am I missing something? Thanks a ton, Preethi