Postagens

Mostrando postagens de agosto, 2025

Caça-Palavra: O que é uma rede?

Rede de computadores é a interconexão de computadores e equipamentos que usa fios ou ondas de rádio para compartilhar dados e recursos. Para que serve uma rede? Objetivos típicos de redes de computadores       – Compartilhamento de recursos (disco, impressora, etc.)       – Acesso a informações remotas       – Comunicação entre pessoas Como se conectam os dispositivos? • Dispositivos em rede se conectam através de enlaces       – Existem enlaces com fio e enlaces sem fio       – Enlaces possuem diferentes capacidades, dependendo do tipo • Tipos de conexão       – Ponto a ponto       – Multiponto Caça-Palavras Carregando…

Estudo de caso: telefonia por Internet P2P com Skype

O Skype é uma aplicação P2P imensamente popular, muitas vezes com sete ou oito milhões de usuários conectados simultaneamente. Além de fornecer serviço de telefonia PC para PC na Internet, o Skype oferece serviço de telefonia PC-para-telefone, telefone-para-PC e serviço de videoconferência PC-a-PC. Fundado pelos mesmos indivíduos que criaram o FastTrack e o Kazaa, o Skype foi adquirido pelo eBay em 2005 por US$ 2,6 bilhões. O Skype usa técnicas P2P de diversas maneiras inovadoras, ilustrando de uma boa maneira como o P2P pode ser usado em aplicações que vão além da distribuição de conteúdo e compartilhamento de arquivos. Assim como com programas de mensagens instantâneas, a telefonia PC-para-PC na Internet é inerentemente P2P, visto que, no núcleo do aplicações, duplas de usuários (ou seja, pares) comunicam-se entre si em tempo real. Porém, o Skype também emprega técnicas P2P para duas outras funções importantes, que são localização de usuário e NAT traversal. Os protocolos do Skype nã...

Peer churn

Imagem
Em sistemas P2P, um par pode vir ou ir sem aviso. Assim, no projeto de um DHT, devemos nos preocupar em manter a sobreposição de DHT na presença desse peer churn. Para termos uma compreensão abrangente de como isso pode ser realizado, consideraremos mais uma vez o DHT circular da Figura 2.27(a).  Para manejar o peer churn, exigiremos que cada par rastreie (ou seja, saiba o endereço IP de) seu primeiro e segundo sucessores; por exemplo, o par 4 agora rastreia tanto o par 5 como o par 8. Exigiremos também que cada par verifique periodicamente se seus dois sucessores estão vivos (por exemplo, enviando periodicamente mensagens de ping e pedindo respostas). Consideraremos agora como o DHT é mantido quando um par sai abruptamente. Por exemplo, suponha que o par 5 da Figura 2.27(a) saia abruptamente.  Nesse caso, os dois pares precedentes ao par que saiu (4 e 3) saberão que o par saiu, pois não responde mais às mensagens de ping. Os pares 4 e 3 precisam, portanto, atualizar as inform...

DHT circular

Imagem
Consideraremos agora organizar os pares em um círculo. Nessa disposição circular, cada par rastreia apenas seu sucessor imediato (módulo 2n ). Um exemplo desse círculo é exibido na Figura 2.27(a). Nesse exemplo, n é novamente 4 e há os mesmos oito pares do exemplo anterior. Cada par está ciente apenas de seu sucessor imediato; por exemplo, o par 5 sabe o endereço IP e o identificador do par 8, mas não sabe necessariamente nada sobre quaisquer outros pares no DHT. Essa disposição circular dos pares é um caso especial de uma rede sobreposta. Em uma rede sobreposta, os pares formam uma rede lógica abstrata que reside acima da rede de computadores “inferior” que consiste de enlaces físicos, roteadores e hospedeiros. Os enlaces em uma rede sobreposta não são físicos, mas enlaces virtuais entre duplas de pares. Na rede de sobreposição da Figura 2.27(a), há oito pares e oito enlaces sobrepostos; na sobreposição da Figura 2.27(b) há oito pares e 16 enlaces sobrepostos. Um único enlace de sobre...

Distributed Hash Tables (DHTs)

Imagem
Um componente crítico de muitas aplicações P2P e outras aplicações distribuídas é um índice (ou seja, um banco de dados simples), que suporta operações de busca e atualização. Quando esse banco de dados é distribuído, os pares podem realizar caching de conteúdo e roteamento sofisticado de consultas entre si. Como a indexação e busca de informações são um componente crítico nesses sistemas, cobriremos uma técnica popular de indexação e busca, Distributed Hash Tables (DHTs). Consideremos assim a construção de um banco de dados simples distribuído em um grande número (possivelmente milhões) de pares que suportam indexação e solicitação simples. As informações armazenadas em nosso banco de dados consistirão de duplas (chave, valor). Por exemplo, as chaves podem ser números de seguridade social e os valores podem ser nomes humanos correspondentes; nesse caso, um exemplo de dupla chave-valor é (156-45-7081, Johnny Wu). Ou as duplas podem ser nomes de conteúdo (ex.: nomes de filmes, álbuns e ...

BitTorrent

Imagem
O BitTorrent é um protocolo P2P popular para distribuição de arquivos [BitTorrent, 2009]. No jargão do BitTorrent, a coleção de todos os pares que participam da distribuição de um determinado arquivo é chamada de torrent. Os pares em um torrent fazem o download de blocos de tamanho igual do arquivo entre si, com um tamanho típico de bloco de 256 KBytes. Quando um par entra em um torrent, ele não tem nenhum bloco. Com o tempo, ele acumula mais blocos. Enquanto ele faz o download de blocos, faz também uploads de blocos para outros pares. Uma vez que um par adquire todo o arquivo, ele pode (de forma egoísta) sair do torrent ou (de forma altruísta) permanecer no torrent e continuar fazendo o upload de blocos a outros pares. Além disso, qualquer par pode sair do torrent a qualquer momento com apenas um subconjunto de blocos, e depois voltar. Observemos agora, mais atentamente, como opera o BitTorrent. Como o BitTorrent é um protocolo e sistema complicado, descreveremos apenas seus mecan...

Distribuição de arquivos P2P

Imagem
Começaremos nossa investida em P2P considerando uma aplicação bastante natural, ou seja, a distribuição de um grande arquivo a partir de um único servidor a um grande número de hospedeiros (chamados pares). O arquivo pode ser uma nova versão do sistema operacional Linux, um patch de software para um sistema operacional ou aplicação existente, um arquivo de música MP3 ou um arquivo de vídeo MPEG. Em uma distribuição de arquivo cliente-servidor, o servidor deve enviar uma cópia do arquivo para cada um dos pares — colocando um enorme fardo sobre o servidor e consumindo uma grande quantidade de banda do servidor. Na distribuição de arquivos P2P, cada par pode redistribuir qualquer parte do arquivo que recebeu para outros pares, auxiliando, assim, o servidor no processo de distribuição. Atualmente (outono [Nos EUA] de 2009), o protocolo de distribuição de arquivos P2P mais popular é o BitTorrent [BitTorrent, 2009]. Originalmente desenvolvido por Bram Cohen (consulte a entrevista com Bram Co...