Preview only show first 10 pages with watermark. For full document please download

Material - 2ª Semana

Redes de computadores 2

   EMBED

  • Rating

  • Date

    December 2018
  • Size

    509.6KB
  • Views

    780
  • Categories


Share

Transcript

2. AULA 2 – MODELO DE CAMADAS Objetivos da Aula Compreender um dos principais conceitos utilizados em Arquitetura de redes de computadores: o modelo de camadas, utilizado na transmissão das informações. Aprender o conceito de arquitetura de redes, destacando o funcionamento, vantagens e desvantagens dos modelos OSI, Internet e Híbrido. No projeto e implantação das primeiras redes de computadores, o hardware era a principal preocupação e o software ficava em segundo plano. Atualmente este cenário mudou e o software de rede é altamente estruturado. O processo de transmissão de dados de um computador a outro é um tanto complexo. O modelo de camadas surgiu para reduzir essa complexidade na transmissão das informações, da mesma forma que a modularização (decomposição de um sistema em vários módulos) veio a ajudar no desenvolvimento de sistemas. A idéia principal é dividir o processo de envio e recepção da informação em camadas independentes, de forma que cada camada/nível seja responsável por determinados serviços executados em uma rede de computadores. O número de camadas, o nome, o conteúdo e a função das camadas podem se diferenciar de uma rede para outra. Porém, em todas as redes o objetivo de cada camada é oferecer determinados serviços às camadas superiores ou inferiores a ela, isolando essas camadas dos detalhes de implementação destes recursos. De certa forma cada camada é uma espécie de máquina virtual, oferecendo determinados serviços à camada situada acima ou abaixo dela. Para ilustrar o conceito de comunicação através de múltiplas camadas, consideremos a seguinte analogia: • Dois engenheiros em países diferentes desejam trocar informações sobre um projeto. Um engenheiro só fala português e o outro só se comunica em inglês. Para se comunicarem eles decidem utilizar um tradutor; • Considere ainda, que o idioma comum entre os tradutores seja o alemão e que o meio utilizado para transmissão dos dados seja o telégrafo; 18 • Assim, o engenheiro que fala português passa suas informações para seu tradutor que as traduz para o alemão. A mensagem em alemão é então passada ao telegrafista que as transmite para um telegrafista no outro país; • Ao receber a mensagem, o telegrafista passa a mensagem (em alemão) para o tradutor, que a traduz para o inglês e a entrega para o engenheiro. A Figura 2.1 ilustra essa comunicação, identificando os componentes da Arquitetura de Rede utilizada. Engenheiro Português Engenharia Engenheiro Inglês Tradutor Port. Alemão Alemão Tradutor Alemão Inglês Telegrafista Telegrafia Telegrafista Meio de Transmissão Figura 2.1: Comunicação em camadas 2.1. Modelo de Cinco Camadas Existem dois modelos clássicos utilizados para o estudo de redes de computadores: o modelo OSI, que possui uma arquitetura de sete camadas, e o modelo Internet, com uma arquitetura de quatro camadas. Como os dois modelos possuem vantagens e desvantagens, o material adotará um modelo Híbrido de cinco camadas, baseado nos modelos OSI e Internet, para explicar o funcionamento de uma rede de computadores. A seguir, será apresentado o funcionamento do modelo cinco camadas (Figura 2.2) e, posteriormente, os modelos OSI e Internet serão explicados e detalhados. 19 Figura 2.2: Modelo de cinco camadas MAIA, 2009, p.23 No modelo de camadas, os níveis são organizados hierarquicamente, formando uma pilha. Cada nível/camada possui um nome, um número e uma função no processo de transmissão das informações. Como pode ser notado na Figura 2.2, a camada física está mais próxima do canal de comunicação utilizado na transmissão. Já a camada de aplicação está mais próxima do usuário, ou seja, do software utilizado pelo usuário, como o Browser ou um aplicativo de comunicação instantânea, como o MSN – Microsoft Messenger. Cada camada possui uma função no processo de comunicação entre os dispositivos de uma rede. Para realizar a sua função, as camadas executam um conjunto de serviços. A Tabela 2.1 apresenta uma visão geral das funções de cada uma das cinco camadas do modelo estudado. Tabela 2.1: Funções das camadas do modelo Camadas Funções Trata da transmissão de bits brutos por meio de um cana de comunicação. Física Detecção e tratamento de erros de transmissão, controle de fluxo. Enlace Endereçamento e rotas da informação da origem até o destino Rede Transporte Cuida da comunicação fim-a-fim na transmissão das informações. Fornece serviços para os aplicativos que utilizam a rede, como: Aplicação Web, Correio Eletrônico, Transferência de Arquivos 20 2.1.1. Comunicação entre as Camadas: Vertical e Horizontal No modelo de camadas apresentado, cada nível/camada apenas comunica-se com a camada superior ou inferior a ela, ou seja, cada camada existe com o objetivo de prover serviços para a camada que está acima ou abaixo dela, formando uma comunicação vertical (Figura 2.3). Exemplo: A camada de enlace de dados comunica-se com a camada de rede (imediatamente acima dela) e com a camada física (imediatamente abaixo dela), mas não visualiza nenhuma outra camada. Figura 2.3: Comunicação vertical Fonte: MAIA, 2009, p.24 Cada camada oferece serviços para a camada imediatamente superior e utiliza serviços do nível inferior. Por exemplo, a camada de rede oferece serviços para a camada de transporte, que por sua vez utiliza os serviços da camada de enlace. Os serviços são oferecidos através de interfaces que permitem a comunicação entre as camadas. 21 Quando um usuário deseja enviar um email, as informações do computador “Origem” são passadas para a camada de aplicação que, utilizando as interfaces, passa a informação para a camada de transporte e assim sucessivamente até chegar na camada física para que os bits possam ser transmitidos pelo canal de comunicação. Quando a informação chegar ao computador “Destino”, os bits serão recebidos pela camada física e passados, via interface, para a camada de enlace e assim sucessivamente para a camada de aplicação, onde a informação é apresentada ao usuário. A comunicação vertical apresentada ocorre entre as camadas de um mesmo dispositivo. Vejamos agora como ocorre a comunicação de uma forma geral, envolvendo dispositivos distintos, ou seja, a comunicação horizontal (Figura 2.4) Figura 2.4: Comunicação entre dispositivos: perspectiva vertical e horizontal Na origem, o dado (como uma mensagem de email, por exemplo) a ser transmitido é gerado, e cada camada adiciona a ele informações de controle em forma de cabeçalhos. Esses cabeçalhos serão recebidos e processados pelas mesmas camadas no dispositivo de destino. Por exemplo, no dispositivo de origem a camada de aplicação adiciona ao dado informações de controle, ou seja, o Cabeçalho da camada de Aplicação (CA). A camada de transporte recebe o dado juntamente com o cabeçalho da camada de 22 aplicação (CA) e adiciona suas informações de controle, o Cabeçalho da camada de Transporte (CT). A camada de rede recebe o pacote de informações, composto por Dado + CA + CT, e acrescenta o Cabeçalho da camada de Rede (CR). As camadas enlace e física recebem o dado e cabeçalhos das camadas superiores e acrescentam os seus cabeçalhos, respectivamente CE e CF. No destino, a camada física recebe os bits do canal de comunicação (Dado + Cabeçalhos de todas as camadas do computador Origem), retira e processa as informações de controle da camada física (CF) e passa o restante das informações para a camada superior. O mesmo acontece com as camadas de enlace, rede, transporte e aplicação, onde seus respectivos cabeçalhos são processados até que a camada de aplicação entregue o dado “puro” (sem informações de controle) ao usuário do dispositivo de destino. Como na origem cada camada acessa e processa informações referentes ao seu cabeçalho, o modelo permite criar uma abstração de forma que as camadas possam se comunicar diretamente, ou seja, existe uma comunicação horizontal para cada nível do modelo. 2.2. Funções das Camadas Como visto anteriormente, cada camada do modelo implementa um conjunto de operações para desempenhar a função designada a ela no processo de transmissão de dados entre dispositivos. Esta seção apresenta uma visão geral das funcionalidades das cinco camadas do modelo adotado. Posteriormente, os conceitos, tecnologias, funções e protocolos de cada uma das camadas são detalhados em aulas individuais. 2.2.1. Camada Física A camada física é responsável pela transmissão dos bits brutos que compõem os dados por um canal de comunicação. O projeto de rede deve garantir que, quando o computador de origem enviar um bit 1, o computador de destino receberá o bit 1 enviado, e não um bit 0. Nessa camada é implementada a interface de comunicação entre os dispositivos e o meio de transmissão, como o tipo do meio (cabo coaxial, par 23 trançado, fibra óptica, freqüência de rádio), conectores, tamanho dos cabos, tamanho das antenas, etc. 2.2.2. Camada de Enlace Qualquer transmissão está sujeita a erros que podem modificar o sinal enviado pelo dispositivo de origem e alterar os bits transmitidos, danificando os dados enviados. A principal tarefa da camada de enlace é detectar possíveis erros de transmissão e corrigílos quando possível. Uma forma de corrigir erros da transmissão é solicitar a retransmissão da informação. Para desempenhar sua função, a camada de enlace divide os dados (ainda no dispositivo de origem) em quadros, que são enviados sequencialmente. Essa camada garante que as camadas superiores não assumam os dados com erros de transmissão, sendo de sua inteira responsabilidade a transferência segura dos dados. Outra questão tratada pela camada é como impedir que um transmissor rápido envie uma quantidade excessiva de informações para um dispositivo receptor mais lento, ou seja, regular o fluxo de dados enviados de forma a não sobrecarregar o receptor. 2.2.3. Camada de Rede A função da camada de rede, de uma forma geral, é permitir que os dados enviados pelo transmissor cheguem ao receptor utilizando dispositivos intermediários. Esse processo de direcionamento dos dados entre dispositivos intermediários é chamado de comutação. A comutação é o processo de interligar dois ou mais pontos entre si. No caso de telefones, as centrais telefônicas comutam (interligam) dois terminais por meio de um sistema automático. O termo comutação surgiu com o desenvolvimento das Redes Públicas de Telefonia e significa alocação de recursos da rede (meios de transmissão, etc...) para a comunicação entre dois equipamentos conectados àquela rede. 24 Como pode ser notado, a camada de enlace preocupa-se com os erros de transmissão de dois dispositivos já conectados diretamente, enquanto a camada de rede preocupa-se em permitir a comunicação entre dispositivos não adjacentes, ou seja, dispositivos com componentes intermediários de transmissão entre o transmissor e o receptor, como pode ser visto na Figura 2.5. Figura 2.5: Comutação entre dispositivos de uma rede de interconexão Na Figura apresentada anteriormente, o dispositivo A necessita acessar os dados do dispositivo B. O dispositivo A poderia ser o computador de um aluno do Curso Técnico em Informática e o dispositivo B o computador servidor que armazena o ambiente virtual de aprendizagem da instituição do aluno. Os dispositivos C1 a C7 são chamados de comutadores. Eles são responsáveis por reencaminhar os dados pela rede de interconexão da origem ao destino. Para que A se comunique com B, a requisição deverá obrigatoriamente ser enviada para C1 e depois ser reencaminhada para o caminho C2C3C4 ou C6C7, por exemplo, até que chegue ao comutador C5, que entregará a mensagem a B. Rede de interconexão é o conjunto de comutadores utilizados para interconectar os dispositivos de origem e destino. Para possibilitar a comunicação, a camada de rede necessita de algum esquema de endereçamento que permita a identificação dos dispositivos na rede, como ocorre com a 25 telefonia, em que cada telefone possui um número único que o identifica na rede. No modelo Internet, o esquema de endereçamento utiliza endereços IP (exibidos na Figura 2.5). Dessa forma, cada dispositivo da rede possui pelo menos um endereço IP associado. 2.2.4. Camada de Transporte Enquanto a camada de rede cuida do encaminhamento dos dados pela rede de interconexão, a camada de transporte é responsável pela comunicação fim a fim entre o transmissor e o receptor, permitindo que eles se comuniquem como se existisse uma ligação direta entre eles. Dessa forma, não importa se os dispositivos estão em uma rede local ou se estão em redes geograficamente separadas. Na Figura 2.6, o dispositivo A poderia ser um aluno acessando o ambiente acadêmico de sua instituição de ensino (disponível no dispositivo B) para visualizar as suas notas. A camada de transporte implementa serviços que cuidam para que a comunicação entre A e B pareça ser direta, com o dispositivo A enviando e B recebendo, como se não existisse a rede de interconexão. Lembrem-se de que o caminho (rota) a ser percorrido na rede de interconexão é definido pela camada de rede. A camada de transporte apenas fornece mecanismos que o caminho definido seja realizado de forma transparente. Figura 2.6: Comunicação fim a fim 26 2.2.5. Camada de Aplicação A camada mais próxima dos usuários possui serviços que fornecem suporte aos aplicativos que farão acesso aos recursos da rede. Enquanto as camadas inferiores estão preocupadas com a comunicação, a camada de aplicação preocupa-se em disponibilizar serviços para que os aplicativos possam oferecer aos usuários facilidades e transparência. Os principais serviços dessa camada são a Web, correio eletrônico, transferência de arquivos, serviços de áudio e vídeo. 2.3. Arquitetura de Redes de Computadores A arquitetura de uma rede deve especificar o número de camadas, os serviços oferecidos por cada nível, as respectivas interfaces, além dos protocolos utilizados (MAIA, 2009). O modelo de camadas oferece vários benefícios para a arquitetura de uma rede de computadores. Porém, existem algumas desvantagens, pois dependendo do número de camadas, é possível comprometer o desempenho da rede em função do número de interfaces que os dados terão que passar. Como visto anteriormente, existem algumas arquiteturas de redes que utilizam o modelo de camadas. A seguir são apresentadas duas arquiteturas que dominam o mercado e o meio acadêmico: o modelo Internet e o modelo OSI. 2.4. Modelo OSI Na década de 1970 vários fabricantes estavam desenvolvendo suas próprias arquiteturas de rede e cada um implementava seus próprios padrões, que eram incompatíveis com os demais fabricantes. Com isso, os usuários deveriam usar sempre os mesmos produtos do mesmo fabricante para evitar problemas de compatibilidade entre sistemas diferentes. No final da década de 70 e início de 80, a International Standards Organization (ISO) formou um comitê para desenvolver uma arquitetura de comunicação mundial. A tarefa especial, realizada pelo ISO, foi o desenvolvimento e publicação de um conjunto de padrões chamado de modelo de referência OSI, do inglês Open System Interconnection (Modelo de Interconexão de Sistemas Abertos). 27 Cuidado para não confundir ISO com OSI! São parecidos, mas não iguais. ISO é a organização e OSI é o modelo ou o padrão publicado por esta. O Modelo OSI é um padrão para redes que permite a comunicação de dados entre diferentes sistemas de computadores. Embora os protocolos associados ao modelo OSI raramente sejam usados atualmente, o modelo em si é de fato bastante geral e ainda válido, e as características descritas em cada camada ainda são muito importantes. O modelo é chamado Modelo de Referência ISO OSI (Open System Interconnection), pois se trata da interconexão de sistemas abertos - ou seja, sistemas que estão abertos à comunicação com outros sistemas. O modelo de protocolos OSI é um modelo de sete camadas, divididas da seguinte forma: 1 2 3 4 5 6 7 Aplicação Apresentação Sessão Transporte Rede Enlace Física Figura 2.7: Camadas do modelo OSI As funções das camadas de aplicação, transporte, rede, enlace e física são semelhantes ao funcionamento apresentado no modelo de cinco camadas. As camadas de sessão e apresentação são exclusivas do modelo OSI. Na verdade, os serviços dessas duas camadas são implementados pelas camadas de aplicação e transporte do modelo de cinco camadas. A camada de Sessão permite que dois computadores diferentes estabeleçam uma sessão de comunicação. Com esta camada os dados são marcados de forma que se houver uma 28 falha na rede, quando a rede se tomar disponível novamente, a comunicação pode reiniciar de onde parou. Já a camada de apresentação se difere das camadas mais baixas do modelo OSI, que se preocupam principalmente com a movimentação de bits. A camada de apresentação está relacionada à sintaxe e à semântica das informações transmitidas. É responsável pela formatação e tradução dos dados da camada de aplicação para a camada de sessão. Ela é tida como a camada "tradutora" da rede. No computador de origem ela traduz o dado no formato do aplicativo para o formato que deverá entrar na rede e no computador destino, ela traduz o dado do formato da rede para o formato que o aplicativo deve entender. Além de tradutora, ela também é responsável por gerenciar a segurança dos dados na rede. É nesta camada que os dados são criptografados, para serem enviados através dos cabos ou linha telefônica. O modelo OSI propriamente dito não é uma arquitetura de rede, pois não especifica os serviços e os protocolos exatos que devem ser usados em cada camada. Ele apenas informa o que cada camada deve fazer. Por vários motivos, o modelo OSI não obteve êxito comercial devido ao surgimento e rápido crescimento do modelo Internet, detalhado a seguir. 2.5. Modelo Internet (TCP/IP) Vejamos agora o modelo iniciado na década de 1960 na "avó" de todas as redes geograficamente distribuídas, a ARPANET, e sua sucessora, a Internet. A ARPANET era uma rede de pesquisa patrocinada pelo Departamento de Defesa dos Estados Unidos (DoD). Pouco a pouco, centenas de universidades e instituições públicas começaram a se conectar na ARPANET usando linhas telefônicas. Quando foram criadas as redes de rádio e satélite, começaram a surgir problemas com os protocolos existentes, o que forçou a criação de uma nova arquitetura de referência. Desse modo, a habilidade para conectar várias redes de maneira uniforme foi um dos principais objetivos de projeto, desde o início. Mais tarde, essa arquitetura ficou conhecida como Modelo de Referência TCP/IP, graças a seus dois principais protocolos (TCP da camada de transporte e IP da camada de rede). 29 A preocupação do Departamento de Defesa dos EUA era que seus computadores poderiam ser destruídos de uma hora para outra. Dessa forma, definiu-se que a rede deveria ser capaz de sobreviver à perda de hardware que porventura fossem destruídos, com as conversações existentes sendo mantidas em atividade. Em outras palavras, o Departamento de Defesa dos EUA queria que as conexões permanecessem intactas enquanto as máquinas de origem e de destino estivessem funcionando, mesmo que algumas máquinas ou linhas de transmissão intermediárias deixassem de operar repentinamente. Além disso, era necessária uma arquitetura flexível, capaz de se adaptar a aplicações com requisitos divergentes como, por exemplo, a transferência de arquivos e a transmissão de dados de voz em tempo real. Com a evolução da rede ARPANET, surgiu a rede mundial de computadores e o modelo que é atualmente denominado na literatura por modelo Internet. O modelo possui quatro camadas, que podem ser vistas na Figura 2.8. 1 2 3 4 Aplicação Transporte Internet Acesso à Rede Figura 2.8: Camadas do modelo Internet Acesso à Rede O modelo Internet não especifica muito bem o que acontece na cada de acesso á rede. Deste modo, este nível deve utilizar uma tecnologia para que os dados sejam enviados fisicamente pela rede. A única restrição é que os protocolos da camada devem possuir suporte para trabalhar com o endereço IP dos dispositivos envolvidos na comunicação. Internet A camada Internet permite que os dispositivos injetem os dados (divididos em pacotes) na rede de interconexão e garante que eles trafegarão independentemente até o destino. Os pacotes podem tomar caminhos diferentes na rede e até mesmo chegar ao destino em uma ordem diferente daquela em que foram enviados, obrigando as camadas superiores a reorganizá-los, caso a entrega em ordem seja desejável. O principal protocolo da camada é o IP (do inglês, Internet Protocol) que tem como funções o endereçamento dos dispositivos e o roteamento dos pacotes pela rede de interconexão. 30 Transporte Localizada acima da camada Internet, sua função é permitir que os dispositivos de origem e destino mantenham uma conversação, exatamente como acontece na camada de transporte dos modelos OSI e de cinco camadas. Esta camada possui apenas dois protocolos: TCP e UDP (que serão explicados com mais detalhes na aula 7). O TCP (Transmission Control Protocol) é um mecanismo de transporte "confiável", pois garante que os dados cheguem íntegros (não danificados e em ordem) ao destino. O TCP utiliza um esquema (que será visto posteriormente) para checar se os dados conseguiram atingir o dispositivo de destino. O UDP (User Datagram Protocol) é um protocolo de transporte "não confiável", pois ele não verifica se os pacotes alcançaram seu destino, e não dá qualquer garantia que eles irão chegar na ordem. O UDP é tipicamente usado por aplicações como as de mídia de streaming (áudio, vídeo etc.), onde a velocidade é mais importante do que confiabilidade. Aplicação No modelo TCP/IP não possuímos as camadas de sessão e apresentação. Na camada de aplicação encontramos os protocolos de níveis mais altos que implementam os serviços disponíveis na Internet (Tabela 2.2). Tabela 2.2: Protocolos da camada de Aplicação Camadas Descrição Serviço Web HTTP Serviço de transfêrencia de arquivos FTP Correio eletrônico SMTP Serviço de terminal remoto Telnet Oferece o serviço de mapeamento de nomes em endereços de rede. DNS Utilizado no serviço de gerencia remota SNMP 2.6. Comparação entre as arquiteturas OSI e Internet Os modelos OSI e TCP/IP têm muito em comum. Os dois se baseiam no conceito de uma pilha de protocolos independentes e suas camadas possuem praticamente as mesmas funções. 31 O modelo OSI foi concebido antes de os protocolos correspondentes terem sido criados. Isso significa que o modelo não foi desenvolvido com base em um determinado conjunto de protocolos, o que deixou bastante flexível e genérico. Com o modelo TCP/IP ocorreu exatamente o contrário. Como os protocolos e a Internet propriamente dita foram criados primeiro, foi elaborados o modelo com suas camadas e protocolos já em funcionamento. Resumindo as comparações, apesar dos problemas, o modelo OSI mostrou-se excepcionalmente útil para as discussões das redes. Por outro lado, os protocolos OSI jamais conseguiram se tornar populares, exatamente ao contrário do que ocorre com o modelo Internet, que é utilizado em larga escala. 32