A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos"— Transcrição da apresentação:

1 Sistemas Distribuídos
Jorge Surian Sistemas Distribuídos: Comunicação: Fundamentos, Comunicação Orientada a Mensagens e a fluxo. Tipos de Protocolo. Middleware

2 Protocolos – Fundamentos
Comunicação Protocolos – Fundamentos A comunicação é o “Coração” de qualquer Sistema Distribuído! Como processos em diferentes máquinas trocam informações? Resposta: Não é uma tarefa trivial! Desejável obter modelos onde a complexidade da comunicação seja transparente para o desenvolvedor. 2

3 Protocolos – Fundamentos
Comunicação Protocolos – Fundamentos Sistemas distribuídos modernos frequentemente consistem em milhares ou até em milhões de processos espalhados por uma rede de comunicação intrinsecamente não confiável, como é a Internet. Não há em vista algo que venha a substituir os recursos de comunicação oferecidos pela rede, portanto continuará sendo intrinsecamente complicado o desenvolvimento de sistemas distribuídos em larga escala. 3

4 Protocolos – Fundamentos – Modelo Cliente-Servidor
Comunicação Protocolos – Fundamentos – Modelo Cliente-Servidor Participantes são divididos em: Servidores: implementam um serviço específico. Clientes: solicitam ao servidor um determinado serviço e espera pela resposta. Comportamento requisição-resposta

5 Protocolos – Fundamentos
Comunicação Protocolos – Fundamentos A inexistência de memória compartilhada obriga a que toda comunicação em sistemas distribuídos ocorra por recebimento e envio de mensagens de baixo nível. Quando um processo A deseja se comunicar com um processo B, em primeiro lugar ele monta uma mensagem em seu próprio espaço de endereço. Depois, executa uma chamada de sistema que faz com que o sistema operacional envie a mensagem pela rede até o processo desejado. Naturalmente os processos precisam concordar quanto ao significado dos bits enviados. 5

6 Protocolos – Fundamentos
Comunicação Protocolos – Fundamentos Vários acordos são necessários, por exemplo quantos volts significa um bit 0 e quantos um bit 1? Como o receptor sabe qual é o último bit da mensagem? Como é possível detectar que uma mensagem foi danificada ou perdida? E o que fazer quando um problema é detectado? Seria o Modelo OSI a resposta? (a ISO- International Organization for Standardization desenvolveu o modelo OSI- Open Systems Interconnection Reference Model). 6

7 Protocolos – Fundamentos – Modelo OSI
Comunicação Protocolos – Fundamentos – Modelo OSI 7

8 Protocolos – Fundamentos – Modelo OSI
Comunicação Protocolos – Fundamentos – Modelo OSI 8

9 Protocolos – Fundamentos – Modelo OSI
Comunicação Protocolos – Fundamentos – Modelo OSI Embora os protocolos desenvolvidos pelo modelo OSI nunca foram amplamente desenvolvidos estando atualmente mortos, mas o modelo em questão mostrou-se muito útil para compreensão redes de computadores. 9

10 Protocolos – Fundamentos – Modelo OSI
Comunicação Protocolos – Fundamentos – Modelo OSI Num exemplo livre, criado por Tanembaum & van Steen, duas empresas negociam aquisição de determinado produto. O “chefe” da empresa compradora pede a sua “secretária” que entre em contato, através de correspondência (correio) com a “secretária” da empresa fornecedora. Todavia, com a piora do serviço do correio as secretárias resolveram passar a se comunicar por . Elas, ao assim procederem, não incomodaram suas chefias, uma vez que o protocolo que usam trata da transmissão física de pedidos, e não de seu conteúdo. Por outro lado o chefe pode alterar produtos ou quantidades destes sem afetar o trabalho das secretárias. Temos aqui duas camadas, chefes e secretárias, cada qual com seu próprio protocolo. É essa independência que torna atraentes os protocolos em camadas. 10

11 Protocolos – Fundamentos – Modelo OSI – Camada Física
Comunicação Protocolos – Fundamentos – Modelo OSI – Camada Física Responsável pelo envio de bits. Trata da padronização das interfaces elétrica, mecânica e de sinalização. Protocolos são dependentes do meio de transmissão do link. 11

12 Protocolos – Fundamentos – Modelo OSI – Camada Enlace
Comunicação Protocolos – Fundamentos – Modelo OSI – Camada Enlace Responsável pelo envio de frames entre os links Característica importante: um datagrama pode ser manipulado por diferentes tipos de protocolos da camada de enlace: Ethernet (CSMA/CD), PPP Cada protocolo diferente pode ou não implementar um conjunto de serviços. Exemplo: entrega confiável da informação 12

13 Protocolos – Fundamentos – Modelo OSI – Diferença entre Camada 1 e 2
Comunicação Protocolos – Fundamentos – Modelo OSI – Diferença entre Camada 1 e 2 Os hubs são dispositivos burros, que operam na camada 1. Eles não entendem pacotes nem endereços de rede, simplesmente pegam os uns e zeros que recebem em uma porta e os retransmitem para todas as outras. O hub atua simplesmente como um centralizador e repetidor, não é mais inteligente que um pedaço de cabo. Ao usar um hub, as colisões continuam ocorrendo, exatamente como aconteceria se você estivesse usando uma rede antiga, com cabo coaxial. 13

14 Protocolos – Fundamentos – Modelo OSI – Diferença entre Camada 1 e 2
Comunicação Protocolos – Fundamentos – Modelo OSI – Diferença entre Camada 1 e 2 O endereço MAC (do inglês Media Access Control) é o endereço físico da estação, ou melhor, da interface de rede. É um endereço de 48 bits, representado em hexadecimal. O protocolo é responsável pelo controle de acesso de cada estação à rede Ethernet. Este endereço é o utilizado na camada 2 (Enlace) do Modelo OSI. 14

15 Protocolos – Fundamentos – Modelo OSI – Diferença entre Camada 1 e 2
Comunicação Protocolos – Fundamentos – Modelo OSI – Diferença entre Camada 1 e 2 Os switches, por sua vez, trabalham na camada 2, assim como as próprias placas de rede. Eles entendem frames e endereços MAC e por isso são capazes de "fechar circuitos", transmitindo os frames apenas para o micro ligado na placa correta. Cada porta é ligada a um circuito separado, que são coordenados por um controlador central, que mantém uma tabela com os endereços MAC das estações ligadas a cada porta e pode assim checar o conteúdo de cada frame e encaminhá-lo à porta correta. 15

16 Protocolos – Fundamentos – Modelo OSI – Diferença entre Camada 1 e 2
Comunicação Protocolos – Fundamentos – Modelo OSI – Diferença entre Camada 1 e 2 Apesar disso, os switches não entendem TCP/IP. Isso é trabalho para os roteadores, que trabalham na camada 3 e tomam suas decisões baseadas nos endereços IP dos emissores e destinatários dos pacotes, tentando sempre usar a rota mais curta. 16

17 Protocolos – Fundamentos – Modelo OSI – Camada Rede
Comunicação Protocolos – Fundamentos – Modelo OSI – Camada Rede Redes de longa distância são constituídas de muitos nós com diferente caminhos entre eles. Como definir um caminho entre um par origem-destino? Roteamento é a principal tarefa da camada de rede. Internet Protocol: protocolo sem conexão, onde pacotes são roteados de forma independente – best-effort service. 17

18 Protocolos – Fundamentos – Modelo OSI – Camada de Transporte
Comunicação Protocolos – Fundamentos – Modelo OSI – Camada de Transporte Responsável pela comunicação lógica entre diferentes processos sendo executados em diferentes hosts (fim-a-fim) Protocolos da camada de transporte não estão implementados nos roteadores TCP- Transmission Control Protocol IP – Internet Protocol UDP – Universal Datagram Protocol (IP com algumas adições) Pode fornecer os seguintes serviços: multiplexing/demultiplexing transmissão confiável garantias de banda, retardo 18

19 Comunicação 19

20 Protocolos – Fundamentos – Modelo OSI – Camada de Transporte
Comunicação Protocolos – Fundamentos – Modelo OSI – Camada de Transporte Protocolos de Transporte na Internet Transmission Control Protocol (TCP) Orientado a Conexão Confiável, porém “lento” Universal Datagram Protocol (UDP) Sem conexão “Rápido”, porém não confiável A escolha está ligada as características da aplicação! 20

21 Protocolos – Fundamentos – Modelo OSI – Aplicação
Comunicação Protocolos – Fundamentos – Modelo OSI – Aplicação Distinção entre aplicação para redes e protocolos da camada de aplicação. Protocolo: pequena (talvez grande) peça de uma aplicação • Ex.1: Aplicação WEB → HTTP • Ex.2: Aplicação → SMTP Protocolos definem: tipos de mensagens trocadas, sintaxe 21

22 Protocolos – Fundamentos – Modelo OSI – Sessão
Comunicação Protocolos – Fundamentos – Modelo OSI – Sessão Em essência, trata-se da versão aprimorada da camada de transporte. Proporciona controle de diálogo para monitorar qual é a parte que está falando no momento considerado e fornece facilidades de sincronização. Na prática poucas aplicações estão interessadas nessa camada, que sequer está presente na pilha de protocolos da Internet 22

23 Protocolos – Fundamentos – Modelo OSI – Apresentação
Comunicação Protocolos – Fundamentos – Modelo OSI – Apresentação Distintamente das outras camadas que essencialmente desejam levar bits do remetente ao receptor preocupando-se como confiabilidade e eficiência, a camada de apresentação preocupa-se com o significado dos bits. A intenção original dessa camada no modelo OSI era conter um conjunto de aplicações padronizadas de rede, como correio eletrônico, transferência de arquivos e emulação de terminal. 23

24 Protocolos – Fundamentos – Modelo OSI – Apresentação
Comunicação Protocolos – Fundamentos – Modelo OSI – Apresentação Na prática essa camada se tornou o repositório para todas as aplicações e protocolos que não se encaixam noutras camadas. Falta ao modelo OSI uma clara distinção entre aplicações, protocolos específicos de aplicações e protocolos de uso geral, como FTP – File Transfer Protocol 24

25 Comunicação Protocolos – Exemplo para internet

26 Protocolos – Camada de Middleware
Comunicação Protocolos – Camada de Middleware Camada de software que é situada logicamente entre uma camada de nível mais alto, composta de usuários e aplicações e uma camada subjacente, que consiste de facilidades básicas de comunicação Inúmeros protocolos para suportar serviços de middleware: Autenticação: não estão vinculados a uma aplicação. Comprometimento. Comunicação: Serviços de comunicação de alto nível. 26

27 Protocolos – Camada de Middleware
Comunicação Protocolos – Camada de Middleware 27

28 Protocolos – Camada de Middleware Sockets
Comunicação Protocolos – Camada de Middleware Sockets Como os processos executando em diferentes máquinas trocam informação? Em uma visão pilha de protocolos TCP/IP → Enviando mensagens através da utilização de sockets Socket: ponto final de uma comunicacao fullduplex entre dois processos. Processo → casa / Socket → Porta Socket: Porta entre o processo da aplicação e o protocolo de transporte 28

29 Protocolos – Camada de Middleware Sockets
Comunicação Protocolos – Camada de Middleware Sockets Informações são string de bytes, sem significado aparente. Não existe a transparência de distribuição: toda a comunicação está explícita, através de procedimentos send e receive. Funções mais sofisticadas devem ser feitas na camada de aplicação. Por que não oferecer comunicação de alto nível, independente da aplicação? 29

30 Protocolos – Camada de Middleware Solução: Middleware de comunicação!
Tipos: Chamadas de Procedimento Remoto Comunicação orientada a Mensagens Comunicação orientada a fluxo 30

31 Protocolos – Camada de Middleware – Tipos de Comunicação Persistência
Persistente: Mensagem é armazenada pelo middleware de comunicação durante o tempo que for necessário para entregá-la ao receptor. Transiente: Mensagem é armazenada somente durante o tempo em que a aplicação remetente e a aplicação receptora estiverem executando. 31

32 Protocolos – Camada de Middleware – Tipos de Comunicação Sincronização
Assíncrona: Remetente continua sua execução imediatamente após ter apresentado sua mensagem para transmissão Mensagens são imediatamente armazenadas, temporariamente, pelo middleware assim que apresentada. 32

33 Protocolos – Camada de Middleware – Tipos de Comunicação Sincronização
Síncrona: Remetente é bloqueado até saber que sua requisição foi aceita, três pontos em que a sincronização pode ocorrer: O remetente pode ser bloqueado até que o middleware avise que se encarregará da transmissão da requisição. O remetente pode sincronizar até saber que a requisição foi entregue ao receptor. A sincronização pode ocorrer permitindo que o remetente espere até que a requisição tenha sido totalmente processada, isto é, até o instante que o receptor retornar uma resposta 33

34 Protocolos – Camada de Middleware – Tipos de Comunicação Granularidade
Discreta: Partes se comunicam por mensagens e cada mensagem forma uma unidade de informação completa. Fluxo: Várias mensagens,sendo que as mensagens estão relacionadas uma com as outras pela ordem ou pela relação temporal. 34

35 Fonte: Tanenbaum, Andrew S. e Steen, Marteen Van. Sistemas Distribuídos, São Paulo: Prentice Hall, 2008. Copyright © Prof. Jorge Surian Todos direitos reservados. Reprodução ou divulgação total ou parcial deste documento é expressamente proíbido sem o consentimento formal, por escrito, do Professor Surian.


Carregar ppt "Sistemas Distribuídos"

Apresentações semelhantes


Anúncios Google