Re: Interesting networking conundrum



JCrowe <bongofury@xxxxxxxxxxx> wrote:

I've had my older G5 iMac connected to the wired port on a D-Link
DSL-2540B modem/router/firewall for a while. The speed for my 6MByte
DSL connection always seemed a little sluggish. I also have a Linksys
WAP54G wireless access point connected to the same router/modem and
various notebooks in the house have much snappier response to network
related stuff. So, I unplugged the enet cable and fired up the airport
connection and damned if it did not increase the speed of network
traffic. Before I continue investigating, I thought I'd ask if anybody
else had seen similar effects.

No, but I have a theory. (After ruling out the Ethernet cable, which is
the easiest thing to change.)

Ethernet uses an auto-negotiation protocol to identify the mode of
operation for two stations connected via UTP cable. There have been
situations where two implementations of this protocol don't work well
together, resulting in failure of the auto-negotiation. In this
situation, the two devices typically revert to a default mode of
operation, and if they have different defaults then you may get a
connection which works unreliably (or not at all).

It might be possible for one end to auto-negotiate but the other end to
fail. (I'm not familiar enough with this protocol to be certain.)

If the devices default to different speeds, they won't be able to talk
to each other.

If the devices default to the same speed but different duplex settings,
they will be able to talk to each other, but the connection will be
unreliable. This is because the device that is operating in full duplex
mode assumes it can transmit and receive simultaneously, while the
device which is operating in half duplex mode will ignore all incoming
data while it is transmitting, resulting in occasional loss of frames in
one direction. In this situation, higher level (TCP) retries are
required to retransmit the lost data, which is quite slow compared to
Ethernet retransmissions on a half duplex LAN.

You might be able to fix it by telling the Mac to use a fixed Ethernet
mode (e.g. 100Base-TX half duplex) rather than autodetecting the mode.

This works best if both ends are able to be set to operate in a fixed
mode, but most routers don't have configuration for the LAN port mode,
so you may have no choice. Your best option is to try to identify the
mode the router is ending up in, and manually set the Mac to match that
mode. This may require some trial and error.

See System Preferences > Network > Built-in Ethernet, click the Advanced
button if you are running Leopard, and go to the Ethernet tab.

Set Configure to "Manually". Set Speed to the fastest speed supported by
the Ethernet ports on your router (probably 100baseTX). Try each of the
Duplex settings to see if any of them works better.

Full duplex is faster than half duplex because data can travel both ways
at the same time. I'm not familiar with exactly what "full-dupex,
flow-control" does, but the implication is that it can send data both
ways at the same time and has extra signals to indicate to the other end
that it is busy. This is probably a rarely used mode.

--
David Empson
dempson@xxxxxxxxxxxxx
.


Loading