From owner-freebsd-questions Mon Jan 28 15:36:37 2002 Delivered-To: freebsd-questions@freebsd.org Received: from ptavv.es.net (ptavv.es.net [198.128.4.29]) by hub.freebsd.org (Postfix) with ESMTP id 949AD37B402 for ; Mon, 28 Jan 2002 15:36:34 -0800 (PST) Received: from ptavv.es.net (localhost [127.0.0.1]) by ptavv.es.net (Postfix) with ESMTP id 5ED2A5D0B; Mon, 28 Jan 2002 15:36:34 -0800 (PST) To: Rick Hamell Cc: "RAD2921 - RADIGAN, TIMOTHY " , freebsd-questions@freebsd.org Subject: Re: Network Collisions In-reply-to: Your message of "Mon, 28 Jan 2002 16:13:25 PST." Date: Mon, 28 Jan 2002 15:36:34 -0800 From: "Kevin Oberman" Message-Id: <20020128233634.5ED2A5D0B@ptavv.es.net> Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > Date: Mon, 28 Jan 2002 16:13:25 -0800 (PST) > From: Rick Hamell > Sender: owner-freebsd-questions@FreeBSD.ORG > > > > Just wondering if there is a way to minimize the collisions I'm getting > > when transferring data from my WinXP box to my FreeBSD box. The > > collision light is flashing alot when transferring files. It seems a > > little excessive. Any ideas? > > Run everything at half-duplex. Replace cables and NIC cards. > Replace your hub with a switch. Live with it. Collisions happen... often, > especially with low-end hardware and bad cables. Actually, collisions are more frequent with high-performance hardware running half-duplex than with cheap stuff. Collisions are Ethernet's flow control mechanism. The cost of a collision is quite low and it is NOT an error. With a typical TCP stream on a fast system with a good card, the ACK for a packet will almost invariably collide with the next packet. This does not generate an interrupt and the CPU does nothing. As long as it is just a collision, the whole thing is handled by the NIC. At an 80% collision rate you can still expect (assuming the hardware is good) over 90% of the theoretical maximum throughput of an Ethernet. (It should also be noted that the maximum collision rate is 1600%, so 80% is really not so bad.) The LEDs are on for a long time so that the eye can register that fact, so the LED seems to be on far more than the collision rate would indicate. That all said, if no large servers are involved, it's probably easiest to bet a cheap Ethernet switch (I see one advertised at Fry's for <$60) and run everything full-duplex. This will eliminate all collisions (since turning off carrier sensing and collision detection is basically all full-duplex does) and system to system performance will be maximized. If several systems are all trying to communicate with a single system (the large server I mentions), you still have contention and, with a cheap switch lacking much memory, you could get dropped frames which are far more detrimental than collisions and, in any case, will have delays waiting for the output network to become available. This is only relevant when an Ethernet is running fairly hot. R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message