Client vs. Server and P2P
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.
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.
When connecting to NC State’s network, your computer making the connection is the client and the AFS file system acts as the server.
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.
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.