redes e sistemas distribu dos ii c d 30127 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Redes e Sistemas Distribuídos II – Cód. 30127 PowerPoint Presentation
Download Presentation
Redes e Sistemas Distribuídos II – Cód. 30127

Loading in 2 Seconds...

play fullscreen
1 / 46

Redes e Sistemas Distribuídos II – Cód. 30127 - PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on

Redes e Sistemas Distribuídos II – Cód. 30127. Prof. MSc. Ronnison Reges Vidal. Comunicação. Protocolos de Camadas. Roteiro. Comunicação entre Processos Protocolos em Camadas Modelo Cliente-Servidor RPC. Comunicação Entre Processos (CEP).

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Redes e Sistemas Distribuídos II – Cód. 30127' - yael


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
comunica o
Comunicação

Protocolos de Camadas

Mater Christi

roteiro
Roteiro
  • Comunicação entre Processos
  • Protocolos em Camadas
  • Modelo Cliente-Servidor
  • RPC

Mater Christi

comunica o entre processos cep
Comunicação Entre Processos (CEP)
  • CEP em Sistemas Distribuídos é sempre baseada em troca de mensagens. Não existe memória ou clock compartilhados.
  • 3 modelos de comunicação:
    • RPC: Remote Procedure Calls (Chamada de Procedimento Remoto, oculta a comprexidade da troca de mensagens)
    • MOM: Message-Oriented Middleware (Middleware Orientado a Mensagem, como e-mail)
    • Data Streaming (Fluxo de Dados, para aplicações multimídias)

Mater Christi

termos mais usados na cep
Termos mais usados na CEP
  • Multicast: enviar para múltiplos receptores
  • Protocolos Orientados a Conexão: Há a necessidade de estabelecer conexão (i.e. Socket) antes da troca de mensagens (por exemplo, Transmission Control Protocol (TCP) ou Universal Datagram Protocol (UDP)
    • TCP: lento mas seguro quanto a perda de dados
    • UPD: rápido mas pode haver perda de dados
  • Protocolos sem conexão: por exemplo, troca de e-mail
  • Checksum: técnica comum para validar os dados recebidos
  • OSI: Modelo Open Systems Interconnection (Baseado em pacotes)

Mater Christi

protocolos de camadas
Protocolos de Camadas
  • Camadas, interfaces e protocolos do modelo OSI.

7. Alto nível

6. Cria mensagem: Como string de bits

5. Estabelece comunicação

4. Cria pacotes

3. Roteamento de rede

2. Coloca: header/footer tag + checksum

1. Transmiti bit

protocolos em camadas
Protocolos em Camadas
  • Uma mensagem típica como ela aparece na rede.
camada de enlace
Camada de Enlace
  • Discussão entre um receptor e um emissor na camada de enlace de dados.
modelo cliente servidor1
Modelo Cliente Servidor
  • Sobrecarga de Camadas
    • A cada mensagem enviada deve ser processado meia dúzia de camadas cada qual com seu cabeçalho
  • Para sistemas distribuídos amplos não há muitos problemas
  • O fator limitante são as linhas de processamento para sistemas distribuídos localmente
    • Sobrecarga de protocolos

Mater Christi

modelo cliente servidor2
Modelo Cliente Servidor
  • Solução – Modelo cliente/servidor
    • Estrutura o sistema operacional como um grupo de processos cooperantes, chamados de servidores, que oferecem serviços aos usuários, chamados de clientes
  • Cliente e servidor
    • Executam mesmo microkernel
    • Execução de um processo, de vários clientes, de vários clientes ou uma mistura de ambos

Mater Christi

modelo cliente servidor3
Modelo Cliente Servidor
  • Baseado em um protocolo de solicitação / resposta simples , sem conexão.
    • O cliente envia uma mensagem de solicitação para o servidor solicitando algum serviço
    • O servidor faz o trabalho e devolve os dados pedidos ou de um código de erro indicando porque o trabalho não pode ser realizada

Mater Christi

modelo cliente servidor5
Modelo Cliente Servidor
  • Vantagem: simplicidade
    • O cliente envia uma solicitação e recebe uma resposta
    • Nenhuma conexão deve ser estabelecida antes de usar ou desfeita depois
    • A mensagem de resposta serve como aviso de recepção para a solicitação

Mater Christi

modelo cliente servidor6
Modelo Cliente Servidor
  • Vantagem: Eficiência
    • A pilha de protocolo é mais curta
    • Assumindo que todas as máquinas são idênticos, são necessárias apenas três níveis de protocolo
      • Solicitação e Resposta
      • enlace de dados
      • físicos

Mater Christi

modelo cliente servidor7
Modelo Cliente Servidor
  • Exemplo de cliente e servidor em C
    • http://www.e-reading-lib.com/chapter.php/143358/41/Tanenbaum_-_Distributed_operating_systems.html
  • Exemplo de cliente e servidor em Java
    • Deitel: Como programar

Mater Christi

modelo cliente servidor8
Modelo Cliente Servidor
  • Endereçamento
  • Bloqueio vs Sem bloqueio
  • Bufferização vs Não Buferização
  • Confiável vs Não confiável

Mater Christi

modelo cliente servidor9
Modelo Cliente Servidor
  • Endereçamento
    • Utilização de código de máquina e processo
    • Utilizar processos aleatórios e localizá-los por broadcast
    • Utilizar um servidor de nomes e localizar os clientes em tempo de execução

Mater Christi

modelo cliente servidor10
Modelo Cliente Servidor
  • Endereçamento
    • Envio de mensagens do cliente ao servidor
    • O endereço é da máquina ou do processo?
      • Endereços de Rede – Processo único
      • Endereços de Processos – utiliza dois identificadores: Máquina e para o processo

Mater Christi

modelo cliente servidor11
Modelo Cliente Servidor
  • Endereçamento
    • Problemas
      • transparência é um dos principais objetivos da construção de um sistema distribuído
      • suponha que o servidor de arquivos normalmente é executado na máquina X
  • abordagem alternativa consiste em atribuir a cada processo de um endereço único que não contém um número da máquina incorporado

Mater Christi

modelo cliente servidor12
Modelo Cliente Servidor
  • Endereçamento
    • abordagem alternativa consiste em atribuir a cada processo de um endereço único que não contém um número da máquina incorporado
      • ter um processo de alocação de endereço centralizada que simplesmente mantém um contador
      • A desvantagem deste sistema é que os componentes centralizados como este não escalam para sistemas de grande porte e, portanto, deve ser evitado

Mater Christi

modelo cliente servidor13
Modelo Cliente Servidor
  • Endereçamento
    • outro método de atribuição de identificadores de processo é deixar que cada processo escolher seu próprio identificador de um grande espaço de endereço escasso
      • Pacote de difusão – envia para todas as máquinas

Mater Christi

modelo cliente servidor14
Modelo Cliente Servidor
  • Endereçamento
    • Embora este sistema é transparente , mesmo com o cache, a difusão coloca carga extra no sistema
      • carga adicional pode ser evitada , proporcionando uma máquina adicional para mapear de alto nível (ou seja , ASCII ) para nomes de endereços da máquina

Mater Christi

modelo cliente servidor16
Modelo Cliente Servidor
  • Primitivas de Bloqueio vs Sem bloqueio
    • Primitivas de bloqueio ou Primitivas síncronas
    • Primitivas de não-bloqueio ou Primitivas assíncronas
    • Quando um processo chama send ele especifica um destino e um buffer para enviar para esse destino
    • Enquanto a mensagem está sendo enviada, o processo de envio é bloqueado (ou seja, suspenso). A instrução após a chamada para send não é executada até que a mensagem foi enviada completamente

Mater Christi

modelo cliente servidor17
Modelo Cliente Servidor
  • Primitivas de Bloqueio vs Sem bloqueio
    • Uma alternativa são as primitivas sem bloqueio
    • Se send é sem bloqueio, ele retorna o controle para o chamador imediatamente, antes que a mensagem seja enviada

Mater Christi

modelo cliente servidor19
Modelo Cliente Servidor
  • Primitivas de Bloqueio vs Sem bloqueio
    • A vantagem deste sistema é que o processo envio pode continuar a computação em paralelo com a transmissão de mensagens, em vez de ter o processador ir ocioso
    • Desvantagem
      • O enviador não pode modificar a mensagem no buffer até que a mensagem tenha sido enviada

Mater Christi

modelo cliente servidor20
Modelo Cliente Servidor
  • Primitivas de Bloqueio vs Sem bloqueio
    • Há duas formas
      • Cópia interna no buffer do kernel, permitindo que o processo continue
      • Interromper o enviador quando a mensagem tiver sido enviada
        • Problemas de sincronização de comunicação

Mater Christi

modelo cliente servidor21
Modelo Cliente Servidor
  • Primitivas de Bloqueio vs Sem bloqueio
    • Envio com bloqueio
      • CPU permanece ocioso durante a transmissão
    • Envio sem bloqueio com cópia
      • CPU desperdiça tempo com a cópia extra
    • Envio sem bloqueio com interrupção
      • Torna a programação difícil

Mater Christi

protocolos de middleware1
Protocolos de Middleware
  • Um modelo de referência adaptado para comunicação em rede.
tipos de comunica o
Tipos de Comunicação
  • Middleware visto como serviço intermediário (distribuído) na comunicação de nível da aplicação

Mater Christi

tipos de comunica o1
Tipos de Comunicação
  • Comunicação Síncrona e Assíncrona
  • Comunicação Persistente
    • Armazena a comunicação pelo tempo necessário(por exemplo, mail delivery)
  • Comunicação Transiente
    • A mensagem é armazenada enquanto o emissor e o receptor estão funcionando.
  • Comunicação Discreta
  • Comunicação por Fluxo

Mater Christi

slide35
RPC

Remote Procedure Call

Mater Christi

slide36
RPC
  • Troca de mensagem entre processos
  • Birrel e Nelson (1984)
    • Executar chamadas a procedimentos localizados em outras máquinas
  • Remote Procedure Call – RPC
    • Máquinas diferentes – Espaços de endereço diferentes
    • Parâmetros e resultados necessitam ser transportados
    • Alguma ou ambas as máquinas podem quebrar
chamada de procedimento convencional
Chamada de Procedimento Convencional

(a) Passagem de parâmetros em uma chamada de procedimento local: a pilha antes da chamada a read (b) A pilha enquanto o procedimento está rodando.

stubs cliente e servidor
Stubs Cliente e Servidor
  • Stub Cliente
    • Pedaço do código que transforma informações (parâmetros) vindas de procedimentos locais em mensagens
  • Stub Servidor
    • Pedaço do código que transforma requisições vindas da rede em chamadas de procedimento locais
stubs cliente e servidor1
Stubs Cliente e Servidor
  • Transparência ao procedimento de chamada
    • Tipo de interface entre o código de usuário e o sistema operacional local
  • Stub cliente
    • Método Análogo
    • Empacotamento de parâmetros
    • Envio ao servidor
    • Bloqueio em espera a resposta
stubs cliente e servidor2
Stubs Cliente e Servidor
  • Stub servidor tipicamente chama o procedimento “receive” e está bloqueado esperando as mensagem que virão
  • Stub servidor desempacota os parâmetros e chama o procedimento servidor normalmente
stubs cliente e servidor3
Stubs Cliente e Servidor
  • Executa a operação e retorna o resultado
    • Empacota o resultado em uma mensagem
    • Chama o procedimento “send” retornando o resultado ao cliente
    • Chama o procedimento “receive” esperando novas requisições
stubs cliente e servidor4
Stubs Cliente e Servidor
  • A menssagem é copiada para o buffer de espera e o processo cliente é desbloqueado
  • Stub cliente inspeciona a mensagem e desempacota o resultado copiando o para o procedimento que o chamou
  • O procedimento sabe que o dado está disponível, mas não tem ideia que foi processado remotamente
stubs cliente e servidor5
Stubs Cliente e Servidor
  • Princípio da RPC entre um programa cliente e servidor.
passos de uma chamada de procedimento remoto
Passos de uma chamada de procedimento remoto
  • Procedimento cliente chama o stub cliente em modo normal
  • Stub cliente constrói a mensagem, chamadas locais OS
  • OS do cliente envia mensagem para remoto OS
  • Remoto OS dá mensagem para stub servidor
  • Stub descompacta os parâmetros, e chama o servidor
passos de uma chamada de procedimento remoto1
Passos de uma chamada de procedimento remoto
  • Servidor não funciona, retorna resultado para o topo
  • Stub servidor empacota em mensagem, chamadas locais OS
  • OS do servidor envia a mensagem para o OS do cliente
  • OS do cliente dá a mensagem para stub cliente
  • Stub descompacta resultado, retorna ao cliente

Mater Christi

passando valores por par metro
Passando Valores por Parâmetro
  • Passos envolvidos na computação remota através do RPC