Basic Network Types
When accomplishing any task, there is usually more than one way to get the job done, sometimes even thousands of different ways. When trying to connect more than one computer together there are also many different ways to get the job done. Some ways are better than others in certain situations, and it is very beneficial to get started in the right direction when networking computers, not just because of usefulness, but also because of security issues.
Just like with anything, when deciding on how to connect computers together you should investigate on why the job must be done. Question what purpose needs to be accomplished, question if any peripherals need to be shared, question if any documents need to be accessed by more than one person, etc. Once you have more information on what the network actually needs to do, then it will be much easier implementing a plan that will accomplish all of your goals.
When setting up a network there are basically three different types of networks - Peer-to-peer, Client-Server, and Application-Server Networks. Each type has certain benefits and downsides, this article will describe each type, along with why it could or should be implemented. Those who are deciding to implement a network, or are curious about their existing network should find this article interesting and informative.
Overview of Peer-to-peer Networks
Nearly all Operating Systems come with the ability to act as some kind of a server to share resources. You can setup different computers to allow others to use its peripherals such as printers or CDROM drives, and other computers to allow others to read or write to its hard disk allowing sharing of files, while other computers may allow access to its Internet connection. When you allow workstation computers to become servers and share things in this manner, it is called a Peer-to-peer network.
An Example of a Peer-to-peer Network
I will use a small office as an example of a Peer-to-Peer network.
In this small business office, the secretary uses the best computer, and has the most drive space, she also has a fast laser printer connected to her computer. The accountant has a mediocre computer that has a color ink jet printer. The owner has a good computer with a zip drive to take work home. All of these computers are networked together, with no central server.
The secretary uses the zip drive through the network to backup important documents, and also uses the ink jet printer on the accountant's computer to print out fliers. The accountant uses the laser printer on the secretary's computer to print out checks, accesses some important documents on the secretary's computer, and backs up the accounting data on the zip drive on the owners computer. The owner uses both printers on the other computers, and accesses important documents on the secretary's computer. All of the computers share Internet access through the secretary's computer.
All of this gets done with no passwords or user names since all the shared devices use no access control, or other type of security measure. Also in order for the accountant's computer and the owner's computer to be able to read the companies important documents, the secretary's computer must be turned on first.
The Benefits of a Peer-to-peer Network
Peer-to-peer networks are very cheap to implement because more than likely the Operating System software you have installed on your computers should have the ability to share items with other computers on the network, even though the feature may be limited. Nearly all of the most popular desktop Operating Systems have this feature, including Microsoft Windows and Apple's Mac OS, as well as Unix like OS es, such as Linux and the BSD s. So the only cost will be the networking hardware (cards, wiring, hubs or switches), and the labor to configure the workstations for this type of network sharing.
The Downsides of a Peer-to-peer Network
Even though a peer-to-peer network is very cost effective up front, there are a number of downsides you must consider before implementing this type of network.
Without a central server, it is very difficult, or nearly impossible to secure this type of network in any way. You can implement passwords on each different network share, but in order for the network to usable, the exact same username and password must be entered into each computer acting as a server. Thus, to change a password for a user could literally take hours of work, especially if the network consists of computers located in different buildings or different floors. Because of this, what usually happens with peer-to-peer networks is that passwords are implemented to begin with, but after time, either everyone starts using the exact same username and password, or the passwords end up becoming blank, or the network shares are configured to allow anyone access without a username or password. In any of these cases, security is pretty much non-existent, which can become a huge problem, especially if your network has access to the Internet.
On a peer-to-peer network, it is also very difficult to implement a good backup system because important documents tend to be stored on different hard disks on different computers. If you do manage to implement a good backup policy, chances are great that after a while some very important documents will not get archived because someone "accidentally" saved them to the wrong location on the network.
Peer-to-peer networks also tend to become very costly over time. Since each computer that shares anything to the other computers is a psuedo server, it must be constantly on, and configured correctly. So instead of maintaining a small handful of servers, you must maintain all of the workstations as servers, and as such any downtime with any computer on the network could cause considerable loss of labor or information. The following diagram illustrates all the theoretical connections that are needed for a peer-to-peer network to operate with just 5 computers. Note that this illustration does not represent physical network connections, but the theoretical network connections the operating system needs to operate the network properly.
The computer operators of a peer-to-peer network must also be well acquainted with the intricacies of running a computer in order for them to be able to do any work with the network. The users must be able to locate the different shares on the network, and be experienced enough to work through small problems, such as password problems or network mapping problems. As a side note, I have been in offices that used such complex drive mappings on a peer-to-peer network that they had a checklist showing which computers to turn in a certain order for the network to work properly.
Final Words on Peer-to-peer Networks
Peer-to-peer networks can be implemented with very little investment costs, but in order for the network to work properly, the users must be very experienced with computers, and strict guidelines must be implemented and followed in order for the data to remain secure and archived properly. In my experience, peer-to-peer networks tend to become more of a headache instead of a help after about 6 computers, especially if your company has a moderate employee turnover.
Overview of a Client-Server Network
The Client-Server network model usually consists of one or more server computers that provide services and information to a number of workstation computers. These services can consist of many different roles, including: file services, web services, email services, domain name lookup services, document version system services, Internet sharing services, etc. A great example of the Client-Server network model is actually the World Wide Internet. On the Internet clients, or computer with web browsers, access web sites that are hosted on servers.
This model differs from the Peer-to-peer network model in that the servers usually do not dually act as a workstation, and the workstations usually do not act as servers, and if they do act as a server, they should be configured to allow the central servers to provide access restrictions on the shares they provide the network.
An Example of a Client-Server Network
I will use a mid-size business with a network of 20 computers as an example.
The network is setup with a main file server, that also stores all the users email. Every night the main file server is backed up to a secondary file server that is located in an adjacent building. The network also has a network firewall computer that serves an Internet connection to the network, and forwards all email to the file server. The file server has different shares for each department so only people in that department has access to the files, and also has a company wide share that everyone in the company has access to the files. Each user also has a home directory on the main file server for personal documents that no one else can access. The network also has two large laser printers and a commercial color laser printer, all the printers are connected to the main file server through a jet direct interface.
The client computers all map a drive letter (L:) to the company wide share, and also map a drive letter (M:) to the department share, and the clients can print to whichever printer they need to. The drive mappings occur during a login script that is ran when the client computer logs in to the network. Each department has at least one zip drive on its computers which is shared for backups and convenience. Each employee has a separate email account, and all email messages reside on the main file server, so if any of the workstation computers goes down, the emails are still intact.
The Benefits of a Client-Server Network
The Client-Server network model offers many benefits that stems from the fact that only a single computer, or group of computers are the central repository for all the networking services that you may need.
Security is relatively easy to implement with this type of network model, since you can setup a single server computer to handle all information requests or login requests for the entire network, thus you only need one username and password for each user on the network. So if you ever need to change a password, you only need to change it at the server and the password would be changed for the entire network.
Information control is also fundamentally easier with this type of network model because you can have individual server computers store all the important documents of you company on a single store. In doing this you gain the ability to easily archive all the companies documents, as well as provide a secure, easy to access network store for all of your users, reducing the possibility of misplaced documents on your network. Other information can also be controlled by individual servers, such as all of the company's email and contact lists can be stored on a single mail server, or all of the company's policies and public documents can be store on an internal web server or ftp server.
With the Client-Server network model, each workstation only really needs to have one theoretical connection on the network, and that connection is to the main server as illustrated in the image below. Because of this, the maintenance cost for the network drops. Also, since all the important information of the network actually resides on the servers, the workstation maintenance also drops since the users can access any information they need through any workstation, and a faulty workstation computer will have very little effect on the usefulness of the network. I actually have setup networks where the workstation computers are backed up to an image on a central server, so if a workstation goes down, a technician can restore the image and have the workstation back up literally within minutes.
There are numerous other benefits to this type of network, most stem from the fact that you consolidate information or security to a single computer, or groups of computers. Once this is done, adding other services to the network is both easier and more secure.
The Downsides of a Client-Server Network
Even though the Client-Server type of network has many advantages, there are some disadvantages that you should be aware of.
The cost of this type of network is relatively high up front, not only must you purchase the server hardware, but most server software is very expensive, especially for larger networks since some software companies charge more for each client computer that will connect to the main server (although there are cheaper alternatives). Once the network is in place however, it is relatively easy to justify the cost since the overall cost to maintain the network becomes less expensive.
Another downside to consider is the possibility of the main server having problems. How fast must you have the network working again? If you need 24x7 operability, you should allow in your budget a second "redundant" server, so if the main server goes down, the redundant server will step in and provide services until the primary server is back up again. An experienced administrator should be able to setup redundant servers that will assume control of failing servers without user intervention.
Final Words on Client-Server Networks
The Client-Server network model provides important services to the network safely and securely, it also allows the convenience of allowing the users to work on their own workstation machine. However, this network model can be very expensive, not only because the software can be expensive, but you also must provide adequate hardware for both the servers and the individual workstation machines, which can become very expensive with revolving hardware updates.
If you have the funds to implement this type of network, the return on the investment is great, and you will have the knowledge that your network is well secured and archived.
Overview of Application-Server Networks
The final network type that I am going to cover is the Application Server based Networks, sometimes called Terminal Server based. The idea behind this type of network is that you basically have one high-end server or mainframe, and all the network clients are "dumb terminals", meaning that none of the processing is actually done on the terminals, instead the only job the terminals have is to provide input and show the display on the monitor.
Most people equate application servers to the very old text-only terminals with no pointing devices. Today application servers are very modern, and most people running on a "dumb terminal" will think they are working on a modern standalone computer.
An Example of an Application-Server Network
I will use a Metropolitan Library located in a three story building, with 20 terminal computers on each floor as an example.
Each floor has its own Application Server running a version of Linux. Each application server has basic user applications, such as Internet Browser, Word Processor, Spreadsheet Program, Email Application, Image Manipulation Program, as well as all the basic applications you should find on a computer. Each Application Server serves applications to 20 different terminals, which are older donated computers. Each terminal has the ability to run all of the above applications, print to any of the printers on each floor and has access to the main card catalog through a web-based interface.
If one of the Application Servers goes down, the network is configured so that the terminals will log into one of the other floors servers until the computer is repaired. If a terminal goes down, a replacement terminal can be installed with no downtime for the entire network, with no information loss.
All the Application Servers also share a single /home directory from a separate File Server, which allows the library the ability to offer an individual login name, email account and individual storage for a small charge. Along with the login name, email account and storage, the patron also has the ability to access any files he may have saved on the file server through a secure FTP server.
The Application Servers would cost the library roughly a total of $6000 ($2000 for each of them), the firewall costs $200, the file server $1000, (all including setup fees) and all of the terminal servers were old donated computers. In total the library offers to the public 60 different terminals, individual email accounts, and limited individual Internet storage, all for a total cost of $7,200 (not including network wiring) or $120 for each terminal, including software.
Benefits of Application-Server Networks
The biggest benefit that this type of network provides is cost. It is very cheap to implement and maintain an Application Server based network. The only high end component you need is a high quality server computer with lots and lots of memory. As for the terminals, they can be purchased very cheaply, or one could even use old 486 and Pentium computers and not notice any slowdown.
The maintenance of this type of network is also very low cost, since you basically only need to maintain the one or two servers that provide the applications. Also, to lower the cost even more, you can install and use commodity software, such as Linux or BSD Unix, which can be obtained with little or no cost.
The Downsides of Application-Server Networks
The downside to running all of the clients on one server is, of course, what happens when the server goes down. This of course is a huge disadvantage, but one that can be overcome with installing a second or even third Application Server to the network. Which would also spread out the connections across the servers, so that the performance would not diminish as much when more and more users access the servers.
Another downside is the fact that most Proprietary Software packages are licensed, and most will not allow you to run the software on Application Servers without a substantial monetary investment. You can combat this cost by sticking with Open Source variants of commodity software, such as Word Processors, Web Browsers and Email Applications, and use standalone computers for the specialized software such as accounting software.
Final Words on Application-Server Networks
Even though not every software package will allow you to run it off of an Application Server, the price benefits can be astounding when this type of network is Implemented. If you need to provide public access to computers, or have separate departments that only need to use word processing, spreadsheets, and email, an Application Server could literally save you tens of thousands of dollars, even on a smaller network of 10-20 computers.