[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Linksys EtherFast NIC, full duplex?




"Karsten M. Self" wrote:
> 
> on Sun, May 06, 2001 at 08:58:33AM -0500, Jack (ifup@yifan.net) wrote:
> > Hi,
> >
> > I have two machine connected using crossover cable and LinkSys EtherFast
> > 10/100 Cards.  (same card on both machine).  I only get 4-5Mbyte/sec
> > when ftp or nfs between each other.   Both machine are running Woody.
> >
> > I am sure it's not the best it can get with those NICs.  I can get
> > 9-10Mbytes/sec if I boot one machine into freebsd.  here is ifconfig
> > from freebsd:
> >
> > dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
> >         inet6 fe80::203:6dff:fe1b:b60e%dc0 prefixlen 64 scopeid 0x2
> >         ether 00:03:6d:1b:b6:0e
> >         media: autoselect (100baseTX <full-duplex>) status: active
> >         supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP none
> >
> >   (I do not know how to get duplex status on debian, help me?)
> >
> > I just tested it again (using 130M big file):
> >
> >    ncftp reports:   (debian) --> (freebsd) 8.24 MB/s
> >                     (debian) <-- (freebsd) 9.54 MB/s
> >
> > I can only get 60% of that when have both to be Debian.  Both debian
> > are using the driver compiled from the source comes in floppy(4.1
> > version)
> 
> Haven't seen a response.
> 
> My understanding is that running NICs through a hub (non-switched)
> network results in half-duplex operation.  Only switched networks are
> full-duplex.  But I don't know what I'm talking about.
> 
> --
> Karsten M. Self <kmself@ix.netcom.com>    http://kmself.home.netcom.com/
>  What part of "Gestalt" don't you understand?       There is no K5 cabal
>   http://gestalt-system.sourceforge.net/         http://www.kuro5hin.org
> 
>   ------------------------------------------------------------------------
>    Part 1.2Type: application/pgp-signature


You are on the right track. In half-duplex, the card basicly listens on
its receive line while it's "talking" on the transmit line. Normally, in
a non-switched, half-duplex, environment, only one card may transmit at
any one time. If the card hears anyone else transmit during the time
it's transmitting, it treats that as a collision. It will transmit a
signal indicating a collision (which the hub will relay to all ports),
and sleeps for a random time interval (the holdoff time is based on an
interesting algorithm that makes the possible interval wider, depending
on the number of collisions the card has seen).

In a simple case of two network cards talking directly to each other (or
a network card talking to a properly configured switch), both cards may
transmit at once. Since the transmit and recieve pairs are seperate
physical media, the transmission of one card won't interfere with the
transmission of the other. To allow this, we put the card (and the ports
on a switch) into full-duplex mode, which basicly means "just go on
talking if the card at the other end is talking too" or "ignore
collisions".

What can become an issue is whether the card and the switch properly
autoconfigure, or recognise that they're attached in a configuration
that will allow them to safely operate in full-duplex mode. 

As another consideration for the performace issues the original post
referenced, many higher end cards have the ability to change how some
transmit and receive buffers are allocated. They can chose how full the
buffer can get before triggering an interrupt, some can shift the buffer
sizes to favor transmission over reception, etc...

--Rich

-- 

_________________________________________________________
                         
Rich Puhek               
ETN Systems Inc.         
_________________________________________________________



Reply to: