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



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


No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

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

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

CAMADA DE REDE. UD 2 Aula 3 Professor João Carneiro Arquitetura de Redes 1º e 2º Semestres UNIPLAN

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Prof. Marcelo Machado Cunha Parte 3

Capítulo 7 CAMADA DE TRANSPORTE

Protocolos Hierárquicos

Sistemas Distribuídos

Arquitetura de Rede de Computadores

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Capítulo 7 CAMADA DE TRANSPORTE

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

MÓDULO 8 Modelo de Referência TCP/IP

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Redes de Computadores

ELEMENTOS DE PROTOCOLOS DE TRANSPORTE. Fabricio Sousa

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Unidade 2.1 Modelos de Referência

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

Prof. Manuel A Rendón M

Redes de Computadores

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

REDES DE COMPUTADORES

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

Redes de Computadores. Prof. André Y. Kusumoto

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

Protocolos de Redes Revisão para AV I

Unidade 2.1 Modelos de Referência. Bibliografia da disciplina. Modelo OSI. Modelo OSI. Padrões 18/10/2009

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

Redes de Computadores II INF-3A

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

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

Redes de Computadores. Prof. Dr. Rogério Galante Negri

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Márcio Leandro Moraes Rodrigues. Frame Relay

Redes de Computadores II

MODELO CLIENTE SERVIDOR

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Capítulo 4 - Roteamento e Roteadores

Camadas de Transporte, Sessão & Apresentação. Função. Camadas REDES x TRANSPORTE. Redes de Computadores Prof. Leandro C. Pykosz

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

Redes de Computadores. Protocolos de comunicação: TCP, UDP

SISTEMAS DISTRIBUIDOS

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

Redes de Computadores

Rede de Computadores

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

Entendendo como funciona o NAT

Prof. Samuel Henrique Bucke Brito

Evolução na Comunicação de

Sistemas Distribuídos

1 - Cite o nome dos principais campos de um quadro Ethernet, explicando qual a funcionalidade de cada campo.

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

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.

Claudivan C. Lopes

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

UNIVERSIDADE. Sistemas Distribuídos

Roteamento e Comutação

Arquitetura de Redes: Camadas de Protocolos (Parte II)

3 Qualidade de serviço na Internet

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Arquitetura dos Sistemas de Informação Distribuídos

REDE DE COMPUTADORES

Capítulo 9. Gerenciamento de rede

Considerações no Projeto de Sistemas Cliente/Servidor

AULA Redes de Computadores e a Internet

Revisão. Karine Peralta

Módulo 8 Ethernet Switching

Prefixo a ser comparado Interface Senão 3


Redes de Comunicações Capítulo 6.1

Um pouco sobre Pacotes e sobre os protocolos de Transporte

Nível de Enlace. Nível de Enlace. Serviços. Serviços. Serviços. Serviços. Serviços oferecidos os nível de rede

4 Arquitetura básica de um analisador de elementos de redes

Informática I. Aula Aula 22-03/07/06 1

Redes de Computadores

BARRAMENTO DO SISTEMA

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

Estrutura de um Rede de Comunicações. Redes de comunicação. de Dados. Network) Area. PAN (Personal( Redes de. de dados

Curso: Tec. Em Sistemas Para Internet 1 semestre Redes de Computadores Memória de Aula 10. Prof. Moises P. Renjiffo

Introdução ao Modelos de Duas Camadas Cliente Servidor

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

O que são DNS, SMTP e SNM

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

APOSTILA DE REDES DE COMPUTADORES PARTE - III

TRANSMISSÃO DE DADOS

Interligação de Redes

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

Transcrição:

- Aula 1- MODELO DE CAMADAS 1. INTRODUÇÃO A compreensão da arquitetura de redes de computadores envolve a compreensão do modelo de camadas. O desenvolvimento de uma arquitetura de redes é uma tarefa complexa, pois envolvem inúmeros aspectos de hardware e software, como interfaceamento com o meio de transmissão, especificações, verificação e implementação de protocolos, integração com o sistema operacional, controle de erros, segurança e desempenho. O modelo em camadas surgiu para reduzir a complexidade do projeto de arquitetura de redes. 2. HIERARQUIAS DE PROTOCOLOS Com a finalidade de reduzir a complexidade dos projetos, as redes são organizadas como uma pilha de camadas ou níveis. O objetivo dessa estratégia é fazer com que cada camada ofereça determinados serviços às camadas superiores, isolando essas camadas dos detalhes de implementação. Cabe salientar que a camada n de uma máquina se comunica com a camada n de outra máquina. Para que se estabeleça essa comunicação é necessária a existência de regras e convenções conhecidas como protocolos. 3. PROTOCOLOS Protocolo é uma linguagem utilizada pelos dispositivos de redes (módulos processadores como computadores e roteadores) para que eles possam se comunicar. Para que haja entendimento entre os diversos equipamentos de rede é necessário que todos os dispositivos utilizem o mesmo protocolo, ou seja, falem a mesma linguagem. Existem vários protocolos, e embora cada um funcione de forma particular, existem algumas características comuns entre eles. As principais características em comum são: - Funcionamento em módulos ou camadas; - Divisão da mensagem em pacotes; - Funcionamento em módulos ou camadas. A violação desse protocolo inviabiliza a comunicação entre as camadas. 1

Figura 1 - Canal de Comunicação Na realidade, os dados não são transferidos diretamente da camada n de uma máquina para camada n de outra máquina. Em vez disso, cada camada transfere os dados e as informações de controle para camada imediatamente abaixo dela, até ser alcançada a camada mais baixa. Abaixo da camada 1 encontra-se o meio físico, onde se dá a comunicação propriamente dita. Contudo, cabe ressaltar que a comunicação virtual se dá como mostrado nas linhas pontilhadas e a comunicação física por linhas contínuas. Entre cada par de camadas adjacentes existe uma interface que define as operações e os serviços que devem ser oferecidos à camada superior. Ao conjunto de camadas e protocolos chamamos de arquitetura de rede. A especificação de uma arquitetura deve conter informações suficientes para permitir que um implementador desenvolva o programa ou construa o hardware de cada camada, de forma que ele obedeça corretamente ao protocolo adequado. Os complexos sistemas de comunicação de dados não usam um único protocolo para tratar de todas as tarefas de transmissão. Ao contrário, requerem uma pilha de protocolos cooperativos, algumas vezes chamados de família de protocolos ou mesmo pilha de protocolos. Para exemplificar toda essa idéia de comunicação em vários níveis, vamos usar uma analogia muito famosa: Os dois filósofos - Imagine dois filósofos (processos da camada 3), um deles fala urdu e inglês e o outro fala chinês e Francês. 2

- Como não falam o mesmo idioma eles contratam tradutores (processos da camada 2), que por sua vez têm cada qual uma secretária (processos da camada 1). - O filósofo 1 deseja transmitir sua predileção pelo oryctolagus cuniculus a seu par. - Para tal ele envia uma mensagem em inglês através da interface 2/3 a seu tradutor. - Os tradutores resolveram usar o idioma holandês como neutro, dessa forma a mensagem foi traduzida para o holandês. - O tradutor entrega a mensagem à secretária que a transmite pelo fax (protocolo da camada 1). - Quando a mensagem chega, é traduzida para o francês e passada através da interface 2/3 para o filósofo 2. Figura 2 - Dois filósofos Observe que cada protocolo é totalmente independente dos demais, desde que as interfaces não sejam alteradas. Nada impede que os tradutores usem outras línguas ou a secretária utilize outro meio para realizar a transmissão. Vamos ver um exemplo mais técnico: - Suponhamos uma comunicação elevada a 5ª camada. - Uma mensagem M é produzida por uma aplicação na camada 5 e é entregue a camada 4 para transmissão. 3

- A camada 4 coloca um cabeçalho 1 no início da mensagem para identificá-la e envia para camada 3. - A camada 3 divide as mensagens recebidas em unidades menores, pacotes 2, anexando um cabeçalho a cada pacote. (M dividido em M1 e M2). - A camada 2 acrescenta não só um cabeçalho a cada fragmento, mas ao final fornece uma resultante (pode ser um CRC 3 ) para transmissão física. - Na máquina receptora, a mensagem se move de baixo para cima, de camada em camada, com os cabeçalhos sendo retirados durante o processo. Figura 3 - Comunicação entre camadas 1 Cabeçalho - Informações de controle, números de seqüência, a fim de permitir à camada correspondente do destino repassar as mensagens na ordem correta. Podem controlar ainda tamanho, hora, dentre outros atributos. 2 Pacotes - Os protocolos dividem as mensagens a serem transmitidas na rede em pequenos pedaços de tamanho fixo chamados pacotes, quadros ou datagramas. Isso significa que um arquivo não é transmitido de uma só vez. Ele é transmitido em vários pacotes. Dentro de cada pacote há o endereço de origem e de destino. As placas de rede dos computadores têm um endereço único que vem fixado de fábrica. Assim um computador sabe quais os pacotes que lhe pertence. Se o endereço do pacote for igual ao seu ele recebe o pacote, caso contrário ignora-o. 3 Cyclical Redundancy Check Variação do método checksum; Esquema de correção de erros de modo a verificarem se os dados chegaram íntegros ao destino. 4

A abstração de processos pares é fundamental para toda a estrutura da rede. Com sua utilização, a tarefa não-gerenciável de projetar a rede completa pode ser dividida em diversos problemas de projeto menores e gerenciáveis. Cabe lembrar que as camadas inferiores de uma hierarquia de protocolos costumam ser implementadas no hardware ou no firmware. No entanto, algoritmos de protocolos muito complexos estão envolvidos no processo, muito embora estejam embutidos parcial ou totalmente no hardware. 4. QUESTÕES DE PROJETO RELACIONADAS ÀS CAMADAS As questões relacionadas a projeto de redes de computadores estão presentes em diversas camadas. Todas as camadas precisam de um mecanismo para identificar as transmissões e os receptores. Dessa forma, para identificar as origens e os destinos surgiu a necessidade de se criar uma forma de endereçamento para definir um destino específico. Outra preocupação é referente à transferência de dados. Em alguns sistemas, os dados são transferidos em apenas um sentido, outros em ambos os sentidos. - Simplex - apenas numa direção. - Half-duplex - em ambas as direções, mas não simultaneamente. - Full-duplex - em ambas as direções simultaneamente. De igual forma, o controle de erros é uma questão importante, pois os circuitos de comunicação não são perfeitos, sendo necessário o emprego de códigos de detecção e correção de erros. Além disso, o receptor deve ser capaz de informar quais mensagens foram recebidas corretamente. Nem todos os canais de comunicação preservam a ordem das mensagens envidadas a eles. Para lidar com essa possível perda de seqüência, o protocolo deve permitir ao receptor remontar os fragmentos recebidos. O controle de fluxo é de suma importância para que não haja sobrecarga na rede, bem como o caminho a ser percorrido pelos dados, trabalho este específico de roteamento. Outro fator a ser considerado na camada física é a estratégia de multiplexação 4. Exemplos: - FDM : Multiplexação por Divisão de Freqüência - TDM: Multiplexação por Divisão de Tempo - WDM: Multiplexação por Divisão de Comprimento de Onda - PCM: Multiplexação por Código de Pulso 4 Multiplexação é o processo de transmitir vários sinais de informação por um único canal de comunicação. 5

Figura 4 - Multiplexação 5. SERVIÇOS ORIENTADOS A CONEXÕES E SERVIÇOS SEM CONEXÃO As camadas podem oferecer dois tipos diferentes de serviços às camadas situadas acima delas: serviços orientados a conexões e serviços sem conexões. 5.1. Serviço orientado a conexões Baseia-se no sistema telefônico. Primeiro é necessário ao usuário do serviço estabelecer uma conexão. O aspecto essencial de uma conexão é que ela funciona como um tubo: o transmissor empurra objetos em uma extremidade, e esses objetos são recebidos pelo receptor na outra extremidade. Na maioria dos casos a ordem é preservada, de forma que os bits chegam na seqüência em que foram enviados. É possível que nestes casos sejam estabelecidos alguns critérios na transmissão dos dados como tamanho máximo dos pacotes, qualidade do serviço, largura de banda, etc. 5.2. Serviço sem conexão Baseia-se no sistema postal. Cada mensagem carrega o endereço de destino completo e cada uma delas é roteada (encaminhada) através do sistema, independentemente de todas as outras. Em geral, quando duas mensagens são enviadas para o mesmo destino, a primeira a ser envidada é a primeira a chegar. Cada serviço pode ser caracterizado por uma qualidade de serviço. Alguns serviços são confiáveis, no sentido de nunca perderem dados; neste caso é implementado para que o 6

receptor confirme o recebimento de cada mensagem, contudo o processo de confirmação induz sobrecarga e retardos, que freqüentemente valem à pena, mas são indesejáveis. Uma situação típica em que um serviço orientado a conexões confiável é apropriado é a transferência de arquivos. Os serviços orientados a conexões confiáveis têm duas variações secundárias: - Seqüência de mensagens; - Fluxo de bytes. Na primeira, os limites das mensagens são preservados, ou seja, quando duas mensagens são enviadas, ambas chegam como duas mensagens, nunca como uma única mensagem. Na segunda, quando um usuário se conecta a um servidor remoto, só é necessário um fluxo de bytes do computador do usuário para o servidor. Os limites não são relevantes. Para algumas aplicações, os retardos introduzidos pelas confirmações são inaceitáveis. Uma dessas aplicações é o tráfego de voz digital. Os usuários de telefone preferem ouvir um pouco de ruído na linha ou uma palavra truncada de vez em quando a experimentar um retardo para aguardar confirmações. O mesmo acontece na transferência de vídeos; não haverá problemas se aparecerem alguns pixels errados. No entanto, não se admite interromper o fluxo de transmissão para corrigir erros. O serviço sem conexão, não-confiável (ou seja sem confirmação), é chamado de serviço de datagramas, em analogia ao serviço de telegramas. Em outras situações, a conveniência de não ter que estabelecer uma conexão para enviar uma única mensagem curta é desejável, mas a confiabilidade é essencial. Neste caso é chamado de serviço de datagramas com confirmação. Outro serviço é o serviço de solicitação/resposta. O transmissor envia um único datagrama contendo uma solicitação; a resposta contém a réplica. É normalmente usada para implementar a comunicação cliente-servidor. Figura 5 - Conexões 7

A razão pela opção por uma conexão não confiável à comunicação confiável se dá pelo fato de uma comunicação confiável não estar disponível ou por razões de performance em detrimento de segurança. A ethernet, por exemplo, não oferece comunicação confiável, assim cabe aos níveis mais altos lidar com esse problema. Os retardos inerentes ao fornecimento de um serviço confiável podem ser inaceitáveis, em especial nas aplicações de tempo real. 6. PRIMITIVAS DE SERVIÇO Um serviço é especificado formalmente por um conjunto de primitivas (operações) disponíveis para que um processo do usuário o acesse. Tais primitivas informam ao serviço que ele deve executar alguma ação ou relatar uma ação executada por uma entidade par. Em geral, as primitivas ocorrem como System Calls chamadas do Sistema Operacional que se encarregam enviar os pacotes necessários. Quadro1: Primitivas de Serviço de uma conexão simples. Primitiva Significado LISTEN Espera bloqueada por uma conexão de entrada CONNECT Estabelece uma conexão com um par que está à espera RECEIVE Espera bloqueada por uma mensagem de entrada SEND Envia uma mensagem ao par DISCONNECT Encerra uma conexão Figura 6 - Pacotes enviados em uma interação Cliente-Servidor simples 7. RELAÇÃO ENTRE SERVIÇOS E PROTOCOLOS Serviços e protocolos são conceitos diferentes, embora confundidos. Um serviço é um conjunto de primitivas (operações) que uma camada oferece à camada situada acima dela. O serviço define as operações que a camada está preparada para executar em nome de seus usuários, mas não informa absolutamente nada sobre como essas operações são 8

implementadas. Um serviço se relaciona com uma interface entre duas camadas, sendo a camada inferior a fornecedora do serviço. O protocolo é um conjunto de regras que controla o formato e o significado dos pacotes ou mensagens que são trocadas pelas entidades pares contidas em uma camada. As entidades utilizam protocolos com a finalidade de implementar suas definições de serviço. Elas têm a liberdade de trocar seus protocolos, desde que não alterem o serviço visível para seus usuários. Portanto, o serviço e o protocolo são independentes um do outro. Em suma, os serviços estão relacionados às interfaces entre camadas, ao passo que os protocolos se relacionam aos pacotes enviados entre entidades pares de máquinas diferentes. Analogia: Um serviço é uma interface na linguagem orientada a objetos, ou seja, define as operações que podem ser executadas sobre um objeto, mas não especifica como essas operações são implementadas. Um protocolo se refere à implementação do serviço e, conseqüentemente, não é visto pelo usuário do serviço. Figura 7 - Relacionamento entre serviço e protocolo Em protocolos mais antigos, não havia essa distinção entre protocolos e serviços. Essa organização significava que quaisquer alterações realizadas no protocolo ficavam visíveis para os usuários. 8. CONCLUSÃO Por fim, uma arquitetura de rede deve especificar o número de camadas, os serviços oferecidos por cada nível, as respectivas interfaces, além da pilha de protocolos. Dois modelos de referencia foram concebidos utilizando o modelo em camadas: o modelo de referencia OSI(Open Systems Interconnection) e o modelo de referência TCP. 9