PEER-TO-PEER (P2P) technology is heavily used for content distribution applications. The early model for content distribution is a centralized one, in which the service provider simply sets up a server and every user downloads files from it. In this type of network architecture (server-client), many users have to compete for limited resources in terms of bottleneck bandwidth or processing power of a single server. As a result, each user may receive very good performance. P2P technology tries to solve the issue of scalability by making the system distributed.
Each computer (peer) in the network can act as both a server and a client at the same time. It is obvious that as time goes on, the service capacity of the entire network will increase due to the increase in the number of servicing peers. In other words, users of a P2P network should enjoy much faster downloads.