Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Jan 2002 15:36:34 -0800
From:      "Kevin Oberman" <oberman@es.net>
To:        Rick Hamell <hamellr@heorot.1nova.com>
Cc:        "RAD2921 - RADIGAN, TIMOTHY               " <RAD2921@cup.edu>, freebsd-questions@freebsd.org
Subject:   Re: Network Collisions 
Message-ID:  <20020128233634.5ED2A5D0B@ptavv.es.net>
In-Reply-To: Your message of "Mon, 28 Jan 2002 16:13:25 PST." <Pine.BSF.4.21.0201281612160.19665-100000@heorot.1nova.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Mon, 28 Jan 2002 16:13:25 -0800 (PST)
> From: Rick Hamell <hamellr@heorot.1nova.com>
> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020128233634.5ED2A5D0B>