Re: ISDN connection
Well, Mitch did a darn good job of explaining all of this, but I'll still
throw in my two cents...
>Question 1. Is the calculation: <number of possible users> = <permanent
>speed> div <users connection speed> correct ? (ie. 512K / 33.6K = 15.238...
Like Mitch said, this assumes that everyone's going to be downloading at the
same time. Since you say that you want to connect to "the WWW", I'm assuming
you're going to be doing lots of web browsing. Web browsing is a pretty
feast-and-famine kind of net usage, where you need a whole lot of bandwidth
for a few seconds, and then none (while you, the human, are actually
*reading* the web page).
Because of this, you can (and I have) run a couple of people through one
modem. USUALLY, neither person will notice anything at all, since their
network usage will be scattered enough such that it won't collide with the
other's. So, essentially, the only thing that's really happening is that
you're increasing the *utilization* of the line. Occasionally, however, when
you are trying to browse and your roommate is downloading something big,
you'll get a little frustrated.
So, suffice it to say that, as a general rule, two people sharing a 56K
connection will be much happier than two people each with their own 28K.
Provided your network usage doesn't collide too much, you'll both experience
increased network speed.
>- I imagined that a high speed connection such as 512K would support 1000
>users not just 15 !
It does.... for the very reason I mentioned above.
Another thing that you can probably benefit from if you have a lot of people
is caching. If you have a caching proxy server, you can avoid downloading
pages over and over again for each user. The nice thing about caches is that
they are more likely to contain the more popular web pages... which are the
ones you're more likely to want. So, that can help you further economize on
your bandwidth usage.
>Question 2. If we do not intend to host our own web pages on our computer
>do we need to use a web server such as Apache ? If not, what is the
>mechanism for accessing the web through a single computer ?
Well, if you use a Linux box, there are three ways. Mitch mentioned two of
1) A proxy server. Basically, everyone would configure their browser to
connect to the local linux box and ask for it to retrieve the file. Most
proxy servers also do caching. Look into "Squid", like Mitch said. I've used
it... it's great. The problem with just using Squid or something is that it
only lets you browse. Sending/retriving e-mail, reading newsgroups, running
ICQ, Yahoo chat, etc.. are all things that you'd need to solve
individually... usually by running the software for each on the linux box.
2) IP Masquerading. This lets all of your machines in your house connect to
any other machines on the net. Web, mail, newsgroups... they'll all work.
However, IP masquerading doesn't really handle UDP packets, so you still
can't use ICQ without setting up something like a socks5 proxy or
something... and you can pretty much forget about running networked games
like zone.com's Tanarus, Fighter Ace, etc... and things like Diablo... and
probably the Quake series, too. Also note that masquerading is a fairly
secure way of putting all of your machines on the net, since all of your
machines can establish connections to machines in the outside world, but
those outside machines can't establish a connection to yours (so you can't
run web servers or FTP servers on the machines that aren't the dial-up
3) IP Tunnelling. This is serious voodoo. I'm currently trying to implement
this at my house. For IP tunneling, you need to find an ISP (not necessarily
the one you use to connect to the net through) or any other net-connected
entity with it's own set of IP addresses to allocate a set of IP addresses
to you. Then, they set up some routing so that, when packets come into their
facility addressed to one of the IP's they gave you, they forward the
packets to your Linux box, which then delivers the packets to the
appropriate machine in your house. The cool thing is that it works for TCP
and UDP so you'll be able to run all of those cool multi-player
deathmatch-type games through battle.net and zone.com or whatever. Be
warned, though. People will be able to connect to your machines. Make sure
that your machines are suitably guarded against intrusion.
Also, with the Linux box, you can set up a dial-on-demand system, that will
hang up the line when nobody's using it. The cool thing is that you can set
different timeouts for different protocols. For example, you can have it
stay on for 10 minutes after the most recent http request, 4 minutes after
the last mail transfer, 2 minutes after the last domain-name lookup, etc.
If you don't want to use a Linux box, you can use a program called WinGate
that does a lot of caching-proxy stuff... it's a lot easier to configure,
but doesn't have as many tricks up its sleeve. But, if all you want to do is
surf the web, it might be just what you want.
>Question 3. If we use Apache (or other server software), how does it work
If the document wasn't already cached, Apache or Squid would download the
document (oh behalf of one of the other machines) at the maximum speed of
the dial-up link... say, 128K for an ISDN connection. Then, it gets
transferred to the requesting machine at (what I'm assuming to be) ethernet
speeds, or 10Mbps... virtually instantaneously. So, for the end user, it
looks like a 128K connection. However, if the document *is* already cached,
then the proxy can just serve it up without having to download it over the
ISDN link again... so, retriving a cached document would seem *much* faster