Understanding the differences between client/server and peer-to-peer networks


If you work with computers long enough, sooner or later you’ll hear the terms “client/server” and “peer-to-peer.” These terms may seem strange at first, but each describes a particular networking architecture. And each architecture is more suitable for certain types of businesses. In this article, I’ll explore the differences between client/server and peer-to-peer networks. What’s the difference? There’s a huge difference between client/server and peer-to-peer networks. For instance, a peer-to-peer network has no central server. Each workstation on the network shares its files equally with the others. There’s no central storage or authentication of users. Conversely, there are separate dedicated servers and clients in a client/server network. Through client workstations, users can access most files, which are generally stored on the server. The server will determine which users can access the files on the network. Peer-to-peer networks should be installed in homes or in very small businesses where employees interact regularly. They are inexpensive to set up (comparatively speaking); however, they offer almost no security. On the other hand, client/server networks can become as big as you need them to be. Some support millions of users and offer elaborate security measures. As you can imagine, client/server networks can become very expensive. Peer-to-peer networks Peer-to-peer networks are appropriate only for very small businesses or for home use. A peer-to-peer network can support about ten clients (workstations) before it begins to suffer from some serious performance and management problems. Usually, peer-to-peer networks are composed of a collection of clients that run either Windows NT Workstation or Windows 98. Windows 3.11, Windows 95, and Windows 2000 Professional also support peer-to-peer networking. The concept behind peer-to-peer networking is to share files and printers as inexpensively as possible; therefore, there’s no main server on the network. Instead, each client functions both as a client and as a server simultaneously. Since users are allowed to control access to the resources on their own computers, however, security becomes very risky in a peer-to-peer environment. There’s no central security or any way to control who shares what. Users are free to create any network share points on their computers. The only security on a peer-to-peer network is at the share level. When users create network shares, they may implement no security, which means that anyone can have full access to the share, or they may assign a password to the share. Depending on which networking platform you use, a user may be able to assign one password to a share for read-only access and another password for full control over the share. Although this arrangement may sound somewhat secure, it isn’t. The computer that contains the shared resources doesn’t check on who’s trying to access those resources. Any user can access them as long as the user knows the password. If someone happens to write down a password, anyone who finds that password can access the share. Client/server networks There are an almost infinite variety of client/server networks, but all of them have a couple of things in common. For one thing, all have centralized security databases that control access to shared resources on servers. In the world of Windows, the server usually runs NetWare, Windows NT, or one of the Windows 2000 Server products. The server contains a list of usernames and passwords. Users can’t log on to the network unless they supply valid usernames and passwords to the server. Once logged on, users may access only those resources that the network administrator allows them to access. Thus, client/server networks possess much more security than do peer-to-peer networks. Client/server networks also tend to be much more stable. In a peer-to-peer network, certain shared resources reside on each user’s machine. If users decide to monkey around and crash their computers, they could seriously affect their peer-to-peer network (where coworkers depend on resources that reside on other users’ machines). On most client/server networks, however, shared resources reside on the server, where they’re safe from curious users. If a user happens to erase a shared resource from the server, you can rely on the nightly backup. (It’s very difficult to back up a peer-to-peer network every night.) The primary downside to a client/server network is its cost. Servers can become very expensive. For example, you could pay over $800 for a copy of Windows NT Server and five client licenses, and that price doesn’t even include the cost of the hardware, which must be more powerful than a standard workstation. Additionally, client/server networks require an employee to manage them. Unless you have someone in your office who’s trained in NetWare or Windows NT Server and in all of the issues that are involved in client/server networking, you’ll have to hire someone from the outside. And believe me when I say that qualified networking professionals don’t come cheap. Conclusion If you can afford it and if you have a qualified person to manage it, a client/server network is going to be your best bet. If you have only three employees who share a printer and occasional files, however, there’s absolutely nothing wrong with setting up a simple peer-to-peer networking environment. What’s best for you will depend on your budget and the size of your office. Brien M. Posey is an MCSE who works as a freelance technical writer and as a network engineer for the Department of Defense. If you’d like to contact Brien, send him an e-mail. (Because of the large volume of e-mail he receives, it's impossible for him to respond to every message. However, he does read them all.) The authors and editors have taken care in preparation of the content contained herein, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.