Client vs. Server and P2P

Classic

Server

A server is a powerful computer dedicated to managing virtual resources. The server’s only task is to control access to, and distribute, information. One example of a server is a web server, which is responsible for holding web page content and delivering it to a requesting agent. In addition to web servers, other types of servers manage databases, files, applications, e-mail, and printers or other shared components.

Client

A client is the requesting agent that interacts with a server. A client can be a PC or workstation, or a server requesting information from a different server. The client relies on the information or resources that the server provides in order to complete its task.

Example:

When connecting to NC State’s network, your computer making the connection is the client and the AFS file system acts as the server.

P2P Relationship

A different method for requesting and distributing virtual resources is known as Peer-to-Peer (P2P). In this model, one machine can act as both client and server in relation to another machine. This is typically accomplished by a custom piece of software that can perform both roles, determining which is necessary for a given task. P2P implementation relies on centralized data to establish a connection to other computers, without the use of a central server for the connection.

Example:

BitTorrent is an example of a P2P relationship. Use of BitTorrent for copyrighted materials is illegal; however, it does have some legal applications such as OpenOffice and other open source freeware. BitTorrent is a program that initiates the P2P relationship by linking users seeking open source freeware to a distributing server and linking users uploading applications to clients.