37
Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Embed Size (px)

Citation preview

Page 1: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Sistemas DistribuídosProf. Carlos Augusto da Costa Carvalho

Protocolos de Comunicação e Passagem de Mensagens

Page 2: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Protocolos em Camadas

Page 3: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Modelo de Referência ISO/OSI

Page 4: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Mensagem na Rede

Page 5: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Camadas do Modelo ISO/OSICamada Física

Move bits através de um meio físico;

Define as características elétricas e mecânicas do meio, taxa de transferência dos bits, conectores entre outros.

Page 6: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Camadas do Modelo ISO/OSICamada de enlace de Dados

Agrupa bits em quadros (frames) e verifica se foram transmitidos corretamente;

Controle de Acesso ao Meio tipicamente em LANs;

Controle lógico de enlaceConfirmação e

retransmissão de quadros;Controle da quantidade e

velocidade de transmissão de informações na rede.

Page 7: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Camadas do Modelo ISO/OSICamada de Rede

Movimenta pacotes a partir de sua fonte original até seu destino através de um ou mais enlaces, caso necessário;Define como dispositivos de rede descobrem uns aos outros e como os pacotes são roteados até seu destino final.

Page 8: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Camadas do Modelo ISO/OSICamada de Transporte

Determina a classe de serviço necessária:Orientada a conexão e com controle de

erro e serviço de confirmação (acknowledgment);

Sem conexões e nem confiabilidade.

Page 9: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Camadas do Modelo ISO/OSICamada de Seção

Disponibiliza serviços como, por exemplo, pontos de controle (checkpoint) periódicos a partir dos quais a comunicação pode ser re-estabelecida em caso de pane na rede.

Page 10: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Camadas do Modelo ISO/OSICamada de Apresentação

Define como inteiros, mensagens de texto e outros dados são codificados e transmitidos na rede;

Isso permite que computadores com arquitetura de hardware e SOs diferentes troquem informação.

Page 11: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Camadas do Modelo ISO/OSICamada de Aplicação

Transmitem informações específicas para uma dada aplicação;

Exemplos: FTP (File Transfer Protocol ), HTTP (Hypertext Transfer Protocol ), SMTP (Simple Mail Transfer Protocol ).

Page 12: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Passagem de mensagem

Page 13: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Comunicação InterprocessosA comunicação entre um par de processos em um

ambiente distribuído envolve:A transferência de dados do ambiente do processo

emissor para o ambiente do processo receptor;Em algumas operações de comunicação, a sincronização das

atividades de envio e recepção, de forma a impedir que o processo emissor ou receptor progrida até que o outro processo realize uma ação que o libere.

O mecanismo de passagem de mensagens permite que dois processos se comuniquem através da cópia do dado a ser compartilhado do espaço de endereçamento do emissor para o do receptor;

Isto é realizado enviando-se uma mensagem de um processo a outro contendo o dado a ser compartilhado;

Esta forma de comunicação é mais comum quando os processos não compartilham memória.

Page 14: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Primitivas de Passagem de Mensagem

Page 15: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Organização do Sistemas de Comunicação em rede

Page 16: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Classificação das Primitivas de Passagem de Mensagem

Page 17: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Classificação das Primitivas de Passagem de Mensagem

Page 18: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Comunicação Assíncrona

Page 19: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Comunicação Síncrona Persistente

Page 20: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Comunicação Síncrona Transiente

Figura: (d) Comunicação síncrona transiente baseada no receptor (e) Comunicação síncrona transiente baseada na entrega (ex. RPC assíncrona)

Page 21: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Comunicação Síncrona Transiente

Figura: (f) Comunicação síncrona transiente baseada na resposta (ex. RPC e RMI)

Page 22: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Endereçamento nas Primitivas de Passagem de Mensagem: Nome Simétrico

Send (destino, mensagem);Receive (origem, mensagem);Utiliza-se nomes de processos. Em um sistema

distribuído isto pode ser: processo@máquina.domínio ;

Um único caminho de comunicação direto é criado:

Este esquema é também conhecido como endereçamento simétrico já que tanto o processo emissor quanto o receptor devem explicitamente identificar o nome nas primitivas de comunicação

Page 23: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Endereçamento nas Primitivas de Passagem de Mensagem: Nome Assimétrico

Receive

Page 24: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Endereçamento nas Primitivas de Passagem de Mensagem: Link

Page 25: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Endereçamento nas Primitivas de Passagem de Mensagem: Mailbox

Page 26: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Endereçamento nas Primitivas de Passagem de Mensagem: Portas

Page 27: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Endereçamento nas Primitivas de Passagem de Mensagem: Portas

Page 28: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Sockets

Page 29: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Sockets

Page 30: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

SocketsCriado através de uma chamada ao sistema que retorna

um descritor utilizado em operações subseqüentes;O descritor é chamado de LCE (Local Communication

Endpoint);O LCE deve ser associado a um PCE (Physical

Communication Endpoint) para o transporte de dados;O PCE é especificado pelo endereço de rede da máquina

e por um número correspondente a uma porta;Esta associação é realizada pela chamada bind().A comunicação envolve dois PCEs, cada um pertencente

a um dos processos envolvidos;Tanto o endereço local quanto o PCE remoto são

necessários a cada operação sendto()/recvfrom() a não ser que se utilize um socket orientado à conexão.

Page 31: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Sockets e estabelecimento de Conexão

Page 32: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Sockets e estabelecimento de Conexão

Page 33: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Sockets e estabelecimento de Conexão

Analogia TCP = Sistema Telefônico- Você disca para um número, o outro lado atende e uma

conexão é estabelecida;- O outro lado escuta suas palavras na ordem em que

foram emitidas;- Se o telefone está ocupado ou se não há resposta você

descobre prontamente.O endereçamento explícito do PCE remoto nas chamadas

send/receive pode ser eliminado através da chamada connect() que realiza o bind do LCE com o PCE remoto antes de iniciar a transferência de dados;

O cliente envia um connect() ao servidor que aceita a comunicação através da chamada accept() e assim estabelece uma conexão com o cliente.

Page 34: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Sockets com Estabelecimento de Conexão: Código do Servidor

Page 35: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Sockets com Estabelecimento de Conexão

Page 36: Sistemas Distribuídos Prof. Carlos Augusto da Costa Carvalho Protocolos de Comunicação e Passagem de Mensagens

Atividade em SalaO que é modelo ISO/OSI? Para que serve as camadas física, enlace

de dados, rede, transporte, sessão, apresentação e aplicação? Explique?

Quais as diferenças entre as classificações das mensagens Persistentes e Transientes

O que é Socket? Quais as diferenças entre UDP e TCP?