Redes e Sistemas Distribudos II Cd 30127 Prof
Redes e Sistemas Distribuídos II – Cód. 30127 Prof. MSc. Ronnison Reges Vidal
Roteiro • Metas e Desafios • Tipos de Sistemas • Protocolos de Camadas Mater Christi 19/12/2021 2
Metas e Desafios Acesso a recursos, Transparência Abertura, Escalabilidade Mater Christi 19/12/2021 3
Metas e Desafios • Sistemas distribuídos ≠ Boa Ideia • Embora os sistemas distribuídos sejam encontrados em toda parte, seu projeto é muito simples e ainda há muito espaço para desenvolvimento de serviços e de aplicativos mais ambiciosos • Durante a construção de sistemas distribuídos muitos desafios foram resolvidos, mas projetistas têm de conhecê-los e tomar cuidado de levá-los em consideração o o Facilidade de acesso Ocultar os recursos Deve ser aberto Deve poder ser expandido Mater Christi 19/12/2021 4
Metas e Desafios • • Acesso a recursos Transparência Abertura Escalabilidade Heterogeneidade Segurança Tratamento de Falhas Concorrência Mater Christi 19/12/2021 5
Acesso a Recursos Mater Christi 19/12/2021 6
Acesso a Recursos • • Facilidade de acesso remoto Compartilhamento de maneira controlada e eficiente Economia Impressoras, computadores, meios de armazenamento, páginas web e redes Mater Christi 19/12/2021 7
Acesso a Recursos • Conexão facilita a colaboração e a troca de informações • Problemas o Pouca proteção a intrusões o Rastreamento de comunicações Mater Christi 19/12/2021 8
Transparência Mater Christi 19/12/2021 9
Transparência em um Sistema Distribuído • Ocultamento de processos e recursos o Transparente • Diferentes formas de transparência em um sistema distribuído. Mater Christi 19/12/2021 10
Transparência Descrição Acesso Esconde diferenças em representações de dados e como um recurso é acessado Localização Esconde um recurso está localizado Migração Esconde como um recurso pode se mover para outra localização sem afetar seu acesso Relocação Esconde que um recurso pode ser movido para outra localização enquanto em uso Replicação Esconde que um recurso pode ser compartilhado por diversos usuários competitivos Concorrência Esconde que um recurso pode ser compartilhado por diversos usuários competitivos Falha Esconde as falhas e a recuperação de um recurso Persistência Esconde se um (software) recurso está em memória ou em disco Mater Christi 19/12/2021 11
Grau de transparência • Restrições temporais • Restrições de comunicação e processamento • Restrições de desempenho Mater Christi 19/12/2021 12
Abertura Mater Christi 19/12/2021 13
Abertura • Oferece serviços de acordo com regras padronizadas que descrevem a sintaxe e a semântica desses serviços • Redes de computadores e suas regras que padronizam o formato, o conteúdo e o significado das mensagens enviadas e recebidas (protocolos) Mater Christi 19/12/2021 14
Abertura • Especificação por interfaces (IDL – linguagem de definição de interface) • Sintaxe • Especificações adequadas – Completas e Neutras o Tudo que é necessário para a implementação o A aparência da implementação Mater Christi 19/12/2021 15
Abertura • Completude e Neutralidade o Interoperabilidade • Até que ponto duas implementações diferentes podem coexistir e trabalhar juntas o Portabilidade • Caracteriza até que ponto uma aplicação desenvolvida para um sistema A pode executar em um sistema B sem modificações Mater Christi 19/12/2021 16
Escalabilidade Mater Christi 19/12/2021 17
Escalabilidade • Escalabilidade = Expansão ou aumento • Medição em 3 dimensões: o Tamanho o Geografia o Administrativo • Perda de desempenho Mater Christi 19/12/2021 18
Problemas de Escalabilidade • Exemplos de limitações de escalabildade Conceito Exemplo Serviços Centralizados Um único servidor para todos os usuários Dados Centralizados Uma única lista telefônica on-line Algoritmos Centralizados Fazer roteamento baseado em informações completas Mater Christi 19/12/2021 19
Técnicas de escalabilidade • Problemas de desempenho o Ocultar latências de comunicação o Distribuição o Replicação Mater Christi 19/12/2021 20
Técnicas de escalabilidade • Ocultar latências de comunicação o Escalabilidade geográfica o Tentar evitar esperas o Comunicação Assíncrona Mater Christi 19/12/2021 21
Técnicas de escalabilidade • A diferença entre deixar: o Um servidor ou Um cliente verificar formulários à medida que são preenchidos Mater Christi 19/12/2021 22
Técnicas de escalabilidade • Distribuição o Tomar um componente, dividi-lo e espalhar pelo sistema o DNS • Domínios e Zona Mater Christi 19/12/2021 23
Técnicas de escalabilidade • Um exemplo de divisão do espaço de nomes DNS em zonas Mater Christi 19/12/2021 24
Técnicas de escalabilidade • Replicação o Aumento de disponibilidade o Equilíbrio de carga • inconsistência Mater Christi 19/12/2021 25
Heterogeneidade Mater Christi 19/12/2021 26
Heterogeneidade • Sistemas Distribuídos permitem usuários a acessar e executar aplicativos por meio de conjuntos heterogêneos de computadores • Heterogeneidade se aplica a variedade de: o o o Redes Hardware de computadores Sistemas operacionais Linguagens de programação Implementações de diferentes programadores Mater Christi 19/12/2021 27
Heterogeneidade • Projetos heterogêneos o As diferenças entre os computadores são mascaradas por eles utilizarem protocoles de internet para se comunicar o Diferentes linguagens utilizam diferentes representações para caracteres e estruturas de dados, tais como, arrays e registros • Utiliza-se padrões comuns – protocolos de internet • Middleware o É uma camada de software que fornece abstrações de programação, bem como mascaramento da heterogeneidade das redes, de sistemas operacionais e linguagens de programação • Corba e RMI Mater Christi 19/12/2021 28
Heterogeneidade • Middleware o Fornece um modelo computacional uniforme • Usado por programadores de serviços e aplicativos distribuídos o Inclui • Invocação remota de objetos • Notificação remota de eventos • Acesso remoto a banco de dados • E processamento de transações distribuídos Mater Christi 19/12/2021 29
Segurança Mater Christi 19/12/2021 30
Segurança • Os recursos de informação têm alto valor intrínseco para seus usuários o Possui considerável importância • Segurança de recursos de informação têm três componentes o Confidencialidade – proteção contra exposição para pessoas não autorizadas o Integridade – proteção contra alteração ou dano o Disponibilidade – proteção contra interferência com os meios de acesso aos recursos Mater Christi 19/12/2021 31
Segurança • Embora um firewall possa ser utilizado como uma barreira, restringindo o tráfego que entra e que sai, isso não garante o uso apropriado dos recursos pelos usuários de dentro, como uma intranet, por exemplo • Em um sistema distribuído os clientes enviam pedidos para acessar dados gerenciados por servidores, por meio de troca de mensagens o O desafio é enviar informações sigilosas em uma ou mais mensagens, por uma rede, de maneira segura o Segurança não é somente questão de ocultar o conteúdo de mensagens, mas também envolve saber a identificação do usuário Mater Christi 19/12/2021 32
Segurança • Dois desafios: o Ataque de negação de serviço o Segurança de código móvel Mater Christi 19/12/2021 33
Tratamento de Falhas Mater Christi 19/12/2021 34
Tratamento de Falhas • Quando ocorrem falhas por hardware ou software o Os programas produzem resultados incorretos ou até mesmo podem parar antes de concluir a computação pretendida • Em sistemas distribuídos as falhas são consideradas parciais o Somente alguns componentes falham, enquanto outros continuam funcionando o Tratamento de falhas – parcialmente difícil • Técnicas de tratamento de falhas o o o Detecção de falhas Tolerância a falhas Mascaramento de falhas Recuperação de falhas Redundância Mater Christi 19/12/2021 35
Tratamento de Falhas • Detecção de falhas o O desafio é o gerenciamento da ocorrência de falhas que não podem ser detectadas, mas que podem ser suspeitas • Mascaramento de falhas o Falhas podem ser ocultadas ou se tornar menos perigosas • Mensagens podem ser retransmitidas quando não chegam • Dados de arquivos podem ser gravados em dois discos, para que, se um estiver danificado, o outro ainda possa estar correto Mater Christi 19/12/2021 36
Tratamento de Falhas • Recuperação de falhas o Os sistemas devem ser projetados de forma que o estado dos dados permanentes possam ser recuperados ou retrocedido • Redundância o Os serviços podem se tornar tolerantes com o uso de componentes redundantes • Sempre deve haver pelo menos duas rotas diferentes entre dois roteadores quaisquer na internet • No DNS, toda tabela de correspondência de nomes é replicada em pelo menos dois servidores diferentes • Um banco de dados pode ser replicado em vários servidores, para garantir que os dados permaneçam acessíveis após a falha de qualquer servidor Mater Christi 19/12/2021 37
Concorrência Mater Christi 19/12/2021 38
Concorrência • Como característica principal de tais sistemas o compartilhamento de recursos existe a possibilidade de que vários clientes tentem acessar um recurso a mesmo tempo o Um processo gerenciador poderia aceitar e tratar um podido de cliente por vez o Porém tal estratégia limita o desempenho no tratamento de requisições • Considerando que os recursos podem ser encapsulados como objetos o É possível utilizar de diferentes fluxos de execução, como processos ou threads concorrentes • Eventualmente operações dentro de um objeto podem entrar em conflito e produzir resultados inconsistentes Mater Christi 19/12/2021 39
Concorrência • Todo programador deve se encarregar de implementar um objeto que possa garantir que em um ambiente concorrente este não assuma resultados inconsistentes • Utiliza-se de técnicas de sincronização padrão, tais como semáforos Mater Christi 19/12/2021 40
Tipos de Sistemas distribuídos Mater Christi 19/12/2021 41
Tipos de Sistemas distribuídos • Sistemas de Computação Distribuída o Utilizada para tarefas de computação de alto desempenho • Sistemas de Informação Distribuída o Encontrada em organizações que se defrontaram com uma profusão de aplicações em rede para as quais a interoperabilidade se mostrou dolorosa • Sistemas Distribuídos Pervasivos o Equipamentos diminutos, alimentados por baterias, móveis, conexão sem fio Mater Christi 19/12/2021 42
Sistemas de Computação Distribuída Mater Christi 19/12/2021 43
Sistemas de Computação Distribuída • Sistemas de Computação em Cluster o Conjunto de máquinas semelhantes conectados pode rede local de alta velocidade, executando o mesmo SO • Sistemas de Computação em Grade o Sistema distribuído montado em forma de federação onde no sistema cada uma das máquinas pode se responsabilizar por domínio diferente, e estas podem ser diferente no que tange hardware, software e tecnologia de comunicação Mater Christi 19/12/2021 44
Sistemas de Informação Distribuída Mater Christi 19/12/2021 45
Sistemas de Informação Distribuída • Sistemas de processamento de transações o Integração de mais baixo nível permite que clientes empacotem várias requisições em uma maior e envia em forma de transação distribuída • Integração de aplicações empresariais o Integração de aplicações para comunicação direta Mater Christi 19/12/2021 46
Sistemas Distribuídos Pervasivos Mater Christi 19/12/2021 47
Sistemas Distribuídos Pervasivos • • Instabilidade Sistemas domésticos Sistemas eletrônicos para tratamento de saúde Redes sensores sem fio Mater Christi 19/12/2021 48
- Slides: 48