A arquitetura cliente servidor é uma arquitetura de aplicação distribuída, ou seja, na rede existem os fornecedores de recursos ou serviços a rede, que são chamados de servidores, e existem os requerentes dos recursos ou serviços, denominados clientes.
O cliente não compartilha nenhum de seus recursos com o servidor, mas no entanto ele solicita alguma função do servidor, sendo ele, o cliente, responsável por iniciar a comunicação com o servidor, enquanto o mesmo aguarda requisições de entrada.
Visto que a capacidade de oferecer serviços ou recursos fica centralizada na figura do servidor, surge um problema, o que fazer quando o número de requisições dos clientes ultrapassa a capacidade computacional do servidor?
Essa pergunta não tem uma resposta de alta eficiência para aplicações em redes de computadores. A sobrecarga de servidores é um problema real apesar de a capacidade dos servidores ter aumentado consideravelmente na última década.
Além do fato de algumas requisições não serem atendidas, pela sobrecarga do servidor, no modelo cliente servidor, ainda há o fato de que o modelo não é robusto, ou seja, se um servidor crítico falha, os requisições já feitas pelos clientes, não poderão ser atendidas.
Esse motivos são a base para a concepção das redes Peer-to-peer.
As redes Par-a-Par, do ingês,Peer-to-peer (sigla P2P),surgem como uma proposta de descentralização do monopólio de processamento funcional. fazendo com que sistemas sirvam a outros sistemas, dando a cada estação as mesmas responsabilidades e capacidades dentro da rede.
Dave Winer da UserLand Software sugere que os sistemas P2P envolvam as seguintes características.