aula 5 comunicação

25
Comunicação-Introdução Comunicação entre processos está no coração de todo o Sistemas Distribuídos

Upload: carlos-bonatto

Post on 01-Nov-2014

404 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

  • 1. Comunicao-Introduo Comunicao entre processos est no corao de todo o Sistemas Distribudos
  • 2. Comunicao-Fundamentos Antes de comearmos nossa discusso sobre a comunicao em sistemas distribudos, primeiro recapitular algumas das questes fundamentais relacionadas com a comunicao. Na prxima seo, discutimos brevemente os protocolos de comunicao de rede, uma vez que estes constituem a base para qualquer sistema distribudo. Depois disso, ns temos uma abordagem diferente, classificando os diferentes tipos de comunicao que ocorre em sistemas distribudos.
  • 3. Comunicao-Fundamentos Protocolos em Camadas Devido a ausncia de memria compartilhada a comunicao se baseia em envio de mensagens
  • 4. Comunicao-Fundamentos Modelo de Referncia OSI Open Systems Interconnections criado pela ISO (International Organization for Standardization) Objetivos: Reduzir a complexidade Padronizar as interfaces Facilitar a engenharia modular Garantir a interoperabilidade Acelerar a evoluo Reduzir conflitos entre equipamentos Simplificar o desenvolvimento
  • 5. Comunicao-Fundamentos Comunicao entre Camadas Insero de Cabecalhos (inicio) e trailers (final)
  • 6. Comunicao-Fundamentos Protocolos em Camadas Protocolos de Niveis mais baixos Fisica Enlace
  • 7. Comunicao-Fundamentos Camada Fisica Transmisso digital Cuida das estruturas e especificaes fsicas Define as especificaes eltricas, mecnicas e funcionais da mdia de transmisso Procedimentos para ativar, manter e desativar o link fsico entre sistemas Controla nveis de tenso, taxas de dados, distncias mximas de transmisso e conectores fsicos Responsvel pela pinagem de cabos Codificao da transmisso de bits e regras de sincronizao (clocking) Exemplo: V.24, V.35, E1, E3, SDH etc
  • 8. Comunicao-Fundamentos Camada Enlace Acessos aos meios Organizao dos bits em grupos lgicos de informaes chamados de frames ou quadros. Fornece transferncia de dados entre os meios Responsvel pelo endereamento fsico e topologia de rede Possui funes de notificao de erros e controle de fluxo Funo de identificar fisicamente os hosts em uma rede Exemplos: LAN: Ethernet, IEEE 802.3/802.2, etc WAN: Frame Relay, HDLC, PPP, ATM etc
  • 9. Comunicao-Fundamentos Camada Rede Endereamento e Melhor Rota Prove o endereamento lgico usado pelos roteadores Fornece seleo das melhores rotas entre redes Construo das tabelas de roteamento Servios de InternetWorking Fornece conectividade de redes geograficamente separadas Mtodos de movimentao de informaes entre redes A camada de rede pode escolher uma rota especfica e impedir que os dados sejam enviados a redes no envolvidas Exemplos: IP, IPX, X.25
  • 10. Comunicao-Fundamentos Camada Transporte Conexes ponto a ponto Trata das funes de transporte de segmentos entre os hosts Responsvel pela confiabilidade do transporte de dados Estabelece, mantm e finaliza circuitos virtuais fim-a-fim Fornece controle de fluxo das informaes Mantm um servio de transporte de dados que isola as camadas superiores (upper layers) das inferiores (data layers) Responsvel pela qualidade de tipo de servio requeridos pelos nveis superiores (taxa, tamanho do pacote, tempo disponvel para retransmisso, controle do fluxo de dados) Exemplos: TCP, UDP, SPX
  • 11. Comunicao-Fundamentos Camada Sesso Comunicao interhosts Estabelece, gerencia, regulamenta e finaliza sesses entre as apresentaes Sesses de comunicao consiste em requisies e resposta a servios que ocorrem entre as aplicaes localizadas em equipamentos de rede diferentes. Oferece recursos para sincronismo entre aplicaes em hosts diferentes Coordena os direitos de acesso Fornece relatrios acessibilidade Exemplos de protocolos de sesso: Sistemas operacionais, como Windows, Novel Netware, MAC OS
  • 12. Comunicao-Fundamentos Camada Apresentao Representao de dados Garantir que os dados sejam compreensveis para o sistema receptor Cuidar da formatao e codificao dos dados Estruturar e eventualmente converter os dados Negociar e compatibilizar a sintaxe com a camada de aplicao Pode ocorrer compresso, criptografia ou decodificao dos dados Exemplos de protocolos de apresentao: MPEG, JPEG, GIF, ASCII, etc
  • 13. Comunicao-Fundamentos Camada Apresentao Servios da rede para as aplicaes Disponibiliza servios da rede para os diversos aplicativos, como correio eletrnico, FTP, Emulao de terminal, E-commerce, etc) Contempla as tecnologias que permitem ao software do usurio a utilizao dos recursos da rede. Por exemplo: um processador de texto utiliza os servios de transferncia de arquivo para ingressar na rede.
  • 14. Comunicao-Fundamentos Tipos de Comunicao Persistencia; Persistente Mensagem apresentada a transmisso que armazenada pelo Middleware durante o tempo que for necessrio para entreg-la Ex: Correio Eletronico Transiente armazenada somente o tempo que as aplicaes remetente e receptora estiverem executando send e receiver. Aps isso descartada
  • 15. Comunicao-Fundamentos Tipos de Comunicao Sincronismo; Comunicao sncrona Os processos atendem a uma semntica de sincronizao. O processo transmissor da mensagem estabelece uma conexo e aguarda a resposta do processo remoto depois de enviada a solicitao. Comunicao assncrona O processo transmissor no aguarda a resposta do servidor. Depois de bufferizada a mensagem para posterior envio, o processo segue, sem aguardar a resposta do processo remoto.
  • 16. Comunicao - Chamada de Procedimento Remoto Muitos sistemas so baseados em troca explcita de mensagens entre processos. Contudo, os procedimentos send e receive no escondem absolutamente nada da comunicao, o que importante para obter transparncia de acesso em sistemas distribudos. Proposta diferente de manipular comunicao por Birrell e Nelson (1984).
  • 17. Comunicao - Chamada de Procedimento Remoto A sugesto permitir que programas chamassem procedimentos localizados em outras mquinas. Quando um processo na mquina A chama um procedimento na mquina B, o processo chamador A suspenso, e a execuo do procedimento chamado ocorre em B. RPC Informaes podem ser transportadas do chamador para quem foi chamado nos parmetros e podem voltar no resultado do procedimento (a semntica de uma chamada remota deve ser idntica de uma chamada local: passa parmetros e retorna resultados).
  • 18. Comunicao Orientado a Mensagem RPC/RMI inadequado para comunicao em alguns cenrios de aplicao Cliente e servidor precisam estar ativos durante a comunicao Implica em espera para estabelecer o sincronismo entre cliente e servidor Overhead para manter conexo / sesso Falha de uma das partes impede comunicao Paradigma se limita comunicao 1/1
  • 19. Comunicao Orientado a Mensagem Paradigma de comunicao por mensagens Evita alguns problemas comuns em sistemas baseados em RPC/RMI Outras questes podem ser resolvidas adotando um suporte computacional para comunicao atravs de mensagens Vrios nomes so utilizados para se referir a esse tipo de suporte: Servio / sistema / barramento / middleware de mensagens / eventos / filas / mailboxes Convencionou-se chamar esse suporte de Middleware Orientado a Mensagens (MOM)
  • 20. Comunicao Orientado a Mensagem Ffffffffffffffffffffff
  • 21. Comunicao Orientada a Fluxo A comunicao vista ate agora era baseada na troca de unidades de informao mais ou menos independentes e completas; Neste tipo de comunicao no interessa em que momento ela ocorre. Apesar de poder ser muito demorada ou muito rpida, questes relacionadas ao tempo no afetam a corretude da comunicao; Em outras formas de comunicacao, o tempo um fator crucial; Exemplo: um fluxo de dados representando udio em qualidade de CD; As amostragens dos dados devem ser tocadas na ordem e em intervalos de 1/44100 seg;
  • 22. Comunicao Orientada a Fluxo Em mdias de representao contnua, relacionamentos temporais entre diferentes unidades de dados so fundamentais para a interpretao correta dos dados; Isto nao ocorre em mdias de representao discreta.
  • 23. Comunicao Orientada a Fluxo Diferentes representacoes sao utilizadas para diferentes tipos de informacao; Por exemplo, texto e normalmente codificado em ASCII ou Unicode; imagens em GIF ou JPEG; Audio pode ser representado como uma sequencia de amostras de 16 bits, cada uma representando a amplitude de uma onda sonora; Movimento pode ser representado por uma serie de imagens sucessivas a espacos uniformes, tipicamente de 30 a 40 ms;
  • 24. Comunicao Orientada a Fluxo Discreta: relaes temporais entre itens de dados nao so fundamentais para a interpretao dos dados; Contnua
  • 25. Comunicao Orientada a Fluxo Discreta: relaes temporais entre itens de dados nao so fundamentais para a interpretao dos dados; Contnua