Você está na página 1de 8

10/07/2017

ROBERTO TENORIO FIGUEIREDO ROBERTO TENORIO FIGUEIREDO


www.osfedera.com www.osfedera.com
tenorio.petrolina@bol.com.br tenorio.petrolina@bol.com.br

1 2

Comunicao entre Processos Modelo de Referncia OSI


4.1 Fundamentos
4.2 Chamada de Procedimento Remoto
4.3 Comunicao Orientada a mensagem
4.4 Comunicao Orientada a fluxo
4.5 Comunicao Multicast

3 4

OSI - Formato final da mensagem Protocolos do OSI


Protocolo da camada fsica
Se ocupa apenas em transmitir os bits.
Existem muitos padres para essa camada, como
por exemplo, o RS-232-C.

Pilha de Protocolos ou Pilha de Protocolos.

5 6

1
10/07/2017

Protocolos do OSI Protocolos do OSI


Protocolo de enlace Protocolo de rede
Localiza e corrige erros nos bits a serem Procura o melhor caminho para a mensagem sair
transmitidos. do emissor e chegar no receptor (roteamento).
Agrupa os bits em unidades, chamadas de Esse melhor caminho ser o gera o menor tempo
quadros, e providencia que o quadro seja global de transmisso da mensagem.
recebido corretamente. O protocolo de rede mais utilizado o protocolo
Para isso, gera uma soma com todos os bits (soma de internet (IP Internet Protocol).
de verificao) e manda a soma junto com eles. O
resultado ser checado no destino.

7 8

Protocolos do OSI Protocolos do OSI


Protocolo de transporte Protocolo de transporte
Sua funo tornar a conexo confivel, ou seja, O protocolo no orientado a conexo (sem
que os pacotes sero recebidos uma e somente conexo) significa que o emissor no estabelece
uma vez pelo receptor. comunicao com o receptor diretamente, e
O protocolo de transmisso mais usado o apenas envia a mensagem. O protocolo sem
protocolo de controle e transmisso (TCP conexo mais usado o protocolo universal de
Transmission Control Protocol). Esse protocolo datagramas (UDP Universal Datagram Protocol).
orientado a conexo. Para dados de tempo real, como o stream,
usado o protocolo de transporte em tempo real
(RTP Real-Time Transport Protocol )

9 10

Protocolos do OSI Protocolos do OSI


Protocolo de sesso Protocolo de aplicao
Monitora o dilogo, sabendo exatamente quem uma espcie de repositrio para todas as
manda e quem recebe a mensagem. aplicaes e protocolos das aplicaes de usurio.
Fornece sincronizao aos processos, caso o Essa camada permite alguns protocolos
receptor seja mais lento que o emissor. especficos de aplicao com o:
Protocolo de apresentao Protocolo de Transferncia de Arquivos (FTP File
Transfer Protocol);
Se preocupa com o significado do bit. Protocolo de Transferncia de Hypertexto (HTTP
Ela quem converte sequencias binrias em HyperText Transfer Protocol)
informaes vlidas em um sistema e vice-versa.

11 12

2
10/07/2017

Adio de protocolos de Middleware Protocolos de Middleware


Aplicao que reside, na maioria das vezes, na Suportam servios de comunicao de alto
camada de aplicao, mas contm muitos
protocolos de uso geral que justificam suas nvel:
prprias camadas, independentemente de outras Chamar Procedimentos Remotos;
aplicaes mais especficas. Invocar objetos remotos;
Protocolos de autenticao;
Protocolos de comprometimento; Estabelecer e sincronizar fluxos para transferir
Protocolos de bloqueio. dados em tempo real;
Oferecer servios multicast (vrios receptores)
Esses protocolos podem constituir um confiveis.
middleware

13 14

Modelo de referncia adaptado Tipos de comunicao - Persistncia


As camadas de Sesso e Apresentao so
Comunicao Persistente
implementadas no Middleware
Uma mensagem armazenada pelo middleware de
comunicao durante o tempo que for necessrio para
entreg-la ao receptor;
Comunicao Transiente
Uma mensagem armazenada pelo middleware de
comunicao somente durante o tempo em que a
aplicao remetente e a aplicao receptora estiverem
executando

15 16

Middleware como servio adicional de


Tipos de comunicao - Sincronizao
computao cliente-servidor
Comunicao Assncrona
Remetente continua sua execuo imediatamente aps
ter apresentado sua mensagem para transmisso.
Comunicao Sncrona
Remetente bloqueado at saber que sua requisio foi
aceita:
1. Middleware avisa que se encarregar da transmisso;
2. Remetente sincroniza at que sua requisio seja entregue ao
receptor;
3. Remetente espera at que sua requisio tenha sido totalmente
processada.

17 18

3
10/07/2017

Comunicao entre Processos Chamada de Procedimento Remoto


4.1 Fundamentos Decorrente da necessidade de obter transparncia
de acesso em sistemas distribudos (o que no
4.2 Chamada de Procedimento Remoto
ocorre com o uso dos procedimentos send e receive);
4.3 Comunicao Orientada a mensagem Criao do RPC (Chamada de Procedimento Remoto) para
4.4 Comunicao Orientada a fluxo que um processo da mquina A chame um procedimento
da mquina B, sendo ento o processo de A suspenso e o
4.5 Comunicao Multicast procedimento executado em B, sendo que nenhum
aspecto da troca de mensagens visvel para o
programador!

19 20

Chamada de Procedimento
Chamada de Procedimento Remoto
Convencional
Principais problemas: Chamada por Valor ou por Referncia
Por valor basta enviar o valor;
Chamador e procedimento executam em
Por referncia, o parmetro um ponteiro para a varivel.
mquinas diferentes, executando em espaos de Se o procedimento chamado usa esse parmetro para
endereo diferentes; armazenar algo, ele realmente modifica o vetor do
processo chamador.
Necessrio passar parmetros e resultados;
Sero vistos com mais detalhes adiante...
Em caso de falhas, cada uma das possveis falhas Chamada por Copiar/Restaurar
causa problemas diferentes. Normalmente tem mesmo efeito que chamada por
referncia, mas s modifica o valor ao fim da chamada.

21 22

Funcionamento do Apndice de
RPC Apndices de Cliente
cliente
Uma chamada de procedimento remoto deve
manter transparncia;
Em um sistema tradicional, read um procedimento que
faz uma chamada de sistema ao S.O.
RPC adiciona uma verso diferente de read que , na
verdade, um procedimento remoto, denominada apndice
de cliente. Ao invs de fazer uma chamada de sistema ao
S.O., empacota os parmetros e os envia para o servidor.
O apndice de cliente efetua o send e o receive.

23 24

4
10/07/2017

RPC Apndices de Servidor RPC Apndices de Servidor


Quando a mensagem chega ao servidor, o O servidor executa o procedimento como se
executasse um procedimento vindo diretamente do
sistema operacional do servidor a passa cliente. O resultado ser armazenado no buffer
para um apndice de servidor. apontado e devolvido ao apndice de servidor, que
empacota os dados e o envia ao apndice cliente, que
repassa ao cliente.
Equivalente ao apndice de clientes, transforma
requisies que vm pela rede em chamadas de
procedimento locais. O cliente apenas sabe que seus dados esto
disponveis, imaginando que tudo foi processado
em seu prprio S.O.!

25 26

RPC - Passagem de parmetros RPC Passagem de parmetros (ADD)


Empacotar parmetros em uma mensagem
denominado empacotar parmetros.
Considerando um procedimento remoto add(i,j),
que pega 2 elementos inteiros, i e j, e retorna sua
soma aritmtica como resultado (passagem por
valor):

27 28

RPC Passagem de parmetros Valor RPC Passagem por referncia


Problemas: Um ponteiro s significativo dentro do espao de
Em sistemas com vrios tipos de mquinas pode endereo do processo no qual est sendo usado.
ter sua prpria representao de nmeros, Proibir ponteiros? Restritivo demais.
caracteres e outros tipos de dados (ASCII x Copiar o vetor para a mensagem e envi-la ao servidor?
Soluo vivel, porm na prtica fica semelhante
EBCDIC);
situao copiar/restaurar; apesar disso suficientemente
Problemas com representao de inteiros bom.
(complemento de 1 ou complemento de 2?) e de Se os apndices souberem se o buffer um parmetro de
ponto flutuante; entrada ou um parmetro de sada, uma das cpias pode
Big endian x Little endian ser eliminada.

29 30

5
10/07/2017

RPC Especificao de parmetros e RPC Especificao de parmetros e


gerao de apndices gerao de apndices
necessrio definir o formato da mensagem; Definir a interface a ser chamada pelo cliente
e implementada no servidor;
Ambos necessitam concordar com as IDL Interface Definition Language
definies de tipos de dados; Uma interface definida por IDL compilada para
gerar um apndice de cliente e um apndice de
servidor.
Definio de protocolo a ser usado;

31 32

RPC Assncrona RPC Assncrona


Fornecem facilidades de modo a no bloquear Tambm podem ser teis quando uma
o cliente quando no h nenhum resultado a resposta ser retornada mas o cliente no est
esperar; preparado para esperar por ela;
So combinadas duas RPCs assncronas, tambm
denominada RPC assncrona deferida;
O cliente pode, tambm, no esperar resposta
do servidor e continuar sua execuo (RPCs de
uma via).

33 34

RPC assncrona deferida 4. Comunicao entre Processos


4.1 Fundamentos
4.2 Chamada de Procedimento Remoto
4.3 Comunicao Orientada a mensagem
4.4 Comunicao Orientada a fluxo
4.5 Comunicao Multicast

35 36

6
10/07/2017

Comunicao Orientada a Mensagem Interface de troca de mensagens (MPI)


Quando no se pode adotar que o lado receptor Surgiu da considerao de que Sockets so
est executando no momento em que uma insuficientes para escrever com facilidade aplicaes
requisio emitida, o que fazer? de alta eficincia:
Troca de mensagens.
apresentam problemas de abstrao, suportando apenas
Interface Berkeley padronizao. Exemplos: primitivas simples send e receive;
Interface Sockets (Um soquete um terminal de
comunicao para o qual uma aplicao pode escrever Projetada para protocolos de pilha de protocolos de uso
dados que devem ser enviados pela rede subjacente e geral, como TCP/IP, sendo considerados inadequados para
do qual pode ler dados que chegam) protocolos proprietrios para redes de alta velocidade
XTI (X/Open Transport Interface)
Interface de troca de mensagens (MPI)

37 38

Comunicao Persistente Orientada a


Comunicao entre Processos
mensagem
Tratam-se de servios middleware orientados a 4.1 Fundamentos
mensagem conhecidos como sistemas de
enfileiramento de mensagens ou Middleware 4.2 Chamada de Procedimento Remoto
orientado a mensagem (MOM).
Proporciona comunicao assncrona persistente; 4.3 Comunicao Orientada a mensagem
Oferecem capacidade de armazenamento de mdio prazo 4.4 Comunicao Orientada a fluxo
para mensagens, sem exigir que o remetente ou receptor
estejam ativos durante a transmisso da mensagem. 4.5 Comunicao Multicast
Nesses sistemas a tolerncia para envio e recepo tm
permisso de levar minutos ao invs de segundos ou
milissegundos.

39 40

Comunicao Orientada a Fluxo Suporte para Mdia Contnua


A temporizao desempenha papel crucial. Classificada quanto aos meios de
Fluxo de udio (mono/stereo); apresentao:
Fluxo de vdeo e udio; Mdia contnua (de representao) relaes
temporais entre diferentes itens de dados so
Fluxos de dados so, portanto, seqncias fundamentais para interpretao correta dos
unidades de dados. dados (udio, vdeo);
Mdia discreta (de representao) as relaes
temporais no so importantes (texto, imagens
estticas, executveis).

41 42

7
10/07/2017

Suporte para Mdia Contnua


4. Comunicao entre Processos
Fluxo de Dados
Costuma-se fazer distino entre diferentes modos 4.1 Fundamentos
de transmisso, a fim de capturar aspectos de
temporizao, que crucial para fluxos contnuos de 4.2 Chamada de Procedimento Remoto
dados:
Assncrono sem restrio de temporizao; 4.3 Comunicao Orientada a mensagem
Sncrono definido atraso mximo fim-a-fim; 4.4 Comunicao Orientada a fluxo
Iscrono as unidades devem ser transferidas em um
tempo certo, sendo definidos um valor mximo e um valor 4.5 Comunicao Multicast
mnimo (sero considerados os fluxos, neste captulo,
deste ltimo caso).
Tambm so separados fluxos simples (1 subfluxo)
de fluxos complexos (vrios).

43 44

Comunicao Multicast Disseminao de informao


Trata sobre como enviar informaes a Protocolos epidmicos propagam informaes de
mltiplos destinatrios; forma inspirada na propagao de doenas
contagiosas;
Inicialmente recorrente a protocolos de nvel de
rede (problema difcil e praticamente Modelo de antientropia N P escolhe
abandonado); aleatoriamente n Q e troca informaes, seguindo
a abordagem:
Com P2P e redes de sobreposio, tornou-se uma
1. P s envia suas prprias atualizaes a Q; ou
tarefa mais fcil implement-lo no nvel de
2. P s recebe novas atualizaes de Q; ou
aplicao.
3. P e Q enviam atualizaes um para o outro (enviar-
receber).

45 46

Disseminao de informao DVIDAS


Modelo de Gossiping (fofoca)
P foi atualizado, e contata Q para enviar a atualizao. Caso
Q j conhea a fofoca, P fica desmotivado e perde o
interesse em continuar contando fofocas a Q.
Normalmente so usados protocolos epidmicos e
Gossiping conjuntamente.
Apesar da atualizao ser rpida, a remoo lenta;
Uso de certificado de bito (dormente).

47 48

Você também pode gostar