Redes Avançadas Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo - P2P Redes Avançadas – Prof. Mateus Raeder P2P • Se todos os hosts (máquinas da rede) fizessem o papel de servidor e de cliente, evoluiríamos para uma arquitetura peer-to-peer (P2P) – Máquinas individuais podem fornecer serviços a outras • Não depende de servidor central – Elimina problemas de falha de serviço Redes Avançadas – Prof. Mateus Raeder P2P • Então: o que são sistemas P2P? – Sistemas distribuídos sem uma organização hierárquica e tampouco centralizado • Cada usuário (cada cliente, máquina) participa em troca de fornecer acesso a recursos que ele dispõe • Como o P2P ganhou fama? – Distribuição ilegal de arquivos Redes Avançadas – Prof. Mateus Raeder P2P • Algumas características: – – – – – Não tem coordenação central Banco de dados (?) Sem gargalos Dados acessíveis por todos os componentes da rede Cooperação é possível sem custos adicionais de hardware para adição de servidores para coordenação • São redes virtuais que funcionam na Internet com o objetivo de permitir o compartilhamento de recursos entre os participantes Redes Avançadas – Prof. Mateus Raeder P2P • Modelos de arquitetura – Descentralizada: • Não há um ponto central, cada nó tem o mesmo nível • Todos os nós compartilham e gerenciam os recursos e tráfego – Semicentralizada: • Há um nó central para informações de controle (normalmente para controle de tráfego) • Ou um conjunto de super-nós que fazem esta função (a queda de um destes super-nós afeta somente os inferiores diretamente ligados a eles • Os demais nós são autônomos e equivalentes Redes Avançadas – Prof. Mateus Raeder P2P • Outra classificação utilizada é quanto a busca: centralizada, inundação e hash distribuída: – Busca centralizada • Na rede, existe um ponto central de buscas. Os nós, então, “perguntam” a este centralizador onde existe a informação desejada. Após esta busca, o centralizador informa o local, e a comunicação peer to peer é realizada. – Por ser centralizado, é passível de falhas – Desempenho baixo, devido a diversas consultas realizadas a um mesmo servidor – É de fácil implementação Redes Avançadas – Prof. Mateus Raeder P2P • Outra classificação utilizada é quanto a busca: centralizada, inundação e hash distribuída: – Inundação • Os nós são totalmente independentes. A busca, então, é realizada somente com os nós vizinhos. • Mas por que inundação? – Pois os nós que não possuem os dados da busca, realizam outra busca nos seus nós vizinhos, e assim sucessivamente – Assim, traz a idéia de uma inundação de buscas pelos peers – Quando a informação for encontrada, o local desta informação é repassado ao originador da busca – Possui controle de TTL (time to live) da busca Redes Avançadas – Prof. Mateus Raeder P2P • Outra classificação utilizada é quanto a busca: centralizada, inundação e hash distribuída: – Tabela Hash Distribuída (DHT) • Identificadores são atribuídos de acordo com uma determinada função hash. A idéia é mapear de maneira única todos os objetos e os nós. O hash é distribuído entre os peers. • As tabelas hash são utilizadas para separar o espaço de buscas. • Assim, quando uma consulta é realizada, a chave é consultada e a busca é repassada para o nós responsável, que saberá o caminho para o local da informação Redes Avançadas – Prof. Mateus Raeder P2P • Principais classes de aplicações P2P – Mensagem instantânea • Possibilidade de poder enviar uma mensagem em tempo real pela internet (IM – Instant Messaging) – Compartilhamento de arquivo • Transferir arquivos entre os hosts – Computação distribuída • Utilização de recursos computacionais ociosos – Trabalhos colaborativos • Melhorar a produtividade de grupos que possuem interesses em comum Redes Avançadas – Prof. Mateus Raeder P2P • Aplicações encontradas – Mensagens instantêneas: • • • • • • • • • ICQ MSN Skype K-Lite Pichat Pidgin Usenet P2P Messenger SOULSEEK • UfaSoft P2P Instant Messenger Redes Avançadas – Prof. Mateus Raeder P2P • Aplicações encontradas – Compartilhamento de arquivos • • • • • • • • • LimeWire Emule BearShare Kazaa Pichat Gnutella Deluge qBittorrent BitComet • Azureus • Utorrent • Ares Galaxy • Kademlia • SOULSEEK • YaCy • FastTrack • BitTorrent Redes Avançadas – Prof. Mateus Raeder P2P • Aplicações encontradas – Computação distribuída • • • • • SETI@Home (Search for Extraterrestrial Intelligence) Folding@home World Community Grid OurGrid DNS Redes Avançadas – Prof. Mateus Raeder P2P • Aplicações encontradas – Trabalhos colaborativos • • • • Redes Avançadas – Prof. Mateus Raeder P2P • Aplicação de trabalho colaborativo – Aplicações deste gênero são conhecidas como groupware application – É um software que suporta diversos pontos, tais como: • • • • • • • Comunicação e coordenação de usuários E-mail Calendário Espaço de trabalho Listas de discussão Gerência de documentos Vídeo conferência Redes Avançadas – Prof. Mateus Raeder P2P • Exemplo de aplicação de trabalho colaborativo – – – – – Lotus Notes Microsoft NetMeeting Groove Ikimbo Consilient Redes Avançadas – Prof. Mateus Raeder P2P • Qual a diferença entre uma abordagem P2P e uma Fim-a-fim? – Uma configuração ponto-a-ponto (P2P) trata-se da ligação entre dois nós em uma determinada rede – Já fim-a-fim, refere-se à abordagem na qual uma aplicação se comunica diretamente com outra, podendo estarem em uma rede P2P ou não Redes Avançadas – Prof. Mateus Raeder IPv6 (continuação) Redes Avançadas – Prof. Mateus Raeder IPv6 • O que já vimos sobre IPv6 – Vantagens sobre IPv4 – Cabeçalho IPv6 • Campos que foram alterados • Campos que foram excluídos • Campos que foram adicionados – Endereçamento • Quantidade de bits para endereçamento • Forma de endereçamento • Formas de representação do endereço Redes Avançadas – Prof. Mateus Raeder ICMPv6 • ICMPv6 – Possui as mesmas funções básicas do ICMPv4 • Informar características da rede • Diagnósticos • Informar erros no processamento e envio dos pacotes – Dois tipos (classes) de mensagens • Mensagens de informação • Mensagens de erro Redes Avançadas – Prof. Mateus Raeder ICMPv6 • O cabeçalho ICMPv6 é precedido pelos cabeçalhos de extensão (se houver) e pelo cabeçalho base do IPv6 Cabeçalho Base IPv6 Cabeçalhos de extensão Próximo cabeçalho: 58 Informa que após o cabeçalho existe um cabeçalho ICMP Cabeçalho ICMPv6 Redes Avançadas – Prof. Mateus Raeder ICMPv6 • Cabeçalho ICMP Código: fornece informações adicionais para alguns tipos de mensagens. Possui 8 bits. Tipo: informa o tipo da mensagem. Possui 8 bits. Tipo Código Checksum Dados Checksum: utilizado para encontrar erros e dados corrompidos no cabeçalho ICMP. Possui tamanho de 16 bits. Dados: possuem informações referentes ao erro ocorrido, dependendo do tipo da mensagem. De acordo com a mensagem, o tamanho deste campo pode variar. Redes Avançadas – Prof. Mateus Raeder ICMPv6 • O ICMPv6 apresenta uma quantidade maior de mensagens • As mensagens de erro definidas até o momento são: Redes Avançadas – Prof. Mateus Raeder ICMPv6 • As mensagens de informação definidas até o momento são: Redes Avançadas – Prof. Mateus Raeder ICMPv6 • As mensagens de informação definidas até o momento são: Redes Avançadas – Prof. Mateus Raeder IPv6 • Serviços básicos do IPv6 (utilizam ICMPv6) – – – – Descoberta de vizinhança Gerenciamento de Grupos Multicast Mobilidade IPv6 Descoberta do Path MTU Redes Avançadas – Prof. Mateus Raeder IPv6 • Descoberta de vizinhança – Utiliza 5 mensagens ICMPv6 • Router Solicitation (tipo 133): utilizada pelos hosts para pedir uma mensagem do tipo Router Advertisement • Router Advertisement (tipo 134): são mensagens enviadas periodicamente (ou em resposta a uma mensagem de Router Solicitation) pelos roteadores para avisar que encontram-se presentes no enlace • Neighbor Solicitation (tipo 135): mensagem multicast enviada pelos nós para determinar endereço MAC e acessibilidade de um vizinho. Também pode detectar endereços duplicados. Redes Avançadas – Prof. Mateus Raeder IPv6 • Descoberta de vizinhança – Utiliza 5 mensagens ICMPv6 • Neighbor Advertisement (tipo 136): é uma mensagem enviada como resposta a uma Neighbor Solicitation. Quando há mudança em algum endereço MAC, esta mensagem também é enviada • Redirect (tipo 137): são enviadas pelos roteadores para informar ao host qual é o roteador mais indicado para que seu pacote chegue ao destino Redes Avançadas – Prof. Mateus Raeder IPv6 • Descoberta de vizinhança – Descoberta de endereços da camada de enlace • Determina o endereço MAC dos vizinhos do mesmo enlace. • Um host envia uma mensagem de Neighbor Solicitation informando seu MAC e solicitando o MAC vizinho. O vizinho, então, responde com uma mensagem Neighbor Advertisement, com seu endereço MAC • Substitui o protocolo ARP do IPv4, utilizando um endereço multicast como destino Redes Avançadas – Prof. Mateus Raeder IPv6 • Descoberta de vizinhança – Descoberta de roteadores e prefixos • Localiza roteadores vizinhos dentro do mesmo enlace • O roteador envia uma mensagem multicast do tipo Router Advertisement, com opções adicionais desejadas • No IPv4, utiliza-se mensagens ARP Request – Detecção de endereços duplicados • No IPv4, são utilizadas mensagens do tipo ARP Request, juntamente com um método chamado gratuitous ARP • IPv6 utiliza mensagens do tipo Neighbor Solicitation • O possuidor de um endereço IPv6 envia uma mensagem de Neighbor Solicitation. Se alguém responder, é duplicado. Redes Avançadas – Prof. Mateus Raeder IPv6 • Descoberta de vizinhança – Detecção de vizinhos inacessíveis • Comunicação host-host, host-roteador e roteador-host • Verifica a acessibilidade dos nós durante o caminho • Um nó é acessível se enviou uma resposta ao vizinho que enviou uma mensagem anteriormente • Este processo é somente executado quando ocorre uma comunicação unicast. Mensagens enviadas multicast não executam este monitoramento • IPv6 utiliza 2 tabelas para sabe o estado dos vizinhos Neighbor cache Destination cache Lista de vizinhos para os quais foram recentemente enviados mensagens. Armazena IP, MAC, flag indicando se é host ou roteador, acessibilidade, além de outras informações Informações sobre destinos para os quais foi enviado mensagens recentemente. O Neighbor cache é um subconjunto desta cache. É atualizado por mensagens Redirect. Redes Avançadas – Prof. Mateus Raeder IPv6 • Descoberta de vizinhança – Redirecionamento • Mensagens de Redirect são enviadas pelos roteadores • Ao receber uma mensagem de Redirect, o host automaticamente aprende qual o roteador (no mesmo enlace) é o mais apropriado para o envio • Mecanismo igual ao que existe no IPv4 Redes Avançadas – Prof. Mateus Raeder IPv6 • Pesquise o que significa e como funciona no IPv6: – Autoconfiguração de endereços stateless – Autoconfiguração Stateful – DHCPv6 Redes Avançadas – Prof. Mateus Raeder IPv6 • Fragmentação – Permite que pacotes de tamanho maior do que o limite do enlace sejam enviados – Diferente do IPv4 • Vejamos a situação seguinte: Host A Host B Roteador MTU = x MTU = x/4 Redes Avançadas – Prof. Mateus Raeder IPv6 • Com o IPv4, cada roteador pode fragmentar os pacotes, de acordo com o MTU da rede a ser enviado. • Assim, vários fragmentos podem ser acumulados durante o caminho, dependendo da quantidade de roteadores e diferentes MTUs que vão passar • No IPv6, o processo de fragmentação inicia com o protocolo Path MTU Discovery – Descobre dinamicamente o tamanho máximo que o pacote pode possuir, identificando os MTUs até o destino Redes Avançadas – Prof. Mateus Raeder IPv6 • Path MTU Discovery – Assume que o MTU é o mesmo MTU do enlace inicial – Se, no caminho, o tamanho de qualquer pacote for maior que o MTU informado pelo roteador do próximo enlace, o roteador descarta o pacote, e retorna um ICMPv6 packet too big – Este mecanismo continua até que o tamanho do pacote seja igual ou menor ao menor MTU do caminho, realizando quantas reduções forem necessárias Redes Avançadas – Prof. Mateus Raeder IPv6 • Assim, diminui-se o overhead dos roteadores, pois a fragmentação é realizada na origem Fragmentação somente na origem!! Host A Host B Roteador MTU = x MTU = x/4 Redes Avançadas – Prof. Mateus Raeder IPv6 • No IPv4 existe a limitação de pacotes de tamanho igual a 64KB • No IPv6, existe a possibilidade do envio de pacotes chamados jumbograms • O que são os jumbograms do IPv6? Como se sabe (no cabeçalho) que um pacote é um jumbogram? Redes Avançadas – Prof. Mateus Raeder