By using Local Area Network
(LAN) and Wide Area Network (WAN) technologies, many computers are interconnected to
provide services to their users. In providing services, networked
computers take on different roles or functions in relation to each
other. Some types of applications require computers to function as
equal partners. Other types of applications distribute work so that
one computer functions to serve a number of others in an unequal
relationship. In either case, two computers typically communicate with
each other by using request/response protocols. One computer issues a
request for a service, and a second computer receives and responds to
that request. The requester takes on the role of a client, and the
responder takes on the role of a server.
In a peer-to-peer network, the networked computers act as equal
partners, or peers, to each other. As peers, each computer can
take on the client function or the server function alternately. At
one time computer A, for example, may make a request for a file
from computer B, which responds by serving the file to computer A.
Computer A functions as client, while B functions as the server.
At a later time, computers A and B can reverse roles. Computer B
could be the client, making a request of A, and A, as server,
responds to B's request. Computers A and B stand in a reciprocal,
or peer, relationship to each other.
In a peer-to-peer network, individual users control their own
resources. They may decide to share certain files with other users
and may require passwords before they allow others to access their
resources. Since individual users make these decisions, there is
no central point of control or administration in the network. In
addition, individual users must back up their own systems to be
able to recover from data loss in case of failures. When a
computer acts as a server, the user of that machine may experience
reduced performance as the machine serves the requests made by
other systems.
Peer-to-peer networks are relatively easy to install and
operate. No additional equipment is necessary beyond a suitable
operating system in each computer. Since users control their own
resources, no dedicated administrators are needed. A peer-to-peer
network works well with a small number of computers, perhaps 10 or
fewer.
As networks grow larger, peer-to-peer relationships become
increasingly difficult to coordinate. They do not scale well,
since their efficiency decreases rapidly as the number of
computers on the network increases. Since individual users control
access to the resources on their computers, security may be
difficult to maintain. Client/server networks address these
limitations of the peer-to-peer arrangement.