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 Em um 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á 126 ( à ) possibilidades de redes com 16 milhões de hosts cada. 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 Em um 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 ) com hosts cada. 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 Em um 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 com 254 hosts cada. 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ços 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 Alternativamente, pode-se utilizar ao invés do endereço broadcast determinado pelo administrador da rede, o endereço , que é um endereço especial para enviar broadcasts na rede local.

6 Multicast Broadcast nos laboratórios do IC Cada um dos laboratórios possui um endereço de rede distinto e 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. E, finalmente, percebemos que os elementos da rede do IC permitem o envio de mensagens broadcast pelo simples fato de um pacote com endereço broadcast conseguir passar através dos switches e roteadores internos. A única medida tomada para não sobrecarregar a rede foi utilizar endereços broadcast diferentes em cada sub-rede e, portanto, caso os endereços de broadcast fossem iguais em todas as sub-redes seria possível atingir todas as máquinas da rede com qualquer mensagem broadcast. 2.6 Multicast e Broadcast na Internet Broadcast Uma mensagem em Broadcast é destinada a todos os computadores da rede. Na camada física, usa-se o endereço MAC ff:ff:ff:ff:ff:ff para indicar que um quadro de broadcast. Quando um switch recebe um pacote com destino para esse endereço, ele envia esse pacote para todas as suas portas, de forma que todas as máquinas da rede recebam a mensagem. Na camada de rede, o ultimo endereço IP de uma sub-rede é reservado para o broadcast. Quando um pacote IP é enviado para esse endereço, ele é roteado normalmente até a subrede, onde é enviado para todas as máquinas. O problema do broadcast é criar um tráfego muito grande na sub-rede ao replicar a mesma mensagem diversas vezes. Quando confinado a uma rede local, esse tráfego é inofensivo, e, uma vez que não requer configurações adicionais, mensagens de broadcast são comunmente utilizadas para descoberta e configuração de serviços na rede. Porém, caso fosse possível enviar um pacote de broadcast para toda a internet, a retransmissão do mesmo em todas as sub-redes não seria escalável. Por essa razão, é impossível enviar um pedido de broadcast para toda a internet. Na camada física, um quadro de bro-

7 6 Prata, De Paula, Costa e Dominiquini adcast não pode ser roteado para outras redes, ficando confinado à rede local. Na camada de rede, todo endereço IP de broadcast está associado a uma sub-rede. Em IPv6, o suporte a broadcast foi removido. Em substituição, existe um grupo de multicast reservado para a rede local, que é, para todos os efeitos, equivalente Multicast Uma mensagem em Multicast é destinada a um grupo de máquinas. Uma das principais aplicações de multicast na internet é de streaming, por exemplo, de programas de TV e de rádio, video-conferencias, etc. O grande problema dessas aplicações é a necessidade de uma grande banda. Se a empresa que oferece o serviço utilizasse unicast, o mesmo conteúdo precisaria ser enviado a todos os usuários, causando um congestionamento de rede muito grande próximo ao servidor, e broadcast não pode se usado para transmissão para vários destinatários fora da rede local. Para estas aplicações, foi criado o multicast. Nesta abordagem, os dados não são transmitidos aos destinatários finais, mas sim para um IP especial que representa um grupo de multicast. Quando uma máquina desejar receber estes dados (para assistir o canal de TV, ouvir a rádio, etc), ela envia uma mensagem especial para se juntar ao grupo (Join). Esta mensagem, no protocolo IGMP, é responsável por configurar todos os roteadores entre a máquina e o servidor para que ela receba uma cópia do fluxo multicast. A fim de retornar as configurações para o normal, a máquina pode enviar uma mensagem para deixar o grupo (leave) explicitamente. Mas como ainda haveria a possibilidade da máquinas ser desligada/desconectada/etc antes de fazê-lo, existe um mecanismo de timeout. Se a máquina passar muito tempo sem renovar seu interesse no grupo, as configurações de roteamento são removidas automaticamente. Após feita a configuração, o servidor apenas envia um pacote para o endereço do grupo, e este é retransmitido de forma eficiente apenas nas conexões necessárias para que o pacote seja recebido por todos os destinatários. Mesmo com todos estes benefícios, o uso de multicast nunca foi largamente adotado na internet. Entre as pricipais razões, provavelmente temos: Um endereço multicast global precisa ser cedido e configurado pela IANA, exigindo um passo burocrático extra. Muitos roteadores não suportam redirecionamento multicast ou tem esse tipo de tráfego bloqueado como medida de segunça. O encaminhamento de mensagens de multicast exige muito mais processamento dos roteadores do que uma mensagem unicast. 3 Revisão Bibliográfica 3.1 Time, clocks and the ordering of events in a distributed system. L. 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

8 Multicast 7 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, à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: Condiçã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.

9 8 Prata, De Paula, Costa e Dominiquini 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: 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.

10 Multicast 9 * Funcoes: tickclock e updateclock. import Clock; class LamportMutex { ProcessNumber pid; MessageQueue queue; BcastService bcast; Clock clock; 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

11 10 Prata, De Paula, Costa e Dominiquini 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 * 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

12 Multicast 11 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 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

13 12 Prata, De Paula, Costa e Dominiquini 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. 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.

14 Multicast 13 import Clock; class Registrar { ProcessNumber pid; MessageQueue queue[]; BcastService bcast; Clock clock; /* Principal diferenca com relacao a Lamport, dado Data item; /* 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;

15 14 Prata, De Paula, Costa e Dominiquini /* 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; 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

16 Multicast 15 * 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(); 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();

17 16 Prata, De Paula, Costa e Dominiquini /* 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); 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 Distributed snapshots: determining global states of distributed systems. K. Chandy e L. Lamport, 1985 Chandy e Lamport [1] apresentam um algoritmo para determinar um estado global de um sistema distribuído. Para isso, um processo precisa recolher os estados locais salvos por cada um dos outros processos, incluindo a si mesmo, montando assim um estado global. O problema está no fato de que os processos, sem acesso a memória ou relógio compartilhados, não são capazes de capturar seu estado ao mesmo tempo, portanto, a captura de um estado global consistente não é trivial. Neste artigo, um processo é definido como uma coleção de estados, sendo um deles o inicial, e uma cadeia de eventos. Um evento é uma operação atômica que pode mudar o estado do processo e o estado de no máximo um canal ligado a este processo (por troca de mensagens). Os canais são direcionados, portanto um canal que pode enviar e receber mensagens é modelado como dois canais. Um estado global é uma coleção formada pelos estados dos processos e canais do sistema. O algoritmo funciona da seguinte maneira: cada processo salva o seu estado, e os processos colaboram para salvar os estados dos canais entre eles. Como é impossível garantir que cada estado foi salvo ao mesmo tempo, o problema é garantir que o estado global salvo é consistente e tem algum significado com o estado realmente atingido. Consideramos um canal C de P a Q, N o número de mensagens enviadas através de C antes que o estado de P foi salvo e N o número de mensagens enviadas através de C antes que o estado do canal C foi salvo. Caso N seja diferente de N, é simples perceber que o estado global pode ser inconsistente, pois algum evento de recebimento foi notado

18 Multicast 17 por P e o envio não foi notado por Q ou vice-versa. Analogamente podemos chegar à mesma conclusão considerando as mensagens recebidas por Q. Considerando isso e o fato que o número de mensagens enviadas tem que ser maior ou igual ao número de mensagens recebidas, pode-se entender a motivação para o algoritmo. Para apenas dois nós, o algoritmo funciona da seguinte maneira: o processo P inicia enviando um marcador pelo canal C (logo após salvar seu estado, e antes de enviar qualquer outra mensagem) e começa a gravar o estado do canal. Quando Q recebe o marcador, ele salva o seu estado e antes de enviar qualquer outra mensagem e salva o estado do canal incidente como vazio. O processo Q então envia um marcado de volta para P e quando P recebe o marcador ele termina de gravar o estado do canal. Quando Q enviar para P seu estado e o estado amostrado do canal incidente, P será capaz de formar, em conjunto com as informações salvas por ele, um snapshot de um estado consistente do sistema. O funcionamento do algoritmo impede que o sistema tenha amostras de mensagens que foram recebidas por um processo e não tenha amostras de seu envio. Isto ocorre porque nenhuma nova mensagem é enviada entre o salvamento do estado e o envio de um novo marcador e porque o canal de comunicação é FIFO, ou seja, qualquer mensagem que tenha sido amostrada como sendo recebida por um processo será amostrada ou no estado do processo que a enviou ou no estado do canal incidente. Com isto, as propriedades de consistência definidas no parágrafo anterior são garantidas. /* Algoritmo de Deteccao de Estados Globais de * Chandy e Lamport. O codigo e o mesmo para * todos os processos. class DistributedSnapshot { BcastService bcast; ProcessNumber parent; DistributedSnapshot() { bcast = new BcastService(); workflow(); void workflow() { /* Enquanto o processo estiver em execucao, ouve * por chegada de marcadores e pela chamada ao snapshot. * Apos o processo ter recebido ou enviado marcadores * por todos os canais, o algoritmo terminou entao ele envia * os estados que salvou e todos os que receber para o * seu processo pai. State recordprocessstate() { /* Salva o estado atual do Processo considerando todas as mensagens que ja recebeu

19 18 Prata, De Paula, Costa e Dominiquini State recordchannelstate(channel c, flag empty) { /* Salva o estado atual do Canal de entrada considerando * todas as mensagens que recebeu entre o salvamento * do estado do processo e o recebimento do marcador * por aquele canal. Se a flag empty for verdadeira, * salva o estado do canal como vazio. void snapshot() { /* Funcao que dispara a captura do estado global. * E disparada por um processo externo ao sistema, * como um timer ou acao de algum usuario. State procstate = recordprocessstate(); parent = this.pid; sendmarker(); /* REGRA 1. Send Marker void sendmarker() { /* Para todos os canais de saida do processo atual, * envia um marcador pelo canal * apos salvar seu proprio estado. for each (channel c) { bcast.sendunicast(c.toproccess, marker) /* REGRA 2. Receive Marker void receivemarker(channel c){ /* Quando um processo recebe o primeiro marcador, * ele salva seu proprio estado e o estado do canal * pelo qual ele recebeu o marcador como vazio. Caso * esse nao seja o primeiro marcador, salva o estado * do canal sendo as mensagens que recebeu pelo * canal depois do salvamento de seu proprio estado. if (first marker) { parent = c.fromprocess.pid; recordproccessstate(); recordchannelstate(c,true); else { recordchannelstate(c,false); Para que o algoritmo termine, é necessário que nenhum marcador fique parado indefinidamente em algum canal, e que haja um caminho dos processos que salvam o seu estado espontaneamente para todos os outros processos, assegurando assim que todos os processos

20 Multicast 19 recebam um ou mais marcadores e salvem seu estado, pois se nenhum marcador fica parado em um canal indefinidamente e os processos sempre enviam marcadores por todos os canais, certamente todos os processos salvarão seus estados. O Estado global salvo pelo algoritmo não é necessariamente um estado global pelo qual a computação atual passou. No artigo é mostrado, porém, que dado uma computação onde S 0 é o estado inicial e S 1 é o estado final, o estado salvo pelo algoritmo S, é atingível a partir do estado inicial S 0, e o estado final S 1 é atingível a partir de S. Para mostrar este fato, primeiro demonstra-se que é possível obter uma sequência de eventos onde todos os eventos que aconteceram antes de os processos salvarem os seus estados, a pré-captura, ocorrem antes dos eventos pós-captura de estado. Isso se deve ao fato que se algum evento pós-captura ocorre antes de algum evento pré-captura em alguma permutação da computação, estes eventos são necessariamente concorrentes, pois não é possível um evento pós-captura ocorrer antes de um evento pré-captura no mesmo processo. É relativamente fácil mostrar que S é o estado capturado pelo algoritmo, o que mostra que o estado global capturado é possível em uma dada computação do sistema distribuído. 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

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

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

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

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

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

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

Leia mais

Entendendo como funciona o NAT

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

Leia mais

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

Leia mais

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet: Comunicação em uma rede Ethernet A comunicação em uma rede local comutada ocorre de três formas: unicast, broadcast e multicast: -Unicast: Comunicação na qual um quadro é enviado de um host e endereçado

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

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

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

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

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

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

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

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

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br FACULDADE PITÁGORAS DISCIPLINA FUNDAMENTOS DE REDES REDES DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Material elaborado com base nas apresentações

Leia mais

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

Leia mais

SISTEMAS DISTRIBUÍDOS

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

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

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

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

Endereçamento IP 09/05/2014. Endereçamento IP CLASSE B CLASSE A CLASSE A CLASSE C

Endereçamento IP 09/05/2014. Endereçamento IP CLASSE B CLASSE A CLASSE A CLASSE C Endereçamento IP Endereçamento IP Prof. Marcel Santos Silva marcel@magres.com.br É uma sequência de números composta de 32 bits. Esse valor consiste num conjunto de quatro grupos de 8 bits. Cada conjunto

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

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

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

A máscara de sub-rede pode ser usada para dividir uma rede existente em sub-redes. Isso pode ser feito para: Fundamentos: A máscara de pode ser usada para dividir uma rede existente em "s". Isso pode ser feito para: 1) reduzir o tamanho dos domínios de broadcast (criar redes menores com menos tráfego); 2) para

Leia mais

Rede de Computadores

Rede de Computadores Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso

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

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede Interconexão de redes locais Existência de diferentes padrões de rede necessidade de conectá-los Interconexão pode ocorrer em diferentes âmbitos LAN-LAN LAN: gerente de um determinado setor de uma empresa

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

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

Leia mais

Aula 5 Cálculo de máscara e de subredes

Aula 5 Cálculo de máscara e de subredes 1 Aula 5 Cálculo de máscara e de subredes 5.1 Conceitos Quando um host se comunica com outro usa o endereço de enlace dele. Os endereços de hardware das placas de rede, ou MAC Address, são constituídos

Leia mais

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O Guia de Conectividade Worldspan Go Res! A V A N Ç A D O Í n d i c e Considerações Iniciais...2 Rede TCP/IP...3 Produtos para conectividade...5 Diagnosticando problemas na Rede...8 Firewall...10 Proxy...12

Leia mais

SISTEMAS DISTRIBUÍDOS

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

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

Tabela de roteamento

Tabela de roteamento Existem duas atividades que são básicas a um roteador. São elas: A determinação das melhores rotas Determinar a melhor rota é definir por qual enlace uma determinada mensagem deve ser enviada para chegar

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

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona. Aula 14 Redes de Computadores 24/10/07 Universidade do Contestado UnC/Mafra Sistemas de Informação Prof. Carlos Guerber ROTEAMENTO EM UMA REDE DE COMPUTADORES A máscara de sub-rede é utilizada para determinar

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 AULA 6: Switching Uma rede corporativa

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

COMPONENTES BÁSICOS DE

COMPONENTES BÁSICOS DE COMPONENTES BÁSICOS DE REDES 2ºPARTE Prof. Me. Hélio Esperidião SWITCH O SWITCH opera de forma mais inteligente. Ele analisa os pacotes de dados que chegam a ele e descobre os endereços de origem e destino.

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

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 3-1. A CAMADA DE REDE (Parte 1) A camada de Rede está relacionada à transferência de pacotes da origem para o destino. No entanto, chegar ao destino pode envolver vários saltos em roteadores intermediários.

Leia mais

Prof. Rafael Gross. rafael.gross@fatec.sp.gov.br

Prof. Rafael Gross. rafael.gross@fatec.sp.gov.br Prof. Rafael Gross rafael.gross@fatec.sp.gov.br Todo protocolo define um tipo de endereçamento para identificar o computador e a rede. O IP tem um endereço de 32 bits, este endereço traz o ID (identificador)

Leia mais

Endereçamento IP. Rede 2 Roteador 2 1

Endereçamento IP. Rede 2 Roteador 2 1 O protocolo TCP/IP é roteável, isto é, ele foi criado pensando-se na interligação de diversas redes onde podemos ter diversos caminhos interligando o transmissor e o receptor -, culminando na rede mundial

Leia mais

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

O modelo ISO/OSI (Tanenbaum,, 1.4.1) Cenário das redes no final da década de 70 e início da década de 80: Grande aumento na quantidade e no tamanho das redes Redes criadas através de implementações diferentes de hardware e de software Incompatibilidade

Leia mais

Capítulo 4 - Roteamento e Roteadores

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

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 2. TCP/IP i. Fundamentos ii. Camada de Aplicação iii. Camada de Transporte iv. Camada de Internet v. Camada de Interface

Leia mais

Tecnologia de Redes de Computadores - aula 5

Tecnologia de Redes de Computadores - aula 5 Tecnologia de Redes de Computadores - aula 5 Prof. Celso Rabelo Centro Universitário da Cidade 1 Objetivo 2 3 4 IGPxEGP Vetor de Distância Estado de Enlace Objetivo Objetivo Apresentar o conceito de. Conceito

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito - Switch na Camada 2: Comutação www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Introdução A conexão entre duas portas de entrada e saída, bem como a transferência de

Leia mais

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

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

Jacson Rodrigues <jacsonrcsilva@gmail.com> 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

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

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)

Leia mais

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Segundo Bimestre

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

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

Conteúdo. Endereçamento IP Sub-redes VLSM Variable Length Subnetwork Mask CIDR Classless Inter-Domain Routing

Conteúdo. Endereçamento IP Sub-redes VLSM Variable Length Subnetwork Mask CIDR Classless Inter-Domain Routing EndereçamentoIP Conteúdo Endereçamento IP Sub-redes VLSM Variable Length Subnetwork Mask CIDR Classless Inter-Domain Routing Endereçamento IP Serviço de Comunicação Universal Um sistema de comunicação

Leia mais

Fundamentos de Redes de Computadores. Elementos de Redes Locais

Fundamentos de Redes de Computadores. Elementos de Redes Locais Fundamentos de Redes de Computadores Elementos de Redes Locais Contexto Implementação física de uma rede de computadores é feita com o auxílio de equipamentos de interconexão (repetidores, hubs, pontos

Leia mais

Faculdade INED Curso Superior de Tecnologia: R d es e Comput d a ores Bibliografia da disciplina Endereçamento IP Bibliografia Obrigatória

Faculdade INED Curso Superior de Tecnologia: R d es e Comput d a ores Bibliografia da disciplina Endereçamento IP Bibliografia Obrigatória Faculdade INED Unidade 3 Endereçamento IP Curso Superior de Tecnologia: Redes de Computadores Disciplina: Fundamentos de Redes Prof.: Fernando Hadad Zaidan 1 2 Bibliografia da disciplina Bibliografia Obrigatória

Leia mais

Unidade 2.4 Endereçamento IP

Unidade 2.4 Endereçamento IP Faculdade INED Curso Superior de Tecnologia: Banco de Dados Redes de Computadores Disciplina: Redes de Computadores Prof.: Fernando Hadad Zaidan 1 Unidade 2.4 Endereçamento IP 2 Bibliografia da disciplina

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

MC714 - Sistemas Distribuídos. Leandro Villas

MC714 - Sistemas Distribuídos. Leandro Villas MC714 - Sistemas Distribuídos Aula de Hoje Aula Passada Relógios Lógicos Relógios de Lamport Relógios Vetoriais Aula de Hoje Exclusão Mútua Algoritmos de Eleição Exclusão mútua Questão fundamental em SDs

Leia mais

Administração de Redes

Administração de Redes Administração de Redes DHCP Dynamic Host Configuration Protocol Prof. Fabio de Jesus Souza Professor Fabio Souza Introdução Principais parâmetros que devem ser configurados para que o protocolo TCP/IP

Leia mais

Redes e Conectividade

Redes e Conectividade Redes e Conectividade Camada de enlace: domínio de colisão e domínio de broadcast, segmentação, modos de switching para encaminhamento de quadros Versão 1.0 Março de 2016 Prof. Jairo jairo@uninove.br professor@jairo.pro.br

Leia mais

Exercícios de Revisão Edgard Jamhour. Quarto Bimestre: IPv6 e Mecanismos de Transiçao

Exercícios de Revisão Edgard Jamhour. Quarto Bimestre: IPv6 e Mecanismos de Transiçao Exercícios de Revisão Edgard Jamhour Quarto Bimestre: IPv6 e Mecanismos de Transiçao Questão 1: Indique a qual versão do IP pertence cada uma das características abaixo: ( ) Verifica erros no cabeçalho

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

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

Leia mais

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer kraemer@utfpr.edu.br. Kraemer

Disciplina de Sistemas Distribuídos. Sincronização em SD. Prof. M.Sc. Alessandro Kraemer kraemer@utfpr.edu.br. Kraemer Disciplina de Sistemas Distribuídos Sincronização em SD Prof. M.Sc. Alessandro kraemer@utfpr.edu.br Cronograma Contextualização Tipos de sincronização Mecanismos para sincronização da região crítica Exclusão

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

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

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho. Entregue três questões de cada prova. Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor

Leia mais

Redes de Computadores Endereçamento IP

Redes de Computadores Endereçamento IP Redes de Computadores Endereçamento IP Prof. Eduardo Endereçamento IP o TCP/IP utiliza um endereçamento lógico; Cada dispositivo conectado em rede necessita usar pelo menos um endereço IP (identifica o

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

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

Leia mais

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

Leia mais

Márcio Leandro Moraes Rodrigues. Frame Relay

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

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

Arquitetura TCP/IP. Parte III Endereçamento IP e roteamento. Fabrízzio Alphonsus A. M. N. Soares

Arquitetura TCP/IP. Parte III Endereçamento IP e roteamento. Fabrízzio Alphonsus A. M. N. Soares Arquitetura TCP/IP Parte III Endereçamento IP e roteamento Fabrízzio Alphonsus A. M. N. Soares Tópicos Formato do endereço Classes de endereços Endereços especiais Sub-rede e máscara VLSM (Variable Length

Leia mais

Módulo 8 Ethernet Switching

Módulo 8 Ethernet Switching CCNA 1 Conceitos Básicos de Redes Módulo 8 Ethernet Switching Comutação Ethernet 2 Segmentação de Redes Numa Ethernet o meio de transmissão é compartilhado Só um nó pode transmitir de cada vez. O aumento

Leia mais

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

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

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

Quadro de consulta (solicitação do mestre)

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

Leia mais

Interconexão de Redes. Aula 03 - Roteamento IP. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br

Interconexão de Redes. Aula 03 - Roteamento IP. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br Interconexão de Redes Aula 03 - Roteamento IP Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br Revisão Repetidor Transceiver Hub Bridge Switch Roteador Domínio de Colisão Domínio de Broadcast

Leia mais

Uso do iptables como ferramenta de firewall.

Uso do iptables como ferramenta de firewall. Uso do iptables como ferramenta de firewall. Rafael Rodrigues de Souza rafael@tinfo.zzn.com Administração em Redes Linux Universidade Federal de Lavra UFLA RESUMO O artigo pretende abordar o uso de firewalls

Leia mais

Aula 6 Modelo de Divisão em Camadas TCP/IP

Aula 6 Modelo de Divisão em Camadas TCP/IP Aula 6 Modelo de Divisão em Camadas TCP/IP Camada Conceitual APLICATIVO TRANSPORTE INTER-REDE INTERFACE DE REDE FÍSICA Unidade de Dados do Protocolo - PDU Mensagem Segmento Datagrama /Pacote Quadro 01010101010100000011110

Leia mais

Sumário INTRODUÇÃO... 4 PROTOCOLO ARP...5 ARP - ADDRESS RESOLUTION PROTOCOL...5 FUNCIONAMENTO DO PROTOCOLO ARP...5 CACHE ARP... 6

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,

Leia mais

O Protocolo IP (2) Prof. José Gonçalves Pereira Filho Departamento de Informática zegonc@inf.ufes.br

O Protocolo IP (2) Prof. José Gonçalves Pereira Filho Departamento de Informática zegonc@inf.ufes.br O Protocolo IP (2) Prof. José Gonçalves Pereira Filho Departamento de Informática zegonc@inf.ufes.br O IP e a Máscara de Sub-Rede O IP se baseia em duas estruturas para efetuar o roteamento de datagramas:

Leia mais

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Nome dos Alunos

Exercícios de Revisão Redes de Computadores Edgard Jamhour. Nome dos Alunos Exercícios de Revisão Redes de Computadores Edgard Jamhour Nome dos Alunos Cenário 1: Considere a seguinte topologia de rede IPB 210.0.0.1/24 IPA 10.0.0.5/30 220.0.0.1\24 4 5 3 1 IPC 10.0.0.9/30 REDE B

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 ENTRE PROCESSOS Comunicação de grupo Comunicação one-to-one Forma mais simples de comunicação entre processos point -to-point, ou unicast Algumas aplicações requerem comunicação envolvendo

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

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

Leia mais

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

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

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

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores

Leia mais

3) Na configuração de rede, além do endereço IP, é necessário fornecer também uma máscara de subrede válida, conforme o exemplo:

3) Na configuração de rede, além do endereço IP, é necessário fornecer também uma máscara de subrede válida, conforme o exemplo: DIRETORIA ACADÊMICA DE EDUCAÇÃO E TECNOLOGIA COORDENAÇÃO DOS CURSOS DA ÁREA DE INFORMÁTICA! Atividade em sala de aula. 1) A respeito de redes de computadores, protocolos TCP/IP e considerando uma rede

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

Roteamento e Comutação

Roteamento e Comutação Roteamento e Comutação Design de Rede Local Design Hierárquico Este design envolve a divisão da rede em camadas discretas. Cada camada fornece funções específicas que definem sua função dentro da rede

Leia mais