Samba performance on Fast Ethernet network when linked to Win95

Steve Fosdick fosdicsj at aom.bt.co.uk
Thu Dec 18 15:04:05 GMT 1997


Constantin Teodorescu <teo at flex.ro> wrote:

> When doing this transfer, the LED from the network card is flashing
> from time to time (0.2 sec on, 0.4 sec off), the average load of
> the hub is about 5% and the "collisions LED" is on merely all the
> time.

This doesn't look like a problem in either the TCP implementation or
the application level software on either machine.  Two possible
explanations spring to mind:

1.  The ethernet cards are having problems with their backoff
    algorithm.  When a transmitting card detects a collision
    it will back off for a random amount of time between 0 and 1
    units.  If another collision occurs then each transmitting
    card backs off for a random period of time between 0 and 3
    units etc until the interval is 0-1023 which is retried up to
    fifteen times (DIX Ethernet).

    Given that the "random" number will actually be a pseudo-random
    number it is conceivable that if the two cards employ the same
    pseudo random number generator and start with the same seed value
    that the two cards could always choose the same amount of time
    to back off for, and always collide again when try to re-transmit.

    If this was to happen then after the fifteenth attempt with the
    backoff windows of 0-1023 the sending stations would give up.
    Some time later the TCP layer would try to re-transmit the packet
    as it hadn't been acknowledge from the receiving end.

    With the hardware scenario you describe the ethernet cards are
    the same and as the backoff algorithm is probably implemented
    on the card it possibly have this problem.  When we get the TCP
    layer involved we have two different processor speeds and two
    different software implmentations so the chances of them both
    retrying at exactly the same time is very small.

2.  You could have a wiring fault or a fault with either of the
    cards of the hub which causes reflections to occur which get
    interpreted by the transmitting card as a collison.

There are a couple of other tests may like to try (and possibly
report the results here):

1.  Try using a different network card in one of the PCs (or a PC
    with a different card if it is an integrated one).  This should
    ensure that we couldn't have the two cards with their random
    number generators syncronised as in 1) above.

2.  Try an FTP from Win95 to another Win95 machine.  This will
    isolate the Linux network implementation which is so far the
    common software component in all the tests you describe.

-- 
Steve Fosdick                  Internet: fosdicsj at aom.bt.co.uk
Voice: +44 1473 642987         MSMAIL:   BTEA/BTLIP23/FOSDICSJ
Fax:   +44 1473 644607         BOAT:     FOSDICSJ
Snail: B29/G34, BT Labs, Martlesham Heath, Ipswich, IP5 7RE, England.


More information about the samba mailing list