From owner-freebsd-net@FreeBSD.ORG Mon May 22 13:06:53 2006 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 42D0416A5DE for ; Mon, 22 May 2006 13:06:53 +0000 (UTC) (envelope-from b.candler@pobox.com) Received: from proof.pobox.com (proof.pobox.com [207.106.133.28]) by mx1.FreeBSD.org (Postfix) with ESMTP id A77FD43D5E for ; Mon, 22 May 2006 13:06:52 +0000 (GMT) (envelope-from b.candler@pobox.com) Received: from proof (localhost [127.0.0.1]) by proof.pobox.com (Postfix) with ESMTP id E755224E13; Mon, 22 May 2006 09:06:50 -0400 (EDT) Received: from mappit.local.linnet.org (212-74-113-67.static.dsl.as9105.com [212.74.113.67]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by proof.sasl.smtp.pobox.com (Postfix) with ESMTP id B64D44D784; Mon, 22 May 2006 09:06:49 -0400 (EDT) Received: from lists by mappit.local.linnet.org with local (Exim 4.61 (FreeBSD)) (envelope-from ) id 1FiA7U-0008eq-Ge; Mon, 22 May 2006 14:06:48 +0100 Date: Mon, 22 May 2006 14:06:48 +0100 From: Brian Candler To: mag@intron.ac Message-ID: <20060522130648.GB33204@uk.tiscali.com> References: <20060522115722.15918F1590@smtp.263.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060522115722.15918F1590@smtp.263.net> User-Agent: Mutt/1.4.2.1i Cc: freebsd-net@freebsd.org Subject: Re: How to Quicken TCP Re-transmission? 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: Mon, 22 May 2006 13:06:54 -0000 On Mon, May 22, 2006 at 07:51:33PM +0800, mag@intron.ac wrote: > I want to transmit data between host A and host B. The link between > these two hosts is really bad: PING reports 30% packet loss How big are the pings? Try ping -c100 -s1472 x.x.x.x to send 1500-byte pings (20 bytes IP header + 8 bytes ICMP header + 1472 bytes padding). This will give you a more realistic indication of packet loss for TCP transfers than the small pings you get by default. TCP performs really, really badly on packet loss over 5%. I don't think that any amount of tweaking will cope with 30% packet loss. Perhaps a mechanism which sends each packet 3 times would work, but then tripling the load on your link will increase your packet loss even more, perhaps leading to total collapse. Regards, Brian.