INSTITUTO DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE CAMPINAS

Tamanho: px
Começar a partir da página:

Download "INSTITUTO DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE CAMPINAS"

Transcrição

1 INSTITUTO DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE CAMPINAS Sub-Projeto 1: Multicast e Revisão Bibliográca E. B. Prata G. S. de Paula P. R. Costa R. Dominiquini Technical Report - IC Relatório Técnico March Março The contents of this report are the sole responsibility of the authors. O conteúdo do presente relatório é de única responsabilidade dos autores.

2 Sub-Projeto 1: Multicast e Revisão Bibliográfica Eduardo Jacob Prata Gustavo de Paula Paulo de Almeida Costa Rafael Baboni Dominiquini Resumo Neste artigo descrevemos diversos aspectos relativos ao multicast e broadcast, justificando o seu uso em sistemas distribuidos para evitar o uso de sistemas de nomes e redução de tráfego na rede. Além disso, descrevemos três artigos fundamentais na área de sistemas distribuídos que fazem uso de diretivas de multicast e que serão a base do desenvolvimento dos projetos desta disciplina. 1 Introdução Um método simples e mais eficiente para implementação de sistemas distribuídos em uma rede ethernet deve utilizar diretivas de multicast ou broadcast. Através do uso destas diretivas é possível alcançar todos os computadores ligados na rede local utilizando o envio de apenas uma mensagem ao invés de N mensagens na comunicação unicast. Além disso, o uso de broadcast facilita o problema da nomeação e localização de recursos no sistema, já que as entidades do sistema podem receber uma mensagem broadcast e então responder indicando sua presença e seus dados. Este artigo contém uma explicação concisa sobre multicast e broadcast, elucidando o seu funcionamento e o seu uso na Internet. Além disso, incluímos um resumo de três artigos fundamentais na área de sistemas distribuídos sobre os quais basearemos o desenvolvimento dos projetos da disciplina. 2 Multicast Nesta seção respondemos algumas questões relativas ao multicast e broadcast visando elucidar o que é como funciona este tipo de comunicação. E, por fim, fornecemos uma descrição sucinta sobre o estágio atual do multicast e broadcast no ambiente de internet. 2.1 Classes de endereços IP Os endereços IP foram originalmente repartidos em classes, de acordo com o número de bytes que identificam a rede e o número de bytes que identificam a máquina na rede. Nas próximas seções definimos cada uma das classes e mostramos ainda uma série de endereço Instituto de Computação, Universidade Estadual de Campinas, Campinas, SP. 1

3 2 Prata, De Paula, Costa e Dominiquini especiais. São ao todo 5 classes, porém, a classe E não é mostrada porque corresponde a uma faixa reservada a testes pela IETF (Internet Engineering Task Force) Classe A Num endereço IP de classe A, o primeiro byte representa a rede. O bit de sinal (o primeiro bit, da esquerda) tem valor zero, o que significa que há 27 ( à ) possibilidades de redes, quer dizer 128 possibilidades. Contudo, a rede 0 (bits que valem ) não existe e o número 127 é reservado para designar a sua máquina. Dentro da classe A, o intervalo é reservado para uso em redes locais, e pacotes com IPs neste intervalo não são roteados para a internet Classe B Num endereço IP de classe B, os dois primeiros bytes representam a rede. Os dois primeiros bits são 10, o que significa que há redes possíveis ( ao ). As redes disponíveis em classe B são por conseguinte as redes que vão de a Dentro da classe B, o intervalo é reservado para uso em redes locais, e pacotes com IPs neste intervalo não são roteados para a internet Classe C Num endereço IP de classe C, os três primeiros bytes representam a rede. Os três primeiros bits são 110, que significa que há redes possíveis. As redes disponíveis em classe C são por conseguinte as redes que vão de a Dentro da classe C, o intervalo é reservado para uso em redes locais, e pacotes com IPs neste intervalo não são roteados para a internet. Classe Início Fim Redes possíveis Máximo de computadores A B C Classe D Endereço IP de classe D são identificados pelos quatro primeiros bits, com valor Neste caso especial, o endereço IP não identifica uma rede/máquina, mas sim um grupo de multicast. Basta enviar um pacote para o IP escolhido, e todas as máquina do grupo receberão uma cópia do pacote (exceto por eventuais perdas de pacote), sendo que a transmissão destes é feita de forma eficiente através da coordenação semi-automática dos roteadores intermediários. A única diferença em relação a uma transmissão normal é que as máquinas destinatárias devem se juntar ao grupo desejado explicitamente, a fim de configurar os roteadores para retransmitir o pacote para todos membros do grupo. Essa configuração é feita através do

4 Multicast 3 protocolo IGMP, responsável por associar um endereço ao grupo desejado (join). Também é necessário renovar a associação periodicamente, caso contrário as configurações de roteamento são desfeitas Classes Especiais Além destas classes, existem outras faixas de endereço reservadas para classes especiais: Máscara de rede /8 Rede corrente /8 Rede Privada /8 Rede Pública /8 Reservado /8 Localhost /16 Reservado (IANA) /16 Zeroconf /12 Rede Privada /16 Reservado (IANA) /24 Documentação /24 IPv6 para IPv /16 Rede Privada /15 Teste de benchmark de redes /24 Reservado /4 Multicasts (antiga rede Classe D) /4 Reservado (antiga rede Classe E) Broadcast Atualmente, a separação entre rede e máquina não é feita apenas através das classes A, B e C, além do IP, usa-se uma máscara de rede escrita no mesmo formato do endereço IP. Ela possui 1 nos bits que identificam a rede e 0 nos bits que identificam a máquina. Alternativamente, a máscara também pode ser especificada apenas pelo número de bits que identificam a rede. Por exemplo, se temos o endereço , com máscara , os primeiros 24 bits do endereço identificam a rede ( ) e os 8 demais identificam a máquina. Também se escreve como / A relação entre o broadcast e o tráfego na Ethernet Ao se utilizar broadcast sobre Ethernet, apenas uma mensagem precisa ser enviada para que todas as máquinas que compartilham o meio possam recebê-la. Desta forma, uma mensagem endereçada apenas a uma máquina, causa o mesmo tráfego de rede que uma mensagem em broadcast. Caso a mensagem seja endereçada a mais máquinas, o trafego em unicast cresce linearmente, enquanto o tráfego em broadcast permanece constante. Portanto o uso de mensagens de broadcast não causa aumento do tráfego de rede como um todo. Na verdade, o trafego permanece constante ou diminui.

5 4 Prata, De Paula, Costa e Dominiquini Porém, devemos considerar o caso das redes ethernet comutadas, isto é, com meio físico não compartilhado, que é o caso mais comum atualmente. Nestas, uma mensagem em unicast congestiona apenas os segmentos de rede necessários para transportar o pacote ao seu destino. Já uma mensagem em broadcast irá congestionar todos os segmentos de rede. Para as máquinas de origem e destino do pacote, esse tráfego extra não faz diferença em relação a uma rede de meio compartilhado, pois os pacotes precisam trafegar o segmento de rede correspondente de qualquer maneira. Mas para as máquinas que não estão interessadas naqueles dados, o uso de broadcast congestiona desnecessáriamente os seus segmentos de rede. Portanto, em uma rede ethernet comutada, o uso de multicast irá diminuir o congestionamento para os computadores interessados na transmissão, mas irá congestionar os desnecessáriamente os computadores que não precisariam recebê-la. 2.3 Comunicação ponto-a-ponto na Ethernet PPPoE (Point-to-Point Protocol over Ethernet) é um protocolo de rede usado para encapsular quadros PPP (Point-to-Point Protocol) dentro de quadros Ethernet. Seu uso típico é nas conexões de um ou múltiplos usuários em uma rede LAN à Internet. Seu principal uso está relacionado à utilização de linhas DSL, onde o PPPoE encapsula os dados de um computador até a central telefônica. Derivado do PPP, permite acesso autenticado e transmissão de pacotes de diversos protocolos. Para a Internet, o PPP encapsula o protocolo TCP/IP. 2.4 Obtenção de endereço broadcast em UNIX O comando ifconfig deve ser utilizado para obter informações de rede. Entre outras informações, podemos ver se a interface de rede suporta envio de pacotes em broadcast pela presença da flag BROADCAST, e o endereço de broadcast da rede local pelo campo Bcast: $ ifconfig eth1 Link encap:ethernet HWaddr 00:1C:C0:1C:B1:F6 inet addr: Bcast: Mask: inet6 addr: fe80::21c:c0ff:fe1c:b1f6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets: errors:0 dropped:2 overruns:0 frame:0 TX packets: errors:66873 dropped:0 overruns:0 carrier:66873 collisions:78219 txqueuelen:100 RX bytes: (126.1 MiB) TX bytes: (182.4 MiB) Memory:e e lo Link encap:local Loopback inet addr: Mask: inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1511 errors:0 dropped:0 overruns:0 frame:0 TX packets:1511 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0

6 Multicast 5 RX bytes: (193.2 KiB) TX bytes: (193.2 KiB) Alternativamente, pode-se utilizar o endereço , que é um endereço especial para enviar broadcasts na rede local. 2.5 Broadcast nos laboratórios do IC Cada um dos laboratórios possui um endereço de rede distinto, e, consequentemente, um endereço de broadcast distinto. A sala 303 possui endereço /26, broadcast , a sala 304 possui endereço /26, broadcast e a rede onde está a máquina Xaveco possui endereço de rede /26, broadcast Para fazer os testes desenvolvemos uma classe java para o envio e recebimento das diretivas de Broadcast e Multicast, esta classe pode ser consultada no diretório do projeto. Como as redes e os endereços de broadcast são distintos, não foi possível enviar um pacote que fosse entregue em todas as salas. Mas foi possível enviar um pacote de broadcast de uma sala para outra, isto é, enviado da sala 303 para o endereço de broadcast da sala 304, e recebido com sucesso na outra sala. Dessa forma, se for necessário enviar um pacote para todas as máquinas de algumas salas, só será necessário enviar um pacote por sala utilizando broadcast, ao invés de um pacote por máquina, como seria necessário com Unicast. Tentamos contornar essa restrição utilizando endereços de multicast, mas estes não parecem funcionar dentro da rede do IC, os pacotes enviados são recebidos apenas pela máquina que os enviou. O mesmo código funciona em outras redes, portanto acreditamos que seja uma restrição de segurança do IC. Também tentamos enviar pacotes de broadcast a partir de computadores remotos, mas a configuração das redes do IC impediu o recebimento dos pacotes. 2.6 Multicast e Broadcast na Internet Abcdefghijklmnopqrstuvxwyz. 3 Revisão Bibliográfica 3.1 Time, clocks and the ordering of events in a distributed system. Leslie Lamport, 1978 Em seu artigo seminal, Lamport [3] define o conceito de relógios lógicos utilizados para sincronização de sistemas distribuídos. Neste artigo é mostrado um algoritmo distribuído para sincronizar um sistema de relógios lógicos que pode ser utilizado para gerar uma ordenação total de eventos. O uso da ordenação total é ilustrado com um método para resolver problemas de sincronização. O algoritmo é então especializado para sincronizar relógios físicos e se chega um limite da máxima assíncronia entre os relógios. A ordenação de eventos em sistemas distribuídos é um problema complicado, isto ocorre porque os computadores que formam o sistema não compartilham o mesmo relógio físico,

7 6 Prata, De Paula, Costa e Dominiquini às vezes se torna impossível dizer qual evento ocorreu antes do outro. A relação aconteceu antes é apenas uma ordenação parcial dos eventos. Esta relação pode ser definida sem o uso de relógios físicos. Os eventos dentro de um mesmo processo são totalmente ordenados a priori. A relação aconteceu antes ( ) pode ser definida pelas 3 regras a seguir: 1. Se (a) e (b) ocorrem no mesmo processo, e (a) ocorre antes de (b), então a b. 2. Se (a) é o envio de uma mensagem e (b) é seu recebimento, então a b. 3. Se a b e b c então a c. Dois eventos são ditos concorrentes se a b e b a são ambos falsos. A relação a b demonstra que a pode afetar b de maneira causal. Dois eventos são concorrentes se nenhum dos dois pode se afetar causalmente. Esta relação e suas definições permitem ordenar parcialmente os eventos de um sistema distribuído. Relógios lógicos são introduzidos para que se possa gerar uma ordenação total dos eventos. Um relógio lógico é definido como uma função monotonicamente crescente que atribui um valor numérico para cada evento no processo. O valor da função do relógio lógico é o tempo lógico concatenado com o número do processo. Podem ser implementados de maneira simples com contadores, porque tem um significado lógico e não físico. Para um sistema de relógios estar correto a seguinte relação deve valer: Relação de Relógio: Para quaisquer eventos a e b: Se a b então C(a) < C(b). Partindo da relação vemos que as duas condições devem valer: C1: Se a e b são processos em P i e a vem antes de b então C(a) < C(b). C2: Se a é o envio de uma mensagem por P i e b é o recebimento desta mensagem por P j então C(a) < C(b). Para garantir que a condição vale temos apenas que utilizar duas regras: 1. O processo P incrementa seu relógio a cada evento. Satisfaz C1. 2. A cada recebimento de uma mensagem de P i por P j contendo timestamp C i < a >, P j coloca seu relógio como sendo o máximo entre seu relógio atual e C i < a > e incrementa seu relógio. Satisfaz C2. Uma relação total dos eventos é obtida apenas utilizando a ordem com que eles ocorrem. A ordenação parcial é acrescida do poder dos relógios lógicos e das regras R1 e R2 além de utilizar o número do processo para desempate, de forma que nunca temos dois eventos simultâneos. Esta ordenação total não necessita ter uma relação direta com a ordem física de ocorrência dos eventos e pode mudar se o sistema de relógios for alterado, mas permanece consistente. O uso de sistemas de relógios lógicos para resolver problemas de sincronização em sistemas distribuídos é muito importante e é demonstrada por Lamport em seu artigo ao resolver o problema da exclusão mútua distribuída. O algoritmo trabalha com três condições:

8 Multicast 7 1. Um processo ao qual foi dado um recurso deve liberá-lo antes que o recurso possa ser dado a outro processo. 2. Diferentes pedidos de recurso devem ser dados na ordem em que foram pedidos. 3. Se cada processo ao qual é dado um recurso o libera, então cada pedido é eventualmente tratado. Estas condições caso respeitadas garantem safety e liveness para o algoritmo, ou seja, ele é seguro e, eventualmente, progride. Não é trivial resolver este problema de maneira distribuída, sem um gestor de recursos centralizado. Utilizando as regras R1 e R2 podemos estabelecer uma ordenação total entre os pedidos de recurso e o problema fica simples, basta fazer com que os processor fiquem sabendo sobre os pedidos uns dos outros. Assumimos que os canais de comunicação são FIFO e também que cada mensagem é recebida algum dia. Também assumimos que cada processo pode enviar mensagens diretamente para todos os outros processos, ou seja, o grafo de comunicação é completo. Cada processo mantém sua fila de requisições que não é vista pelos outros processos e que a fila contém inicialmente a mensagem T 0 : P 0 requests resource, onde P0 é o processo que ganhou o recurso inicialmente e T 0 é menor que o valor inicial de qualquer relógio. O algoritmo é definido por 5 regras básicas descritas em pseudo-código abaixo: /* Algoritmo de Exclusao Mutua de Lamport. * O codigo e exatamente o mesmo para todos os processos. /* Implementa as diretivas de broadcast para envio de mensagens e as diretivas * de unicast para envio do ack. * Funcoes: sendmessage e sendackunicast. import BcastService; /* Implementa a fila de mensagens, ordena do mais antigo para o mais recente, * assim os pedidos sao respondidos na ordem com que chegaram. * Funcoes: put e removeall. import MessageQueue; /* Implementa o relogio logico de Lamport e todas as funcoes de atualizacao * e incremento. * Funcoes: tickclock e updateclock. import Clock; class LamportMutex { ProcessNumber pid; MessageQueue queue; BcastService bcast; Clock clock;

9 8 Prata, De Paula, Costa e Dominiquini LamportMutex(ProcessNumber pid) { bcast = new BcastService(); queue = new MessageQueue(); clock = new Clock(); this.pid = pid; workflow(); void workflow() { /* Enquanto o processo estiver em execucao ouve por novos * pedidos de acesso e mensagens enviadas por outros processos. * Chama as demais funcoes para tratar o recebimento e envio de mensagens. Message createmessage(type t) { /* Cria mensagem com tipo pedido, numero do processo * e anexa timestamp Tm:Pi /* REGRA 1 void requestresource() { /* Avanca o relogio, cria uma mensagem de pedido com timestamp igual ao relogio atual * e entao a envia por broadcast para todos os outros processos e apenas no fim * insere na fila de mensagens. tickclock(); Message msg = createmessage(request); bcast.sendmessage(msg); queue.put(msg); /* REGRA 2 void receiverequestmsg(message msg) { /* Atualiza seu relogio, coloca a mensagem em sua fila de mensagens e envia * um ack para o processo que enviou o pedido. Ao fim verifica se pode entrar updateclock(msg.timestamp); queue.put(msg); bcast.sendackunicast(msg.process, msg); /* REGRA 3 void releaseresource() { /* Saida da regiao critica, atualiza seu relogio, remove todos os pedidos com seu pid

10 Multicast 9 * que estejam na fila e envia uma mensagem de release para os outros processos. tickclock(); queue.removeall(pid); msg = createmessage(release); bcast.sendmessage(msg); /* REGRA 4 void receivereleasemsg(message msg) { /* Atualiza o relogio e entao remove as mensagens de pedido de recurso do processo * que enviou o release. updateclock(msg.timestamp); queue.removeall(msg.process); /* REGRA 5 boolean checkresource() { /* Verifica se o seu pedido e o mais antigo e verifica se recebeu * pelo menos uma mensagem de cada outro processo com timestamp mais recente * que o seu. boolean canaccess = true; if (queue.head.process == pid) { for each (Process p) { if (! queue.containsmsg(p)) canaccess = false; else { canaccess = false; É fácil demonstrar que o algoritmo satisfaz as condições I-III descritas acima. A condição de que o processo deve ter visto mensagens mais recentes de todos os outros processos, em conjunto com a suposição que as mensagens são recebidas em ordem, garante que o processo Pi conhece todos os outros pedidos que precedem o seu. Como as regras 3 e 4 são as únicas que apagam pedidos da fila é fácil ver que a condição I é satisfeita, ou seja, o processo deve liberar o recurso antes que outro possa utilizá-lo. A condição II é satisfeita vendo que as mensagens do sistema estão totalmente ordenadas, ou seja, todos os processos do sistema enxergam a mesma ordenação dos pedidos. A regra 2 (recebimento de pedido) e a regra 4 (recebimento de release) garantem que o processo irá receber pelo menos uma mensagem mais recente dos outros processos e que todos os pedidos anteriores ao seu eventualmente

11 10 Prata, De Paula, Costa e Dominiquini serão liberados, então chegará um momento em que seu pedido será o mais antigo e será dado acesso, provando a condição III. Lamport segue demonstrando que o funcionamento deste algoritmo distribuído em que cada processo funciona de maneira independente pode ser representado por uma máquina de estados, formada por um conjunto de comandos e estados. A sincronização da máquina de estados é obtida porque pela ordenação total cada processo ordena sua fila pelos timestamps das mensagens e, portanto, executa a mesma sequência de comandos. Utilizando esta idéia de máquina de estados e o funcionamento básico do algoritmo de sincronização, é possível implementar qualquer forma de sincronização de múltiplos processos em um sistema distribuído. O algoritmo proposto por Herman e Verjus [2] descrito em outra seção segue esta mesma idéia. No restante do artigo Lamport deriva o uso de relógios lógicos para sincronizar relógios físicos e, através do desenvolvimento de diversas equações, chega em um limite para o atraso máximo entre os relógios ao se utilizar este método de sincronização. 3.2 An algorithm for maintaining the consistency of multiple copies. D. Herman e J. P. Verjus, 1979 Herman e Verjus [2] descrevem em seu artigo um algoritmo que, basicamente, estende a idéia de Lamport para implementar consistência entre cópias de dados distribuídos em diversos processos. Os pressupostos para o algoritmo são os mesmos dos fornecidos por Lamport e seu funcionamento é uma estensão ao algoritmo de exclusão mútua dado por Lamport. O sistema é formado por um conjunto de processos em que cada um deles possui uma cópia do banco de dados, com o objetivo de reduzir o turn-around de cada site e melhorar a disponibilidade do sistema. Com isso os usuários podem requisitar os dados de qualquer um dos bancos e obter o mesmo resultado, sem ter de saber que estão acessando dados de outros servidores, para os usuários a imagem é que os dados estão em apenas um servidor. Este é o mesmo príncipio da replicação para aumento de desempenho em sistemas distribuídos. Muitos algoritmos foram propostos para garantir consistência mútua de cópias redundantes mas o algoritmo proposto maximiza o paralelismo evitando o uso de locks globais. O sistema trabalha com filas de requisições, levando isso em conta são previstas as seguintes transações: Estimativa: retorna o valor atual do dado no site em questão, não é necessário que seja um valor consistente com os demais sites, é apenas uma estimativa. Pode também ser chamado de leitura rasa. Leitura: o valor só pode ser retornado quando chega ao topo da fila de requisições, isto garante que todas as operações relativas ao item já foram efetuadas. Escrita: a escrita é efetuada quando chega ao topo da fila, é semelhante à leitura. Atualização: uma transação é inserida na fila, e quando ela chega ao topo a fila é travada e é aplicada uma sequência de operações de leitura e escrita, o processo termina quando a mensagem de fim de transação é encontrada.

12 Multicast 11 As transações são ordenadas globalmente pelas condições de relógio dadas por Lamport [3], utilizando relógios lógicos em cada processo e aplicando-se timestamps às requisições. A ordem de tempo físico não precisa ser obedecida, mas todas as requisições devem ser aplicadas na mesma ordem em todos os sites, de acordo com a ordenação total provida pelos timestamps das requisições. Consistência neste caso é dada nos termos em que os dados podem diferir ao longo do tempo, mas eventualmente, quando toda atividade cessar, o sistema deve convergir para um estado consistente em que todas as cópias são idênticas. Isto ocorre porque ao fim das atividades as mensagens em trânsito em todo o sistema irão chegar e serão processadas, portanto, em um momento não haverá mais mensagens em trânsito e o sistema terá convergido. A explicação sobre ordenação de requisições é a mesma fornecida por Lamport, seguindo as condições de relógio e regras fornecidas para ordenação total. A base do algoritmo é um programa em cada site chamado REGISTRAR que obedece um conjunto de regras bem definidas. Ele responde imediatamente a pedidos de estimativa e aplica as regras para os outros tipos de pedidos. O formato das mensagens trocadas entre os processos é a seguinte <tipo da mensagem, parâmetros, timestamp>. O tipo da mensagem pode também ser uma transação. O algoritmo é descrito em pseudo-código a seguir: /* Algoritmo de Replicacao consistente de Herman e Verjus, * O codigo e exatamente o mesmo para todos os processos. /* Implementa as diretivas de broadcast para envio de mensagens e as diretivas * de unicast para envio do ack e enquiry. * Funcoes: sendmessage, sendackunicast e sendenquiry. import BcastService; /* Implementa a fila de mensagens, ordena do mais antigo para o mais recente, * assim os pedidos sao respondidos na ordem com que chegaram. * Funcoes: put e removeall. import MessageQueue; /* Implementa o relogio logico de Lamport e todas as funcoes de atualizacao * e incremento. * Funcoes: tickclock e updateclock. import Clock; class Registrar { ProcessNumber pid; MessageQueue queue[]; BcastService bcast; Clock clock; /* Principal diferenca com relacao a Lamport, dado Data item;

13 12 Prata, De Paula, Costa e Dominiquini /* Marca se esta dentro de uma transacao boolean trans = false; Registrar(ProcessNumber pid) { bcast = new BcastService(); queue = new MessageQueue[numberProcesses]; for (int i = 0; i < numberprocesses; i++) queue[i] = new MessageQueue(); clock = new Clock(); this.pid = pid; workflow(); void workflow() { /* Enquanto o processo estiver em execucao ouve por novas operacoes * e mensagens enviadas por outros processos. * Chama as demais funcoes para tratar o recebimento e envio de mensagens. * Chama "checkqueues" ao fim de cada iteracao. Message getoldest(queue[] queue) { /* Retorna a mensagem mais antiga de todas as filas e faz * um pop da mensagem. * Se "trans" for true, retorna da mais antiga a mensagem com * numero de transacao menor, para respeitar ordem da transacao. void checkqueues() { /* Verifica por filas vazias e envia enquiries se preciso boolean vazia = false; for (Queue q : queue) { if (q.empty()) { requestenquiry(q.process); vazia = true; /* Encontra fila cujo topo tem a mensagem mais antiga if (vazia == false) { Message maisantiga = getoldest(queue); switch (maisantiga.type) { case write: item = maisantiga.value; break; case read: maisantiga.thread.sendvalue(item); break;

14 Multicast 13 case beginupdate: /* Apenas trata restante das mensagens de transacao trans = true; break; case finishupdate: /* Marca fim da transacao, elimina estruturas criadas para transacao trans = false; break; Message createmessage(type t) { /* Cria mensagem com tipo pedido, numero do processo, * e anexa timestamp Tm:Pi Message createmessage(type t, int value) { /* Cria mensagem com tipo pedido, numero do processo, * valor e anexa timestamp Tm:Pi void requestwrite(int value) { /* Enfileira o pedido de escrita e envia por broadcast * para que todos os outros processos possam realizar a * escrita. tickclock(); Message msg = createmessage(write, value); bcast.sendmessage(msg); queue[pid].put(msg); void receivewrite(message msg) { /* Atualiza seu relogio com o timestamp da mensagem e coloca * a mensagem em sua fila local. updateclock(msg.timestamp); queue[pid].put(msg); void requestenquiry(int process) { /* Caso a fila do processo J esteja vazia precisa enviar um * pedido para o processo para preencher sua fila com um ack. tickclock();

15 14 Prata, De Paula, Costa e Dominiquini Message msg = createmessage(enquiry); bcast.sendenquiry(msg.process, msg); void receiveenquiry(message msg) { /* Responde a um enquiry enviando um ack para o processo * requisitante. updateclock(msg.timestamp); queue[msg.process].put(msg); bcast.sendackunicast(msg.process, msg); void receiveack(message msg) { /* Enfileira o ack do processo updateclock(msg.timestamp); queue[msg.process].put(msg); void requestread() { /* Avanca o relogio, cria a mensagem de leitura e a enfileira * em sua fila, nao precisa enviar para os outros porque nao * altera os dados. tickclock(); Message msg = createmessage(read); queue[pid].put(msg); void requestupdate(list<message> operations) { /* Avanca o relogio, enfileira mensagem de inicio de atualizacao, * operacoes e mensagem de fim de atualizacao. Todas as mensagens da * transacao tem o mesmo timestamp, diferindo apenas seu numero, com isso * se consegue que elas sejam executadas em conjunto sem nenhuma outra operacao * entre elas. A lista operacoes contem todas as operacoes da transacao. tickclock(); /* Envia mensagem de inicio da atualizacao. Tipo beginupdate bcast.sendmessage(operations.head); queue[pid].put(operations.head); for (Message msg : operations) { /* So precisa enviar mensagens de write if (msg.type == write) bcast.sendmessage(msg); queue[pid].put(msg); /* Envia a mensagem de fim da atualizacao. Tipo finishupdate bcast.sendmessage(operations.tail);

16 Multicast 15 queue[pid].put(operations.tail); Pela ordenação total das mensagens no sistema e pelo fato de que as mensagens enviadas por um mesmo processo são entregues na ordem com que foram enviadas, a prova de consistência é a mesma dada por Lamport [3]. Dada a característica FIFO dos canais basta que o site conheça pelo menos uma mensagem de cada um dos outros sites para poder decidir se pode ou não processar alguma requisição, para isto entram em ação as mensagens de enquiry e acknowledge. 3.3 Chandy e Lamport Abcdefghijklmnopqrstuvwxyz. [1] Referências [1] M. Chandy and L. Lamport. Distributed snapshots: determining global states of distributed systems. Transactions on Computer Systems, 3(1):63 75, [2] D. Herman and J. P. Verius. An algorithm for maintaining the consistency of multiple copies. In Proceedings of the 1st International Conference on Distributed Computing Systems, pages , Washington, DC, IEEE Computer Society. [3] L. Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7): , July 1978.

INSTITUTO DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE CAMPINAS

INSTITUTO DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE CAMPINAS INSTITUTO DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE CAMPINAS Sub-Projeto 1: Multicast e Revisão Bibliográca E. B. Prata G. S. de Paula P. R. Costa R. Dominiquini Technical Report - IC-10-01 - Relatório Técnico

Leia mais

Exclusão Mútua em Sistemas Distribuídos

Exclusão Mútua em Sistemas Distribuídos Exclusão Mútua em Sistemas Distribuídos Recurso deve ser utilizado por apenas um processo de cada vez, com garantia de justiça ausência de deadlock ausência de livelock Premissas: processos não falham

Leia mais

Procedimento de Clonagem PDV - TOP Internacional

Procedimento de Clonagem PDV - TOP Internacional Procedimento de Clonagem PDV - Versão: 1.01-13/04/2010 Página 2 de 12 Material desenvolvido por: www.managersys.com.br Versão Responsável Descrição 1 Ralf Cristian Versão Inicial 1.01 Rodrigo Souza Revisão

Leia mais

Redes de Computadores II INF-3A

Redes de Computadores II INF-3A Redes de Computadores II INF-3A 1 ROTEAMENTO 2 Papel do roteador em uma rede de computadores O Roteador é o responsável por encontrar um caminho entre a rede onde está o computador que enviou os dados

Leia mais

Configuração de redes no Gnu/Linux

Configuração de redes no Gnu/Linux Configuração de redes no Gnu/Linux Comando ifconfig: É utilizado basicamente para configurar o ip, a mascara de rede e outras opções de placas de rede. Rodado sem opções ele retorna todas as placas de

Leia mais

LABORATÓRIO DE REDES DE COMPUTADORES Prof: José Gonçalves - LPRM/DI/UFES (baseado no original de Rostan Piccoli)

LABORATÓRIO DE REDES DE COMPUTADORES Prof: José Gonçalves - LPRM/DI/UFES (baseado no original de Rostan Piccoli) LABORATÓRIO 1: Montagem da rede física, definição do endereçamento IP com diferentes sistemas operacionais e roteamento estático. Roteiro: 1) Montar a rede física, que deve ser baseadq na lista de material

Leia mais

Tecnologia de Redes. Protocolo IP

Tecnologia de Redes. Protocolo IP Volnys B. Bernal (c) 1 Tecnologia de Redes Protocolo IP Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Volnys B. Bernal (c) 2 Agenda Introdução ao protocolo IP Endereçamento IP Classes

Leia mais

Veja abaixo um exemplo de um endereço IP de 32 bits: 10000011 01101011 00010000 11001000

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:

Leia mais

OS endereços IP v.4 consistem em 4 octetos separados por pontos. Estes endereços foram separados

OS endereços IP v.4 consistem em 4 octetos separados por pontos. Estes endereços foram separados Endereçamento IP V.4 e Roteamento Estático Pedroso 4 de março de 2009 1 Introdução OS endereços IP v.4 consistem em 4 octetos separados por pontos. Estes endereços foram separados em 5 classes, de acordo

Leia mais

ALGUNS CONCEITOS. Rede de Computadores

ALGUNS CONCEITOS. Rede de Computadores ALGUNS CONCEITOS Rede de Computadores Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 OBJETIVO 1. Compartilhar recursos computacionais disponíveis sem considerar a localização física

Leia mais

Foi inicialmente desenvolvido como parte de um

Foi inicialmente desenvolvido como parte de um PROTOCOLO TCP/IP 1 INTRODUCÃO Foi inicialmente desenvolvido como parte de um projeto incentivado pela DARPA; Tinha como objetivo desenvolver tecnologias para que as máquinas interligadas em rede continuassem

Leia mais

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL. Curso Técnico em Informática

SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL. Curso Técnico em Informática SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL Curso Técnico em Informática Estrutura de Endereçamento IP e Mascara de Subrede Endereçamento IP e Classes Autoridade para Atribuição de Números da Internet http://www.iana.org/

Leia mais

Professor(es): Fernando Pirkel. Descrição da(s) atividade(s):

Professor(es): Fernando Pirkel. Descrição da(s) atividade(s): Professor(es): Fernando Pirkel Descrição da(s) atividade(s): Definir as tecnologias de redes necessárias e adequadas para conexão e compartilhamento dos dados que fazem parte da automatização dos procedimentos

Leia mais

Configuração endereço IP da interface de rede

Configuração endereço IP da interface de rede Configuração endereço IP da interface de rede Download Imprimir Para configurar a interface de sua placa de rede como DHCP para obter um endereço IP automático ou especificar um um endereço IP estático

Leia mais

Jacson Rodrigues 1

Jacson Rodrigues <jacsonrcsilva@gmail.com> 1 Redes de Computadores Conceitos Básicos Alguns conceitos fundamentais sobre a configuração de IPs, Máscara e Roteamento em Redes de Computadores muitas vezes não são bem compreendidos por pessoas da área.

Leia mais

Sistemas Distribuídos Grupos

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

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula Complementar - MODELO DE REFERÊNCIA OSI Este modelo se baseia em uma proposta desenvolvida pela ISO (International Standards Organization) como um primeiro passo em direção a padronização dos protocolos

Leia mais

Comunicação entre processos (grupos) COMUNICAÇÃO ENTRE PROCESSOS Comunicação de grupo. Comunicação entre processos (grupos)

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

Leia mais

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa 1ª Exercícios - REDES LAN/WAN INSTRUTOR: MODALIDADE: TÉCNICO APRENDIZAGEM DATA: Turma: VALOR (em pontos): NOTA: ALUNO (A): 1. Utilize 1 para assinalar os protocolos que são da CAMADA DE REDE e 2 para os

Leia mais

Sistemas distribuídos:comunicação

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.

Leia mais

9.5.2. Preparando um esquema de endereçamento de sua rede

9.5.2. Preparando um esquema de endereçamento de sua rede Guia Internet de Conectividade - Cyclades - Endereçamento IP - página 1 9.5. Identificação dos Hosts em uma rede Todo sistema ou host que você quiser conectar em sua rede deve ter uma única identificação

Leia mais

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Na Figura a seguir apresento um exemplo de uma mini-tabela de roteamento: Tutorial de TCP/IP - Parte 6 - Tabelas de Roteamento Por Júlio Cesar Fabris Battisti Introdução Esta é a sexta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na

Leia mais

Lab 4 Análise de Pacotes utilizando o TCPDUMP

Lab 4 Análise de Pacotes utilizando o TCPDUMP Objetivo: Lab 4 Análise de Pacotes utilizando o TCPDUMP i) Utilizar aplicativo de análise de pacotes TCPDUMP. TCPDUMP: O tcpdump é um programa cuja utilidade principal é visualizar e analisar o tráfego

Leia mais

Endereçamento. Endereço IP. Exemplo. Endereço IP. Como verificar? Certo ou errado? 13/12/2011

Endereçamento. Endereço IP. Exemplo. Endereço IP. Como verificar? Certo ou errado? 13/12/2011 Endereçamento Luciana Balieiro Cosme Permite identificar unicamente um equipamento na rede; O endereço IP não pode ser arbitrariamente atribuído; Cada rede possui uma faixa de endereços que podem ser distribuídos

Leia mais

M3 Redes de computadores avançado (36 horas - 48 TL)

M3 Redes de computadores avançado (36 horas - 48 TL) M3 Redes de computadores avançado (36 horas - 48 TL) Redes de Comunicação Ano lectivo 2013/2014 Camada de rede do modelo OSI Routers e portos de interface de routers (I) 2 Nesta camada imperam os routers.

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sincronização Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 995 Seção. pág. 36-325 2 Conteúdo Relógios lógicos Algoritmo de Lamport Relógios físicos Algoritmos para sincronização

Leia mais

Sincronização em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos Sincronização em Sistemas Distribuídos Prof. Raul Ceretta Nunes Curso de Ciência da Computação ELC1018 - Sistemas Distribuídos 1 Sincronização em SD baseada no tempo real (absoluto) baseada na ordem relativa

Leia mais

Prof. Luís Rodolfo. Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO

Prof. Luís Rodolfo. Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO Prof. Luís Rodolfo Unidade III REDES DE COMPUTADORES E TELECOMUNICAÇÃO Redes de computadores e telecomunicação Objetivos da Unidade III Apresentar as camadas de Transporte (Nível 4) e Rede (Nível 3) do

Leia mais

Endereços Lógicos, Físicos e de Serviço

Endereços Lógicos, Físicos e de Serviço Endereçamento IP O IP é um protocolo da Camada de rede É um endereço lógico único em toda a rede, portanto, quando estamos navegando na Internet estamos utilizando um endereço IP único mundialmente, pois

Leia mais

Configuração de Rede

Configuração de Rede Configuração de Rede 1. Configuração de rede no Windows: A finalidade deste laboratório é descobrir quais são as configurações da rede da estação de trabalho e como elas são usadas. Serão observados a

Leia mais

IPv6. A Necessidade de um Novo IP. IPv4. IETF desenvolve nova versão do IP: IPv6. O IPv6 pode vir a ser relevante para as Comunicações FEUP MPR

IPv6. A Necessidade de um Novo IP. IPv4. IETF desenvolve nova versão do IP: IPv6. O IPv6 pode vir a ser relevante para as Comunicações FEUP MPR IPv6 1 IPv6 FEUP MPR IPv6 2 A Necessidade de um Novo IP IPv4 Espaço de endereçamento pequeno Usado de forma descontínua Algumas soluções para resolver estes problemas redes privadas (NAT), agregação de

Leia mais

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

Leia mais

VTP VLAN TRUNKING PROTOCOL

VTP VLAN TRUNKING PROTOCOL VTP VLAN TRUNKING PROTOCOL VLAN Trunking Protocol O VLAN Trunking Protocol (VTP) foi criado pela Cisco (proprietário) para resolver problemas operacionais em uma rede comutada com VLANs. Só deve ser utilizado

Leia mais

Configuração de Rede Prof. João Paulo de Brito Gonçalves

Configuração de Rede Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática Disciplina: Sistemas Operacionais de Rede Configuração de Rede Prof. João Paulo de Brito Gonçalves CONFIGURAÇÃO DE REDE A configuração de rede envolve, em

Leia mais

Sistemas Distribuídos. Aleardo Manacero Jr.

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

Leia mais

Laboratório - Visualização das tabelas de roteamento do host

Laboratório - Visualização das tabelas de roteamento do host Laboratório - Visualização das tabelas de roteamento do host Topologia Objetivos Parte 1: Acessar a tabela de roteamento de host Parte 2: Examinar as entradas da tabela de roteamento de host IPv4 Parte

Leia mais

REDES DE COMPUTADORES. Camada de Rede. Prof.: Agostinho S. Riofrio

REDES DE COMPUTADORES. Camada de Rede. Prof.: Agostinho S. Riofrio REDES DE COMPUTADORES Camada de Rede Prof.: Agostinho S. Riofrio Agenda 1. Introdução 2. Funções 3. Serviços oferecidos às Camadas superiores 4. Redes de Datagramas 5. Redes de Circuitos Virtuais 6. Comparação

Leia mais

Administração de Sistemas Informáticos I

Administração de Sistemas Informáticos I ISEP 1 TEMA Administração do subsistema de rede; Serviços Internet daemon TEÓRICA-PRÁTICA 1. Serviços Internet Daemon Na pasta /etc/rc.d, existe a configuração dos diversos runlevels da máquina. Aos daemons

Leia mais

TCP é um protocolo de TRANSMISSÃO, responsável pela confiabilidade da entrega da informação.

TCP é um protocolo de TRANSMISSÃO, responsável pela confiabilidade da entrega da informação. Protocolo TCP/IP PROTOCOLO é um padrão que especifica o formato de dados e as regras a serem seguidas para uma comunicação a língua comum a ser utilizada na comunicação. TCP é um protocolo de TRANSMISSÃO,

Leia mais

Serviço de datagrama não confiável Endereçamento hierárquico. Facilidade de fragmentação e remontagem de pacotes

Serviço de datagrama não confiável Endereçamento hierárquico. Facilidade de fragmentação e remontagem de pacotes IP Os endereços IP são números com 32 bits, normalmente escritos como quatro octetos (em decimal), por exemplo 128.6.4.7. A primeira parte do endereço identifica uma rede especifica na interrede, a segunda

Leia mais

Sincronização em SDs I. Bruno M. Carvalho Sala: 3B2 Horário: 35T34

Sincronização em SDs I. Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Sincronização em SDs I Bruno M. Carvalho Sala: 3B2 Horário: 35T34 Introdução Sincronização em SDs consiste na aplicação de técnicas que fazem com que os processos concordem com o tempo ou a ordem de ocorrência

Leia mais

Camada de Rede. Prof. Leonardo Barreto Campos 1

Camada de Rede. Prof. Leonardo Barreto Campos 1 Camada de Rede Prof. Leonardo Barreto Campos 1 Sumário Introdução; Internet Protocol IP; Fragmentação do Datagrama IP; Endereço IP; Sub-Redes; CIDR Classes Interdomain Routing NAT Network Address Translation

Leia mais

IPSec. IPSec Internet Protocol Security OBJETIVO ROTEIRO ROTEIRO

IPSec. IPSec Internet Protocol Security OBJETIVO ROTEIRO ROTEIRO OBJETIVO Internet Protocol Security Antonio Abílio da Costa Coutinho José Eduardo Mendonça da Fonseca Apresentar conceitos sobre segurança em redes de comunicação de dados, relacionados ao Protocolo (Internet

Leia mais

1 TCI/IP... 3 1.1 MODELO TCP/IP... 3 1.1.1 Camada de Aplicação... 4

1 TCI/IP... 3 1.1 MODELO TCP/IP... 3 1.1.1 Camada de Aplicação... 4 TCP/IP Brito INDICE 1 TCI/IP... 3 1.1 MODELO TCP/IP... 3 1.1.1 Camada de Aplicação... 4 1.1.1.1 Camada de Transporte... 4 1.1.1.2 TCP (Transmission Control Protocol)... 4 1.1.1.3 UDP (User Datagram Protocol)...

Leia mais

Selecionar o melhor caminho para uma finalidade particular; Usar o caminho para chegar aos outros sistemas;

Selecionar o melhor caminho para uma finalidade particular; Usar o caminho para chegar aos outros sistemas; ROTEAMENTO Conceituação! Roteamento é o mecanismo através do qual duas máquinas em comunicação acham e usam um caminho ótimo (o melhor) através de uma. O processo envolve: Determinar que caminhos estão

Leia mais

Redes de Computadores (PPGI/UFRJ)

Redes de Computadores (PPGI/UFRJ) Redes de Computadores (PPGI/UFRJ) Aula 1: Apresentação do curso e revisão de interface de sockets 03 de março de 2010 1 2 O que é a Internet 3 4 Objetivos e página do curso Objetivos Apresentar a motivação,

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula Complementar - EQUIPAMENTOS DE REDE 1. Repetidor (Regenerador do sinal transmitido) É mais usado nas topologias estrela e barramento. Permite aumentar a extensão do cabo e atua na camada física

Leia mais

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010

Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Teleprocessamento e Redes (MAB-510) Gabarito da Segunda Lista de Exercícios 01/2010 Prof. Silvana Rossetto (DCC/IM/UFRJ) 1 13 de julho de 2010 Questões 1. Qual é a diferença fundamental entre um roteador

Leia mais

Sistemas Distribuídos Comunicação. Edeyson Andrade Gomes www.edeyson.com.br

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

Leia mais

Redes de Dados e Comunicações. Prof.: Fernando Ascani

Redes de Dados e Comunicações. Prof.: Fernando Ascani Redes de Dados e Comunicações Prof.: Fernando Ascani Camada de Aplicação A camada de Aplicação é a que fornece os serviços Reais para os usuários: E-mail, Acesso a Internet, troca de arquivos, etc. Portas

Leia mais

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços - italo@dcc.ufba.br Gestores da Rede Acadêmica de Computação Departamento de Ciência da Computação Universidade Federal da Bahia,

Leia mais

Funcionamento de ARP entre redes (sub-redes) distintas. Mecanismos de entrega. Funcionamento entre redes (sub-redes): default gateway

Funcionamento de ARP entre redes (sub-redes) distintas. Mecanismos de entrega. Funcionamento entre redes (sub-redes): default gateway Introdução Inst tituto de Info ormátic ca - UF FRGS Redes de Computadores Protocolos ARP e ICMP Aula 18 A camada de rede fornece um endereço lógico Uniforme, independente da tecnologia empregada pelo enlace

Leia mais

Arquitetura Internet (TCP/IP)

Arquitetura Internet (TCP/IP) Instituto Federal do Pará - IFPA Ricardo José Cabeça de Souza ricardo.souza@ifpa.edu.br 2010 Redes Básicas S-10 Arquitetura Internet (TCP/IP) MÁSCARA DA SUB-REDE Indica como separar o NetId do HostId,

Leia mais

Aula 4. Pilha de Protocolos TCP/IP:

Aula 4. Pilha de Protocolos TCP/IP: Aula 4 Pilha de Protocolos TCP/IP: Comutação: por circuito / por pacotes Pilha de Protocolos TCP/IP; Endereçamento lógico; Encapsulamento; Camada Internet; Roteamento; Protocolo IP; Classes de endereços

Leia mais

The next generation. João Eriberto Mota Filho. Vitória da Conquista, BA, 05 set. 2013

The next generation. João Eriberto Mota Filho. Vitória da Conquista, BA, 05 set. 2013 The next generation Internet... João Eriberto Mota Filho Vitória da Conquista, BA, 05 set. 2013 Sumário História do IP A extinção do IPv4 A salvação IPv6 O que muda no IPv6? Comparação IPv4 / IPv6 Alguns

Leia mais

APOSTILA DE REDES DE COMPUTADORES PARTE - I I

APOSTILA DE REDES DE COMPUTADORES PARTE - I I APOSTILA DE REDES DE COMPUTADORES PARTE - I I 1 Índice 1. INTRODUÇÃO... ERRO! INDICADOR NÃO DEFINIDO. 2. ENDEREÇOS IP... 3 3. ANALISANDO ENDEREÇOS IPV4... 4 4. MÁSCARA DE SUB-REDE... 5 5. IP ESTÁTICO E

Leia mais

Arquitetura TCP/IP. Parte IX Multicast (IGMP e roteamento) Fabrízzio Alphonsus A. M. N. Soares

Arquitetura TCP/IP. Parte IX Multicast (IGMP e roteamento) Fabrízzio Alphonsus A. M. N. Soares Arquitetura TCP/IP Parte IX Multicast (IGMP e roteamento) Fabrízzio Alphonsus A. M. N. Soares Tópicos Hardware multicast Ethernet multicast IP multicast Endereçamento e mapeamento para Ethernet multicast

Leia mais

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. alexandref@ifes.edu.br. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. alexandref@ifes.edu.br. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim Redes TCP/IP alexandref@ifes.edu.br Camada de Redes 2 O que acontece na camada de rede Transporta segmentos do hospedeiro transmissor para o receptor Roteador examina campos de cabeçalho em todos os datagramas

Leia mais

Tecnologia de Redes. Protocolo Ethernet

Tecnologia de Redes. Protocolo Ethernet Volnys B. Bernal (c) 1 Tecnologia de Redes Protocolo Ethernet Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Volnys B. Bernal (c) 2 Agenda Protocolo Aloha Protocolo Ethernet Protocolo

Leia mais

Redes de Computadores

Redes de Computadores Departamento de Informática UFPE Redes de Computadores Nível de Redes - Exemplos jamel@cin.ufpe.br Nível de Rede na Internet - Datagramas IP Não orientado a conexão, roteamento melhor esforço Não confiável,

Leia mais

identificar e localizar um ao outro computador pode estar conectado a mais de uma rede mais de um endereço

identificar e localizar um ao outro computador pode estar conectado a mais de uma rede mais de um endereço Endereçamento Endereçamento IP Para que dois sistemas quaisquer comuniquem-se, eles precisam ser capazes de se identificar e localizar um ao outro. Um computador pode estar conectado a mais de uma rede.

Leia mais

Sincronização em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos 1 Sincronização em Sistemas Distribuídos 2 Roteiro Sincronização através do clock Relógios Lógicos Solução de Lamport (1978, 1990) Relógios Físicos Algoritmo de Cristian Algoritmo de Berkeley 3 Sincronização

Leia mais

A Camada de Rede. A Camada de Rede

A Camada de Rede. A Camada de Rede Revisão Parte 5 2011 Modelo de Referência TCP/IP Camada de Aplicação Camada de Transporte Camada de Rede Camada de Enlace de Dados Camada de Física Funções Principais 1. Prestar serviços à Camada de Transporte.

Leia mais

Aula 06 Redes Locais: Acessos Múltiplos e Ethernet. Prof. Dr. S. Motoyama

Aula 06 Redes Locais: Acessos Múltiplos e Ethernet. Prof. Dr. S. Motoyama Aula 06 Redes Locais: Acessos Múltiplos e Ethernet Prof. Dr. S. Motoyama Redes Locais (Local area networks, LANs) Início da década de 80 IBM s token ring vs. DIX (Digital, Intel, e Xerox) Ethernet IEEE

Leia mais

Redes de Computadores II. Professor Airton Ribeiro de Sousa

Redes de Computadores II. Professor Airton Ribeiro de Sousa Redes de Computadores II Professor Airton Ribeiro de Sousa 1 PROTOCOLO IP IPv4 - Endereçamento 2 PROTOCOLO IP IPv4 - Endereçamento A quantidade de endereços possíveis pode ser calculada de forma simples.

Leia mais

1 Redes de comunicação de dados

1 Redes de comunicação de dados 1 Redes de comunicação de dados Nos anos 70 e 80 ocorreu uma fusão dos campos de ciência da computação e comunicação de dados. Isto produziu vários fatos relevantes: Não há diferenças fundamentais entre

Leia mais

Detecção de Portadora em Redes de Acesso múltiplo (CSMA)

Detecção de Portadora em Redes de Acesso múltiplo (CSMA) Detecção de Portadora em Redes de Acesso múltiplo (CSMA) Carrier Sense on Mullti-Access Network CSMA CSMA/CA CSMA/CD CSMA/CD Carrier SenseMulti-Access / CollisionData Computadores ligados Ethernet usam

Leia mais

Modelo em Camadas Arquitetura TCP/IP/Ethernet. Edgard Jamhour

Modelo em Camadas Arquitetura TCP/IP/Ethernet. Edgard Jamhour Modelo em Camadas Arquitetura TCP/IP/Ethernet Edgard Jamhour Ethernet não-comutada (CSMA-CD) A Ethernet não-comutada baseia-se no princípio de comunicação com broadcast físico. a b TIPO DADOS (até 1500

Leia mais

Camada de Enlace de Dados - Apêndice. Prof. Leonardo Barreto Campos 1

Camada de Enlace de Dados - Apêndice. Prof. Leonardo Barreto Campos 1 Camada de Enlace de Dados - Apêndice Prof. Leonardo Barreto Campos 1 Sumário Endereço MAC; ARP Address Resolution Protocol; DHCP Dynamic Host Configuration Protocol; Ethernet Estrutura do quadro Ethernet;

Leia mais

Nomes e Endereçamento. Nomes e Endereçamento. Paradigmas em Sistemas Distribuídos. Paradigmas em Sistemas Distribuídos

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

Leia mais

MPLS MultiProtocol Label Switching

MPLS MultiProtocol Label Switching MPLS MultiProtocol Label Switching Cenário Atual As novas aplicações que necessitam de recurso da rede são cada vez mais comuns Transmissão de TV na Internet Videoconferências Jogos on-line A popularização

Leia mais

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. 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

Leia mais

** Distance Vector - Trabalha com a métrica de Salto(HOP),. O protocolo que implementa o Distance Vector é o RIP.!

** Distance Vector - Trabalha com a métrica de Salto(HOP),. O protocolo que implementa o Distance Vector é o RIP.! Laboratório wireshark Número de sequencia: syn syn ack ack Cisco Packet Tracer Roteador trabalha em dois modos de operação: - Modo Normal - símbolo > - Modo Root - símbolo # ##################################################################

Leia mais

Interconexão de Redes Parte 1. Prof. Dr. S. Motoyama

Interconexão de Redes Parte 1. Prof. Dr. S. Motoyama Interconexão de Redes Parte 1 Prof. Dr. S. Motoyama 1 O Problema de Interconexão de redes Problema: Como interconectar efetivamente redes heterogêneas? Três problemas com interconexão a nível de enlace

Leia mais

Endereçamento e Roteamento IP

Endereçamento e Roteamento IP Endereçamento e Roteamento IP Redes TCP/IP O objetivo deste módulo é explicar como funciona a atribuição de endereços IP com classe e sem classe e como configurar logicamente tabelas de roteamento. Obs.

Leia mais

Redes de Computadores

Redes de Computadores 1 Elmano R. Cavalcanti Redes de Computadores Camada de Rede elmano@gmail.com facisa-redes@googlegroups.com http://sites.google.com/site/elmano Esta apresentação contém slides fornecidos pela Editora Pearson

Leia mais

Sincronização. Sincronização de Relógios. Relógios Físicos

Sincronização. Sincronização de Relógios. Relógios Físicos Sincronização Embora a comunicação entre processos seja essencial em Sistemas Distribuídos, a sincronização de processos é também muito importante. Por exemplo: o É importante que vários processos não

Leia mais

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Replicação de Servidores Transacções Atómicas Protocolos de Replicação Replicação passiva vs. activa Replicação de máquinas de estados vs. Replicação

Leia mais

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

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

Leia mais

REDES DE COMPUTADORES - I UNI-ANHANGUERA. CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF. MARCIO BALIAN

REDES DE COMPUTADORES - I UNI-ANHANGUERA. CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF. MARCIO BALIAN 1 REDES DE COMPUTADORES - I UNI-ANHANGUERA. CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF. MARCIO BALIAN ENDEREÇAMENTO IP O IP é um protocolo da Camada de rede É um endereço lógico único em toda

Leia mais

Máscaras de sub-rede. Fórmula

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

Leia mais

Introdução Introduç ão Rede Rede TCP/IP Roteame Rotea nto nto CIDR

Introdução Introduç ão Rede Rede TCP/IP Roteame Rotea nto nto CIDR Introdução as Redes TCP/IP Roteamento com CIDR LAN = Redes de Alcance Local Exemplo: Ethernet II não Comutada Barramento = Broadcast Físico Transmitindo ESCUTANDO ESCUTANDO A quadro B C B A. DADOS CRC

Leia mais

Disciplina Fundamentos de Redes. Introdução ao Endereço IP. Professor Airton Ribeiro de Sousa Outubro de 2014

Disciplina Fundamentos de Redes. Introdução ao Endereço IP. Professor Airton Ribeiro de Sousa Outubro de 2014 Disciplina Fundamentos de Redes Introdução ao Endereço IP 1 Professor Airton Ribeiro de Sousa Outubro de 2014 PROTOCOLO TCP - ARQUITETURA Inicialmente para abordamos o tema Endereço IP, é necessário abordar

Leia mais

Conceitos sobre TCP/IP. Endereços IP (Internet Protocol) Introdução

Conceitos sobre TCP/IP. Endereços IP (Internet Protocol) Introdução Conceitos sobre TCP/IP Endereços IP (Internet Protocol) Introdução O uso de computadores em rede e, claro, a internet, requer que cada máquina tenha um identificador que a diferencie das demais. Para isso,

Leia mais

Modelos Fundamentais. Carlos Ferraz. cagf@cin.ufpe.br

Modelos Fundamentais. Carlos Ferraz. cagf@cin.ufpe.br Modelos Fundamentais Carlos Ferraz cagf@cin.ufpe.br O que vimos até agora (I) História Anos 60-70: sistemas centralizados (caros!) Anos 80: computadores pessoais (acessórios caros e pouco aproveitáveis!

Leia mais

TUTORIAL COLOCANDO IP FIXO LE3

TUTORIAL COLOCANDO IP FIXO LE3 TUTORIAL COLOCANDO IP FIXO LE3 Já li vários posts de pessoas com dificuldades de colocar o IP Fixo no Linus Educacional 3.0 (LE3). Irei demostrar passo-a-passo como se colocar o IP Fixo e de quebra a criação

Leia mais

Redes de Computadores

Redes de Computadores TCP/IP Adriano Lhamas, Berta Batista, Jorge Pinto Leite Março de 2007 Pilha TCP/IP Desenvolvido pelo Departamento de Defesa dos EUA Objectivos: garantir a comunicação sob quaisquer circunstâncias garantir

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Rede Roteamento IP RIP OSPF e BGP Slide 1 Roteamento Determinar o melhor caminho a ser tomado da origem até o destino. Se utiliza do endereço de destino para determinar

Leia mais

Alfamídia Linux: Administração de Redes em ambiente Linux I

Alfamídia Linux: Administração de Redes em ambiente Linux I Alfamídia Linux: Administração de Redes em ambiente Linux I UNIDADE 1 - CONCEITOS BÁSICOS DE REDES... 3 1.1 TCP/IP - O INÍCIO... 3 1.2 ENTENDENDO O IP... 3 1.3 ENTENDENDO O GATEWAY DE REDE... 5 1.4 O SERVIDOR

Leia mais

Módulo 8. Professor: Leandro Engler Boçon E-mail: leandro@facear.edu.br Disciplina: Comunicação de dados

Módulo 8. Professor: Leandro Engler Boçon E-mail: leandro@facear.edu.br Disciplina: Comunicação de dados Módulo 8 Professor: Leandro Engler Boçon E-mail: leandro@facear.edu.br Disciplina: Comunicação de dados 1 Roteamento IP (Internet Protocol) 2 Roteamento IP 3 Roteamento IP Tarefa executada pelo protocolo

Leia mais

3. Comunicação em Sistemas Distribuídos

3. Comunicação em Sistemas Distribuídos 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

Leia mais

Tempo e estados globais. Tempo. Tempo. Sincronização de relógios físicos. Sincronização de relógios físicos: drift

Tempo e estados globais. Tempo. Tempo. Sincronização de relógios físicos. Sincronização de relógios físicos: drift Tempo e estados globais Tempo Capítulo 10 - Introdução Noções iniciais: tempo em S, drift, skew, UTC Sincronização de relógios físicos lgoritmo de Christian lgoritmo de erkeley Protocolo NTP Tempo lógico

Leia mais

Rede de Computadores II

Rede de Computadores II Slide 1 Técnicas para se alcançar boa qualidade de serviço Reserva de recursos A capacidade de regular a forma do tráfego oferecido é um bom início para garantir a qualidade de serviço. Mas Dispersar os

Leia mais

Arquitetura de Rede de Computadores

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

Leia mais

CAMADA DE REDES. Fabrício de Sousa Pinto

CAMADA DE REDES. Fabrício de Sousa Pinto CAMADA DE REDES Fabrício de Sousa Pinto Introdução 2 Está relacionada a transferência de pacotes da origem para o destino. Pode passar por vários roteadores ao longo do percurso Transmissão fim a fim Para

Leia mais

REDES ESAF. leitejuniorbr@yahoo.com.br 1 Redes - ESAF

REDES ESAF. leitejuniorbr@yahoo.com.br 1 Redes - ESAF REDES ESAF 01 - (ESAF - Auditor-Fiscal da Previdência Social - AFPS - 2002) Um protocolo é um conjunto de regras e convenções precisamente definidas que possibilitam a comunicação através de uma rede.

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Redes I Fundamentos - 1º Período Professor: José Maurício S. Pinheiro Material de Apoio II PADRÃO ETHERNET

Leia mais

Aula de Laboratório 1

Aula de Laboratório 1 Aula de Laboratório 1 1.Comando Ipconfig 1.1 Uso: ipconfig [/? /all /renew [adapter] /release [adapter] /flushdns /displaydns /registerdns /showclassid adapter /setclassid adapter [classid] ] em que adapter

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

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

Leia mais

Tipos de Comunicação entre Estações. Comunicação Multiponto ( de Grupo, Multicast, Multiway, Difusão seletiva) Comunicação Multiponto em Redes Locais

Tipos de Comunicação entre Estações. Comunicação Multiponto ( de Grupo, Multicast, Multiway, Difusão seletiva) Comunicação Multiponto em Redes Locais Tipos de Comunicação entre Estações Comunicação Multiponto ( de Grupo, Multicast, Multiway, Difusão seletiva) Unicast Broadcast Multicast Multicast: ação de enviar um datagrama para multiplos receptores

Leia mais