Tabla de Contenido
Modelo Cliente-Servidor
No tópico anterior, você aprendeu que os protocolos da camada de aplicativo TCP / IP implementados no host de origem e de destino devem ser compatíveis. Neste tópico, você aprenderá sobre o modelo cliente / servidor e os processos usados, que estão na camada de aplicativo. O mesmo é verdadeiro para uma rede ponto a ponto. No modelo cliente / servidor, o dispositivo que solicita as informações é chamado de cliente e o dispositivo que responde à solicitação é chamado de servidor. O cliente é uma combinação de hardware / software que as pessoas usam para acessar diretamente os recursos armazenados no servidor.
Os processos de cliente e servidor são considerados na camada de aplicativo. O cliente começa a troca solicitando dados do servidor, que responde enviando um ou mais fluxos de dados ao cliente. Os protocolos da camada de aplicação descrevem o formato das solicitações e respostas entre clientes e servidores. Além da transferência real de dados, essa troca também pode exigir a autenticação do usuário e a identificação de um arquivo de dados a ser transferido.
Um exemplo de rede cliente / servidor é usar o serviço de e-mail de um ISP para enviar, receber e armazenar e-mail. O cliente de e-mail em um computador doméstico emite uma solicitação ao servidor de e-mail do ISP para qualquer mensagem não lida. O servidor responde enviando o e-mail solicitado ao cliente. A transferência de dados de um cliente para um servidor é conhecida como upload e os dados de um servidor para um cliente como download.
Conforme mostrado na figura, os arquivos são baixados do servidor para o cliente.
Redes Peer-to-Peer
No modelo de rede ponto a ponto (P2P), os dados são acessados a partir de um dispositivo ponto a ponto sem o uso de um servidor dedicado.
O modelo de rede P2P envolve duas partes: redes P2P e aplicativos P2P. Ambas as partes têm recursos semelhantes, mas na prática funcionam de forma bastante diferente.
Em uma rede P2P, dois ou mais computadores são conectados por meio de uma rede e podem compartilhar recursos (como impressoras e arquivos) sem ter um servidor dedicado. Cada dispositivo final conectado (conhecido como peer) pode funcionar como servidor e cliente. Um computador pode assumir a função de servidor para uma transação e, ao mesmo tempo, servir como cliente para outra. As funções de cliente e servidor são definidas de acordo com a solicitação.
Além de compartilhar arquivos, uma rede como esta permitiria aos usuários habilitar jogos em rede ou compartilhar uma conexão com a Internet.
Em uma troca ponto a ponto, os dois dispositivos são considerados iguais no processo de comunicação. O Ponto 1 possui arquivos que são compartilhados com o Ponto 2 e podem acessar a impressora compartilhada que está diretamente conectada ao Ponto 2 para imprimir arquivos. O ponto 2 está compartilhando a impressora conectada diretamente com o ponto 1 enquanto acessa os arquivos compartilhados no ponto 1, conforme mostrado na figura.
Aplicativos ponto a ponto
Uma aplicação P2P permite que um dispositivo atue tanto como cliente quanto como servidor na mesma comunicação, conforme mostrado na figura. Nesse modelo, todo cliente é um servidor e todo servidor é um cliente. Os aplicativos P2P exigem que cada dispositivo final forneça uma interface de usuário e execute um serviço em segundo plano.
Alguns aplicativos P2P usam um sistema híbrido em que o compartilhamento de recursos é descentralizado, mas os índices que apontam para localizações de recursos são armazenados em um diretório centralizado. Em um sistema híbrido, cada par acessa um servidor de indexação para obter a localização de um recurso armazenado em outro par.
Ambos os clientes iniciam e recebem mensagens simultaneamente.
Aplicativos P2P comuns
Com os aplicativos P2P, cada computador da rede que está executando o aplicativo pode atuar como cliente ou servidor para os outros computadores da rede que também estão executando o aplicativo. As redes P2P comuns incluem o seguinte:
- BitTorrent
- Conexão direta
- eDonkey
- Freenet
Algumas aplicações P2P são baseadas no protocolo Gnutella, onde cada usuário compartilha arquivos inteiros com outros usuários. Conforme mostrado na figura, o software cliente compatível com Gnutella permite que os usuários se conectem aos serviços Gnutella pela Internet e localizem e acessem recursos compartilhados por outros pares Gnutella. Muitos aplicativos clientes Gnutella estão disponíveis, incluindo μTorrent, BitComet, DC ++, Deluge e emule.
Os aplicativos Gnutella P2P procuram recursos compartilhados em vários pares.
Muitos aplicativos P2P permitem que os usuários compartilhem partes de muitos arquivos uns com os outros ao mesmo tempo. Os clientes usam um arquivo torrent para localizar outros usuários que possuem partes de que precisam para que possam se conectar diretamente a elas. Este arquivo também contém informações sobre computadores rastreadores que controlam quais usuários possuem partes específicas de certos arquivos. Os clientes pedem peças de vários usuários ao mesmo tempo. Isso é conhecido como um enxame e a tecnologia é chamada de BitTorrent. BitTorrent possui seu próprio cliente. Mas existem muitos outros clientes BitTorrent, incluindo uTorrent, Deluge e qBittorrent.
Nota: Qualquer tipo de arquivo pode ser compartilhado entre usuários. Muitos desses arquivos são protegidos por direitos autorais, o que significa que apenas o criador tem o direito de usá-los e distribuí-los. É contra a lei baixar ou distribuir arquivos protegidos por direitos autorais sem a permissão do detentor dos direitos autorais. A violação de direitos autorais pode resultar em acusações criminais e processos civis.