Aula 5 comunicação

601 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
601
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 5 comunicação

  1. 1. Comunicação-Introdução Comunicação entre processos está no coração de todo o Sistemas Distribuídos
  2. 2. Comunicação-Fundamentos Antes de começarmos nossa discussão sobre a comunicação em sistemas distribuídos, primeiro recapitular algumas das questões fundamentais relacionadas com a comunicação. Na próxima seção, discutimos brevemente os protocolos de comunicação de rede, uma vez que estes constituem a base para qualquer sistema distribuído. Depois disso, nós temos uma abordagem diferente, classificando os diferentes tipos de comunicação que ocorre em sistemas distribuídos.
  3. 3. Comunicação-Fundamentos Protocolos em Camadas ● Devido a ausência de memória compartilhada a comunicação se baseia em envio de mensagens
  4. 4. Comunicação-Fundamentos Modelo de Referência 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 evolução • Reduzir conflitos entre equipamentos • Simplificar o desenvolvimento
  5. 5. Comunicação-Fundamentos Comunicação entre Camadas Inserção de Cabecalhos (inicio) e trailers (final)
  6. 6. Comunicação-Fundamentos Protocolos em Camadas Protocolos de Niveis mais baixos ● Fisica ● Enlace
  7. 7. Comunicação-Fundamentos Camada Fisica Transmissão digital • Cuida das estruturas e especificações físicas • Define as especificações elétricas, mecânicas e funcionais da mídia de transmissão • Procedimentos para ativar, manter e desativar o link físico entre sistemas • Controla níveis de tensão, taxas de dados, distâncias máximas de transmissão e conectores físicos • Responsável pela pinagem de cabos • Codificação da transmissão de bits e regras de sincronização (clocking) • Exemplo: V.24, V.35, E1, E3, SDH etc
  8. 8. Comunicação-Fundamentos Camada Enlace Acessos aos meios • Organização dos bits em grupos lógicos de informações chamados de frames ou quadros. • Fornece transferência de dados entre os meios • Responsável pelo endereçamento físico e topologia de rede • Possui funções de notificação de erros e controle de fluxo • Função 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. 9. Comunicação-Fundamentos Camada Rede Endereçamento e Melhor Rota • Prove o endereçamento lógico usado pelos roteadores • Fornece seleção das melhores rotas entre redes • Construção das tabelas de roteamento • Serviços de InternetWorking • Fornece conectividade de redes geograficamente separadas • Métodos de movimentação de informações entre redes • A camada de rede pode escolher uma rota específica e impedir que os dados sejam enviados a redes não envolvidas • Exemplos: IP, IPX, X.25
  10. 10. Comunicação-Fundamentos Camada Transporte Conexões ponto a ponto • Trata das funções de transporte de segmentos entre os hosts • Responsável pela confiabilidade do transporte de dados • Estabelece, mantém e finaliza circuitos virtuais fim-a-fim • Fornece controle de fluxo das informações • Mantém um serviço de transporte de dados que isola as camadas superiores (upper layers) das inferiores (data layers) • Responsável pela qualidade de tipo de serviço requeridos pelos níveis superiores (taxa, tamanho do pacote, tempo disponível para retransmissão, controle do fluxo de dados) • Exemplos: TCP, UDP, SPX
  11. 11. Comunicação-Fundamentos Camada Sessão Comunicação interhosts • Estabelece, gerencia, regulamenta e finaliza sessões entre as apresentações • Sessões de comunicação consiste em requisições e resposta a serviços que ocorrem entre as aplicações localizadas em equipamentos de rede diferentes. • Oferece recursos para sincronismo entre aplicações em hosts diferentes • Coordena os direitos de acesso • Fornece relatórios acessibilidade • Exemplos de protocolos de sessão: Sistemas operacionais, como Windows, Novel Netware, MAC OS
  12. 12. Comunicação-Fundamentos Camada Apresentação Representação de dados • Garantir que os dados sejam compreensíveis para o sistema receptor • Cuidar da formatação e codificação dos dados • Estruturar e eventualmente converter os dados • Negociar e compatibilizar a sintaxe com a camada de aplicação • Pode ocorrer compressão, criptografia ou decodificação dos dados • Exemplos de protocolos de apresentação: MPEG, JPEG, GIF, ASCII, etc
  13. 13. Comunicação-Fundamentos Camada Apresentação Serviços da rede para as aplicações Disponibiliza serviços da rede para os diversos aplicativos, como correio eletrônico, FTP, Emulação de terminal, E-commerce, etc) • Contempla as tecnologias que permitem ao software do usuário a utilização dos recursos da rede. • Por exemplo: um processador de texto utiliza os serviços de transferência de arquivo para ingressar na rede.
  14. 14. Comunicação-Fundamentos Tipos de Comunicação Persistencia; ● ● Persistente – Mensagem apresentada a transmissão que é armazenada pelo Middleware durante o tempo que for necessário para entregá-la Ex: Correio Eletronico Transiente – É armazenada somente o tempo que as aplicações remetente e receptora estiverem executando send e receiver. Após isso é descartada
  15. 15. Comunicação-Fundamentos Tipos de Comunicação Sincronismo; Comunicação síncrona ● Os processos atendem a uma semântica de sincronização. O processo transmissor da mensagem estabelece uma conexão e aguarda a resposta do processo remoto depois de enviada a solicitação. Comunicação assíncrona ● O processo transmissor não aguarda a resposta do servidor. Depois de bufferizada a mensagem para posterior envio, o processo segue, sem aguardar a resposta do processo remoto.
  16. 16. Comunicação - Chamada de Procedimento Remoto ● ● ● Muitos sistemas são baseados em troca explícita de mensagens entre processos. Contudo, os procedimentos send e receive não escondem absolutamente nada da comunicação, o que é importante para obter transparência de acesso em sistemas distribuídos. Proposta diferente de manipular comunicação por Birrell e Nelson (1984).
  17. 17. Comunicação - Chamada de Procedimento Remoto ● ● ● A sugestão é permitir que programas chamassem procedimentos localizados em outras máquinas. Quando um processo na máquina A chama um procedimento na máquina B, o processo chamador A é suspenso, e a execução do procedimento chamado ocorre em B. RPC Informações podem ser transportadas do chamador para quem foi chamado nos parâmetros e podem voltar no resultado do procedimento (a semântica de uma chamada remota deve ser idêntica à de uma chamada local: passa parâmetros e retorna resultados).
  18. 18. Comunicação – Orientado a Mensagem RPC/RMI é inadequado para comunicação em alguns cenários de aplicação ● ● ● ● ● Cliente e servidor precisam estar ativos durante a comunicação Implica em espera para estabelecer o sincronismo entre cliente e servidor Overhead para manter conexão / sessão Falha de uma das partes impede comunicação Paradigma se limita à comunicação 1/1
  19. 19. Comunicação – Orientado a Mensagem Paradigma de comunicação por mensagens ● ● ● ● ● ● Evita alguns problemas comuns em sistemas baseados em RPC/RMI Outras questões podem ser resolvidas adotando um suporte computacional para comunicação através de mensagens Vários nomes são utilizados para se referir a esse tipo de suporte: Serviço / sistema / barramento / middleware de mensagens / eventos / filas / mailboxes Convencionou-se chamar esse suporte de Middleware Orientado a Mensagens (MOM)
  20. 20. Comunicação – Orientado a Mensagem Ffffffffffffffffffffff
  21. 21. Comunicação – Orientada a Fluxo ● ● ● ● ● ● ● A comunicação vista ate agora era baseada na troca de unidades de informação mais ou menos independentes e completas; Neste tipo de comunicação não interessa em que momento ela ocorre. Apesar de poder ser muito demorada ou muito rápida, questões relacionadas ao tempo não afetam a corretude da comunicação; 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. 22. Comunicação – Orientada a Fluxo ● ● ● ● Em mídias de representação contínua, relacionamentos temporais entre diferentes unidades de dados são fundamentais para a interpretação correta dos dados; Isto nao ocorre em mídias de representação discreta.
  23. 23. Comunicação – 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. 24. Comunicação – Orientada a Fluxo ● Discreta: relações temporais entre itens de dados nao são fundamentais para a interpretação dos dados; Contínua
  25. 25. Comunicação – Orientada a Fluxo ● Discreta: relações temporais entre itens de dados nao são fundamentais para a interpretação dos dados; Contínua

×