Redes P2P
Fato é que até algum tempo atrás década de 90, tinhamos importantes aplicações cliente/servidor (e-mail, DNS etc) que possuiam uma dependência significativa de servidores com infraestrutura que sempre permanecessem ligados.
Foi elaborado então uma arquitetura cuja a conexão entre os pontos (computadores) fossem feitas diretamente, cuaj dependência de servidores com infraestrutura e ligados fosse mínima ou menhuma. Ao invés disso, duplas de pontos (computadores) manteriam uma comunicação intermitantimente (chamados pares) conectados entre si, cujo controle fosse feito diretamente por meio de laptops e desktops, através de seus usuários.
DHT
É uma aplicação voltada a um banco de dados, distribuida a uma grande comunidade de pares.
A Necessidade do DHT
Uma situação crítica de muitas aplicações P2P e outras aplicações distribuídas é um indice (ou seja, um banco de dados simples), que suporta operações de busca e atualização. Supomos que inicie-se a construção de um banco de dados com pares (chave,valor), cujas chaves podem ser números inteiros e o valor um nome que corresponda. (Ex: 1556, Djavan), ou mesmo IP’s como chaves, e o valor um album de música ou vídeio. Ao consultar uma determinada chave, o banco de dados retornar com um valor. no banco de dados. A Questão que no P2P essas duplas são distribuidas entre todos os pares, de forma que cada par tenha apenas um pequeno subconjunto da totalidade dos pares (chave,valor)... Sim isso é tudo muito bonito quando temos algumas centenas de pares e não quando temos milhoes deles, visto que cada par teria que rastrear todos os outros pares e pior, enviar cada solicitação a todos os pares.
Daí veio a solução de designar um identificador (ID) a cada par, cuja faixa de numeração seja padrão com os números designados para os valores. Assim teremos uma rede mais inteligente onde cada ponto consulta seu sucessor e antecessor identificado, realizando uma operação de muitos para um, onde todos