The Difference Between Peer-to-Peer and Client/Server Networksby Warren Davies
A client/server computer network is one which has a centralized infrastructure – one computer, called the “server,” acts as go-between for all other computers, which are called “clients.” The server can share its resources with clients, but clients do not share their resources such as -- computing power or hard drive space -- with the network. A peer-to-peer network – not to be confused with peer-to-peer file sharing through torrents and the like – is one in which there is no central server. All computers are connected and each can act as the server or client to another. The computers all share resources with each other such as computer processing or hard drive space.
The client/server network is far more secure than the peer-to-peer approach. This is due to the server, which can authenticate a client's access to any other part of the network. Think of it like security at the entrance to a building – you show your pass to the guard and he opens whichever doors you're authorized to enter. In a peer-to-peer network, everyone is a guard and has the master key to any other area – this is fine if all guards know and trust each other but becomes more problematic as the number of clients increases.
If you have a large number of clients in a peer-to-peer network, you're going to experience performance problems. This could happen with as few as 10 clients, depending on the power of the computers. The client/server arrangement lacks this problem for two main reasons; firstly, the server does a lot of the heavy lifting, and secondly clients aren't required to share their computing power. Also, since all resources are shared on peer-to-peer, there's more chance of someone accidentally breaking something required by another person.
A client/server network is necessarily more expensive. An additional computer is required to act as the server and because of the extra computing power a server requires, you'll need a high-performance machine. In addition, you'll need dedicated software to run the network such as Windows Server 2008 or some form of Unix or Linux. If you're unfamiliar with the software, you may also have to pay professionals to fix problems that arise. Peer-to-peer networks, lacking a dedicated server, sidestep all of these costs.
If you're setting up a home network or a small business network with only a few clients and devices, you have no need for the extra power that a central server provides -- you might as well save your money. However, if you have a large network or need higher security -- for example if a lot of people you don't know will be using the network -- the client/server architecture is for you.