3. Comunicação em Sistemas Distribuídos
|
|
- Victor Gabriel Pinhal Santana
- 7 Há anos
- Visualizações:
Transcrição
1 3. Comunicação em 3.1.Troca de mensagens As mensagens são objetos de dados cuja estrutura e aplicação são definidas pelas próprias aplicações que a usarão. Sendo a troca de mensagens feita através de primitivas explicitas de comunicação: send(destino, mensagem) envio da mensagem para o destino receive(origem, mensagem) recebimento da mensagem enviada pela origem As primitivas acima podem ser classificadas do seguinte modo: a) Forma de comunicação a.1) Direta send: há indicação do processo receptor. send(process, msg) receive: há indicação do emissor. receive(process, msg) a.2) Indireta send: envio para uma porta ou mailbox sem o conhecimento de qual será o receptor. send(mailbox, msg) receive: obtenção da mensagem guardada no mailbox, possivelmente desconhecendo a identidade do processo emissor. receive(mailbox, msg) b) Forma de Sincronização b.1) Síncrono ou Bloqueante Send: espera até que a mensagem seja recebida pelo receptor. Receive: aguarda até a mensagem estar disponível c) Assíncrona ou Não Bloqueante Send: envia a mensagem mas não espera até que a mensagem seja recebida pelo receptor. Receive: se a meensagem estiver disponível, recebe a mensagem, caso contrário continua o processamento retornando uma indicação de que a mensagem não estava disponível.
2 Um sistema pode possuir diferentes combinações desses tipos de primitivas, sendo que um sistema de comunicação passa a ser conhecido como síncrono se ambas as primitivas (send, receive), forem do tipo bloqueante. Por outro lado, um sistema de comunicação é dito assíncrono se pelo menos uma das primitivas for assíncrona. A principal desvantagem dessa abordagem é o baixo nível de abstração que permite apenas a modelagem de troca indireta de informação entre processos. 3.2Modelo Cliente/Servidor É um paradigma de programação que representa as interações entre os processos e as estruturas do sistema. Neste tipo de paradigma existem dois de processos: clientes: processos que requisitam serviços; servidores: processos que recebem requisitos, realizam uma operação e retornam serviços Em um modelo cliente/servidor, o processo cliente necessita de um serviço (ex. Ler dados de um arquivo), então ele envia uma mensagem para o servidor e espera pela mensagem de resposta. O processo servidor, após realizar a tarefa requisitada, envia o resultado na forma de uma mensagem de resposta ao processo cliente. Note que os servidores, em um sistema deste tipo, apenas responde as requisições dos clientes,e, tipicamente, não iniciam conversação com os clientes. A principal vantagem desta abordagem é a simplicidade, mas a implementação é menos eficiente do que a troca de mensagens pura. Obs: A visão lógica da comunicação cliente/servidor possibilita a troca de mensagens Possibilidade de vários clientes acessarem um recurso de forma consistente e transparente através do uso de um único servidor. Mas também é possível termos ambientes com múltiplos servidores. No modelo cliente servidor é possível a existência de vários servidores, onde os mesmos podem ser replicados, isto é, quando há várias instâncias do mesmo servidor. A replicação muitas vez ocorre por questões de desempenho, distribuição natural dos recursos ou por tolerância a falhas. Também é possível termos servidores hierárquicos, isto é, servidores que usam o(s) serviço(s) de outros servidores. Nestes casos, as localizações e conversões entre servidores deverá ser transparentes aos clientes.
3 3.2.1 Endereçamento DINF/NCT/UNIR/ Para que um cliente envie mensagens a um servidor, primeiro o cliente, deve necessariamente conhecer o endereço do servidor, desse modo, é preciso estabelecer um esquema de identificação: 1. um identificador único de processo quando na mesma máquina: com um único processo por máquina basta indicar o endereço da máquina pois o kernel consegue determinar qual é o processo servidor único. Esta não é abordagem viável, pois dificilmente teremos um único processo servidor em uma máquina. 2. Endereçamento indicando o processo e a máquina: quando se permite mais de um processo servidor por máquina, deve se endereçar a mensagem a esse servidor especifico. Um esquema comum é o uso de um nome composto por duas partes. Ex: 12,4 ou, sendo que 12 é a máquina e quatro é o processo. Logo, o kernel da máquina cliente usa o número 12 para enviar ao máquina correspondente e com o número 4 e o Kernel remoto determina para qual servidor a mensagem é endereçada. Nessa abordagem a identificação é incluída no código do cliente. Com isso evita se o custo de coordenação global e evita se ambiguidades entre processos com identificador idênticos mas em máquinas distintas. Porém, perde se em transparência pois é preciso que o cliente conheça a localização física do servidor. Isso pode causar problemas, como por exemplo: se um servidor de banco de dados normalmente executa na maquina 12, no momento em que a mesma for desligada para manutenção, pode se disponibilizar o mesmo serviço em outra máquina. Ao usar este esquema com maquinas fixas, o serviço poderá estar disponível em outra máquina, mas não poderá ser usado. 3. Processos escolhem endereços que são detectados por broadcast: Cada processo deve receber um endereço único que não envolva o número da sua máquina. Este endereço pode ser atribuído de duas formas: através de um escalonador de endereços de processo centralizado, que mantém um contador e ao receber uma requisição incrementa esse contador e envia o valor. A principal desvantagem é a utilização de um componente centralizado que compromete a tolerância a falhas e a escalabilidade; cada processo escolhe um valor aleatoriamente a partir de um espaço de endereçamento grande (ex. 64 bits) e portanto com pouca probabilidade de colisão. O kernel emissor de uma requisição pode localizar para qual maquina enviar através do seguinte procedimento: 1) o emissor envia a mensagem para todas as maquinas (broadcast) com um pacote especial de localização contendo o endereço do processo destino; 2) em cada maquina da rede o kernel verifica se o processo está na máquina. Quem localizar envia
4 mensagem indicando seu endereço na rede; 3) o kernel emissor guarda essas informações para requisições futuras. broadcast. DINF/NCT/UNIR/ Essa abordagem tem como vantagem ser transparente mas tem um custo da mensagem 4. uso de servidor de nomes: neste esquema os servidores são indicados por um identificador de alto nível (nome ASCII) que não inclui nem identificação da maquina nem do processo. Quando um cliente executa uma requisição a um servidor pela primeira vez, uma mensagem especial é enviada para um servidor de mapeamento ou servidor de nomes solicitando o número da máquina onde está o servidor Primitivas confiáveis e não confiáveis de comunicação Se as mensagens envolvidas na comunicação cliente/servidor for assumida como não confiáveis, recairá ao usuário a tarefa de controlar possíveis perdas de mensagens. Isso não é desejável uma vez que o objetivo é tornar o mais transparente possível para o usuário. Logo, é desejável que o kernel do S.O. Se preocupe em verificar se as mensagens forem corretamente recebidas garantindo dessa forma uma comunicação confiável. A figura abaixo ilustra dois protocolos para garantir a confiabilidade através do uso de mensagens especiais do tipo acknowledgment. 3.3Chamada Remota de Procedimento (RPC Remote Procedure Call) Chamada remota de procedimento permite que programas invoquem procedimentos ou funções localizadas em outras máquinas como se ele estivesse localmente definidos. A nível do programa, as informações são passadas do chamador para o procedimento chamado através de parâmetros e resultados são retornados através do resultado do procedimento. Deste modo, nenhuma mensagem ou entrada/saída é visível ao programador. Apesar de simples há alguns problemas nos seguintes pontos: chamador e chamado executam em espaços de endereçamento diferentes; como fazer a passagem de parâmetros e resultados quando as maquinas envolvidas têm arquiteturas distintas; possibilidades de falhas Operação RPC Básica A chamada de procedimento remoto deve parecer o máximo com o máximo possível com a
5 chamada local de procedimentos. Por isso, utiliza se a estrutura de cliente/servidor stubs. A RPC segue os seguintes passos: 1. O procedimento chama o stub cliente de forma normal, isto é, como se fosse um procedimento local qualquer; 2. O stub cliente constrói mensagens e passa ao kernel; 3. O kernel remoto envia a mensagem ao stub servidor; 4. O kernel remoto entrega a mensagem ao stub servidor; 5. O stub servidor desempacota os parâmetros e chama o servidor; 6. O servidor realiza o trabalho solicitante e envia o resultado ao stub servidor; 7. O stub servidor empacota o resultado em uma mensagem e passa para o kernel; 8. O kernel remoto envia mensagem ao kernel cliente; 9. O kernel cliente entrega a mensagem ao stub cliente; 10.O stub desempacota o resultado e retorna ao stub cliente. O efeito da execução de todos esses passos é a conversão da chamada local de um cliente a um stub cliente em uma chamada ao procedimento servidor sem que o cliente ou servidor percebam os passos intermediários. Via de regra os stubs são gerados automaticamente por um compilador. Essa operação básica do RPC indica alguns aspectos e problemas interessantes que serão vistos na próxima seção. a) Passagem de Parâmetros É preciso tratar a passagem de parâmetros e a conversão de dados. Isso é feito pela operação de empacotamento de parâmetros (parameter marshalling). Essa operação trata problemas de representação distinta de dados (números/caracteres)para máquinas hetergêneas: Tanto o cliente quanto o servidor sabem os tipos de parâmetros passados (identificador do procedimento + parâmetros) e devem conseguir obter a representação correta dos dados. Opção 1: uso de um padrão de representação de dados, como por exemplo o XDR do RPC UNIX. Essa alternativa é muito interessante por permitir a comunicação entre maquinas heterogêneas. A desvantagem é que entre máquinas homogêneas não há necessidade de incluir um custo adicional de conversão da representação da máquina para a representação padrão. Opção 2: a mensagem é enviada no formato nativo com indicação de qual o formato utilizado. O receptor deve fazer a conversão quando for o caso. Essa opção evita custos de conversão em ambientes homogêneos, entretanto exige que clientes e servidores saibam converter qualquer formato
6 para a sua representação nativa. b) Passagem de Ponteiros Um ponteiro representa um endereço de memória que não tem nenhum significado na máquina remota. Opção 1: proibir a passagem de ponteiros, essa obviamente não é uma alternativa desejável pelo programador; Opção 2: Copiar o valor apontado pela variável ponteiros. As alterações são feitas remotamente e no retorno as alterações são atualizadas no chamador (semântica cópia/restauração) Uma otimização possível consite em, sabendo que um determinado parâmetro é apenas de entrada, evita o retorno do conteúdo do ponteiro. De forma análoga, se ele for apenas de saída, ele não precisa ser copiado no envio. Esse tipo de informação pode ser fornecido pelo programador ou extraído a partir da análise do código fonte(análise estática). c) Semântica RPC na Presença de Falhas Na execução de uma chamda remota de procedimentos, existem cinco classes diferentes de falhas possíveis. O cliente não consegue localizar o servidor Mensagem de requisição perdida Mensagem de resposta perdida O servidor cai após receber uma requisição O cliente falha após enviar uma requisição (falha do cliente) Questões de Implementação As questões de implementação analisadas nesta seção estão relacionadas as questões de desempenho. a) Protocolo Em principio qualquer mecanismo de troca de mensagem poderia dar suporte a implementação de RPC. Uma das questões a serem decididas na implementação é se o protocolo será orientado a conexão ou sem conexão. No primeiro caso, evita se o problema de mensagens perdidas, pois isso é
7 tratado em baixo nível, porém, o desempenho é menor. No segundo caso, o desempenho é melhor, sendo indicado para implementação em LANs que não são confiáveis do que WANs. b)confirmação (Acknowledgment) As mensagens de confirmação são usadas para detecção de falhas. No momento de implementar, é preciso decidir se os pacotes serão confirmados individualmente ou não. Assim temos dois tipos de protocolos: stop and wait (no momento em que um pacote for danificado ou perdido, o cliente não recebendo o ACK providência o reenvio), e o blast (o servidor envia mensagem ACK apenas no final). No caso do protocolo Blast, há duas formas de tratar o fato de apenas alguns pacotes terem sido entregues e outros não. Uma hipótese é ignorar todos os pacotes e solicitar a retransmissão de todos os pacotes. Outra possibilidade é realizar uma repetição seletiva (selective repeat) não compensa devido ao custo de controle envolvido. Outro problema refere se ao fato dos buffers de recepção serem limitados. O envio de várias mensagens consecutivas pode causar um overrum error. O overrum error caracteriza se pela incapacidade do receptor de receber um pacote que chega corretamente causando dessa forma uma perda de mensagem. Na prática esse é um erro mais sério do que a perda por ruído ou outros problemas físicos na rede. Com o uso de stop and wait em princípio esse erro não ocorre pois uma mensagem é enviada de cada vez. No entanto, a mesma, poderia ocorrer caso diferentes emissores enviarem várias mensagens ao mesmo tempo. 3.4Comunicação de Grupo Há vária formas aplicações para as quais tem se comunicação com múltiplos processadores. Ex.: grupos de servidores de arquivos que fornecem serviço de arquivos tolerantes a falhas. Um processo pode enviar mensagens para um grupo de servidores sem saber quantos eles são ou onde localizam se, sendo que tais parâmetros podem mudar na próxima chamada. Um grupo é uma coleção de processos que agem juntos. Quanto uma mensagem é enviada ao grupo, todos os membros recebem a mesma mensagem. Grupos são dinâmicos: podem ser criados e destruídos, processos podem entrar ou abandonar um grupo; e um mesmo grupo pode pertencer a mais de um grupo.
Sistemas distribuídos:comunicação
M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Modelo cliente e servidor Slide 2 Nielsen C. Damasceno Modelos Cliente - Servidor A principal diferença entre um sistema centralizado e um sistema distribuído está na comunicação
Sistemas Operacionais Distribuídos e de Redes
Sistemas Operacionais Distribuídos e de Redes Notas de Aula - 2000/2 Profa. Patrícia Kayser Vargas 3 Comunicação em Sistemas Distribuídos 3.1 Troca de Mensagens Assunto que já foi abordado em Sistemas
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação
Comunicação. Parte II
Comunicação Parte II Carlos Ferraz 2002 Tópicos Comunicação Cliente-Servidor RPC Comunicação de objetos distribuídos Comunicação em Grupo Transações Atômicas Comunicação Stream 2 Comunicação cliente-servidor
Sistemas Distribuídos RPC
Sistemas Distribuídos RPC Disciplina: Sistemas Distribuídos Prof.: Edmar Roberto Santana de Rezende Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de Tecnologias Pontifícia
Sistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental
UNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Comunicação coletiva Modelo Peer-to-Peer Slide 6 Nielsen C. Damasceno Introdução Os modelos anteriores eram realizado entre duas partes: Cliente e Servidor. Com RPC e RMI não é possível
Sistemas Distribuídos Grupos
Sistemas Distribuídos Grupos Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Roteiro da Aula Definição de Grupos Tipos Atomicidade Ordenamento 3 RPC Comunicação entre Pares Cliente - Servidor
Sistemas Distribuídos
Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos
Sistemas Distribuídos. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br
Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Novembro/2003 Tópicos Tolerância a falhas em comunicação em grupo Tolerância a falhas em comunicação
Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor
Comunicação em Sistemas Distribuídos Paradigma / Os processos em um SD estão lógica e fisicamente separados. Precisam se comunicar para que possam interagir O desempenho de um SD depende criticamente do
MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos
MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Comunicação em Sistemas Distribuídos Sumário Modelo Cliente e Servidor Troca de Mensagens Remote Procedure Call Comunicação
Entendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Tópicos em Sistemas Distribuídos. Modelos de Comunicação
Tópicos em Sistemas Distribuídos Modelos de Comunicação Comunicação em SD Comunicação entre processos Sockets UDP/TCP Comunicação em grupo Broadcast Multicast Comunicação entre processos Conceitos básicos
Capítulo 7 CAMADA DE TRANSPORTE
Capítulo 7 CAMADA DE TRANSPORTE INTRODUÇÃO (KUROSE) A Camada de Rede é uma peça central da arquitetura de rede em camadas A sua função é a de fornecer serviços de comunicação diretamente aos processos
MODELO CLIENTE SERVIDOR
SISTEMAS DISTRIBUÍDOS Modelo Cliente Servidor Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem serviços a processos usuários, denominados clientes;
Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos
Aula 23 Distribuídos SOs de Rede Em sistemas operacionais de rede você sabe quando é local e quando é remoto. Assim, o trabalho não muda, com exceção de comandos para acesso remoto: - telnet - ftp - etc.
Sistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: comunicação orientada por mensagem e comunicação orientada por fluxo Prof. MSc. Hugo Souza Continuando o módulo 03 da primeira unidade, iremos abordar sobre
Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes www.edeyson.com.br
Sistemas Distribuídos RPC x RMI Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Chamada Remota a Procedimento Definição Passagem de Parâmetros STUBS Semântica de Falhas 2 RPC Chamada Remota a
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Resiliência de Processos Comunicação Confiável Cliente-Servidor Capítulo 8 Resiliência de Processos Idéia Básica: Replicar processos em grupos,
Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais
Comunicação Inter-Processos Conceitos Iniciais 1 Características para Comunicação Inter-Processos. Passagem de Mensagem pode ser suportada por duas operações de comunicação (send e receive). A comunicação
3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Sistemas Distribuídos Modelo Cliente-Servidor
Sistemas Distribuídos Modelo Cliente-Servidor Disciplina: Sistemas Distribuídos Prof.: Edmar Roberto Santana de Rezende Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de
IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Arquitetura de Computadores II
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Sistemas de Troca de Mensagens O Sistema de Comunicação provê tipicamente os seguintes serviços para as aplicações:
TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente
PARANÁ GOVERNO DO ESTADO
A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2
SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2
Introdução. 128.10 Ligação direta 128.15 Ligação direta 129.7 128.15.1.3 Default 128.15.1.1
Introdução Roteamento é a movimentação de informações da origem até o seu destino, sendo que essa informação deve passar por pelo menos um modo intermediário, ou seja, a origem e o destino não estão ligadas
Padrões Arquiteturais. Sistemas Distribuídos: Broker
Padrões Arquiteturais Sistemas Distribuídos: Broker Sistemas Distribuídos Tendências: Sistemas Comp. com múltiplas CPUs Redes locais com centenas de hospedeiros Benefícios Economia Desempenho e escalabilidade
ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia
ADDRESS RESOLUTION PROTOCOL Thiago de Almeida Correia São Paulo 2011 1. Visão Geral Em uma rede de computadores local, os hosts se enxergam através de dois endereços, sendo um deles o endereço Internet
Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo
Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante
Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:
Protocolo TCP/IP Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Número IP Máscara de sub-rede O Número IP é um número no seguinte formato: x.y.z.w Não podem existir
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares
Arquitetura TCP/IP Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares Tópicos Problema de resolução de endereço Mapeamento direto Associação dinâmica ARP
www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com
SERVIÇOS DE REDES DE COMPUTADORES Prof. Victor Guimarães Pinheiro/victor.tecnologo@gmail.com www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com Modelo TCP/IP É o protocolo mais usado da atualidade
Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013
MC714 Sistemas Distribuídos 2 semestre, 2013 Tipos de comunicação Middleware: serviço intermediário na comunicação de nível de aplicação. Fig. 67 Ex.: correio eletrônico Comunicação é persistente. Middleware
Sistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre
Exercícios de Revisão Redes de Computadores Edgard Jamhour Segundo Bimestre Exercicio 1: Considere a seguinte configuração de rede estruturada em VLANs 220.0.0.2/24 C VLAN 2 B VLAN 1 A VLAN 1 VLAN 1,2,3
Comunicação em Sistemas Distribuídos
Comunicação em Sistemas Distribuídos A diferença mais importante entre os Sistemas Distribuídos e os Sistemas Uniprocessadores é a comunicação inter-processo. Nos uniprocessadores esta comunicação é feita
Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos
Paradigmas em Sistemas Distribuídos Paradigmas em Sistemas Distribuídos Nomes e Endereçamento Troca de Mensagens Operações emota Comunicação em Grupo Time e Clocks Sincronismo Ordenação Coordenação Consistência
Quadro de consulta (solicitação do mestre)
Introdução ao protocolo MODBUS padrão RTU O Protocolo MODBUS foi criado no final dos anos 70 para comunicação entre controladores da MODICON. Por ser um dos primeiros protocolos com especificação aberta
http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho
vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS
Comunicação em Sistemas Distribuídos. Bruno M. Carvalho Sala: 3B2 Horário: 35T34
Comunicação em Sistemas Distribuídos Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Comunicação em Sistemas Distribuídos Protocolos regras que os processos que estão se comunicando tem de seguir Protocolos
Paradigma Cliente/Servidor
Paradigma Cliente/Servidor Mário Meireles Teixeira UFMA Departamento de Informática Dezembro, 2012 Comunicação em Sistemas Distribuídos! Os processos em um SD estão lógica e fisicamente separados. Precisam
Sistemas Distribuídos Comunicação. Edeyson Andrade Gomes www.edeyson.com.br
Sistemas Distribuídos Comunicação Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Roteiro da Aula Comunicação entre Processos Protocolos Modelo OSI Modelo Cliente Servidor 3 Comunicação entre
Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br
Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História
APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE
1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)
Capítulo 4 - Roteamento e Roteadores
Capítulo 4 - Roteamento e Roteadores 4.1 - Roteamento Roteamento é a escolha do módulo do nó de origem ao nó de destino por onde as mensagens devem transitar. Na comutação de circuito, nas mensagens ou
3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança
3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade
Sistemas Distribuídos e Redes de Sensores
Aula 5: abril de 2013 sobre nosso exemplo cliente-servidor servidor espera pedido e passa a tratá-lo e pedidos que cheguem durante tratamento? cliente envia pedido de leitura... pode ou não receber resposta?
Sistemas Distribuídos
Sistemas Distribuídos Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Migração de Código Em
Manual SAGe Versão 1.2 (a partir da versão 12.08.01)
Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação
Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos
Capítulo 8 Sistemas com Múltiplos Processadores 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1 Sistemas Multiprocessadores Necessidade contínua de computadores mais rápidos modelo
Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)
Comunicação one-to-one Forma mais simples de comunicação entre processos point-to-point, ou unicast COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo Algumas aplicações comunicação entre grupos de processos
Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução
Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite
ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS
ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS Uma estrutura para um projeto arquitetural de software pode ser elaborada usando camadas e partições. Uma camada é um subsistema que adiciona valor a subsistemas
Grupos de Processos (Comunicação Grupal)
Grupos de Processos (Comunicação Grupal) Roteiro Definição de Grupos Tipos (organização) de grupos Atomicidade Ordenação de mensagens 2 RPC Comunicação entre Pares (duas partes) Cliente - Servidor Comunicação
Arquitetura de Rede de Computadores
TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador
4 Plano de Recuperação
4 Plano de Recuperação Como pode ser observado na Seção 3.2, um projeto de um middleware para TVD deve considerar o fato que ele será embarcado em plataformas diversas e, portanto, que fará uso de diversas
Sistemas Distribuídos Aula 15
Sistemas Distribuídos Aula 15 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF 8. Tolerância a Falha
Sistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
SISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Veja abaixo um exemplo de um endereço IP de 32 bits: 10000011 01101011 00010000 11001000
4 Camada de Rede: O papel da camada de rede é transportar pacotes de um hospedeiro remetente a um hospedeiro destinatário. Para fazê-lo, duas importantes funções da camada de rede podem ser identificadas:
Índice. Para encerrar um atendimento (suporte)... 17. Conversa... 17. Adicionar Pessoa (na mesma conversa)... 20
Guia de utilização Índice Introdução... 3 O que é o sistema BlueTalk... 3 Quem vai utilizar?... 3 A utilização do BlueTalk pelo estagiário do Programa Acessa Escola... 5 A arquitetura do sistema BlueTalk...
Projeto de Arquitetura
Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os
Sistemas Cliente-Servidor
Sistemas Cliente-Servidor Disciplina Bancos de Dados II (INE 5616 2006-1) Curso de Sistemas de Informação Prof. Renato Fileto INE/CTC/UFSC 1 1 Cliente - Servidor Arquitetura cliente/servidor: Os servidores
SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)
SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) OBJETIVO GERAL Este trabalho possui o objetivo de exercitar a lógica de programação dos alunos do Terceiro ano do Curso de BSI e também desenvolver
Sistemas Distribuídos
Sistemas Distribuídos Comunicação de Grupos Peer to Peer Comunicação de Grupos Modelos Anteriores - Comunicação envolvia somente duas partes. RPC não permite comunicação de um processo com vários outros
Sumário INTRODUÇÃO... 4 PROTOCOLO ARP...5 ARP - ADDRESS RESOLUTION PROTOCOL...5 FUNCIONAMENTO DO PROTOCOLO ARP...5 CACHE ARP... 6
IESPLAN Instituto de Ensino Superior Planalto Departamento de Ciência da Computação Curso: Ciência da Computação Disciplina: Engenharia de Software Professor: Marcel Augustus O Protocolo ARP Brasília,
ELEMENTOS DE PROTOCOLOS DE TRANSPORTE. Fabricio Sousa
ELEMENTOS DE PROTOCOLOS DE TRANSPORTE Fabricio Sousa Elementos de protocolos de transporte 2 Serviço de transporte implementado por um protocolo de transporte usado entre duas entidades de transporte Em
Redes de Computadores
s de Computadores Prof. Macêdo Firmino Revisão do Modelo de Camadas da Internet (TCP/IP) Macêdo Firmino (IFRN) s de Computadores Novembro de 2012 1 / 13 Modelo de Camadas Revisão de de Computadores Os
3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Considerações no Projeto de Sistemas Cliente/Servidor
Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Máscaras de sub-rede. Fórmula
Máscaras de sub-rede As identificações de rede e de host em um endereço IP são diferenciadas pelo uso de uma máscara de sub-rede. Cada máscara de sub-rede é um número de 32 bits que usa grupos de bits
Sistemas Distribuídos. Coulouris Capítulo 4
Sistemas Distribuídos Coulouris Capítulo 4 Mensagens Para comunicar-se com outros processos, um processo envia uma MENSAGEM para um DESTINO; um outro processo nesse destino recebe a mensagem. As operações
Arquitetura de Computadores. Sistemas Operacionais IV
Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo
Redes de Computadores. Protocolos de comunicação: TCP, UDP
Redes de Computadores Protocolos de comunicação: TCP, UDP Introdução ao TCP/IP Transmission Control Protocol/ Internet Protocol (TCP/IP) é um conjunto de protocolos de comunicação utilizados para a troca
Márcio Leandro Moraes Rodrigues. Frame Relay
Márcio Leandro Moraes Rodrigues Frame Relay Introdução O frame relay é uma tecnologia de chaveamento baseada em pacotes que foi desenvolvida visando exclusivamente a velocidade. Embora não confiável, principalmente
FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO
FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO O Driver IGS possui um módulo de configuração que possibilita a comunicação com protocolos proprietários. Trata-se do Driver
TCEnet e TCELogin Manual Técnico
TCEnet e TCELogin Manual Técnico 1. O que há de novo O TCELogin está na sua terceira versão. A principal novidade é o uso de certificados pessoais do padrão ICP-Brasil. O uso desses certificados permite
Técnicas e ferramentas de ataque. Natiel Cazarotto Chiavegatti
Técnicas e ferramentas de ataque Natiel Cazarotto Chiavegatti Preparação do ambiente Em relação a taques a redes sem fio deve-se ser levado em conta alguns aspectos, sendo que por sua vez devem se analisadas
Introdução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento
Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Professor Rene - UNIP 1 Roteamento Dinâmico Perspectiva e histórico Os protocolos de roteamento dinâmico são usados
Sincronização de Processos (5) Troca de Mensagens
Sincronização de Processos (5) Troca de Mensagens Passagem (Troca) de Mensagens Motivação: Semáforos e algoritmos de exclusão mútua são baseados no compartilhamento de variáveis. Isso implica no compartilhamento
Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de 2007 - Página
Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento IP 1 História e Futuro do TCP/IP O modelo de referência TCP/IP foi desenvolvido pelo Departamento de Defesa dos Estados Unidos (DoD). O DoD exigia
5 Estudo de caso: utilizando o sistema para requisição de material
61 5 Estudo de caso: utilizando o sistema para requisição de material A fim de avaliar as características da arquitetura proposta e a corretude da implementação, realizamos experiências com cenários de
Sistemas Distribuídos. Aleardo Manacero Jr.
Sistemas Distribuídos Aleardo Manacero Jr. Conteúdo Conceitos fundamentais Estratégias de controle: relógios e algoritmos de sincronismo Serviços: arquivos e memória Corba Processamento distribuído Sistemas
Capítulo 7 CAMADA DE TRANSPORTE
Capítulo 7 CAMADA DE TRANSPORTE SERVIÇO SEM CONEXÃO E SERVIÇO ORIENTADO À CONEXÃO Serviço sem conexão Os pacotes são enviados de uma parte para outra sem necessidade de estabelecimento de conexão Os pacotes
Comunicação em Sistemas Distribuídos
Comunicação em Sistemas Distribuídos Sockets Aplicações Protocolo de Aplicação FTP, SMTP, HTTP, Telnet, SNMP, etc. sockets TCP, UDP IP Data Link Ethernet, Token Ring, FDDI, etc Física Conjunto de APIs