ICS, the "Internet Connection Sharing" facility built into
Windows starting with Win98, has several major limitations.

For example, XP Home edition is artificially limited to five
peer-to-peer network connections at once. You can't
simultaneously connect six or more PCs to each other with XP
Home; and you also can't use ICS on a XP Home box to share
an internet connection with more than five PCs, even if
there's no other peer-to-peer activity going on, or if the
other systems aren't running XP Home.

And ICS, per se, isn't available at all to older boxes:

Hi Fred. I was wondering if you (or your readers)
knew of a way to use Windows 95 as an internet
connection sharing host. I suppose this sounds
odd, but let me explain the situation. I recently
moved back home to take care of [my parents]. Mom
is using a desktop that I bought back in 1995 and
got a free Windows 95 upgrade for since I bought
it about 2 months before the Windows 95
release.... Do you or any of your readers have any
suggestions that would allow the Windows 95
machine to serve as the ICS Host? I spent a little
time searching on the 'net the other day, but not
much because I also have metered access. By the
way, I do have the two computers networked already
and file and printer sharing are working fine.
Thanks for the help in advance and keep up the
good work! ---Dustin

The answer to all these problems is to use a third-party
sharing tool. One that I've recommended repeatedly is Sygate
Network, which comes in both Home and Office flavors.
The "Home" designation is a little misleading because you
can buy various licensing levels to allow 3, 6, 10, 25, or
an unlimited number of simultaneous connections--- well
beyond what you'd find in any normal "home." The "Office"
version has more features, but both versions let you connect
many PCs; and in fact I use the "Home" version just fine
here in my office to allow a wide range of Windows and Linux
boxes to share a single internet connection.

In any case, because these connections happen inside the
Sygate software, the OS doesn't "see" them, and you're thus
not bound by artificial limits that may be built into your
OS version.

Sygate Network also will run on older hardware--- a 486 with
32MB or RAM will do it--- and on any OS all the way back to
Win95b. The other PCs connecting through Sygate Network can
be anything that uses normal TCP/IP technology--- Windows,
Macs, Linux boxes, palmtops, etc.

Best of all, even though Sygate Network is itself quite good
as a kind of stealthing/network-address-translating firewall
for all the machines that connect behind it, it also
coexists well with the free Sygate Personal Firewall, so you
can have double protection without the software stepping on
each other's toes.

It's not free, but it starts at just $40--- which is a whole
lot cheaper than buying a new PC, or upgrading to XP Pro,
for example.

In fact, if you have an old PC lying around, something like
Sygate Network can let you use it not only to share your
internet connection, but also to use the old PC as a buffer
between your real PC(s) and the outside world: With a shared
connection, that old PC is the only one that directly
connects to the outside world, thus adding a layer of
protection that makes your other PC(s) much, much harder for
crackers to find and attack.

Sygate Network:

Note: You also can do this with many other brands and types
of routers and ICS-like software, including some free
products, especially for Linux, as in
http://www.google.com/search?q=free+linux+router . But if
you're not familiar with Linux, a Windows-based package like
Sygate network may be a better fit. Sygate network even
allows for a "one-NIC" setup, where you don't even have to
have a conventional LAN at all!

From the langalist: