36
ARQUITETURA DE REDES Camada 3 1 Camada 3

Rct 16 - camada de rede

Embed Size (px)

Citation preview

Page 1: Rct   16 - camada de rede

ARQUITETURA DE REDES

Camada 3

1

Camada 3

Page 2: Rct   16 - camada de rede

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.

Page 3: Rct   16 - camada de rede

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 semconexões.

Serviço orientado a conexõesconexões (circuito(circuito virtual)virtual)

Sebaseianoserviçotelefônicoeaconteceem3 etapas:

3

Sebaseianoserviçotelefônicoeaconteceem3 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 oCircuito Virtual. É determinado umcaminho 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 podemfluiratravés dele.

Page 4: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

EncerramentoEncerramento dada conexãoconexão: O transmissor ou o receptor informa acamada de rede que deseja encerrar a transmissão. A camada de redeinforma então à outra ponta e atualiza as tabelas de roteamento,desfazendo o CV.As redes ATM, frame relay e X.25 utilizameste tipo de serviço

4

Serviço semconexõesconexões (Datagrama)(Datagrama)É análogo ao sistema postal. Cada pacote carrega o endereço dedestino completo e é encaminhado através da rede,independentemente de todos os outros. É possível que a ordemdechegada dos pacotes seja diferente da ordemde envio, devido aosdiversos caminhos que eles podempercorrer na rede. É o tipo deserviço utilizado na Internet.

Page 5: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

5

Page 6: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

6

Page 7: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Questão Datagramas Circuitos VirtuaisConfiguração de circuitos Não há ObrigatóriaEndereçamento Cada pacote contém o endereço completo de origem e destino Cada pacote contém um número de CV curtoRoteamento 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 rotaEfeito de falahas no roteador Somente a perda de pacotes Todos os CVs que passam pelo roteador com falha são encerradosQualidade de serviço Difícil Fácil, se os recursos forem alocados antecipadamenteControle de congestionamento Difícil Fácil, se os recursos forem alocados antecipadamente

Page 8: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Algoritmos de Roteamento

A principal função da camada de rede é rotear os pacotes de dados damáquina de origematé 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 derede responsável por escolher a linha de saída que será usada paraencaminhar cada pacote recebido.

No caso de uma rede de datagramas, esta decisão será tomada paracada pacote, individualmente.

No caso de uma rede de circuitos virtuais, esta decisão será tomadaapenas no estabelecimento de umnovo CV.

Page 9: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Os algoritmos de roteamento podemser divididos emdois tiposprincipais: Algoritmos não adaptativos ou estáticos, e algoritmosadaptativos, ou dinâmicos.

Os algoritmos estáticos não usamparâmetros variáveis da rede parasuadecisãode roteamento. Em vez disso,a escolhadasrotasé feita

9

suadecisãode roteamento. Em vez disso,a escolhadasrotasé feitaoff-line e depois transferida para o roteador, normalmente através daatualização manual de uma tabela de roteamento.

Os algoritmos dinâmicos, por sua vez, utilizaminformações detopologia e de tráfego da rede para tomar as decisões de roteamento.Estas decisões mudampara refletir mudanças na rede.

Page 10: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Vamos examinar alguns exemplos de algoritmos deroteamento normalmente utilizados:

Roteamento pelo caminho mais curto

10

A idéia principal vinculada ao roteamento numa rede dedados é a escolha do caminho mais curto entre dois pontosdesta rede. Entretanto o conceito de caminho mais curtopode ser analisado sob diversos aspectos. Umdas unidadesque podemser utilizadas é o número de hops (enlaces) quedeverão ser percorridos no trajeto. Por este critério, oscaminhos ABCe ABE da figura serão iguais.

Page 11: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Entretanto,pode-seutilizar a distânciaemmetrosou quilômetrosque

11

Entretanto,pode-seutilizar a distânciaemmetrosou quilômetrosquesepara os dois pontos. Neste caso, o caminho ABE é obviamentemais longo que ABC.

Outras medidas tambémpodem ser utilizadas para a escolha domelhor caminho. Pode-se utilizar, por exemplo, o critério docaminho mais rápido, combase emdados obtidos emtransmissõesde pacotes de teste, efetuadas a cada determinado

Page 12: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

espaço de tempo , ou o tamanho da fila de pacotes armazenados emumdeterminado roteador.Outro critério que pode ser usado é o custo de comunicação de cadaum dos enlaces, ou ainda uma combinação de diversos critérios,atribuindo a cada umdeles uma ponderação (peso).

12

Os algoritmos de roteamento mais utilizados atualmente sãonormalmente os do tipo dinâmico, pois estes levamemconta a cargamomentânea da rede, otimizando assimsua utilização.

Os dois algoritmos mais conhecidos são oalgoritmo de roteamentocom vetor de distância, e o algoritmo de roteamento por estadode enlace, descritos a seguir.

Page 13: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Roteamento comvetor de distância

Neste tipo de algoritmo cada roteador temuma tabela que fornece amelhor distância conhecida até cada umdos destinos da rede, e quallinha de saída deve ser utilizada. Esta tabela é atualizada através datrocadeinformaçõescomosroteadoresvizinhos.

13

trocadeinformaçõescomosroteadoresvizinhos.

Este algoritmo é conhecido tambémcomo algoritmo de Bellman-Ford, e é utilizado na Internet (nos protocolos BGP, IPX, etc) sob onome de RIP.

Cada roteador da rede calcula o melhor caminho até os demaisroteadores e repassa este vetor de valores aos roteadores vizinhos,que refazemseus próprios cálculos combase nas informaçõesrecebidas.

Page 14: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Algoritmo de roteamento com vetor de distância - exemplo detabela de roteamento e de cálculo de melhor caminho para uma redesimplificada de 3 pontos.

14

Inicial Recebe de B Nova tabela de A

De A De B De APara Para Para

A - A 1 A -B 1 B - B 1C 3 C 1 C 2

Page 15: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Algoritmo de roteamento por estado de enlace

Neste algoritmo os roteadores reconhecemseus vizinhos,medemo retardo ou custo até cada umdeles, e criamumpacote comestas informações que é distribuído para todosos roteadoresda rede, atravésde um broadcast. Desta

15

os roteadoresda rede, atravésde um broadcast. Destaforma, todos os roteadores possuemas informações totaisde todas as rotas existentes.Estes cálculos são refeitos a determinados intervalos detempo, ou sempre que ocorrer alguma mudançasignificativa na rede, como queda de algumenlace oumudança de topologia.

Page 16: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Roteamento Hierárquico

Com o aumento do tamanho das redes, e a interconexão de váriasredes diferentes, as tabelas dos roteadores temde crescerexponencialmente, assimcomo a necessidade de processamento dasCPUs. A partir de um certo tamanho,fica inviável ter tabelasde

16

CPUs. A partir de um certo tamanho,fica inviável ter tabelasderoteamento que comportemas informações de todos os outros pontosda rede.Neste caso, é necessário criar umsistema de roteamento hierárquico,como o existente nas redes telefônicas.Assimos roteadores são divididos emregiões, tambémchamadas desistemas autônomos ou AS (autonomous systems), sendo que cadaroteador conhece os detalhes dos demais roteadores da sua região,mas não das demais regiões.

Page 17: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Alguns roteadores são especializados emrotear o tráfego entre asregiões ou Ass , conforme exemplo abaixo.

17

Page 18: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Algoritmos de Controle de Congestionamento

Quando há umnúmero excessivo de pacotes emuma sub-rede, ouemalguma parte dela, seu desempenho diminui. A isto chamamos decongestionamento. Quando a capacidade de transporte da rede érespeitada,praticamentetodosos pacotessãoentreguesao destino,

18

respeitada,praticamentetodosos pacotessãoentreguesao destino,excetuando-se os que sofreramerros de transmissão. À medida que otráfego aumenta muito, os roteadores não conseguemsuportá-lo ecomeçama perder pacotes, até que o sistema entra emcolapso equase a totalidade de pacotes é perdida.

Esse congestionamento pode ser causado pelo consumo de todoespaço de memória dos buffers dos roteadores, ou pela exaustão dosrecursos de processamento das CPUs, bemcomo

Page 19: Rct   16 - camada de rede

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 emredes decircuitosvirtuais é o controle de admissão. Uma vez detectadoum

19

circuitosvirtuais é o controle de admissão. Uma vez detectadoumcongestionamento, impede-se a criação de qualquer novo CVaté quea situação tenha se normalizado. Outra estratégia é criar os novosCVs utilizando rotas que evitema região congestionada.Um método que evita grande parte dos problemas decongestionamento é reservar os recursos de espaço embuffers,largura de banda nos enlaces, etc para cada novo CV, de maneira quea disponibilidade total de recursos nunca seja

Page 20: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

ultrapassada.

Nas redes de datagramas existemalgumas estratégias para o controlede congestionamento. Elas basicamente consistemem monitorar aslinhas de saída de cada roteador e informar aos transmissores paramdiminuírem a velocidadede envio de pacotesque utilizem estas

20

diminuírem a velocidadede envio de pacotesque utilizem estaslinhas.

Quando nenhumdos métodos utilizados resolve a situação decongestionamento, os roteadores utilizamuma medida extrema: oescoamento de carga, que consiste emdescartar pacotes de dados,obedecendo a certos critérios, como por exemplo a prioridade decertos pacotes, ou a largura de banda contratada.

Page 21: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Controle de flutuação (jitter)

Para algumas aplicações, mais importante que o tempo de retardodos pacotes na rede é a variação deste tempo. Esta variação échamada deflutuação, ou jitter . Uma das formas de controlar estaflutuação é realizar a cada enlaceuma verificação do tempo de

21

flutuação é realizar a cada enlaceuma verificação do tempo detrânsito dos pacotes, retendo certo tempo os pacotes adiantados epriorizando o envio de pacotes atrasados.

Estes cálculos são feitos combase numa estimativa de tempoesperado para o trânsito de cada pacote.

Page 22: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Qualidade de serviço (QoS)

Com o crescimento do tráfego multimídia nas redes, verificou-se anecessidade de implementar medidas mais efetivas para garantir aqualidade do serviço de transferência de dados, de acordo comasnecessidadesde cadatipo de aplicação. Por exemplo,umaaplicação

22

necessidadesde cadatipo de aplicação. Por exemplo,umaaplicaçãode correio eletrônico precisa ter alta confiabilidade, porémé bastantetolerante a retardo na rede e a flutuação.

Já as aplicações de voz ou vídeo são mais tolerantes no quesitoconfiabilidade, porémnão admitemumgrande retardo ou flutuação.

Diferentes técnicas são empregadas como intuito de garantir aqualidade de serviço, dependendo do tipo de rede emquestão.

Page 23: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Uma das técnicas adotadas é a classificação dos pacotes, e seuencaminhamento na rede, segundo classes de serviços diferenciados.Existem várias denominações para este tipo de roteamento, sendouma das mais utilizadas, a conhecida comoMPLS (MultiProtocolLabel Switching).Os pacotesoriundos de aplicaçõescom maioresnecessidadesem

23

Os pacotesoriundos de aplicaçõescom maioresnecessidadesemrelação à qualidade de serviço são “etiquetados” como prioritários,recebendo umtratamento diferenciado na rede, enquanto os pacotesprovenientes de aplicações menos sensíveis são candidatos naturais amaiores atrasos ou descartes emcaso de congestionamento severo.

Page 24: Rct   16 - camada de rede

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:

Page 25: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

25

Page 26: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

O protocolo que mantéma Internet unida é o IP, que pertence àcamada de rede. Ele foi projetado justamente para trabalhar numambiente composto por diversas redes diferentes.

O Protocolo IP é baseado emdatagramas.

26

Estes datagramas são montados e transmitidos pela Internet, podendoser fragmentado emunidades pequenas. Quando são recebidos, acamada de rede remonta o datagrama original e o repassa à camadade 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.

Page 27: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Isto é feito para que o datagrama caiba numquadro da camada deenlace, evitando sua fragmentação.

No caso das redes Ethernet, o quadro está limitado a 1500 bytes. Estelimite é chamado de MTU(maximumtransfer unit).

27

O datagrama IP, que será estudado emdetalhes juntamente comomodelo TCP/IP, é representado na figura seguinte.

Page 28: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

28

Page 29: Rct   16 - camada de rede

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 doprotocolo foi desenvolvida pelo Internet Engineering Task Force -IETF a fim de corrigir alguns problemas encontrados na versãoanterior.Um dos principais é a questão da limitação de endereços IPdisponíveis.

29

disponíveis.

O IPv4 utiliza umformato de endereço com4 bytes ou octetos, o queperfaz umtotal de 32 bits.

O IPv6 utiliza umendereçamento de 16 bytes (128 bits), o que tornaa quantidade de endereços disponíveis quase que inesgotável.

Page 30: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Com o endereçamento de 32 bits são disponíveis mais de 4 bilhõesde endereços diferentes. Entretanto, como os endereços sãoorganizados por classes, como veremos mais adiante, milhões delessão desperdiçados.

Esta situação torna-se mais preocupante com o crescimento

30

Esta situação torna-se mais preocupante com o crescimentoexponencial 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 noBrasil

Page 31: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

31

Page 32: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Atualmente é previsto pelos órgãos competentes o esgotamento totaldos endereços IP disponíveis para algummomento entre os anos de2012 e 2014.

O sistema de endereçamento de 128bits do IPv6 resulta emumaquantidadetotalde3,4x1038 endereçosdiferentesdisponíveis.

32

quantidadetotalde3,4x1038 endereçosdiferentesdisponíveis.

Este número corresponde a aproximadamente 7x1023 endereços IPpor m2 da superfície terrestre, ou a mais de 5x1028 endereços porhabitante terrestre.

Page 33: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

Além do IP, que umprotocolo de transferência de dados, a Internettem 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 pelosroteadores. Quando ocorre algumproblema, ele é reportado peloroteador que o verificou através do protocolo ICMP. As mensagensICMP são padronizadas e ocupamum lugar na porção de dados dopacote IP. As principais mensagens ICMP são descritas a seguir:

Page 34: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

(Cabeçalho inválido)

(pacote regulador de fluxo)

34

Page 35: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

ARP (Address Resolution Protocol)

Quando umhost precisa enviar uma mensagema outra máquinaconectada na mesma rede local, é preciso converter o endereço IP dodestino emumendereço físico da rede local (por exemplo o endereçoEthernetde48 bits). O protocoloARP permiteencontraro endereço

35

Ethernetde48 bits). O protocoloARP permiteencontraro endereçofísico de umhost a partir de umendereço IP.

Isto é feito enviando umpacote de difusão (broadcast) para todas asmáquinas da rede local perguntando a qual delas pertence umdeterminado endereço IP. Cada maquina verifica se o endereçoquestionado é o seu e, emcaso positivo, envia de volta a confirmaçãocom seu endereço físico. A figura a seguir representa esteprocedimento:

Page 36: Rct   16 - camada de rede

Arquitetura de Redes – Camada de Rede

36