Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009
Membership Grupos dinâmicos Membros entram e saem dos grupos Membros podem falhar (crash) Grupos são criados e destruídos em tempo de execução Serviço de Membership Controla a composição do grupo Necessário para o funcionamento do protocolo de comunicação de grupo
Membership Tarefas do Serviço de Membership Fornecer uma interface para entrada e saída de membros do grupo Noticar os membros e/ou o protocolo de comunicação quando ocorrerem mudanças na composição do grupo Converter o endereço do grupo nos endereços dos membros que o compõem Detectar falhas de membros do grupo
Membership Visão (View) Descreve a composição do grupo em um determinado instante Deve ser difundida usando protocolos conáveis e com ordenação, para garantir que haverá consistência de visão entre os membros do grupo (ou seja, todos assumem que a composição do grupo é a mesma)
Broadcast Broadcast: envio para todos Endereçamento No endereço de broadcast de uma subrede IP, todos os bits da parte de host do endereço são iguais a 1. Ex: 150.162.255.255 (UFSC) Em uma rede Ethernet, todos os bits do endereço MAC de broadcast são iguais a 1 (FF-FF-FF-FF-FF-FF) Broadcast deve ser usado com cuidado para não sobrecarregar a rede Geralmente usado por protocolos de controle
Multicast UDP Multicast Permite o envio simultâneo de datagramas a grupos de destinatários Grupos multicast são identicados por endereços IP de 224.0.0.0 a 239.255.255.255
Multicast UDP Multicast Mais de um emissor podem mandar mensagens para o grupo (ou seja, mensagens vão de M emissores N receptores) Emissor não precisa fazer parte do grupo para enviar mensagens ao grupo, e nem precisa saber quem são os seus membros; basta conhecer o endereço IP do grupo O receptor entra em um grupo (se torna um membro do grupo) e passa a receber as mensagens destinadas ao grupo
Multicast UDP Multicast - Envio
Multicast UDP Multicast - Recepção
Multicast IP Multicast - Roteamento Os roteadores IP precisam conhecer a lista de membros de um grupo para fazer a entrega de mensagens, as replicando ao longo do caminho sempre que preciso É possível limitar a área na qual um pacote multicast é distribuído (ou seja, por quantos roteadores passa o pacote) usando o campo tempo de vida (TTL) do datagrama IP Roteadores mais antigos não suportam multicast, e algumas redes o desabilitam
Multicast IP Multicast - Roteamento Roteadores mais antigos não suportam multicast, e algumas redes o desabilitam São construídos túneis para envio multicast através destas redes
Multicast UDP/IP Multicast - Limitações: Mensagens podem ser perdidas ou entregues fora de ordem Algumas aplicações, dentre elas os sistemas tolerantes a faltas, exigem que as mensagens sejam entregues sem erros e em ordem Deste modo, é necessário construir uma nova camada sobre o UDP/IP multicast que corrija erros e ordene as mensagens ou usar um outro protocolo que possua tais características
Redes Peer-to-Peer Denição São sistemas distribuídos nos quais os membros da rede são equivalentes em funcionalidade Não existe qualquer forma de controle centralizado ou de hierarquia entre membros
Redes Peer-to-Peer Características: Auto-organização: não há um coordenador do grupo; toda a coordenação é distribuída Adaptabilidade: rede se ajusta ao ambiente, mesmo que ocorram falhas Escalabilidade: rede cresce em escala facilmente; não há ponto de estrangulamento Comunicação direta entre os pares: se opõe ao tradicional modelo cliente-servidor, já que cada nó pode ser cliente e servidor
Redes Peer-to-Peer Utilização: Compartilhamento de arquivos, imagens, músicas, vídeos, etc. Atualização de sistemas operacionais e de software aplicativo Gerenciamento de redes e sistemas Processamento distribuído Sincronização de bancos de dados Difusão de informações etc.
Redes Peer-to-Peer Exemplo: Napster Criado em 1999 Utiliza um servidor central para procura de arquivos na rede Transferência de arquivos é feita diretamente entre os pares Sem o servidor central, que foi fechado por ordem judicial, a rede não funciona
Redes Peer-to-Peer Exemplo: Gnutella Um nó entra na rede se conectando a qualquer outro nó já existente Cada nó suporta uma interface cliente para realizar suas buscas e baixar arquivos e uma interface servidora para responder buscas e atender pedidos de download O protocolo dene as mensagens que podem ser trocadas entre nós para fazer pesquisas de arquivos e para baixá-los
Redes Peer-to-Peer JXTA Proposto pela Sun Provê uma infra-estrutura simples de rede peer-to-peer sobre a qual aplicações que empreguem este paradigma de comunicação podem ser construídas Cria grupos de pares com interesses comuns Mensagens JXTA são codicadas em XML Possui uma implementação padrão em Java Permite a criação de conexões seguras
Redes Peer-to-Peer JXTA - Comunicação: São criados pipes - canais de comunicação unidirecionais - ligando os peers que fazem parte da rede, formando uma rede parcialmente conectada O uso de HTTP permite que as consultas atravessem rewalls, desde que haja um peer de cada lado do rewall
Redes Peer-to-Peer JXTA faz consultas envolvendo os pares conhecidos, que por sua vez as enviam a seus conhecidos e assim por diante
Redes Peer-to-Peer JXTA padroniza a forma como os pares: Descobrem uns aos outros Se organizam em grupos Divulgam e descobrem os serviços disponíveis na rede Se comunicam Monitoram uns aos outros
Redes Peer-to-Peer JXTA - Protocolos: Peer Discovery Protocol (PDP): usado para descoberta de pares na rede Peer Information Protocol (PIP): permite obter informação de status dos pares Peer Resolver Protocol (PRP): usado para efetuar consultas nos pares Pipe Binding Protocol (PBP): conecta pares utilizando pipes Endpoint Routing Protocol (ERP): permite a descoberta de rotas entre pares Rendezvous Protocol (RVP): permite enviar mensagens para grupos de peers