• Nenhum resultado encontrado

Arquitetura de sistemas distribuídos

N/A
N/A
Protected

Academic year: 2021

Share "Arquitetura de sistemas distribuídos"

Copied!
39
0
0

Texto

(1)

Arquitetura de

sistemas distribuídos

3. Comunicação nos Sistemas Distribuídos

3.1.Introdução aos modelos de comunicação

3.2 Modelo Cliente-Servidor

3.3.Comunicação através de Sockets

3.3 Chamada a procedimento remoto

(2)

Modelos de comunicação

REVISÃO

• Sistemas centralizados

- Memória partilhada

• Sistemas distribuídos

- Não existe memória partilhada - Baseado em troca de mensagens

(3)

Modelos de comunicação

CONCEITOS BÁSICOS DE PROTOCOLOS

• Conjunto de regras, procedimentos e formatos

para garantir a comunicação entre duas entidades geograficamente distintas.

(4)

Modelos de comunicação

• ISO (International Standard Organization),

desenvolveu um modelo de referência:

- Diversos níveis envolvidos

- O que deve ser tratado em cada nível

- Open Systems Interconnection Reference Model

(5)

Modelos de comunicação

CONCEITO DE PROTOCOLO EM CAMADAS

• Comunicação é dividida em sete níveis ou

camadas, onde cada camada trata de um aspecto específico da comunicação.

(6)

Modelos de comunicação

DESAFIO DE PROTOCOLOS

• Roteamento

• Controle de congestionamento • Internetworking

(7)

Modelos de comunicação

(8)

Modelo cliente-servidor

CONCEITOS

• Método ou modelo de distribuição de aplicações

computacionais por meio de muitas plataformas.

• Geralmente refere-se a um método onde dois ou

mais computadores interagem de modo que um oferece serviço aos outros.

• Arquitetura computacional que envolve requisições

(9)

Modelo cliente-servidor

CLIENTE

Também denominado de “front-end” e

“workstation”, é um processo que interage com o usuário por meio de interface gráfica, ou não

permitindo consultas e comandos para recuperação de dados.

• É um processo ativo na relação cliente/servidor. • Torna a rede transparente para o usuário.

(10)

Modelo cliente-servidor

SERVIDOR

• Também denominado servidor “back-end”, fornece determinado

serviço e fica disponível quando o cliente necessita.

É um processo reativo na relação cliente-servidor. • Possui uma execução contínua.

• Recebe e responde solicitações dos clientes. • Presta serviços distribuídos.

(11)

Modelo cliente-servidor

VANTAGENS

• Simplicidade;

• Não tem necessidade de estabelecer e finalizar a conexão;

• A mensagem de resposta de um servidor pode funcionar como

uma confirmação de entrega de uma requisição;

• Eficiência;

• Se as máquinas forem idênticas é necessário apenas três níveis de

protocolo:

(12)

Modelo cliente-servidor

PROCESSOS ACIONANDO INDIVIDUALMENTE PROCESSOS SERVIDORES

(13)

Modelo cliente-servidor

UM SERVIÇO PROVIDO POR MÚLTIPLOS PROCESSOS SERVIDORES

(14)

Modelo cliente-servidor

TROCA DE MENSAGENS

send (destino)

(15)

Comunicação através de sockets

CONCEITO (REVISÃO)

Um socket é um ponto final (endpoint) de um canal

bidirecional de comunicação entre dois programas em uma rede.

- Endereço local - Endereço global

(16)

Comunicação através de sockets

CONEXÃO

• O servidor fica apenas no estado: “ouvindo”, aguardando o pedido de

conexão do cliente.

• O cliente sabe o nome do host e qual porta está associada a

aplicação no qual irá prover o serviço.

Assim que o servidor aceitar a conexão, é criado um novo socket

para continuar ouvindo as requisições e atende a solicitação do host cliente pelo socket original.

(17)

Comunicação através de sockets

PROTOCOLOS UDP

User Datagram Protocol (UDP).

• Protocolo não orientado a conexão. • Não há garantia de entrega de dados.

• Perdas durante transmissões não são tratadas por este protocolo. • Usado em redes de alta confiabilidade, onde as taxas de perdas

são baixas.

(18)

Comunicação através de sockets

PROTOCOLOS TCP • Transmission Control Protocol (TCP).

• Protocolo orientado a conexão.

• Precisa ser feita uma conexão antes do início da

transmissão de dados

• Fase de conexão -> Fase de transmissão de dados ->

Fase de desconexão.

(19)

Comunicação através de sockets

COMUNICAÇÃO: SERVIDOR

• Efetua a criação do Socket;

• Associa o Socket a um endereço local; • Aguarda por conexões cliente;

• Aceita conexão; • Lê requisições; • Envia resposta; • Fecha Socket.

(20)

Comunicação através de sockets

COMUNICAÇÃO: CLIENTE

• Efetua a criação do Socket; • Estabelece a conexão;

• Envia a requisição; • Aguarda a resposta; • Fecha o Socket;

(21)

Comunicação através de sockets

FUNÇOES/MÉTODOS/APIs

• socket(pf, type, protocol);

• bind(socket, localaddr, addrlen); • listen(socket, queue);

• accept(socket, addr, addrlen); • read(socket, buffer, lenght); • write(socket, buffer, lenght); • close(socket);

(22)

Comunicação através de sockets

FUNÇOES/MÉTODOS/APIs

• gethostbyname(host);

(23)

Chamada a procedimento

remoto (RPC)

CONCEITO

• Chamadas a procedimentos remotos é a

chamada de um programa a procedimentos localizados em máquinas diferentes.

(24)

Chamada a procedimento

remoto (RPC)

OBJETIVO

• Tornar mais fácil a implementação de aplicações distribuídas.

• Esconde o código de chamadas a rede em

procedimentos chamados stubs:

- Método que possui o código de chamadas a rede.

- O uso de stubs isenta a preocupação de clientes com detalhes da implementação de rede como sockets.

(25)

Chamada a procedimento

remoto (RPC)

(26)

Modelo peer-to-peer (P2P)

CONCEITO

• São sistemas distribuídos nos quais os membros

da rede são equivalentes em funcionalidade.

• Permite que pares compartilhem recursos

(27)

Modelo peer-to-peer

CARACTERÍSTICAS

• Auto-organização: não há um coordenador do grupo; toda a

coordenação é distribuída.

• Adaptabilidade: rede se reajusta ao ambiente, mesmo que

ocorram falhas.

• Escalabilidade: rede cresce facilmente em larga escala; não há

ponto de estrangulamento.

• Comunicação direta entre os pares: se opõe ao tradicional

modelo cliente-servidor, já que cada nó pode fornecer ou obter recursos.

(28)

Modelo peer-to-peer

UTILIZAÇÃO

• Compartilhamento de arquivos, imagens, músicas, vídeos e

etc.

Atualização de sistemas operacionais e de software aplicativo. • Gerenciamento de redes e de sistemas

Processamento distribuído

• Sincronização de banco de dados • Difusão de informações, etc…

(29)

Modelo peer-to-peer

CLASSIFICAÇÃO

• Arquitetura centralizada: utiliza um servidor central

para controle de acesso à rede e para publicação e pesquisa de conteúdo.

• Arquitetura descentralizada: todos os peers possuem

funcionalidade equivalente.

• Arquitetura híbrida: alguns peers especiais, chamados

(30)

Modelo peer-to-peer

EXEMPLO: NAPSTER

• Criado em 1999;

• Utilizava um servidor central;

• A transferência de arquivos era feita diretamente

pelos peers;

• Sem o servidor central, que foi desligado por

(31)

Modelo peer-to-peer

(32)

Modelo peer-to-peer

EXEMPLO: BITTORRENT

• Arquivo .torrent

- Criado por nó seed, que compartilha arquivo

- Contém metadados que descrevem o arquivo e

permitem verificar sua integridade.

(33)

Modelo peer-to-peer

EXEMPLO: BITTORRENT

• Servidores tracker

- Coordenam a distribuição de arquivos - Indicam os nós para download

- Controlam a velocidade do download - Se o nó não colabora, perde banda

(34)

Modelo peer-to-peer

(35)

Modelo peer-to-peer

PROBLEMAS EM REDES P2P

• Downloads interrompidos e não verificados podem

resultar em arquivos corrompidos espalhados pela rede;

• Nós maliciosos registram dados erroneamente e

enviam dados corrompidos, vírus…

• Nos downloads de várias fontes, basta uma fonte

(36)

Modelo peer-to-peer

SOLUÇÕES PARA OS PROBLEMAS EM REDES P2P

• Verificação de integridade de dados;

• Uso de mecanismos de proteção na camada de

(37)

Modelo peer-to-peer

VERIFICAÇÃO DE INTEGRIDADE DOS DADOS

• Consiste em efetuar verificações com a base no hash do

conteúdo compartilhado.

• Downloads de várias fontes só acontecem se o arquivo

possuir o mesmo hash.

• Ao final do download, o cliente (aplicação) pode fazer a

verificação do hash do arquivo obtido para verificar se ele não foi corrompido no caminho.

(38)

Modelo peer-to-peer

MECANISMOS DE PROTEÇÃO

• Normalmente feito na camada de aplicação do

tracker;

• Baseado na associação de índices de reputação de

cada nó na rede;

• Um nó constrói um reputação, quando fornece

conteúdos íntegros;

(39)

Referências

Documentos relacionados

Detectadas as baixas condições socioeconômicas e sanitárias do Município de Cuité, bem como a carência de informação por parte da população de como prevenir

–Enlace compartilhado entre dois ou mais dispositivos –Capacidade do enlace é dividida para as transmissões.. Classificação

–Nível inferior oferece serviços (o que o nível faz) para o nível imediatamente superior. –Uma interface especifica como acessar os serviços de

• Suponha que dois segmentos são transmitidos, e que haja perda apenas do reconhecimento para o primeiro segmento. • Caso 1: o reconhecimento para o segundo segmento chega antes do

• Camada física e de enlace do modelo OSI rede.. OSI x IEEE x TCP/IP: Padrão

• O receptor utiliza os bits enviados e divide pelo gerador para verifica se os bits estão

quando M nós querem transmitir, cada um pode enviar na velocidade média de transmissão R/M.

d) prevenção de colisões, que diminui consideravelmente o tempo desperdiçado quando ocorrem colisões. e) Nenhuma das