[X4U] Mac mini as an Internet Gateway.
Stroller
macmonster at myrealbox.com
Thu Dec 15 03:31:48 PST 2005
On Dec 14, 2005, at 4:21 pm, Craig A. Finseth wrote:
> ... If you want to use the Mac Mini as a (NAT) router then it won't
> work. I
> looked into this fairly extensively - admittedly under Linux rather
> than Mac OS X, but it shouldn't make any difference - trying to
> route
> through a single physical interface causes packet collisions and
> slowdowns & all manner of Bad Things. It might work _extremely
> slowly_
> ...
>
> It really depends on the load and various network speeds involved.
>
> If you've got a DSL line that tops out at a megabit and the Mini is
> hooked up at 100 Mbps, I don't see a problem.
>
> It also depends on the application load.
I can't quote any figures on it, so it'd be great to hear from someone
who can, but I don't think we're talking that order of magnitude.
If you route on a single interface then IMMEDIATELY a packet comes in,
the router acknowledges it on one interface and forwards it to another
computer on ... erm... another interface that happens to be aliased to
the same phyiscal ethernet socket. Bonkl! Bonk! Packet clash! The
TCP/IP stack retransmits each of the packets after a random interval,
but by that time more packets have come in.
I wouldn't be surprised to hear that a 100Mbps connection was slowed to
less than kilobits, (ie less than the speed of the DSL connection) or
if it just caused hideous instability, or killer unreliability in
anything trying to use the network interface. When I read about this
(two or three years ago) my initial reaction was that I wanted to do it
anyway, but the experts whose opinion I was reading (Linux kernel
programmers) expressed in such strong terms what bad practice it is
that I decided they probably knew what they were talking about. By all
means try it - I'd really love to hear your feedback after testing -
but I think it'd be best not used on a production system without
further research.
Stroller.
More information about the X4U
mailing list