Arquiteturas de Aplicação em Redes: Cliente-Servidor e P2P



Neste tutorial de nossa Apostila de Redes, iremos aprender sobre as principais arquiteturas de aplicações de uma rede: a arquitetura Cliente e Servidor, e a arquitetura do tipo P2P (peer-to-peer).

Quando você se tornar um profissional de redes e desenvolver aplicações (como sites, redes sociais, jogos, serviços etc), provavelmente vai ter que optar por uma dessas duas arquiteturas de aplicação de uma rede, por isso seu entendimento é essencial.

Arquitetura de Aplicação do tipo Cliente e Servidor


Como o nome diz, o servidor serve para simplesmente 'servir', ou seja, atender algo.
No caso, o servidor é um sistema final que visa prestar algum tipo de serviço para outro sistema final.

A função de um servidor é, basicamente, atender aos pedidos dos clientes.
É importante que o servidor esteja sempre em funcionamento e que tenha um endereço fixo na rede (chamado de IP), para ser sempre 'encontrado' no mesmo endereço.

Já os clientes são os sistemas que vão solicitar serviços, como pedir para ver o conteúdo de um site ou receber um vídeo do Youtube. Os clientes não costumam ficar sempre conectados e podem ter IP dinâmico (ou seja, muda a cada vez que se conecta na Internet).

Exemplo clássico de uma atividade que exige uma arquitetura do tipo cliente-servidor, é você acessar um site, como o globo.com .

Cliente-Servidor: Apostila de Redes para download
Você é o cliente, e ao digitar o endereço do site e dar enter, seu browser vai enviar uma solicitação:
"Hey, servidor da globo! Estou querendo ver seu site, me envie os dados!"
Então, os servidores da Globo vão lá e te enviam os textos, imagens, animações etc.

Obviamente, o servidor deve ser capaz de dar conta de atender a vários clientes, e ao mesmo tempo, daí a necessidade de estar sempre funcionando e em endereço (IP) fixo.
E esses clientes não conversam e se conectam diretamente um ao outro.

Arquitetura de Aplicação do tipo P2P (peer-to-peer)

Arquitetura P2P - Apostila de Redes Grátis para Download
Ao contrário da arquitetura cliente-servidor, a arquitetura P2P (do inglês peer-to-peer), não exige que nenhum sistema fique sempre em funcionamento, muito menos com um endereço fixo.

Nessa arquitetura, ao invés de termos cliente e servidor, temos pares iguais, dois sistemas iguais onde não há um típico servidor nem um típico cliente. É a arquitetura par-a-par (peer-to-peer, em inglês, cuja gíria é P2P).

Os pares se conectam e trocam informações diretamente, sem a intervenção de um servidor.



Exemplos clássicos de aplicações que usam a arquitetura P2P são os programas de torrent, onde diversos usuários ficam trocando arquivos entre si. Você recebe diretamente os arquivos de outros usuários, e manda pra eles diretamente também.

Outro exemplo são programas de VoIP, como o Skype.

Nesse tipo de arquitetura, não há garantia que vai sempre ter um sistema final funcionando como servidor. Pode ocorrer de outras máquinas (usuários comuns) desligarem e você não receber dados de ninguém.

Nenhum comentário:

Tutoriais de Programação