>Date: Fri, 5 Nov 1999 11:06:41 -0300
>From: Carlos Barros <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED], [EMAIL PROTECTED]
>... can a pentium 100MHz/32MB can hold?
>I mean I want it to be a router with all ethernet at 10Mbps
>I've use it with 2 nics and work. Now the problem is the hardware limitation
>when acting as a router, and i have no where to search for this info.
It is hard to predict. The problem is every NIC needs some CPU
time to service packet sending/receiving. This includes packet
data transfer from/to host memory, which either must be directly
done by CPU, or uses bus via DMA, stealing bus time, and the time
is lost for CPU - even though it does not need to do the work, it
cannot use the time for anything needing memory access. And the
time lost for the data transfer depends on NIC in wide range:
there are many "wrong" NICs which cannot be used to send/receive
data at full speed because they use more time to transfer data
between own and host memory than they need to send/receive it!
Therefore, you must find some "CPU load factor" for NICs you are
to use, it can be defined as <cpu time lost>/<packet s/r time>.
Lets name the factor L, then you cannot use more than 1/L NICs,
maybe even 0.8/L NICs will cause problems.
The question is how to check this factor. I would suggest an
experiment: you have 2 NICs in a router, well, use the router
making maximum traffic through it, and measure speed at which
the computer works - I suppose it will be 1-2*L normal speed.
Compute L, then 0.8/L can be used as number of NICs to put.
Some factor may be if these NICs correctly handle a case they
are not serviced quickly enough (e.g. they have small receive
buffers) - in such a case you must use smaller number than 0.8.
This all of course if you assume the net to be heavily loaded...
Jerzy
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]