Baixe o app para aproveitar ainda mais
Prévia do material em texto
ARQUITETURA DE REDES Camada 3 1 Camada 3 Arquitetura de Redes – Camada de Rede A camada de rede está relacionada com a transferência de pacotes da origem para o destino, o que pode exigir vários saltos entre roteadores intermediários. Desta forma a camada de rede deve conhecer a topologia da sub– rede de comunicação e escolher os caminhos mais apropriados 2 rede de comunicação e escolher os caminhos mais apropriados através dela. A camada de rede deve também escolher as rotas escolher as rotas menos sobrecarregadas. Arquitetura de Redes – Camada de Rede O serviço oferecido pela camada de rede pode ter duas naturezas: Serviço orientado a conexões e Serviço sem conexões. Serviço orientado a conexõesconexões (circuito(circuito virtual)virtual) Se baseia no serviço telefônico e acontece em 3 etapas: 3 Se baseia no serviço telefônico e acontece em 3 etapas: •• EstabelecimentoEstabelecimento dada conexãoconexão: o remetente contata a camada de rede, especifica o endereço do receptor e espera até a rede estabelecer o Circuito Virtual. É determinado um caminho desde o transmissor até o receptor, que será mantido até o final da transmissão. •• TransferênciaTransferência dede dadosdados: Estabelecido o CV, os dados podem fluir através dele. Arquitetura de Redes – Camada de Rede EncerramentoEncerramento dada conexãoconexão: O transmissor ou o receptor informa a camada de rede que deseja encerrar a transmissão. A camada de rede informa então à outra ponta e atualiza as tabelas de roteamento, desfazendo o CV. As redes ATM, frame relay e X.25 utilizam este tipo de serviço 4 Serviço sem conexõesconexões (Datagrama)(Datagrama) É análogo ao sistema postal. Cada pacote carrega o endereço de destino completo e é encaminhado através da rede, independentemente de todos os outros. É possível que a ordem de chegada dos pacotes seja diferente da ordem de envio, devido aos diversos caminhos que eles podem percorrer na rede. É o tipo de serviço utilizado na Internet. Arquitetura de Redes – Camada de Rede 5 Arquitetura de Redes – Camada de Rede 6 Arquitetura de Redes – Camada de Rede Questão Datagramas Circuitos Virtuais Configuração de circuitos Não há Obrigatória Endereçamento Cada pacote contém o endereço completo de origem e destino Cada pacote contém um número de CV curto Roteamento Cada pacote é roteado separadamente Rota escolhida no estabelecimento do CV. Todos os pacotes seguem esta rota 7 Roteamento Cada pacote é roteado separadamente Rota escolhida no estabelecimento do CV. Todos os pacotes seguem esta rota Efeito de falahas no roteador Somente a perda de pacotes Todos os CVs que passam pelo roteador com falha são encerrados Qualidade de serviço Difícil Fácil, se os recursos forem alocados antecipadamente Controle de congestionamento Difícil Fácil, se os recursos forem alocados antecipadamente Arquitetura de Redes – Camada de Rede Algoritmos de Roteamento A principal função da camada de rede é rotear os pacotes de dados da máquina de origem até a máquina de destino. Na maioria das sub-redes, os pacotes passarão por vários hops (saltos entre roteadores) para percorrer este trajeto. 8 Os algoritmos de roteamento são parte do software de camada de rede responsável por escolher a linha de saída que será usada para encaminhar cada pacote recebido. No caso de uma rede de datagramas, esta decisão será tomada para cada pacote, individualmente. No caso de uma rede de circuitos virtuais, esta decisão será tomada apenas no estabelecimento de um novo CV. Arquitetura de Redes – Camada de Rede Os algoritmos de roteamento podem ser divididos em dois tipos principais: Algoritmos não adaptativos ou estáticos, e algoritmos adaptativos, ou dinâmicos. Os algoritmos estáticos não usam parâmetros variáveis da rede para sua decisão de roteamento. Em vez disso, a escolha das rotas é feita 9 sua decisão de roteamento. Em vez disso, a escolha das rotas é feita off-line e depois transferida para o roteador, normalmente através da atualização manual de uma tabela de roteamento. Os algoritmos dinâmicos, por sua vez, utilizam informações de topologia e de tráfego da rede para tomar as decisões de roteamento. Estas decisões mudam para refletir mudanças na rede. Arquitetura de Redes – Camada de Rede Vamos examinar alguns exemplos de algoritmos de roteamento normalmente utilizados: Roteamento pelo caminho mais curto 10 A idéia principal vinculada ao roteamento numa rede de dados é a escolha do caminho mais curto entre dois pontos desta rede. Entretanto o conceito de caminho mais curto pode ser analisado sob diversos aspectos. Um das unidades que podem ser utilizadas é o número de hops (enlaces) que deverão ser percorridos no trajeto. Por este critério, os caminhos ABC e ABE da figura serão iguais. Arquitetura de Redes – Camada de Rede Entretanto, pode-se utilizar a distância em metros ou quilômetros que 11 Entretanto, pode-se utilizar a distância em metros ou quilômetros que separa os dois pontos. Neste caso, o caminho ABE é obviamente mais longo que ABC. Outras medidas também podem ser utilizadas para a escolha do melhor caminho. Pode-se utilizar, por exemplo, o critério do caminho mais rápido, com base em dados obtidos em transmissões de pacotes de teste, efetuadas a cada determinado Arquitetura de Redes – Camada de Rede espaço de tempo , ou o tamanho da fila de pacotes armazenados em um determinado roteador. Outro critério que pode ser usado é o custo de comunicação de cada um dos enlaces, ou ainda uma combinação de diversos critérios, atribuindo a cada um deles uma ponderação (peso). 12 Os algoritmos de roteamento mais utilizados atualmente são normalmente os do tipo dinâmico, pois estes levam em conta a carga momentânea da rede, otimizando assim sua utilização. Os dois algoritmos mais conhecidos são o algoritmo de roteamento com vetor de distância, e o algoritmo de roteamento por estado de enlace, descritos a seguir. Arquitetura de Redes – Camada de Rede Roteamento com vetor de distância Neste tipo de algoritmo cada roteador tem uma tabela que fornece a melhor distância conhecida até cada um dos destinos da rede, e qual linha de saída deve ser utilizada. Esta tabela é atualizada através da troca de informações com os roteadores vizinhos. 13 troca de informações com os roteadores vizinhos. Este algoritmo é conhecido também como algoritmo de Bellman- Ford, e é utilizado na Internet (nos protocolos BGP, IPX, etc) sob o nome de RIP. Cada roteador da rede calcula o melhor caminho até os demais roteadores e repassa este vetor de valores aos roteadores vizinhos, que refazem seus próprios cálculos com base nas informações recebidas. Arquitetura de Redes – Camada de Rede Algoritmo de roteamento com vetor de distância - exemplo de tabela de roteamento e de cálculo de melhor caminho para uma rede simplificada de 3 pontos. 14 Inicial Recebe de B Nova tabela de A De A De B De A Para Para Para A - A 1 A - B 1 B - B 1 C 3 C 1 C 2 Arquitetura de Redes – Camada de Rede Algoritmo de roteamento por estado de enlace Neste algoritmo os roteadores reconhecem seus vizinhos, medem o retardo ou custo até cada um deles, e criam um pacote com estas informações que é distribuído para todos os roteadores da rede, através de um broadcast. Desta 15 os roteadores da rede, através de um broadcast. Desta forma, todos os roteadores possuem as informações totais de todas as rotas existentes. Estes cálculos são refeitos a determinados intervalos de tempo, ou sempre que ocorrer alguma mudança significativa na rede, como queda de algum enlace ou mudança de topologia. Arquitetura de Redes – Camada de Rede Roteamento Hierárquico Com o aumento do tamanho das redes, e a interconexão de várias redes diferentes, as tabelas dos roteadores tem de crescer exponencialmente, assim como a necessidade de processamento das CPUs. A partir de um certo tamanho, fica inviável ter tabelas de 16 CPUs. A partir de um certo tamanho, fica inviável ter tabelas de roteamento que comportemas informações de todos os outros pontos da rede. Neste caso, é necessário criar um sistema de roteamento hierárquico, como o existente nas redes telefônicas. Assim os roteadores são divididos em regiões, também chamadas de sistemas autônomos ou AS (autonomous systems), sendo que cada roteador conhece os detalhes dos demais roteadores da sua região, mas não das demais regiões. Arquitetura de Redes – Camada de Rede Alguns roteadores são especializados em rotear o tráfego entre as regiões ou Ass , conforme exemplo abaixo. 17 Arquitetura de Redes – Camada de Rede Algoritmos de Controle de Congestionamento Quando há um número excessivo de pacotes em uma sub-rede, ou em alguma parte dela, seu desempenho diminui. A isto chamamos de congestionamento. Quando a capacidade de transporte da rede é respeitada, praticamente todos os pacotes são entregues ao destino, 18 respeitada, praticamente todos os pacotes são entregues ao destino, excetuando-se os que sofreram erros de transmissão. À medida que o tráfego aumenta muito, os roteadores não conseguem suportá-lo e começam a perder pacotes, até que o sistema entra em colapso e quase a totalidade de pacotes é perdida. Esse congestionamento pode ser causado pelo consumo de todo espaço de memória dos buffers dos roteadores, ou pela exaustão dos recursos de processamento das CPUs, bem como Arquitetura de Redes – Camada de Rede Algoritmos de Controle de Congestionamento pelo consumo total da largura de banda das linhas. Um método utilizado para reduzir o congestionamento em redes de circuitos virtuais é o controle de admissão. Uma vez detectado um 19 circuitos virtuais é o controle de admissão. Uma vez detectado um congestionamento, impede-se a criação de qualquer novo CV até que a situação tenha se normalizado. Outra estratégia é criar os novos CVs utilizando rotas que evitem a região congestionada. Um método que evita grande parte dos problemas de congestionamento é reservar os recursos de espaço em buffers, largura de banda nos enlaces, etc para cada novo CV, de maneira que a disponibilidade total de recursos nunca seja Arquitetura de Redes – Camada de Rede ultrapassada. Nas redes de datagramas existem algumas estratégias para o controle de congestionamento. Elas basicamente consistem em monitorar as linhas de saída de cada roteador e informar aos transmissores param diminuírem a velocidade de envio de pacotes que utilizem estas 20 diminuírem a velocidade de envio de pacotes que utilizem estas linhas. Quando nenhum dos métodos utilizados resolve a situação de congestionamento, os roteadores utilizam uma medida extrema: o escoamento de carga, que consiste em descartar pacotes de dados, obedecendo a certos critérios, como por exemplo a prioridade de certos pacotes, ou a largura de banda contratada. Arquitetura de Redes – Camada de Rede Controle de flutuação (jitter) Para algumas aplicações, mais importante que o tempo de retardo dos pacotes na rede é a variação deste tempo. Esta variação é chamada de flutuação, ou jitter. Uma das formas de controlar esta flutuação é realizar a cada enlace uma verificação do tempo de 21 flutuação é realizar a cada enlace uma verificação do tempo de trânsito dos pacotes, retendo certo tempo os pacotes adiantados e priorizando o envio de pacotes atrasados. Estes cálculos são feitos com base numa estimativa de tempo esperado para o trânsito de cada pacote. Arquitetura de Redes – Camada de Rede Qualidade de serviço (QoS) Com o crescimento do tráfego multimídia nas redes, verificou-se a necessidade de implementar medidas mais efetivas para garantir a qualidade do serviço de transferência de dados, de acordo com as necessidades de cada tipo de aplicação. Por exemplo, uma aplicação 22 necessidades de cada tipo de aplicação. Por exemplo, uma aplicação de correio eletrônico precisa ter alta confiabilidade, porém é bastante tolerante a retardo na rede e a flutuação. Já as aplicações de voz ou vídeo são mais tolerantes no quesito confiabilidade, porém não admitem um grande retardo ou flutuação. Diferentes técnicas são empregadas com o intuito de garantir a qualidade de serviço, dependendo do tipo de rede em questão. Arquitetura de Redes – Camada de Rede Uma das técnicas adotadas é a classificação dos pacotes, e seu encaminhamento na rede, segundo classes de serviços diferenciados. Existem várias denominações para este tipo de roteamento, sendo uma das mais utilizadas, a conhecida como MPLS (MultiProtocol Label Switching). Os pacotes oriundos de aplicações com maiores necessidades em 23 Os pacotes oriundos de aplicações com maiores necessidades em relação à qualidade de serviço são “etiquetados” como prioritários, recebendo um tratamento diferenciado na rede, enquanto os pacotes provenientes de aplicações menos sensíveis são candidatos naturais a maiores atrasos ou descartes em caso de congestionamento severo. Arquitetura de Redes – Camada de Rede A Camada de Rede na Internet A Internet é vista pela camada de rede como um conjunto de redes ou de Autonomous Systems, conectados entre si. Existem diversos backbones principais, formados por 24 Existem diversos backbones principais, formados por linhas de grande largura de banda e roteadores muito rápidos. Conectados a estes backbones estão as redes de nível médio e, conectadas a estas, as redes dos provedores de serviço e das empresas e universidades, como exemplificado na figura a seguir: Arquitetura de Redes – Camada de Rede 25 Arquitetura de Redes – Camada de Rede O protocolo que mantém a Internet unida é o IP, que pertence à camada de rede. Ele foi projetado justamente para trabalhar num ambiente composto por diversas redes diferentes. O Protocolo IP é baseado em datagramas. 26 Estes datagramas são montados e transmitidos pela Internet, podendo ser fragmentado em unidades pequenas. Quando são recebidos, a camada de rede remonta o datagrama original e o repassa à camada de transporte. Cada datagrama pode, teoricamente, ter até 64kbytes. Na pratica, porém, geralmente cada datagrama possui no máximo 1500 bytes, sendo muitas vezes limitado a 576 bytes. Arquitetura de Redes – Camada de Rede Isto é feito para que o datagrama caiba num quadro da camada de enlace, evitando sua fragmentação. No caso das redes Ethernet, o quadro está limitado a 1500 bytes. Este limite é chamado de MTU (maximum transfer unit). 27 O datagrama IP, que será estudado em detalhes juntamente com o modelo TCP/IP, é representado na figura seguinte. Arquitetura de Redes – Camada de Rede 28 Arquitetura de Redes – Camada de Rede O campo Version indica a versão do protocolo IP. Atualmente está ocorrendo a transição entre o IPv4 e o IPv6. Esta nova versão do protocolo foi desenvolvida pelo Internet Engineering Task Force - IETF a fim de corrigir alguns problemas encontrados na versão anterior. Um dos principais é a questão da limitação de endereços IP disponíveis. 29 disponíveis. O IPv4 utiliza um formato de endereço com 4 bytes ou octetos, o que perfaz um total de 32 bits. O IPv6 utiliza um endereçamento de 16 bytes (128 bits), o que torna a quantidade de endereços disponíveis quase que inesgotável. Arquitetura de Redes – Camada de Rede Com o endereçamento de 32 bits são disponíveis mais de 4 bilhões de endereços diferentes. Entretanto, como os endereços são organizados por classes, como veremos mais adiante, milhões deles são desperdiçados. Esta situação torna-se mais preocupante com o crescimento 30 Esta situação torna-se mais preocupante com o crescimento exponencial do uso da Internet. Uma parte deste crescimento pode ser observada no gráfico a seguir, que mostra o aumento do números de hosts conectados à Internet no Brasil Arquitetura de Redes – Camada de Rede 31 Arquitetura de Redes – Camada de Rede Atualmente é previsto pelos órgãos competentes o esgotamento total dos endereços IP disponíveis para algum momento entre os anos de 2012 e 2014. O sistema de endereçamento de 128bits do IPv6 resulta em umaquantidade total de 3,4x1038 endereços diferentes disponíveis. 32 quantidade total de 3,4x1038 endereços diferentes disponíveis. Este número corresponde a aproximadamente 7x1023 endereços IP por m2 da superfície terrestre, ou a mais de 5x1028 endereços por habitante terrestre. Arquitetura de Redes – Camada de Rede Além do IP, que um protocolo de transferência de dados, a Internet tem outros protocolos de camada de rede, utilizados para controle. Alguns destes protocolos são: ICMP, ARP, DHCP. ICMP (Internet Control Message Protocol) 33 A operação de rede da Internet é constantemente monitorada pelos roteadores. Quando ocorre algum problema, ele é reportado pelo roteador que o verificou através do protocolo ICMP. As mensagens ICMP são padronizadas e ocupam um lugar na porção de dados do pacote IP. As principais mensagens ICMP são descritas a seguir: Arquitetura de Redes – Camada de Rede (Cabeçalho inválido) (pacote regulador de fluxo) 34 Arquitetura de Redes – Camada de Rede ARP (Address Resolution Protocol) Quando um host precisa enviar uma mensagem a outra máquina conectada na mesma rede local, é preciso converter o endereço IP do destino em um endereço físico da rede local (por exemplo o endereço Ethernet de 48 bits). O protocolo ARP permite encontrar o endereço 35 Ethernet de 48 bits). O protocolo ARP permite encontrar o endereço físico de um host a partir de um endereço IP. Isto é feito enviando um pacote de difusão (broadcast) para todas as máquinas da rede local perguntando a qual delas pertence um determinado endereço IP. Cada maquina verifica se o endereço questionado é o seu e, em caso positivo, envia de volta a confirmação com seu endereço físico. A figura a seguir representa este procedimento: Arquitetura de Redes – Camada de Rede 36
Compartilhar