| Swim Home
Swim Back Swim Forward |
4. Software Concerns |
| For all but the core servers, our software will be determined by the hardware that it shipped with. We must, however, determine from which OS we are going to run the primary Internet functions. | |
![]() |
Core Server Operating System
Because the Internet was built on the TCP/IP stack, and that stack came (essentially) from Unix, we feel it is best to go with a Unix flavor when choosing a server operating system. There are servers for all the major Internet functions available for virtually all non-Unix platforms. It should be pointed out, however, that these applications were built in as an afterthought and attempt to emulate the behaviors inherent in a Unix-based machine. Having made that decision, we will go with Linux. Linux is a very powerful flavor of Unix that can run on either a Intel system or a DEC Alpha system, among others. To give you an idea of how powerful Linux actually is, we will relate to you the work done on Linux machines in the filming of the movie Titanic. All of the computer-generated imaging in the movie was done on a couple of Linux boxes. Though that type of task is outside the scope of our enterprise, it gives you an idea of how robust Linux is. The other great thing about Linux is the fact that it is virtually free. While Windows NT Server costs around $1000 per license, Linux in its complete capacity can be had for around $50. Plus, all of the other daemon software we will need to operate our ISP that will run on Linux is virtually free as well. |
| Daemon Software
First of all, what is a daemon? A daemon is a piece of software that runs in the "background" and only becomes active when a user/client requests the daemon to perform its specific task. For instance, when a client requests his browser to find a World Wide Web site, the http daemon (hypertext transfer protocol daemon) "wakes up" and goes into action. While Linux is robust and has many of the capabilities that we need to run the technical side of our ISP, we will need to install some daemons to the software to make our operation complete. |
|
![]() |
World Wide Web Daemon
We will need a world wide web daemon running on a core server to handle our customers' WWW page requests. The choice for this daemon is a relatively easy one. Because it does all of the things we need it to do, because it has a version that runs on Linux and because it is freeware, we will choose Apache to be our WWW daemon. The Apache daemon will also allow our ISP to supply "virtual hosting" for our customers. Without virtual hosting, our customers who want to use our web server to host a World Wide Web site for them would be required to use an address similar to "www.river.net/companyname." With Apache's virtual hosting capability, a customer could go through the InterNIC process of obtaining a domain name such as "www.companyname.com" and we could then host it for them with our web server. |
![]() |
Mail Daemon
We will need two software packages to handle the mail for our customers. We will need one program to utilize the SMTP for sending and receiving messages, and another to act as a "Post Office" to hold a customers email until they are able to connect and retrieve their mail. For the outgoing mailer daemon, we will use a program called Qmail. Qmail was designed as a replacement for the old sendmail program, which had many security loopholes. Qmail has eliminated those security glitches, and is a very popular program for Unix based systems. It has the capacity to handle over 200,000 messages per day, which should be more than enough for our startup ISP. It is compliant with virtual domains, it runs on Linux, and its free. |
| POP3
Post Office Protocol 3 (POP3) is the method that clients use to log in to the mail server, authenticate the password, and retrieve messages. With POP3 a user can connect to the mail server via a Telnet connection or a mail client to list, retrieve, and delete messages stored in the account spool. If the user or client does not specifically ask the server to delete a message, it is stored on the server. Most POP3 clients default to a "remote inbox" where only the headers are downloaded upon connection to the mail server. If a user selects a message, then the client downloads the full message. In this mode, all messages are left on the server (in the /spool file) unless the user deletes them or moves them to a local file structure. |
|
![]() |
Radius Server Daemon
One of our core servers will be used partly as a RADIUS server. RADIUS stands for Remote Access Dial-In User Server. This daemon handles the password authentication from our dial-in customers. The customers password is checked against those stored in the Linux machine's /etc/passwd file to try and find a match. If a match is found, authentication is complete, and the user can access the web, read email, etc. If a password is not authenticated, an error message is sent back to the would-be client indicating this. A free version of the RADIUS daemon can be obtained from Merit. We may have to alter some of the code to make it run smoothly on Linux. |
![]() |
Domain Name Server Daemon
A Domain Name Server, or DNS, is a server that retains the addresses and routing information for TCP/IP users. As humans, we like to think of internet addresses in a text-based format. But as we know, computers need to use IP numbers in order to route packets over the internet. This is where a DNS comes in. I like to think of an ISP's DNS as a "little black address book" compared to the InterNIC's DNS being the "White Pages." A local DNS keeps text-based addresses matched up to IP addresses in a cache ( little black book), keeping those addresses that it found most recently in the cache if it becomes full. When a client computer types a text-based address into an Internet browser, the first place the address is attempted to match to an IP number is in the local DNS. If the local DNS has that address in its cache, the client computer is then routed to the IP address and the process is finished. If the address is not in the local DNS cache, the local DNS contacts the InterNIC's DNS (the white pages) to see if it has a IP address to match up to the text-based address entered by the client. All domain names must be registered through InterNIC, so if a IP address exists to match the text-based address, the client computer can then route to the IP address. If there is no DNS entry registered with InterNIC, then an error message is sent to the client. Again, this is a piece of software that is available for Linux, and is freeware that can be downloaded over the Iinternet. |
![]() |
Other Daemons
Besides these listed daemons, there are many others that we would also need to procure. These include a daemon for FTP, one to run a Network News Transfer Protocol (NNTP) Server, and other minor ones to make our equipment run smoothly. The important thing to remember is the fact that virtually any daemon we decide we need to run is almost assuredly available for Linux, and is most likely available as freeware. |