September
1998, Issue 98
TCP/IP
Networking
TRANSFERRING
DATA
We
also need to discuss transferring data via TCP/IP. There
are two Ethernet speeds, 10 and 100 Mbps.
Most100-Mbps
cards automatically detect if the network theyre
plugged into is 100 or 10 Mbps. At 10 Mbps, Ethernet
can trans-fer almost 1 MBps of data in one direction.
However,
you most likely wont see that high of a throughput.
In many cases, if theres more than one host on
the Ethernet, there will be some overhead in trying
to access the media and deal with contention.
For
Ethernet, this situation can be really bad. The utilization
may be as low as 30% when Ethernet is saturated with
tens of hosts.
That
means all hosts together are only able to transfer about
300 kbps on a highly congested 10-MBps Ethernet. Of
course, if only two hosts are involved, we should be
able to achieve almost full utilization of the Ethernet.
Another
problem is latency. To send data to another host, the
data has to traverse the protocol stack, possibly get
copied into the Ethernet cards memory, be transmitted
over the Ethernet, be received and copied form the receiving
card, and passed back up the protocol stack on the receiver
and then reverse this to get an acknowledgment back.
On
a lightly loaded 10-MBps network with high-performance
Ethernet cards, you might see latencies down to 1.0
ms. However, if the network gets loaded, the latency
can easily reach 1020 ms or more.
Basically,
make sure the Ethernet is not very loaded if you expect
high utilization or throughput. Also, this means there
are upper bounds to what can be done with Ethernet as
a device bus.