41
Sistemas Autônomos e Roteamento na Internet Edgard Jamhour O objetivo deste módulo é apresentar a arquitetura atual da Internet, baseada em endereços IPv4. Para isso será abordado o conceito de sistemas autônomos (Autonomous System – AS) que é a forma de organização lógica da Internet. Em seguida, serão vistos os protocolos de roteamento usados na Internet e nas redes privadas. Os protocolos de roteamento são utilizados para configurar automaticamente as rotas dos roteadores que formam os backbones da Internet e também as redes privadas. 1

Sistemas Autônomos e Roteamento na Internet

  • Upload
    trandat

  • View
    216

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Sistemas Autônomos e Roteamento na Internet

Sistemas Autônomose

Roteamento na InternetEdgard Jamhour

O objetivo deste módulo é apresentar a arquitetura atual da Internet, baseada em endereços IPv4.

Para isso será abordado o conceito de sistemas autônomos (Autonomous System – AS) que é a forma de organização lógica da Internet.

Em seguida, serão vistos os protocolos de roteamento usados na Internet e nas redes privadas. Os protocolos de roteamento são utilizados para configurar automaticamente as rotas dos roteadores que formam os backbones da Internet e também as redes privadas.

1

Page 2: Sistemas Autônomos e Roteamento na Internet

Estrutura Física de Redes IP

CPE

CPE

CPE

DSLAM

B-RAS

CPE

CPE

CPE

DSLAM

linha de baixa capacidade

linha de alta capacidade

Broadband Remote Access Server (responsável por

autenticar e policiar o tráfego do usuário)

PPPoE

• Exemplo ADSL

usuário acesso núcleo

Rede Backbone

Do ponto de vista físico, a infraestrutura de redes IP pode ser dividida em 3 níveis: usuário, acesso e núcleo (também chamado de core ou backbone).

A infraestrutura nível núcleo (backbone) corresponde geralmente a equipamentos e enlaces de alta capacidade pertencentes a operadoras de telecomunicação. Exemplos de tecnologias de comunicação nesse nível são o ATM, SDH, Gigabit-Ethernet. Nesse nível, os dados transportados pelos enlaces são agregados, isto é, eles correspondem a dados de uma grande quantidade de usuários.

Os equipamentos utilizados no backbone são geralmente muito caros para serem utilizados ao nível de usuário. Dessa forma, é necessário criar um nível intermediário, com equipamentos mais baratos e velocidades inferiores, a fim de permitir que usuários se conectem ao backbone. Esse nível intermediário é denominado nível de acesso. Um exemplo de tecnologia de nível acesso é o ADSL, conforme mostrado na figura. O ADSL permite que a conexão de rede utilizada pelos usuários seja uma simples linha telefônica. A linha telefônica tem uma capacidade muito inferior àquele utilizada no backbone, de forma que múltiplas linhas telefônicas precisam ser multiplexadas para atingir uma velocidade compatível com o backbone.

O equipamento de rede responsável por multiplexar as linhas é denominado: DSLAM: Digital Subscriber Line Access Multiplexer. Geralmente o próprio DSLAM é um equipamento intermediário, sendo necessário ainda um outro nível de multiplexagem realizado por um equipamento denominado B-RAS (Broadband Remote Access Server).

2

Page 3: Sistemas Autônomos e Roteamento na Internet

Exemplo

CPE

CPE

CPE

operadora 2operadora 1

CPE

CPE

CPE

Rede Backbone

Rede Backbone

CPE

CPE

CPE

CPE

CPE

CPE

Além da multiplexagem, o B-RAS é responsável por autenticar e policiar o tráfego do usuário. O protocolo de autenticação geralmente é o PPPoE (Point-to-Point over Ethernet) ou PPPoA(Point-to-Point over ATM), de acordo com a tecnologia utilizada no nível backbone.

A infraestrutura de rede de nível usuário corresponde a tecnologia de comunicação que conecta um usuário ou a uma rede privada até a rede de acessp. Os equipamentos desse nível são comumente chamados de CPE: Customer Premises Equipment ou RG: ResidentialGateway. No caso do ADSL, o CPE é um modem que conecta a rede do usuário a uma linha multiplexada pelo DSLAM.

Conforme mostra a figura, uma rede backbone pode interligar multiplas redes de acesso. Os backbones, por sua vez são conectados entre si, formado uma grande rede formada por inúmeras operadoras.

A rede Internet é uma rede que segue esse princípio. As redes backbones que formam a Internet podem ser de várias origens: redes de empresas de telecomunicação (com fins comerciais), redes do governo e redes de pesquisa. Independente de sua origem, todas essas redes precisam seguir um padrão comum de funcionamento, a fim de que sejam interoperáveis. Esse padrão de funcionamento é baseado no conceito de sistemas autônomos e protocolos de roteamento padronizados.

3

Page 4: Sistemas Autônomos e Roteamento na Internet

Sistema Autônomo(Autonomous System - AS)

A B

C

D

EF G

IJ

H

SISTEMA AUTÔNOMO 1SISTEMA AUTÔNOMO 2X

Y Z

SISTEMA AUTÔNOMO 3

Para entender como a Internet funciona, duas perguntas precisam ser respondidas: Como as informações são roteadas na Internet? Como as tabelas de roteamento são atualizadas? A resposta a essas perguntas está relacionada a forma “lógica” e não “física” de como a Internet está estruturada.

Conforme mostra a figura, do ponto de vista lógico a Internet é formada pela conexão de sistemas autônomos. Um sistema autônomo compreende a rede e todo o conjunto de computadores que ela conecta. Se tomarmos como analogia a discussão feita sobre a estruturação física das redes IP, um sistema autônomo compreenderia todos todos os níveis da rede: usuário, acesso ou backbone.

Do ponto de vista lógico da Internet, a divisão entre usuário, acesso ou backbone desaparece. Qualquer computador conectado a Internet, precisa pertencer a um sistema autônomo. Por exemplo, um usuário acessando a Internet em sua residência, através de uma linha ADSL, é visto como sendo parte do sistema autônomo do backbone ao qual está conectado.

Para que uma rede seja considerada um sistema autônomo (Autonomous System –AS), ela precisa ser organizada de forma a seguir alguns princípios fundamentais:1. Ela deve ser capaz de divulgar suas rotas (os blocos de endereço dos computadores que pertencem ao AS) para outras redes (AS) da Internet.2. Ela deve possuir os seus próprios endereços IP públicos (registrados).

Observe que mesmo uma rede de grande porte, como a rede de um banco, pode não ser um sistema autônomo. Por exemplo, se o banco se conecta a um backbone de uma operadora e utiliza os endereços IP da operadora, ele não é um sistema autônomo, mas sim parte do sistema autônomo que representa a operadora.

4

Page 5: Sistemas Autônomos e Roteamento na Internet

O que é um AS ?

B

I

Conexão com outro AS

200.17.1.0/24

200.17.2.0/24

200.17.3.0/24O AS pode divulgar rotas agrupadas: 200.17.0.0/16

200.17.130.0/24

II

I

Um AS é uma rede (coleção de roteadores e computadores) que segue uma arquitetura WAN. Para que a rede de uma instituição possa ser transformada em AS, ela primeiro, precisa obter um conjunto mínimo de endereços IP públicos (registrados) junto as autoridades da Internet.

Quando uma instituição se torna um AS, ela passa a ter seus próprios endereços IP, isto é, os endereços utilizados na rede não são obtidos de provedores, mas pertencem a própria instituição. A topologia de uma rede AS possui dois tipos de roteadores: internos e de borda.

Os roteadores internos são utilizados para interconectar as redes do AS. As redes internas ao AS podem ser a diversas filiais de uma empresa ou os clientes de uma operadora de telecomunicações. O roteador de borda é utilizado para conectar o AS a outros AS que compõem a Internet. Observe que os roteadores internos precisam conhecer como os vários prefixos estão distribuídos entre as várias redes que pertencem ao AS. Já o roteador de borda (indicado como B, na figura), pode simplesmente divulgar rotas agregadas para os outros AS da internet. Por exemplo, ao invés de divulgar os vários prefixos 200.17.1.0/24, 200.17.1.0/24, 200.17.1.130/24, etc., ele pode divulgar simplesmente a rota 200.17.0.0/16.

Page 6: Sistemas Autônomos e Roteamento na Internet

Autoridades de Registro de Endereço

IANA

ARIN RIPE NCC AfriNIC LACNIC APNIC

América do Norte

Europa, Oriente e

AsiaCentral

Africa América Latina e Caribe

Ásia e Pacífico

Para se tornar um AS, a instituição precisa solicitar um conjunto de IPs registrados junto as autoridades da Internet. O controle global da atribuição de endereços IP éfeito pelo IANA (Internet Assigned Numbers Authority). A IANA é responsável por designar quantos blocos de endereço estão disponíveis para cada região do planeta, evitando duplicação ou má distribuição dos endereços. A IANA utiliza 5 autoridades de abrangência regional para agilizar o processo de atribuição dos endereços em todo o mundo.

Essas autoridades são:

AfriNIC: responsável pela região da África

APNIC: responsável pela região Ásia e Pacífico

ARIN: responsável pela região da América do Norte

LACNIC: responsável pela região da América Latina e algumas ilhas do Caribe

RIPE NCC: responsável pela Europa, Oriente Médio e Ásia Central

Todas vez que uma empresa solicita se tornar um AS, ela precisa receber um "número de AS", que é único em toda a Internet. A IANA também é responsável por atribuir os números de AS.

Page 7: Sistemas Autônomos e Roteamento na Internet

Exemplos de AS

AS PUCPR

Número do AS: 13522Prefixos: 3

Endereços IP:8192Nome: Pontificia

Descrição :Universidade Catolica do Parana

País: BR

Autoridade de Registro: LACNIC

Prefixo BGP do endereço www.pucpr.br:

200.192.112.0/21

AS GOOGLE

Número do AS: 15169Prefixos: 109

Endereços: 122624Nome: GOOGLE

Descrição: Google Inc.

País: US

Autoridade de Registro: ARIN

Prefixo BGP do endereçogoogle.com

Prefix:209.85.128.0/17

As figuras ilustram informações parciais de dois sistemas autônomos: PUCPR e GOOGLE. A PUCPR é registrada junto ao LACNIC e o GOOGLE é registrado junto a ARIN. Cada AS possui um número, que é utilizado para identificar o AS ao nível dos protocolos de roteamento da Internet. Nesses exemplos, o AS PUCPR possui o número 13522 e o AS GOOGLE possui o número 15169.

A quantidade de prefixos (blocos de endereços IP contínuos) e endereços IP varia de acordo com o tamanho da instituição. A PUCPR possui três prefixos e 8192 endereços. O GOOGLE possui 109 prefixos e 122624 endereços. As entidades de registro (LACNIC, ARIN, etc) possuem bases de dados que permitem obter de forma online informações sobre um AS. Épossível também consultar bases de dados para determinar todos os prefixos (blocos de endereços IP) que pertencem a um dado AS.

O plugin gratuito para o firefox, que pode ser obtidon o endereço http://www.asnumber.networx.ch/, permite identificar o AS de qualquer site da Internet. Os dados mostrados na figura foram obtidos através desse plugin. Para usar o plugin, basta entrar em qualquer site da Internet, que o plugin mostra os dados do AS na barra de status, na parte inferior da janela do firefox. Através do plugin, observamos que o site "pucpr.br" pertence ao prefixo 200.192.112.0/21, e o site google.com pertence ao prefixo 209.85.128.0/17.

7

Page 8: Sistemas Autônomos e Roteamento na Internet

Backbone ou AS?

• Nem todo AS corresponde a um backbone de uma empresa de telecomunicações.

• A RNP (Rede Nacional de Pesquisa) é um backbonemantido pelo MCP, que oferece serviços de conectividade gratúitospara o governo e instituições de ensino e pesquisa.

Uma instituição pode se tornar um sistema autônomo por diversas razões diferentes. Operadoras de telecomunicações precisam se tornar sistemas autônomos a fim de poder prestar a venda de serviços de conectividade para Internet. Nesse caso, a operadora geralmente possui um backbone de grande porte, como o caso da RNP (que é uma operadora gratuita para universidades e instituiçõe do governo).

Quando um cliente se conecta a Internet através de um sistema autônomo de uma operadora de telecomunicações, ele é "visto" pelo restante da Internet como sendo parte da rede da operadora. Isso significa que o cliente não precisa se preocupar em instalar protocolos de roteamento em seus roteadores. Essa responsabilidade é do administrador do sistema autônomo (AS). Como consequência, a rede do cliente pode ser bem mais simples e barata.

Contudo, muitas instituições que não são operadoras de telecomunicações também podem se tornar AS. Esse é o caso de grandes instituições como bancos, instituições do governo, universidades e multi-nacionais. A vantagem de ser um AS nesse caso é ter total independência em relação ao provedor de acesso. Por exemplo, se um grande banco não for um AS, mas um simples cliente de outro AS, ele precisará trocar todos os endereços IP registrados de sua rede caso decida trocar de provedor. Além disso, é muito difícil conectar a rede da empresa a dois ou mais provedores simultaneamente (para garantir redundância), pois a rede precisaria conter endereços IP de várias operadoras misturados na rede da instituição.

Dessa forma, os sistemas autônomos podem ser classificados em vários tipos, de acordo com a finalidade de uso destinada pela instituição que o controla.

Page 9: Sistemas Autônomos e Roteamento na Internet

Tipos de AS

[peer] [transit]

AS2transit

AS1non-transit

AS5stub

AS4transit

AS3transit[transit] [transit]

[transit] [transit]

sentido de divulgação das

rotas

Os sistemas autônomos podem ser classificados por dois critérios: o primeiro em relação a sua permissão de passagem de tráfego de outros AS, e o segundo em relação a forma de relacionamento comercial com outros AS.

Quanto a pemissão de passagem de tráfego de outros AS, a classificação é a seguinte:

Stub AS: são ligados à Internet através de um único ponto de saída. Também são chamados de “single-homed”. Esse tipo de AS corresponde geralmente a instituições privadas que não desejam prestar serviços de telecomunicações para terceiros, apenas se beneficiar da autonomia de ser um AS. Na figura, o AS 5 é um exemplo de stub AS.

Transit AS : Sistemas Multihomed (com várias conexões) que permitem que o tráfego de outros AS utilizem suas conexões como passagem. As operadoras que prestam serviços de acesso a Internet (ISP) são desse tipo.

Non-Transit: São sistemas multihomed, mas que não permitem transporte de tráfego envolvendo outros AS. Isso significa que apenas o tráfego em que a origem ou o destino é um endereço IP do próprio AS é permitido. Esse é o caso das instituições privadas que possuem mais de uma conexão com a Internet (para redundância), mas não desejam que essa conexão seja utilizada para transportar tráfego de terceiros.

O controle de passagem de tráfego é feito através do protocolo de roteamento entre ASs, que controla o sentido de divulgação das rotas. Esse tópico será discutido mais adiante, quando falarmos sobre o BGP, que é o protocolo de roteamento usado na Internet.

Quanto a forma de relacionamento comercial, a classificação é a seguinte:

Relacionamento Peer: Quando dois AS se interconectam de maneira gratuita, visando benefício mútuo de troca de tráfego, através de um acordo de tráfego multi-lateral (ATM).

Quando o relacionamento é comercial, a conectividade é denominada transit.

Page 10: Sistemas Autônomos e Roteamento na Internet

IXP: Internet Exchange Point

A interconexão desordenada de sistemas autônomos em forma de uma malha poderia levar a um desempenho muito pobre da Internet, devido a uma grande quantidade de saltos. Por essa razão, foram desenvolvidos locais especiais onde vários sistemas autônomos podem se conectar utilizando apenas um salto. Esses locais são denominados IXP (Internet Exchange Point).

Atualmente, a tecnologia mais utilizada para implementar IXP é o Ethernet. O equipamento usado no IXP nada mais é do que um switch de grande capacidade, que recebe, em suas portas, as fibras oriundas dos roteadores de borda de vários AS.

Em muitos países a manutenção dos IXP é subsidiada por órgãos públicos. No Brasil além da denominação IXP (ou PIX, Ponto de Troca de Tráfego), a denominação PTT (PTT: Ponto de Troca de Tráfego) também é muito usada.

O maior PTT do Brasil é denominado PTTMetro. Esse PPT é mantido pelo Projeto do Comitê Gestor da Internet no Brasil (CGIbr). Ele permite a interconexão direta entre as redes ASsque compõem a Internet Brasileira. O PTTMetro possui vários locais de interconexão (PIX). A figura mostra o PIX Central, localizado em São Paulo, que interconecta vários ASs, como a USP, a Brasil Telecom e Outros.

Page 11: Sistemas Autônomos e Roteamento na Internet

Tipos de Roteadores

A B

CD

EF G

IJ

H

EGP

SISTEMA AUTÔNOMO 1 SISTEMA AUTÔNOMO 2

IGP IGP

Conhece todas as rotas da

Internet

Conhece apenas as rotas no interior

do AS

ML

216.1.2.0/24

220.2.1.0/24

prefixo: 220.2.0.0/16prefixo: 216.1.2.0/16

CPE CPE

Para que a rede de uma instituição possa se tornar um AS, algumas regras precisam ser respeitadas. Conforme dito anteriormente, os roteadores de um AS são classificados em dois tipos: roteadores internos e roteadores de borda. Os roteadores internos são aqueles que se conectam apenas a roteadores e computadores no interior do AS. Os roteadores de borda, se conectam a roteadores de outros AS. Na figura, apenas os roteadores E, F e L são roteadores de borda. Todos os demais são roteadores internos.

Um roteador interno não precisa ser um muito potente, pois ele precisa conhecer apenas as rotas para as redes que pertencem ao próprio AS. Já o roteador de borda precisa conhecer todas as rotas da Internet. Isso faz com que esse roteador seja, geralmente, muito caro. A quantidade de rotas da Internet, atualmente, é superior a 300.000. Isso faz com que o roteador de borda tenha que ter uma quantidade razoável de memória, e também bastante velocidade para consultar as tabelas de roteamento. O roteador será tanto mais caro quanto maior a velocidade do seu enlace. Se o roteador for de baixa capacidade (com link de menos de 1 Mbps), ele pode até ser implementado com um equipamento de custo reduzido. Contudo, se o link do roteador de borda for da ordem de centenas de Mbps, então seu custo será bastante elevado (dezenas de milhares de dólares).

Roteadores de borda atuais precisam suportar aproximadamente 222.000 rotas (junho 2007) além de mais 50% para rotas privadas de clientes. A fim de processar essas rotas sem grande atraso na propagação dos pacotes os roteadores precisam: Muita memória de acesso rápido e Alta capacidade de processamento. Roteadores com essa capacidade podem ter custos superiores a U$ 50K.

Page 12: Sistemas Autônomos e Roteamento na Internet

Protocolos de Roteamento

A B

CD

EF G

IJ

H

EGP

SISTEMA AUTÔNOMO 1 SISTEMA AUTÔNOMO 2

IGP IGP

O roteador dos clientes não precisa de protocolo de roteamento. Basta ele ter uma única rota default para o ISP

ML

216.1.2.0/24

220.2.1.0/24

prefixo: 220.2.0.0/16prefixo: 216.1.2.0/16

CPE CPE

No interior de um AS de grante porte, como aquele de um provedor de acesso a Internet (ISP), o processo de atualização de rotas nos roteadores interno e de borda deve ser automatizado, isto é, a configuração das tabelas de roteamento deve ser feita através de protocolos de roteamento padronizados, e não através de configuração manual.

Um protocolo de roteamento nada mais é do que um conjunto de mensagens padronizadas trocadas entre os roteadores. Essas mensagens carregam as rotas que um roteador conhece, de maneira que os demais roteadores possam apontar para ele quando precisarem enviar pacotes a um certo destino.

Os protocolos de roteamento são classificados em dois tipos: IGP: Interior Gateway Protocol: protocolo de roteamento para roteadores internos e EGP: Exterior Gateway Protocol: protocolo de roteamento entre sistemas autônomos. Os principais protocolos padronizadossão os seguintes:

IGP: (Informações de Roteamento no Interior do AS)

RIP: Routing Information Protocol

OSPF: Open Shortest Path First

IS-IS: Intermediate System to Intermediate System

EGP: (Informações de Roteamento entre ASs)

BGP: Border Gateway Protocol

Geralmente, o protocol IGP pode ser escolhido livremente pelo administrador do AS. Já o EGP precisa ser padronizado para permitir a interoperação do equipamento de várias instituições distintas. Atualmente, o único protocolo EGP usado na Internet é o BGP.

Page 13: Sistemas Autônomos e Roteamento na Internet

Conceitos Básicos de Roteamento

A B

CD

E

ir até E por B com custo 2

ir até E por C com custo 3

As duas rotas estão da RIB, mas apenas a melhor

está na FIB

Para entender a diferença entre os protocolos BGP, OSPF, RIP, etc é necessário, primeiro, rever alguns conceitos importantes sobre o roteamento.

O primeiro aspecto que precisa ser analisado é como um roteador armazena suas rotas. Conceitualmente, um roteador utiliza duas tabelas internas a fim de determinar para onde enviar um pacote para um dado destino: a RIB e a FIB. A RIB (Router Information Base) é o conjunto completo de rotas configuradas no roteador. Na RIB, é possível ter mais de uma rota para um mesmo destino.

Independente de quantas rotas existem, um roteador irá sempre utilizar a rota de menor custo até que essa rota deixe de funcionar, ou uma outra rota seja criada. Por isso, os roteadores mantém uma outra tabela, mais otimizada denominada FIB. A FIB (ForwardingInformation Base) contém apenas as melhores rotas ativas (as que realmente são utilizadas). Além disso, a FIB pode conter informações necessárias para simplificar o processo de encaminhamento dos pacotes para o roteador vizinho (por exemplo, o endereço MAC do próximo salto para evitar uma consulta ARP desnecessária).

Olhando a figura, vemos que o roteador A conhece duas rotas para chegar até uma rede E, uma através de B (com custo 2) e outra através de C (com custo 3). Ambas as rotas estão armazenada em sua RIB, mas apenas a rota de custo 3 está armazenada em sua FIB.

Page 14: Sistemas Autônomos e Roteamento na Internet

Conceitos Básicos de Roteamento

A

C

B E

D

F

2

2

2

53

3

1

1

A

C

B E

D

F

estado de enlace

vetor de distâncias

[5]

[4]

[2]

[4]

O segundo aspecto que precisa ser analisado é como o roteador representa e descobre suas rotas. Em redes IP, dois métodos são utilizados: os algoritmos de estado de enlace (link state) e os algoritmos de vetor de distâncias (distance vector).

No método baseado em estado de enlace, cada roteador possui uma representação completa da rede ao qual está conectado na forma de um grafo. Isto é, o roteador sabe como os roteadores estão conectados e qual o custo associado ao enlace de cada roteador. Nesse método, os roteadores não trocam rotas diretamente, mas sim trocam informações sobre seus enlaces e a velocidade de seus enlaces. Uma vez criada a representação interna da rede no roteador, as rotas são calculadas através de um algoritmo de varredura de grafos, como o Dijkstra, para subsequente preenchimento das tabelas RIB e FIB.

Por outro lado, no método baseado em vetor de distâncias, nenhum roteador possui o conhecimento completo da rede. Ao invés disso, o roteador possui apenas as rotas, isto é, a informação do próximo salto e do custo associado para um conjunto de destinos conhecidos na rede. Nesse método, os roteadores trocam rotas diretamente, não sendo necessário nenhum tipo de cálculo para determinação das rotas. Apesar do método de vetor de distâncias parecer mais simples, ele é muito limitado. Nessa abordagem, os roteadores perdem muito tempo para reparar danos na rede (substituir rotas melhores defeituosas por rotas alternativas).

Page 15: Sistemas Autônomos e Roteamento na Internet

Vetores de Distância

A

B

C Drede A

1

2

12

1

2

13

acesso a rede A com custo 1

acesso a rede A com custo 2

acesso a rede A com custo 1

acesso a rede A com custo 2

X

rede A por A.1

rede A por A.2rede A por C3

rede A por B2

Os protocolos de roteamento que seguem o método do vetor de distâncias são baseados na propagação de rotas, com incremento de custos. Esse método pode ser resumido da seguinte forma:

A) Os roteadores divulgam as redes a que estão diretamente conectados por seus enlaces

B) Apenas as melhores ofertas são aceitas para cada rede.

C) Quando um roteador recebe uma rota, ele a repassa adiante acrescentando a ela o seu próprio custo

Na figura, observa-se que o roteador A faz o anúncio de que ele sabe acessar a rede A para os roteadores B e C. O roteador B repassa o anúncio de acesso ao roteador C, adicionando o custo do seu próprio enlace na rota. Dessa forma, o roteador C recebe duas ofertas: uma vinda diretamente de A e outra vinda de B, com o custo acrescido. Nesse caso, a oferta vinda de B é descartada, e apenas a oferta vinda de A é propagada para D.

Nesse método, as rotas tem um tempo de vida (TTL), e os roteadores re-anunciam periodicamente suas rotas. As rotas cujo re-anuncio não é recebido dentro do prazo de vida são desativadas. Nesse caso, as rotas de maior custo previamente ignoradas passam a ser aceitas (por exemplo, o roteador C passaria a aceitar a oferta de B, caso parasse de receber a oferta de A).

Conforme dito anteriormente, a desvantagem desse método é que o tempo para reparar rotas defeituosas pode ser muito alto. O tempo de atualização das rotas é aproximadamente: nsaltos * TTL. O protocolo RIP segue esse princípio.

Page 16: Sistemas Autônomos e Roteamento na Internet

Estado de Enlace

A BLink StateDatabase

Link StateDatabase

hello

hello

LSA

LSA

novo LSA

AX

B

C

D

E

novo LSA novo LSA

novo LSA

novo LSA

Os protocolos de roteamento que seguem o método baseado em estado de enlace são muito mais eficientes que os de vetor de distância, mas podem exigir roteadores um pouco mais sofisticados para serem implementados. Nesse método, cada roteador mantém um banco de dados completo com a descrição de toda topologia da rede (link state database).

Incialmente, nesse método, os roteadores descobrem se existem outros roteadores (roteadores vizinhos) que suportam o mesmo protocolo através de mensagem Hello. A mensagem de Hello também é utilizada para verificar se os vizinhos continuam ativos (isto é, como mensagens de keep alive). Uma vez conhecido seus vizinhos, os roteadores trocam informações sobre a topologia da rede (roteadores e seus enlaces). Os roteadores parceiros sincronizam sua base de estado de enlace através de mensagens que transportam anúncios de novos enlaces (Link State Advertisement - LSA).

Quanto o protocolo é ativado pela primeira vez nos roteadores da rede, existe uma grande quantidade de informações trocadas. Todavia, após as informações das bases de estado de enlace terem sido sincronizadas, as mensagens de atualização de estado (LSA) serão enviadas somente se um novo enlace for adicionado ou removido. Isso faz com que esse tipo de protocolo seja mais adequado para redes de grande porte. Igualmente, o roteador jápossui localmente todas as informações necessárias para calcular rotas alternativas no caso de falha de seus vizinhos, fazendo com que a recuperação em caso de falhas seja muito mais rápida.

Os protocolos OSPF e IS-IS são exemplos de protocolos de estado de enlace.

Page 17: Sistemas Autônomos e Roteamento na Internet

Dijkstra Shortest Path First (SPF)

• Princípio:

– Encontrar o menor caminho entre um dos nós da rede e todos os demais

• Estratégia:

– Escolher sempre o melhor nó adjacente

– Atribuir custos acumulativos a cada nó da rede

A

C

B

D

F

E

1

5

3

5

1

6

4

20

1

4

5

9

10

No método baseado em estado de enlace, cada roteador constrói uma representação completa da rede na forma de um grafo, conforme indicado na figura. A tabela de roteamentoé preenchida através de um algoritmo que varre o grafo e determina as melhores rotas do roteador para cada um dos destinos possíveis (isto é, para cada uma das interfaces dos demais roteadores).O algoritmo mais utilizado para essa finalidade é o Dijikstra. Os principais conceitos desse algoritmo são mostrados na figura. Suponha que o algoritmo está sendo executado no roteador A. O roteador A determina que o melhor caminho para chegar ao roteador C é usar o enlace AC. Dessa forma, ele atribui o custo 1 (em vermelho) para a rota AC. Para chegar até o roteador B, existem duas alternativas: AB com custo 5 ou ACB com custo 4. O roteador decide então que o melhor caminho para chegar até B é ACB, e atribui o custo 4 para o caminho. A partir desse momento, qualquer rota que passe por B utilizará sempre o trajeto ACB, de forma que esse teste não precisa mais ser efetuado. Esse procedimento se repete até que uma rota cada um dos demais destinos da rede seja encontrada.

Existem variações no algoritmo Dijikstra. O constrained shortest path first (CSPF) permite impor restrições adicionais ao invés de escolher simplesmente o caminho mais curto. As restrições podem ser de várias naturezas: restringir o uso de enlaces indisponíveis, pouco confiáveis ou muito lentos (menos banda). Duas técnicas são utilizadas: aparar enlaces indesejáveis (eliminá-los do grafo - prunning) e criar uma nova métrica que incorpora outras restrições em seu cálculo. O CSPF deve ser usado com cautela, pois todos os roteadores precisam usar a mesma métrica, ou poderão ser criadas rotas em loop. A versão sem restrições é ainda a mais usada atualmetne.

Observe que pela estratégia do Dijikstra, apenas uma rota é escolhida para cada destino. Mesmo quando dois caminhos de custo idêntico são encontrados, o primeiro a ser descoberto é mantido. Em alguns roteadores com suporte ao ECMP (Equal Cost Mutipath), épossível utilizar mais de um caminho quando existem alternativas idênticas de menor custo. Nesse caso, os roteadores procurar efetuam balanceamento de carga entre caminhos de custo idêntico.

Page 18: Sistemas Autônomos e Roteamento na Internet

Divisão em Áreas

estado completo da própria área

área A área C

área B

resumo das outras áreas

(rotas agregadas)

ABR

ABR ABR

resumoresumo

resumo

Roteador Intra-Area

ABR: Roteador de Borda de Àrea

Em um protocolo de estado de enlace os roteadores necessitam de memória para armazenas as informações da topologia da rede e capacidade de processamento para descobrir rotas a partir do grafo de topologia.

Supondo que n é o número de enlaces total da rede (isto é, a soma de enlaces de todos os roteadores da rede), então a quantidade de recursos gasta em cada roteador pode ser estimada da seguinte forma: Memória para armazenar o grafo: cresce linearmente com n. Capacidade de processamente necessária para varrer o grafo: cresce entre n* log(n) e n^2.

Por essa razão, para prover escalabilidade em redes de grade porte, os protocolos de estado de enlace adotam o conceito de divisão em áreas, conforme ilustrado pela figura. O objetivo da divisão em áreas é reduzir a quantidade de informação que cada roteador precisa conhecer sobre a rede. Nessa abordagem, um roteador tem conhecimento completo apenas dos roteadores que estão na mesma área que ele, e apenas um sumário das informações das outras áreas. O sumário das outras áreas nada mais é do que um conjunto de rotas agregadas (isto é, dependendo dos prefixos, todas as rotas de uma área estrangeira podem ser representadas por uma única rota).

Nessa abordagem, os roteadores são classificados em dois tipos: os roteadores intra-área e os roteadores de borda de área (ABR). Os roteadores intra-área trocam informações completas de estado de enlace dentro de suas áreas. Já os roteadores ABR trocam apenas rotas sumarizadas com outros ABR.

Page 19: Sistemas Autônomos e Roteamento na Internet

Vetores de Caminho

200.17.1.0/24

B

CD

E

F G

IJ

EGP

SA1

Y

XW

Z

EGP

200.17.1.0/24 via SA3

SA2

SA3

200.17.1.0/24 via SA3, SA2

200.17.1.0/24 via SA3, SA1

200.17.1.0/24 via SA3

Conceitualmente, é possível definir um terceiro método de propagação de rotas denominado vetor de caminho. O método de vetor de caminho é bastante similar ao método de vetor de distância, contudo, nesse método, uma lista completa de saltos da origem até o destino éincluída nas ofertas de rota trocadas entre os roteadores.

O objetivo principal dessa lista é evitar a criação de loops. O protocolo BGP, utilizado para toca de rotas entre sistemas autônomos, segue o princípio do vetor de caminho. Para ilustrar esse conceito, considere a figura que ilustra uma rede formada por três sistemas autônomos: SA1, SA2 e SA3. Considere, no exemplo, que o roteador de borda do SA3 (Z) deseja informar para os demais AS que é possível chegar a rede 200.17.1.0/24 através dele. A oferta de rota é feita para o roteador E do SA2 e para o roteador F do SA1. A oferta inclui o vetor de caminho, que é uma lista de sistemas autônomos e não de roteadores. Quando um roteador de borda recebe uma oferta, ele passa a oferta para frente incluindo também o seu número de AS no vetor de caminho. Dessa forma, a oferta de acesso a rede 200.17.1.0/24 érepassada para o roteador F do SA1 pelo roteador E do SA2, incluindo também o código do SA2.

Observe que no exemplo, o SA2 é um AS do tipo transit, pois ele repassou a oferta de rota do SA3 para o SA1. Caso o SA2 fosse do tipo non-transit, o repasse da rota não seria feito.

Page 20: Sistemas Autônomos e Roteamento na Internet

Protocolos para Redes IP

• Vetor de Distâncias

– RIP (Routing Information Protocol)• Estado de Enlace

– OSPF (Open Shortest Path First)• Vetor de caminho

– BGP (Border Gateway Protocol)

Na seqüência desse módulo serão estudados três protocolos relacionados a configuração de rotas em redes IP: RIP, OSPF e BGP.

Os protocolos RIP e OSPF são do tipo IGP, isto é, eles são utilizados para troca de informações de roteamento no interior de um AS. Já o protocolo BGP é um protocolo EGP, isto é, ele é utilizado para troca de informações entre sistemas autônomos distintos.

Como vimos, o protocolo RIP é do tipo "vetor de distâncias". Esse protocolo é considerado bastante ineficiente para redes de grande porte, não sendo utilizado, na prática, em sistemas autônomos de grande porte. Contudo, seu estudo é importante, principalmente para entender a diferença com relação a outros protocolos.

O OSPF segue o método de "estado de enlace", e é um dos protocolos mais utilizados como IGP. O outro protocolo bastante usado como IGP é o IS-IS (Intermediate System to Intermediate System). Nesse módulo, apenas o OSPF será estudado, pois ambos os protocolos trazem muitas similaridades.

O BGP é o único protocolo utilizado como EGP. Como veremos, esse protocolo é bastante diferente dos anteriores, pois além de ser do tipo "vetor de caminho", ele é o único que funciona sobre TCP.

Page 21: Sistemas Autônomos e Roteamento na Internet

RIP

Rede 200.192.0.0/24

Rede 200.134.51.0/24

ATIVOUsualmente roteador

PASSIVOUsualmente host

RIP request

RIP response

RIP response

O RIP é um protocolo de roteamento do tipo "vetor de distâncias", originário do conjunto XNS da Xerox. Existem duas versões de RIP: Versão 1 (RFC 1058) e Versão 2 (RFC 1723). A versão 1 émuito limitada, e não deve ser mais usada. Esta versão utiliza mensagens em broadcast, e foi desenvolvida antes da introdução do CIDR (Classless InterDomain Routing). Isto é, nessa versão não é possível criar rotas com máscaras de subrede. A versão 2 resolveu vários problemas da versão 1. Ela utiliza mensagens em multicast, ao invés de broadcast. Ela também introduziu o suporte a CIDR. Na prática, se o RIP for utilizado, ele deverá ser sempre na versão 2. Mesmo a versão 2 do RIP tem suas limitações. O método de custo suportado pelo RIP é apenas o número de saltos (hop count). Isto significa que o RIP não consegue levar em conta a capacidade dos enlaces quando está definindo o custo de uma rota. Outra limitação é que o tamanho máximo de uma rota é de 15 saltos (acima deste valor, a rede é considerada inalcançável).

Uma rede RIP define dois tipos de elementos: os ativos e os passivos. Os elementos ativos são capazes de enviar e receber mensagens RIP. Os elementos passivos são capazes apenas de receber rotas. De maneira geral, numa rede, apenas os roteadores são ativos. Os computadores são sempre passivos ou não usam RIP.

O RIP é um protocolo encapsulado em mensagens UDP (utiliza a porta padrão 520). O RIP define dois tipos de mensagem: Requisição - Request (tipo 1): solicita informações de roteamento e Resposta - Response (tipo 2): envia informações de roteamento. Na prática, o RIP trabalha quase sempre no modo não solicitado, onde apenas mensagens do tipo Response são enviadas periodicamente pelos elementos ativos da rede. Cada mensagem response pode transportar no máximo 25 rotas.

Page 22: Sistemas Autônomos e Roteamento na Internet

Formato das Mensagens RIP v2

Command(1: request, 2: response)

Version (2)

Reserved

Address Family(0xffff para Autenticação)

IP Address

Subnet mask

Next Hop IP Address

Metric

Tipo de Autenticação

Byte 1 Byte 2 Byte 3 Byte 4

Informação de Autenticação X 4

Address Family(2 para IPv4)

Tag de Rota

Cabeçalho

Autenticação

Entradas de Rota....

Autenticação

A figura mostra o formato de uma mensagem RIP versão 2. Conforme mencionado anteriormente, as mensagens RIP são encapsuladas no protocolo UDP. A mensagem RIP possui três seções principais:

Cabeçalho: inclui os campos Command e Version. O valor 1 no campo Command indica request e o valor 2 indica response. O valor 2 no campo Version indica que é a versão 2 do RIP.

Autenticação: O campo Família de Endereços possui o valor fixo 0xFFFF para identificar a seção de autenticação. O campo tipo de Autenticação utiliza um byte para identificar um dos três modos de autenticação suportados pelo RIP: Message Digest (16 bytes MD5 da mensagem), Password Simples (senha de 6 bytes), Message Digest Key e SequenceNumber (HMAC com chave secreta). O código de autenticação de até 16 bytes étransportado no final da seção.

Entrada de Rotas. Essa seção possui uma lista de até 15 entradas de rotas. Cada entrada de rota é composto pelos campos Família de Endereços (indica se é IPv4, por exemplo), Tag de Rota (número usado para diferenciar rotas internas de externas), Endereço de Base (e.g. 200.0.0.0), Máscara de Subrede (e.g. 255.255.255.0), Endereço do Gateway (e.g., 200.0.0.1), e Métrica (e.g., 2). Um valor de métrica igual a 16 indica que a rota está inativa.

Page 23: Sistemas Autônomos e Roteamento na Internet

Exemplo: Funcionamento do RIP

A

2

200.0.0.1/24

3

CB

1

INTERNET 0.0.0.0/0

192.168.0.2/24192.168.0.1/24 192.168.1.1/24

200.0.0.2/24

0 1

0

1

0 1

Para ilustrar o funcionamento do RIP, considere o cenário mostrado na figura. Quando o RIP é utilizado, apenas os endereços IP dos roteadores precisam ser configurados manualmente. Todas as demais rotas são geradas automaticamente pelo protocolo de roteamento.

Observe que quando um endereço IP é atribuído a interface de um roteador, a rota direta (isto é, a rota para a rede onde a interface do roteador está conectada) é criada automaticamente. No exemplo as seguintes rotas diretas serão criadas:

No roteador 1: rota para a rede 200.0.0.0/24 via direta pela interface 0 com custo 0

No roteador 2: rota para a rede 200.0.0.0/24 via direta pela interface 0 com custo 0

No roteador 2: rota para a rede 192.168.0.0/24 via direta pela interface 1 com custo 0

No roteador 3: rota para a rede 192.168.0.0/24 via direta pela interface 0 com custo 0

No roteador 3: rota para a rede 192.168.1.0/24 via direta pela interface 1 com custo 0

Considerando que nesse exemplo a rede não é um sistema autônomo (ela é simplesmente uma rede cliente de um ISP), o roteador 1 precisa conhecer apenas a rota para o roteador do provedor para que os computadores tenham acesso a Internet. Essa rota pode ser criada manualmente, ou aprendida automaticamente pelo roteador 1 através de protocolos do tipo RIP ou OSPF.

Nesse exemplo, assumiremos que essa rota foi criada manualmente:

No roteador 1: rota para a rede 0.0.0.0/0 via IP_ISP pela interface 1 com custo 1

Page 24: Sistemas Autônomos e Roteamento na Internet

Exemplo de Propagação da Rota 192.168.1.0/24

A

2

200.0.0.1/24

3

CB

1

INTERNET

0.0.0.0/0

192.168.0.2/24192.168.0.1/24 192.168.1.1/24

200.0.0.2/24

192.168.1.0/24 via

200.0.0.1

(custo 2)

192.168.1.0/24 via

192.168.0.2

(custo 1)

192.168.1.0/24 via

IP1

(custo 3)

IP1

rota local

192.168.1.0/24 via

direta

(custo 0)

Após a ativação do RIP em um roteador, todas as rotas conhecidas pelo roteador são propagadas. É possível configurar o RIP para propagar rotas a partir de todas as suas interfaces, ou apenas de interfaces específicas. Por exemplo, no roteador 1, pode-se desejar propagar rotas pela interface interna do roteador, mas bloquear o envio de mensagens RIP para interface conectada ao provedor.

A figura ilustra o funcionamento do RIP no processo de propagação da rota local 192.168.1.0/24. Uma mensagem de RIP response é enviada em broadcast (RIPv1) ou multicast (RIPv3) pelo roteador 3 para toda a rede 192.168.0.0/0. Essa rota é recebida pelo computador B e também pelo roteador 2. Caso o computador B tenha o serviço RIP ativado, uma rota dinâmica será criada em sua tabela de roteamento.

O roteador 2, por sua vez, repassa a oferta de rota recebida de 3 adicionando o valor 1 ao custo. A oferta feita pelo roteador 2 será recebida pelo computador A e também pelo roteador 1.

Caso o roteador 1 tenha o protocolo RIP ativado em sua interface externa, a oferta da rota será repassada também para o provedor (no caso, como 192.168.1.0/24 corresponde a uma subrede de endereços privados, o administrador não deve ativer o RIP na interface externa, para evitar que essa rota seja propagada).

Page 25: Sistemas Autônomos e Roteamento na Internet

Exemplo de Propagação da Rota 192.168.0.0/24

A

2

200.0.0.1/24

3

CB

1

INTERNET

0.0.0.0/0

192.168.0.2/24192.168.0.1/24 192.168.1.1/24

200.0.0.2/24

192.168.0.0/24 via

200.0.0.1

(custo 1)

IP1 rota local

192.168.0.0/24 via

direta

(custo 0)

rota local

192.168.0.0/24 via

direta

(custo 0)

192.168.0.0/24 via

192.168.1.1

(custo 1)

192.168.0.0/24 via

IP1

(custo 2)

A figura ilustra o funcionamento do RIP no processo de propagação da rota local 192.168.0.0/24. Observe que essa rota existe tanto nos roteadores 1 quanto 2.

Uma mensagem de RIP response é enviada pelo roteador 3 para a rede 192.168.1.0/24. Essa oferta de rota é recebida pelo computador C.

Uma mensagem de RIP response também é enviada pelo roteador 2 para a rede 200.0.0.0/24. Essa rota é recebida pelo computador A e também pelo roteador 1.

Caso o roteador 1 tenha o protocolo RIP ativado em sua interface externa, a oferta da rota será repassada também para o provedor (novamente, como 192.168.0.0/24 corresponde a uma subrede de endereços privados, essa rota não deveria ser propagada).

Page 26: Sistemas Autônomos e Roteamento na Internet

Exemplo de Propagação das Rotas0.0.0.0/0 e 200.0.0.0/24

A

2

200.0.0.1/24

3

CB

1

INTERNET

0.0.0.0/0

192.168.0.2/24192.168.0.1/24 192.168.1.1/24

200.0.0.2/24

0.0.0.0/0 via

200.0.0.2

(custo 2)

0.0.0.0/0 via

192.168.0.1

(custo 3)

200.0.0.0/24 via

192.168.0.1

(custo 1)

IP1

Rota manual

0.0.0.0/0 via

IP_ISP

(custo 1)

0.0.0.0/0 via

192.168.1.1

(custo 4)

200.0.0.0/24 via

192.168.1.1

(custo 2)

Rota local

200.0.0.0/24 via

200.0.0.1/24

(custo 1)

A figura ilustra o funcionamento do RIP no processo de propagação da rota para internet 0.0.0.0/0 e da rota 200.0.0.0/24. Nos exemplos anteriores, por razões didáticas, nós consideramos que apenas uma rota era enviada em cada mensagem RIP. Nesse exemplo, nós supomos que a rota para Internet foi configurada manualmente, atribuindo-se arbitrariamente o custo 1. Observe, nesse caso, que o custo da rota para Internet não é muito importante, pois como não existe nenhuma rota alternativa, ela será sempre utilizada.

Uma mensagem de RIP response é enviada pelo roteador 1 para a rede 200.0.0.0/24. Essa oferta de rota é recebida pelo computador A e pelo roteador 2. Observe que o custo da rota foi aumentado de 1, pois o roteador 1 considera a si mesmo como um salto (o custo 1 foi atribuído para interface externa, então a interface interna é considerada um salto).

Uma mensagem de RIP response também é enviada pelo roteador 2 para a rede 192.168.0.0/24, com o custo acrescido de 1. Essa rota é recebida pelo computador B e também pelo roteador 3.

Finalmente, o roteador 3 informa a rede 192.168.1.0/24 sobre a rota default, repassando a oferta de rota com o custo acrescido de 1, através da mensagem RIP response.

Page 27: Sistemas Autônomos e Roteamento na Internet

Tabela de Roteamento do Roteador 1

Destino Gateway Interface Custo Tipo

192.168.1.0/24 direto 2 0 local

192.168.0.0/24 direto 1 0 local

200.0.0.0/24 192.168.0.1 1 1 RIP

0.0.0.0/0 192.168.0.1 1 3 RIP

ROTEADOR 3

Destino Gateway Interface Custo Tipo

192.168.1.0/24 192.168.0.2 2 1 RIP

192.168.0.0/24 direto 2 0 local

200.0.0.0/24 direto 1 0 local

0.0.0.0/0 200.0.0.2 1 2 RIP

ROTEADOR 2

A figura mostra como ficaria a tabela de roteamento dos roteadores 2 e 3, após a estabilização da criação das rotas pelo RIP. A última coluna da tabela indica se a rota foi criada localmente (isto é, de forma manual pela atribuição de um endereço IP para interface do roteador) ou através do RIP. Em todos os cenários de RIP ilustrados anteriormente, nós omitimos todas as mensagens de rota que seriam ignoradas pelo roteador. Observe que, se um roteador receber uma oferta de rota com um custo superior aquele que ele já possui em sua tabela, a mensagem será ignorada.

As rotas criadas pelo RIP não são permanentes. Elas precisam ser renovadas periodicamente, caso contrário, elas serão consideradas inativas (terão seu custo alterado para 16) e serão posteriormente removidas nas tabelas de roteamento.

Após a criação das rotas nos roteadores, as mensagens RIP response continuam a ser enviadas de forma periódica a cada 30 segundos. Esse procedimento é necessário, pois ele é utilizado para detectar de forma automática a ocorrência de falhas na rede. Se um roteador deixar de receber a oferta de uma rota por mais do que 180 segundos (isto é, se 6 mensagens RIP forem perdidas em seqüência) a rota será considerada obsoleta, e seu custo será elevado para 16. O temporizador que controla quando a rota se torna obsoleta denomina-se “time-out timer”.

Se após esse período, o roteador continuar sem receber a oferta da rota por mais 120 segundos, a rota será removida da tabela de roteamento. O temporizador que controla a remoção das rotas é denominado “garbage collection timer”.

Page 28: Sistemas Autônomos e Roteamento na Internet

OSPF: Open Shortest Path First

A B

Hello [multicast]

Hello [multicast]

Database Description [unicast]

Database Description [unicast]

Link State Request [unicast]

Link State Request [unicast]

Link State Update [multicast]

Link State Update [multicast]

Link State Acknowledge [unicast]

Link State Acknowledge [unicast]

O OSPF é um protocolo de estado de enlace, considerado mais eficiente e escalável que o RIP. Além de ser mais escalável, uma diferença importante do OSPF em relação ao RIP éque ele permite utilizar parâmetros mais genéricos para cálculo das métricas das rotas (como levar em conta a velocidade dos enlaces), ao invés de usar simplesmente o número de saltos. Diferente do RIP que é encapsulado em UDP, o OSPF é encapsulado diretamente no IP (protocolo tipo 89). O OSPF para redes IPv4 está na versão 2, e é definido pelas RFCs2328 e 1246.

As mensagens OSPF são mostradas na figura. De acordo com seu tipo, elas podem ser transmitidas em unicast ou multicast. Os seguintes endereços de multicast são reservados para o uso do OSPF: 224.0.0.5 e 224.0.0.6. O multicast é utilizado sempre que a mesma mensagem puder interessar a mais do que um roteador simultaeamente.

As mensagens OSPF são as seguintes (listadas na seqüência mais comum de uso):

1.Hello: usada para descobrir vizinhos e manter o relacionamento entre eles2.Database Description (Descrição da Base de Dados): lista um diretório de entradas de estado de enlace3.Link State Request (Solicitação do Estado de Enlace): requisita uma ou mais informações específicas de estado de enlace4.Link State Update (Atualização do Estado de Enlace): envia a informação de uma ou mais entradas de estado de enlace (LSA - Link State Advertisement)5.Link State Acknowledge (Reconhecimento do Estado de Enlace): confirma o recebimento seguro da informação de estado de enlace.

28

Page 29: Sistemas Autônomos e Roteamento na Internet

Terminologia OSPF

R1

R5 R6

R0

N1Area 0

Area 2 (Stub)

Area 1R3

BACKBONEOSPF

Area 0.0.0.0

R7R4

Fronteira de AS

N2

N1

Roteador de Fronteira de Área

(ABR)

R2

Roteador de Fronteira de AS

(ASBR)

Rx

Rede RIP

LSA NSAR8

Area 3

Conforme discutimos anteriormente, os protocolos de estado de enlace, como o OSPF, adotam o conceito de divisão em áreas, a fim de diminuir os recursos de memória e processamento gastos no roteador. As áreas são organizadas em uma hierarquia de dois níveis: área zero: backbone do AS e demais áreas: conectadas ao backbone. Se uma única área for utilizada, a quantidade de roteadores é limitada (menos que 200 para roteadores legados).

Quando a divisão em áreas é adotada, os roteadores recebem a seguinte denominação:

Roteadores Intra-Area: Conhecem apenas a topologia de rede do interior de sua própria área.Roteadores de Fronteira de Área (ABR): Conhecem duas ou mais áreas aos quais estão diretamente conectados. Esse roteadores efetuam agregação de rotas utilizando CIDR (a agregação pode ser ativada ou não).Roteadores de Fronteira de AS (ASBR): Trocam informações com outros AS e podem pertencer a qualquer área.

As áreas do OSPF podem ainda, ser dos seguintes tipos:

Áreas Stub: Utilizadas para proteger roteadores com pouca capacidade de CPU ou memória. Esse tipo de área é configurada no ABR, que propaga apenas uma rota padrão para os demais roteadores da área.Not So Stubby Area (NSSA): Uma LSA especial denominada LSA-NSSA é utilizada para propagar rotas de uma área Stub para outras áreas que não suporte OSPF (por exemplo RIP). Essa mensagem tem um campo adicional que permite apontar uma gateway diferente do roteador anunciante.Enlaces Virtuais: Permitem criar enlaces virtuais (não físicos) usados para aumentar a conectividade da malha OSPF. Exemplo: interconectar duas áreas adjacentes utilizando um roteador que não tem interface direta com a Área 0.

Page 30: Sistemas Autônomos e Roteamento na Internet

Roteador Designado

meio de múltiplo acesso

Roteador Designado

Roteador Designado de Backup

(Link State Update) vários LSA[224.0.0.5]

(Link State Update) vários LSA

(Link State Update) vários LSA[224.0.0.6]

O objetivo do OSPF é que os roteadores de uma rede tenham um conhecimento dos demaisroteadores e de suas interfaces. Para isso, os roteadores usam um conjunto de mensagens para fazer uma sincronização de suas “Bases de Estado de Enlace”. Para evitar que informações em excesso sejam trocadas pela rede, a seguinte estratégia é adotada:

1.O roteador anuncia uma lista de enlaces que ele conhece (DataBase Description). Essa mensagem lista os identificadores de entrada da base, mas não envia os dados propriamente dito.2.O roteador que recebe o anúncio solicita apenas as entradas que estão faltando (Link StateRequest).3.O roteador que fez o anúncio envia mensagens contendo os LSA solicitados (Link State Update)4.O roteador que recebeu o anúncio, confirma o recebimento (Link State Acknoledge)

Dependendo da topologia da rede, o processo de sincronização pode levar a um número excessivo de mensagens, pois a mesma base de dados precisará ser replicada em vários roteadores. Se esses roteadores estiverem interligados através de um meio de múltiplo acesso (por exemplo, um HUB ou SWITCH), isto é, um meio com suporte a multicast, então a mesma mensagem poderá ser enviada simultaneamente para vários roteadores da rede, levando a uma redução da quantidade de mensagens na rede, e a um processo mais rápido de sincronização das bases de estado de enlace. Para reduzir a quantidade de mensagens trocadas na rede, além do multicast, o OSPF utiliza uma eleição de dois roteadores denominados: Roteador Designado e Roteador Designado Backup. Essa eleição é feita através das mensagens de hello, que são enviadas em multicast para o endereço 224.0.0.5. A função desses roteadores é evitar o envio de informações duplicadas na rede. Após a eleição, os anúncios de LSA são feitos ao roteador designado e ao roteador designado de backup usando um endereço de multicast 224.0.0.6. O roteador designado distribui os anúncios usando o endereço de multicast 224.0.0.5.

Page 31: Sistemas Autônomos e Roteamento na Internet

Cabeçalho OSPF

Version (2) Tipo de Mensagem Tamanho da Mensagem

Identificador de Roteador

Byte 1 Byte 2 Byte 3 Byte 4

Identificador de Área

Checksum da mensagem

Dados de autenticação...

Reservado

Tipo de Autenticação

ID de Chave Tamanho da Autentic.

Número de sequência

Cabeçalho OSPF

Todas as mensagens OSPF possuem um cabeçalho comum, conforme indicado na figura. A versão atual do OSPF é a 2. O tipo da mensagem identifica qual mensagem OSPF estásendo transportada após o cabeçalho.

Um roteador OSPF deve ter um identificador único em todo o sistema autônomo. Essa identificação é feita através de dois campos do cabeçalho: identificador de roteador e identificador de área. O identificador de roteador é, por recomendação, o menor endereço IP do roteador. O identificador de área identifica a área OSPF a qual a interface que enviou a mensagem pertence. Esse parâmetro é configurado pelo administrador do roteador.

Assim como o RIPv2, o OSPF permite incluir informações de autenticação nas mensagens OSPF, para evitar que roteadores “mal-intecionados” ou “mal-configurados” contaminem a base de estados de enlace da rede. Os campos Tipo de Autenticação, Dados de Autenticação, ID de Chave, Tamanho da Autenticação e Número de Seqüência, estão todos relacionados ao processo de autenticação.

Os seguintes tipos de autenticação são suportados:

tipo 0: sem autenticação (os campos de autenticação são ignorados)tipo 1: senha simples (utiliza uma senha de 64 bits não criptografada)tipo 3: autenticação criptográfica MD5

Page 32: Sistemas Autônomos e Roteamento na Internet

Mensagem Hello

Máscara de rede

Byte 1 Byte 2 Byte 3 Byte 4

Intervalo de Hello

Roteador designado

Roteador designado de backup

Intervalo de morte do roteador

Primeiro Vizinho

Mensagem Hello

Opções Prioridade Roteador

Outros Vizinhos

A mensagem Hello permite detectar novos vizinhos (roteadores com suporte a OSPF) e verificar se eles estão ativos. As mensagens Hello são enviadas em intervalos de 10 segundos. Caso um roteador deixe de enviar mensagens Hello por mais do que 40 segundos, ele é considerado inativo.

As mensagens Hello também são usadas para eleger o roteador designado. Quando o serviço OSPF é configurado em um roteador, o administrador de rede pode setar um valor de “Prioridade do Roteador”, que é transportado na mensagem Hello. O roteador com maior prioridade é eleito. Caso haja empate, o desempate entre prioridades é feito para o roteador com ID mais alto (o ID é geralmente o menor endereço IP do roteador).

A mensagem Hello também carrega a lista de todos os vizinhos conhecidos pelo roteador. Os vizinhos são identificados pelo seu ID (menor endereço IP).

Page 33: Sistemas Autônomos e Roteamento na Internet

Mensagem DataBase Description

MTU da Interface Opções

Número de sequência da descrição do banco de dados

Byte 1 Byte 2 Byte 3 Byte 4

Idade do Estado de Enlace

Identificador de Estado de Enlace

Roteador Anunciante

Opções

Número de sequência do Estado de Enlace

Database Description

Reservado I M S

Tipo do Est. Enlace

Checksum Tamanho

Outros Cabeçalhos de Anúncio de Estado de Enlace

....

LSA H

eade

r

A mensagem database description transporta um sumário da base de estados de enlace. Cada entrada da base corresponde a informação sobre um enlace de um roteador da rede. O anúncio completo de uma entrada da base é denominado LSA (Link State Advertisement).

A mensagem database description não transporta todos os dados da entrada, somente seu cabeçalho. Por isso, a mensagem é composta por uma lista de “LSA Headers”. O objetivo dessa mensagem é oferecer uma lista de tudo o que o roteador conhece sobre a rede. Se algum roteador estiver interessado em obter mais informações sobre um dado enlace, então ele precisará fazer uma solicitação explícita do LSA desejado, utilizando a mensagem “Link State Request”.

O campo MTU indica o tamanho máximo do pacote que a interface que enviou a mensagem é capaz de transportar sem fragmentação. O campo opções traz diversas informações sobre a interface, como o suporte a multicast e a capacidade de criar circuitos.

O LSA Header possui vários campos, mas o mais importante é o identificador de estado de enlace, que nada mais é do que o endereço IP da interface sobre a qual é possível solicitar mais informações.

33

Page 34: Sistemas Autônomos e Roteamento na Internet

Mensagens Link State Update

Byte 1 Byte 2 Byte 3 Byte 4

Contador de Anúncios (número de LSAs)

Idade do Estado de Enlace (LS)

Link State Acknowledge (LSU = N X LSA)

Opções Tipo de LS

Identificador de estado do enlace

Roteador Anunciado

Número de Sequência de Estado do Enlace

Checksum do Estado de Enlace (LS) Tamanho

Flags Reservado Número de Enlaces

Identificador de Enlace (IP ou Subrede)

Dado do Enlace (Máscara de Subrede)

Tipo de Enlace Contador de TOS Métrica Padrão

TOS Reservado Métrica do TOS

A mensagem de Link State Update pode transporte um ou mais anúncios de estado de enlace (LSA). No OSPF são utilizados 4 tipos de LSA:

Tipo 1: Router-Link Entry. Correspondem a anúncios de enlaces de roteador. São produzidos por todos os roteadores e são espalhados dentro de uma única área.

Tipo 2: Network-Link Entry. Correspondem a anúncios de enlaces de rede. São produzidos pelo roteador designado e são espalhados em uma única área.

Tipo 3 e 4: Summary-Link Entry. Correspondem a anúncios resumidos de enlace. São produzidos pelos roteadores de fronteira de área ABR. Descrevem rotas para destinos em outras áreas e para os roteadores de fronteira de AS.

Tipo 5: Autonomous System External Link Entry. Correspondem a anúncios de enlace oriundos de outros sistemas autônomos. São produzidos pelos roteadores de fronteira AS e são espalhados por todos as áreas.

Page 35: Sistemas Autônomos e Roteamento na Internet

Mensagens Link State Acknowledge

Byte 1 Byte 2 Byte 3 Byte 4

Link State Acknowledge

Idade do Estado de Enlace

Identificador de Estado de Enlace

Roteador Anunciante

Opções

Número de sequência do Estado de Enlace

Tipo do Est. Enlace

Checksum Tamanho

Outros Cabeçalhos de Anúncio de Estado de Enlace

....

LSA H

eade

r

A mensagem de reconhecimento de estado de enlace (link state acknowledge), é enviada pelos roteadores que receberam anúncios de estado de enlace (LSA), através de mensagens de link update.

Essa mensagem é muito similar a mensagem de descrição de base dados (database description), pois ela é formada por uma lista de LSA headers que estão sendo confirmados.

Uma vez que todo os processo de sincronização foi encerrado, todas as mensagens OSPF, com exceção da mensagem Hello, param de ser enviadas. Novas mensagens de database description, link state update e link state acknowledge só serão enviadas em duas situações: quando um roteador apresentar falha na rede ou quando um novo enlace for descoberto por algum roteador da rede.

O caso de falha é detectado através das mensagens Hello. Quando um roteador percebe que algum de seus vizinhos parou de enviar mensagens Hello por mais do que 40 segundos, ele considera que os enlaces do vizinho estão inativos, e envia mensagens para os demais roteadores informado apenas essa alteração. O mesmo acontece quando um novo roteador éintroduzido na rede.

Page 36: Sistemas Autônomos e Roteamento na Internet

BGP: Border Gateway Protocol

AB

Open [unicast]

Open ou Notification [multicast]

Update [unicast]

Update [unicast]

KeepAlive [unicast]

KeepAlive [unicast]

Route Refresh [unicast]

Route Refresh [unicast]

BGP

Speaker

BGP

Speaker

O BGP (Border Gateway Protocolol) é um protocolo de roteamento por vetor de caminho. Seu uso é padronizado para sincronização de rotas entre sistemas autônomos (AS). A versão atualmente utilizada do BGP é a 4, definida na RFC 1771. A motivação para criação do BGP foi segmentar a Internet em domínios (ASs) administrados independentemente. Sem essa divisão, a quantidade de rotas divulgadas na Internet seria incrivelmente alta, levando a um colapso da rede. Graças ao BGP, é possível divulgar apenas rotas agregadas para fora de um AS.

O BGP é um protocolo mais restritivo do que o OSPF, uma vez que nesse modelo, deseja-se ter um controle mais apurado de quais rotas são divulgadas e para quem. Por essa razão, o BGP foi desenvolvido sobre o TCP (porta padrão 179). De forma semelhante ao OSPF, o BGP utiliza um cabeçalho padrão seguido de 5 tipos de mensagem distintos.

Open (Tipo 1): inicia uma sessão e negocia recursos opcionais entre um par de roteadores BGP

Update (Tipo 2): anuncia informações de roteamento de um roteador BGP para outro

Notification (Tipo 3): usada para indicar problemas com as mensagens Open ou Update

KeepAlive (Tipo 4): utilizada para verificar se o parceiro está ativo

Route-Refresh (Tipo 5): requisita que um roteador BGP re-anuncie todas as suas rotas

Page 37: Sistemas Autônomos e Roteamento na Internet

Cabeçalho BGP

Marcador

Marcador (cont.)

Byte 1 Byte 2 Byte 3 Byte 4

Marcador (cont.)

Tamanho da Mensagem

Marcador (cont.)

Tipo da Mensagem Versão (4)

Cabeçalho BGP

Open

O cabeçalho BGP contém apenas quatro campos: Marcador, Tamanho da Mensagem, Tipo de Mensagem e Versão.

O campo Marcador de 16 bytes existe por razões históricas, e sua principal função é marca o início de uma mensagem BGP. Todas as mensagens BGP trazem esse campo preenchido com 0xff....ff.

O campo tamanho tem 2 bytes, mas o tamanho máximo de uma mensagem BGP é 4096 bytes.

O campo Tipo de 1 byte define um dos cinco tipos possíveis de mensagem BGP.

Um segmento TCP pode transmitir várias mensagens BGP simultaneamente. Por exemplo, épossível ter em um único segmento uma mensagem Keep Alive e várias mensagens Update. Mesmo nesse caso, o cabeçalho BGP precisa ser repetido para cada mensagem.

Page 38: Sistemas Autônomos e Roteamento na Internet

Cabeçalho BGP e Open

Byte 1 Byte 2 Byte 3 Byte 4

ID AS Tempo de Suspensão

Identificador BGP

Tamanho Opcoes Parâmetros Opcionais

Parâmetros Opcionais

Open

A mensagem OPEN é utilizada para estabelecer um canal de comunicação BGP entre um roteador e seu parceiro. Os parceiros BGP não são descobertos como no caso do OSPF, mas indicados pelo administrador do roteador durante o processo de configuração do BGP. Isso acontece porque no BGP estamos falando de troca de rotas entre redes pertencentes a instituições diferentes. Então, somente aquelas instituições que possuem algum tipo de acordo, irão participar de uma negociação BGP. Os campos da mensagem Open são os seguintes:

Identificador de AS: número de 16 bits obtido junto a autoridade de registro (e.g. 61033) ou atribuído de forma privada (para comunicação entre AS de uma mesma instituição isolados da Internet). Os números de AS privado devem estar entre 64512 a 65535.

Tempo de Suspensão: determina o tempo que o roteador espera (em segundos) sem keepalive, antes de considerar a sessão (isto é, o roteador parceiro) como morta. Geralmente as mensagens de Keep Alive são enviadas a cada 30 segundos, e o tempo de suspensão é de 90 segundos (isto é, a perda de 3 mensagens consecutivas indica que o roteador deve estar inoperante).

Identificador de BGP: é o endereço IP da interface do roteador

Parâmetros Opcionais: seguem o formato TLV (Tipo – Tamanho – Valor). Existem inúmeras opções disponíveis, com por exemplo, opções de autenticação e capacidades adicionais - AS 4 bytes.

Page 39: Sistemas Autônomos e Roteamento na Internet

Mensagem BGP: Update

Tamanho das Rotas Retiradas

Tamanho do Atributos do Caminho

Byte 1 Byte 2 Byte 3 Byte 4

Update

rotas retiradas

atributos de caminho (rota anunciada)

informações de acesso a camada de rede

Lista de atributos da rota que está sendo anunciada. Cada atributo segue o formato Tipo-Valor-Comprimento

Tamanho do NLRI

Corresponde a uma lista de prefixos que pode ser acessado através da rota anunciada. Exemplo: 200.1.2.0/24, 200.1.3.0/24, 60.1.0.0/16, etc.

Corresponde a uma lista de prefixos que está deixando de ser ofertado pelo roteador. Exemplo: 200.1.2.0/24, 200.1.3.0/24, 60.1.0.0/16, etc.

A mensagem de update permite adicionar ou remover novas rotas. Ela é composta de 3 seções: Rotas Retiradas (Withdraw Routes), Atributos de Caminho (Path Attributes) e Informações de Acesso a Camada de Rede (NLRI - Network Layer Reachability Information).

A seção de rotas retiradas só será utilizada caso o roteador deseje remover a oferta de rotas feitas anteriormente. Caso não haja rotas a serem retiradas, o valor do campo "Tamanho das Rotas Retiradas" é zero. As rotas removidas são identificas pelo seu prefixo, utilizando dois campos: Tamanho (Número de Bits do Prefixo, similar a máscara de subrede) e o Prefixo. Por exemplo, para remover a rota 200.1.2.0/24 o BGP informaria: Tamanho igual a 24 e Prefixo igual a 200.1.2. Bits iguais a zero são sempre adicionados para que o prefixo seja múltiplo de 8.

A seção de atributos de caminho e informações de acesso a camada de rede [NLRI] estão diretamente relacionadas. A seção de atributos de caminho define um conjunto de atributos que é comum a todas as rotas anunciadas pela mensagem UPDATE. As rotas anunciadas, propriamente ditas, são listadas na seção NLRI na forma de uma lista de prefixos, representados de forma idêntica ao da seção de rotas retiradas, isto é, com os campos Tamanho e Prefixo.

Page 40: Sistemas Autônomos e Roteamento na Internet

Atributos de Caminho

AS-PATH: {SA1}NEXT-HOP: BNLRI: {2001.2.0/24, 200.1.3.0/24}

200.1.2.0/24

200.1.3.0/24

200.2.3.0/24

200.2.2.0/24

E F

G H

SA2

I J

K L

SA3

A B

C D

SA1 AS-PATH: {SA2}NEXT-HOP: HNLRI: {200.2.2.0/24, 200.2.3.0/24}

AS-PATH: {SA1,SA2}NEXT-HOP: HNLRI: {2001.2.0/24, 200.1.3.0/24}

update

update

Em uma única mensagem Update é possível anunciar um conjunto de prefixos. Contudo, todos os prefixos anunciados em uma mensagem precisam pertencer a um caminho idêntico. Caso um roteador BGP precise anunciar múltiplos prefixos com caminhos distintos, múltiplas mensagens de Update precisam ser enviadas.

Considere o exemplo mostrado na figura. O roteador BGP "D" do sistema autônomo 1 deseja anunciar os prefixos 200.1.2.0/24 e 200.1.3.0/24. Ele pode fazer isso enviando uma única mensagem Update para o roteador H do sistema autônomo 2, pois ambos os prefixos são acessíveis pela mesma rota. Uma rota BGP é descrita por um conjunto amplo de atributos, mas os dois principais são:

AS-PATH: seqüência completa de AS até o destino anunciado, usado para detectar loops

NEXT-HOP: endereço do roteador BGP que corresponde ao primeiro salto do caminho

O roteador H por sua vez, precisa anunciar quatro prefixos para o roteador L do sistema autônomo 3. Dois desses prefixos pertencem ao próprio sistema autônomo 2 e dois prefixos são oriundos do sistema autônomo 1. Nesse caso, como o atributo AS-PATH não é idêntico para todos os prefixos, duas mensagens Update precisam ser utilizadas.

Page 41: Sistemas Autônomos e Roteamento na Internet

Conclusão

• A Internet está organizada em sistemas autônomos (AS)

• A configuração de rotas dos roteadores da Internet é realizada de forma automática, utilizando-se protocolos de roteamento.

• Os protocolos de roteamento para rede IP se dividem em duas grandes categorias: IGP (configuração de rotas no interior do AS) e EGP (configuração de rotas entre AS).

• Existem vários protocolos IGP para redes IP: RIP, OSPF, IS-IS. Os protocolos baseados em estado de enlace, como o OSPF e o IS-IS são considerado mais adequados para redes grande.

• O único protocolo aceito como EGP para Internet é o BGP.

Nesse módulo, nós apresentamos o conceito de sistemas autônomos e protocolos de roteamento. O uso de protocolos de roteamento é bastante comum em empresas de grande porte e obrigatório em operadoras que prestam serviço de acesso a Internet.

Em redes de pequeno porte é ainda possível configurar roteadores manualmente, ou utilizar um protocolo de roteamento simples, como o RIP.

Para redes de grande porte, contudo, os protocolos de roteamento trazem a vantagem de serem capazes de corrigir rotas de forma dinâmica e automática. Isto é, se existir caminhos alternativos, os protocolos de roteamento são capazes de ativar rotas de maior custo no caso de falhas físicas ou mesmo de software das rotas de menor custo.

Para os alunos que desejarem procurar mais informações sobre a organização da Internet em sistemas autônomos, recomenda-se a consulta dos seguintes endereços:

http://logbud.com/visual_trace (rastreamento de rotas entre AS)

http://www.asnumber.networx.ch/ (plugin de AS para o firefox)

http://www.bgp4.as/internet-exchanges (IXP no mundo)

http://bgplay.routeviews.org/bgplay/ (visualização de rotas entre AS)

41