Você está na página 1de 30

Curso de

TCP-IP
Avançado
V.2.0

abril de 2004
AVISO IMPORTANTE
Esta apostila é parte integrante do Curso de TCP-IP Avançado,
desenvolvido pela TopMaster para a Embratel.
O objetivo deste documento é apresentar uma versão textual
do conteúdo do curso online para a conveniência do aluno.
Sua leitura não substitui o estudo online, pois este oferece interações e
animações que não podem ser representadas no formato impresso.

Curso de TCP-IP Avançado 2 de 30


1. Roteamento IP Avançado

1.1. O Conceito de AS
A definição clássica de um Autonomous System é um conjunto de roteadores sob uma única
administração técnica que usam um mesmo IGP (Interior Gateway Protocol) e métricas comuns
para efetuar o roteamento dos pacotes dentro do AS, além de utilizarem um EGP (Exterior
Gateway Protocol) para rotear os pacotes aos outros ASs. No entanto, desde que esta definição
clássica foi desenvolvida, tornou-se comum um único AS usar vários IGP's e até diversas
métricas para a troca de informações de roteamento internas ao AS.

Com isso, uma definição mais apropriada para o termo Autonomous System deve considerar que,
mesmo quando existem múltiplos IGPs e métricas, um AS aparece para outros ASs como um
conjunto coerente de redes que possui uma única e clara política de roteamento totalmente 'invisível'
para os outros ASs, e que permite que estes alcancem as redes internas do AS através do uso dos
EGPs, que são executados nos roteadores que fazem a interface entre os Autonomous Systems.

Curso de TCP-IP Avançado 3 de 30


Os ASs são identificados por um número globalmente unívoco, freqüentemente referido como
ASN (Autonomous System Number). Este número é usado tanto na troca da informação entre
ASs quanto como um identificador interno do AS.

Os valores de AS variam de 0 a 65535 para o BGP (Border Gateway Protocol), que vem a ser o
EGP usado para roteamento entre ASs na Internet, sendo que os valores de 64512 a 65535 são
destinados a ASs privativos usados em redes internas e não propagados externamente.

Como regra geral, recomenda-se colocar o maior número de blocos de endereçamento IP dentro
de um mesmo AS, respeitando a premissa de que todos devem estar em conformidade com a
mesma política de roteamento.

Considera-se fundamentalmente que a obtenção de um AS para um conjunto de blocos de


endereçamento IP somente é necessária quando temos uma política de roteamento diferente à dos
roteadores de borda que nos conectam com o resto da Internet. Definimos como política de
roteamento o modo pelo qual os outros ASs tomam decisões de roteamento para alcançar os blocos
de endereço IP do meu Autonomous System baseadas nas informações fornecidas por ele.

Tipos de AS
AS Trânsito São ASs usados como passagem de tráfego entre ASs.

Stub AS São ASs como um único ponto de entrada/saída. Não há tráfego de outros ASs
passando por um Stub AS.

Curso de TCP-IP Avançado 4 de 30


1.2. Protocolo EGP
O protocolo EGP (Exterior Gateway Protocol) é um protocolo de roteamento do tipo externo, ou
seja, é utilizado pelos roteadores que conectam diferentes ASs (Autonomous Systems), os
chamados 'exterior routers', para anunciar as informações que permitem a comunicação entre
diferentes ASs.

O EGP foi o protocolo de roteamento externo mais utilizado para interligação dos diversos ASs
da Internet até o início dos anos 90, quando o principal backbone da grande rede pertencia à
National Science Foundation, instituição de pesquisa vinculada ao governo dos EUA.

O EGP está fundamentado em três tipos de processo de comunicação:


• Estabelecimento de vizinhança: para que a troca de informação entre exterior
routers seja possível, é preciso que os mesmos estabeleçam uma relação de
vizinhança (neighboring). A partir daí, as informações de controle e roteamento
poderão ser trocadas entre os, agora, exterior neighbors routers.
• Verificação do estado do roteador neighbor: Os exterior neighbors checam
periodicamente se o seu parceiro está UP por meio de mensagens de controle
trocadas entre eles.
• Troca de informação de roteamento: Após o estabelecimento da vizinhança e
depois da verificação do estado do EGP neighbor, os exterior neighbor routers
estão prontos para trocarem as informações de roteamento que permitirão que os
hosts localizados em seus respectivos ASs consigam comunicar-se entre si.

Curso de TCP-IP Avançado 5 de 30


Tipos de mensagem do protocolo EGP
O funcionamento do EGP baseia-se em três tipos de comunicação entre os roteadores que
executam o protocolo: estabelecimento de vizinhança (Neighbor Acquisition), verificação do
estado do roteador neighbor (Neighbor Reachability) e troca de informação de roteamento.

Essas três categorias ou tipos de mensagens podem ser divididas em nove subtipos definidos pelo
protocolo EGP para sua execução.

Independentemente do tipo de mensagem EGP que está sendo enviada, encontraremos os


seguintes campos comuns a todos os pacotes de mensagens:

Version
Identifica a versão do EGP usada pelo remetente. O roteador que recebe a mensagem verifica se a versão
do EGP que se está usando é compatível.
Type
Identifica o tipo de mensagem.
Code
Identifica o subtipo para cada tipo de mensagem.
Status
Informa o status. Os valores diferem dependendo do tipo de mensagem.
Checksum
Verifica a integridade da mensagem.
Autonomous System Number (ASN)
Identifica o AS ao qual pertence o roteador remetente.
Sequence Number
Número usado para identificar mensagens enviadas e suas respostas. Quando dois roteadores tornam-se
neighbors, cada um determina um número seqüencial inicial para suas mensagens. Cada mensagem é
enviada com o seqüencial e as respostas a essas mensagens contêm o mesmo número de seqüência.

Descrição das mensagens EGP


A tabela, a seguir, resume os tipos de mensagens do protocolo EGP, bem como os subtipos de
mensagens. Clique em cada um deles para saber mais sobre o tipo ou subtipo referido.

Curso de TCP-IP Avançado 6 de 30


Neighbor Acquisition Request: Solicitação para torna-se um neighbor
Acquisition Acquisition Confirm: Resposta positiva ao Acquisition Request
Acquisition Refuse: Resposta negativa ao Acquisition Request
Cease Request: Solicita o fim de uma relação de neighbor
Cease Confirm: Resposta de confirmação ao Cease Request

Neighbor Hello: Solicita ao neighbor que responda se estiver 'vivo'


Reachability I Heard You: Resposta ao Hello

Informação de Poll Request: Solicita a atualização das informações de roteamento


roteamento Routing Update: Informações de roteamento

Mensagens de Estabelecimento de Vizinhança (Neighbor


Acquisition Messages)
A fim de iniciar o processo de comunicação EGP, um roteador envia uma mensagem de Neighbor
Aquisition ao seu par pertencente a outro AS para, com isso, criar a relação de vizinhança entre
ambos.

Além dos campos comuns a todas as mensagens EGP, dois campos são específicos das
mensagens de Neighbor Acquisition: Hello Interval e Poll Interval.

As mensagens de Neighbor Acquisition são do tipo 3 e possuem 5 subtipos identificados pelos


códigos de 0 a 4.

O cabeçalho completo deste tipo de mensagem fica, portanto, como se segue:

Code (0 a 4)
Subtipos das Mensagens de Neighbor Acquisition (Type 3)
Code 0: Acquisition Request
Code 1: Acquisition Confirm
Code 2: Acquisition Refuse
Code 3: Cease Request
Code 4: Cease Confirm
Hello Interval - Especifica o intervalo de tempo que deverá ser usado entre os neighbors para a
verificação de estado de seus pares (se Up ou Down).

Curso de TCP-IP Avançado 7 de 30


Mensagens de Verificação do Estado do Roteador Neighbor
(Neighbor Reachability Messages)
O mecanismo pelo qual o EGP verifica se o roteador neighbor está UP, ou seja, apto a receber as
mensagens de atualização de rotas, é o envio de mensagens de Hello. A cada n segundos,
definidos no estabelecimento dos neighbors, um dos pares envia uma mensagem de Hello para o
seu neighbor que responde com a mensagem I Heard You, confirmando, dessa forma, seu estado
de 'vivo' e operante.

Considerando a hipótese de perda de mensagens por motivos como congestionamento na rede ou


aumento na taxa de erros do meio físico, o EGP tem como padrão aguardar 2 pacotes de
mensagem de Hello não respondidas para considerar o estado do neighbor como DOWN. Da
mesma forma, é preciso que haja 2 respostas consecutivas a mensagens de Hello para que um
neighbor que encontrava-se em estado DOWN seja considerado novamente operante.

O formato das mensagens de Hello e sua resposta I Heard You consiste no cabeçalho padrão do
EGP com campo de tipo igual a 5 e dois subtipos (códigos) iguais a 0 e 1, significando Hello e I
Heard You, respectivamente.

Code (0 a 1)
Subtipos das Mensagens de Neighbor Reachability (Type 5)
Code 0: Hello
Code 1: I Heard You

Curso de TCP-IP Avançado 8 de 30


Mensagens de troca de informação de roteamento
As informações de atualização de rotas são passadas via mensagens de Routing Update em
resposta a mensagens de solicitação de informações de roteamento do tipo Poll Request.

Mensagem Poll Request


Depois de transcorrido o tempo acordado durante o processo de estabelecimento de
vizinhança para solicitação de informação de rotas (Poll Interval), um dos pares envia um
Poll Request contendo o cabeçalho padrão EGP e o campo IP Source Network. Esse
campo identifica a rede comum aos ASs de ambos os EGP neighbors, que muitas das
vezes consiste na própria rede que conecta os EGP neighbors.

Mensagem de Routing Update


A mensagem de Routing Update, enviada em resposta ao Poll Request, contém uma lista
de gateways localizados na rede comum (IP Source Network) e a lista de redes que
podem ser acessadas através desses gateways.

Dois tipos de listas de gateways podem ser enviadas:

Lista Interna (Interior Gateways)


Contém somente os gateways pertencentes ao mesmo AS do EGP neighbor que
envia a mensagem de Routing Update.

Curso de TCP-IP Avançado 9 de 30


Lista Externa (Exterior Gateways)
Contém gateways de outros ASs que são também caminho para as redes em
questão.

É importante observar que as listas internas e externas NÃO são incluídas na mesma
mensagem; elas são sempre anunciadas em mensagens distintas.

As distâncias são medidas em hop counts, isto é, pela quantidade de roteadores que são
transpassados entre a Source Network e as redes contidas no bloco de mesma distância
(Distance 1, Distance 2,..., Distance n).

Curso de TCP-IP Avançado 10 de 30


Entretanto, essas distâncias não são levadas em conta como indicadores de melhor rota na
comunicação entre os exterior routers de diferentes ASs. O fato de existir uma métrica de
distância somente indica que a rede anunciada pode ser alcançada através do gateway
associado. Na verdade, a arquitetura do EGP considera que somente deve haver 1
caminho para qualquer rede participante, não considerando, portanto, rotas alternativas.

A mensagem de Routing Update tem a seguinte estrutura:

# Interior Gateways: Número de Interior Gateways que aparecem na mensagem.


# Exterior Gateways: Número de Exterior Gateways que aparecem na mensagem.
IP Source Network: Rede a partir da qual as distâncias são medidas.

Curso de TCP-IP Avançado 11 de 30


Gateway n IP Address: Endereço IP do gateway n da lista.
# Distances: Número de distâncias existentes para um mesmo gateway.
Distance n: Identifica a quantidade de hop counts para se alcançar as redes contidas neste
bloco.
# Networks: Número de redes existentes alcançáveis através da mesma distância.
Network n: Endereço IP da rede.

Limitações do Protocolo EGP


O EGP foi inicialmente projetado para uma Internet de dimensões reduzidas onde o backbone
NFSNet era formado por uma quantidade muito pequena de roteadores. Com o estouro da Internet
comercial, este protocolo mostrou muitas deficiências que fizeram com que o BGP fosse a
solução escolhida a partir do início dos anos 90.

Algumas das limitações do EGP que lhe conferem um baixo grau de escalabilidade, são:
- Toda a conectividade é perdida em caso de falha dos roteadores conectados
diretamente ao backbone principal (core system routers);
- O EGP somente permite o anúncio de 1 caminho para cada rede;
- Não permite balanceamento de carga entre ASs mesmo que existam múltiplos
roteadores fazendo a conexão entre eles;
- O EGP não se adequa à arquitetura de redes com múltiplos backbones.

A seção sobre o protocolo BGP mostra, entre outros assuntos, como o BGP trata estas limitações.

1.3. Protocolo BGP


O Border Gateway Protocol (BGP) é um protocolo de roteamento tipicamente usado para
viabilizar a comunicação entre ASs. Foi construído baseado na experiência obtida com o EGP no
backbone da NSFNET como descrito nas RFCs 1092 e 1093.

O BGP é um protocolo bastante robusto e escalável, evidenciado pelo fato de que o BGP é
amplamente empregado no backbone da Internet nos dias de hoje.

O BGP necessita estabelecer uma sessão TCP para que a troca de informações possa acontecer. O
TCP atende às exigências de transporte do BGP e é suportado por praticamente todos os
roteadores e hosts comerciais. O BGP usa a porta TCP/179 em suas conexões.

Estima-se que as tabelas de rotas BGP da Internet somam atualmente mais de 90.000 entradas.
Para conseguir uma escalabilidade nesse patamar, o BGP usa atributos para definir políticas de
distribuição de rotas e manter um ambiente de roteamento estável.

Curso de TCP-IP Avançado 12 de 30


Além dos atributos que definem as políticas de roteamento, o suporte ao CIDR (Classless Inter-
Domain Routing) é outra feature importante do BGP, que permite reduzir o tamanho das tabelas
de rotas da Internet.

Exemplo:

CIDR - Classes Inter-Domain Routing

Suponha que um ISP tenha recebido o bloco 195.10.x.x do espaço de endereçamento da classe C. Este
bloco consiste em 256 redes classe C: de 195.10.0.x até 195.10.255.x. Consideremos então que o ISP
ceda um bloco de rede classe C a cada um de seus clientes. Sem CIDR, o ISP anunciaria 256 entradas de
rede classe C a seus pares BGP. Com CIDR, é possível fazer o supernetting desse bloco, anunciando
somente uma rota para os outros roteadores, o que significa somente uma entrada na tabela de
roteamento: 195.10.x.x. Ou seja, o BGP desconsidera as distinções tradicionais de classes de
endereçamento (A, B e C) graças ao suporte ao CIDR, permitindo uma redução significativa em suas
tabelas de rotas.

Outra característica importante do BGP consiste no fato de que os roteadores somente trocam as
tabelas de rotas completas quando a conexão TCP entre os pares (peers) ou neighbors BGP é
estabelecida inicialmente. A partir daí, apenas as alterações são enviadas. Além disso, os roteadores
BGP não emitem updates periódicos de suas tabelas de roteamento e sim utilizam o método de
Triggered Updates onde as atualizações de rotas são enviadas somente quando algum evento pré-
definido dispara o processo de emissão de informações. Dessa forma, o uso da banda dos circuitos
de longa distância que comumente conectam os pares BGP (BGP peers) é otimizado.

iBGP e eBGP
iBGP ou Internal BGP é usado para troca de informações de roteamento entre roteadores dentro
do mesmo AS. Para que as mensagens iBGP possam ser trocadas, é preciso que exista a conexão
entre todos os roteadores do AS constituindo uma topologia lógica de Full-Mesh. eBGP ou
External BGP é usado para troca de informações de roteamento entre diferentes ASs. É preciso
que seja apenas estabelecida a sessão entre os Neighbors BGP diretamente conectados entre si.

Quando usar ou não o BGP


O BGP é um protocolo de roteamento bastante complexo e, portanto, a primeira análise a ser feita
é a que define a necessidade de usá-lo em detrimento a rotas estáticas ou rotas default.

Devemos usar o BGP quando:


- For necessária a comunicação entre ASs;
- Precisa-se manipular o tráfego de saída de nosso ASs. Por exemplo, quando
desejamos definir que o tráfego X sairá pelo roteador RX e o tráfego Y sairá pelo
roteador RY;
- Deseja-se conectar dois ou mais ISPs entre si;
- Deseja-se conectar uma empresa a mais de um ISP.

Curso de TCP-IP Avançado 13 de 30


Não devemos usar o BGP quando:
- O hardware do roteador não suporta a carga de processamento e de memória
exigida. Lembre-se de que a tabela BGP da Internet hoje contém em torno de
90.000 entradas;
- A empresa possui apenas 1 ligação com a Internet. Nesse caso, recomenda-se o
uso de rota default;
- Quando a conexão não possui banda suficiente para atender à carga de tráfego
requerida pelo BGP.

Mensagens BGP

Cabeçalho comum
Antes de entrarmos na análise dos detalhes de cada tipo de mensagem, apresentaremos os campos
do cabeçalho BGP comuns a todos os tipos de mensagem.

Marker
Serve para verificar a autenticidade da mensagem recebida e se houve perda de sincronização entre os
roteadores vizinhos BGP. Pode ter dois formatos: caso a mensagem seja do tipo OPEN (abrir), ou se a
mensagem tipo OPEN não possuir informação de autenticação, o campo deve estar todo preenchido com
números um (1); caso contrário, o campo terá o seu conteúdo baseado em parte do mecanismo de
autenticação usado.
Length
Indica o tamanho total da mensagem BGP, incluindo o cabeçalho.
Type
Tipo da mensagem que está sendo enviada. São 4 os tipos de mensagens utilizadas pelo BGP em seus
processos de roteamento:
Valor do campo Type 1: Mensagem OPEN
Valor do campo Type 2: Mensagem UPDATE
Valor do campo Type 3: Mensagem NOTIFICATION
Valor do campo Type 4: Mensagem KEEPALIVE

BGP OPEN Message


Esta é a primeira mensagem emitida logo após a sessão TCP ter sido estabelecida entre os BGP
peers. Nesta mensagem, é identificado o AS ao qual pertence o roteador. São acertados os
parâmetros do protocolo e temporizadores que serão usados ao longo da sessão.

Curso de TCP-IP Avançado 14 de 30


Mensagem BGP OPEN

Version
Indica a versão do BGP. Este campo permite que os BGP peers negociem a maior versão comum a ambas
as partes. Quando, por exemplo, um peer recebe uma mensagem indicando que a outra parte executa a
versão 4 e ele suporta uma versão inferior. O recipiente envia uma mensagem de erro e o remetente
solicita uma nova sessão com os parâmetros usados pela versão inferior.
My Autonomous System
ASN do roteador que envia a mensagem de OPEN.
Hold Time
Tempo máximo que os peers esperam antes de considerar a conexão terminada. O valor mínimo permitido
para este parâmetro é de 3 segundos.
BGP Identifier
Pela especificação do BGP, o identificador é um valor randômico e único escolhido pelo roteador no
momento do envio da mensagem OPEN. As implementações práticas usam o endereço IP da interface em
saída da mensagem ou, se definido, o endereço de loopback.
Optional Parameters Length
Indica o tamanho do campo de parâmetros opcionais (Optional Parameters).

Optional Parameters
Parâmetros opcionais incluídos na mensagem BGP OPEN.

BGP UPDATE Message


Esta mensagem carrega as mudanças de topologia. A mensagem de UPDATE pode conter uma
nova rota, rotas a serem removidas ou ambas.

Mensagem BGP UPDATE

Withdrawn Routes Lengh


Tamanho do campo Withdrawn Routes em octetos.

Curso de TCP-IP Avançado 15 de 30


Withdrawn Routes
Lista de rotas a serem excluídas, seja pelo fato de o caminho não mais existir ou pela inclusão de políticas
que limitem o acesso à rede destino.
Total Path Attributes Length
Tamanho do campo Total Path Attributes.
Path Attributes
São um conjunto de parâmetros associados a uma determinada rota que influenciam no processo de
decisão do BGP em relação à escolha da melhor rota. Mais adiante, estes atributos serão vistos com mais
detalhes.
Network Layer Reachability Information (NLRI)
São prefixos de endereços IP de informações no formato <comprimento, prefixo>. Um exemplo de
entrada seria: <24,200.210.10.0>, que indica uma rota para 200.210.10.0 255.255.255.0 (ou
200.210.10.0 /24, na notação CIDR).

Atributos BGP
Conforme visto, as mensagens UPDATE incluem o campo PATH Attributes que carrega
as informações dos atributos BGP para as rotas anunciadas no campo NLRI. Os Path
Attributes podem ser considerados como métricas usadas pelo BGP que passam pelos
routers para seus peers.

Categorias de atributos

Existem as seguintes categorias de atributos:


• Well-Known Mandatory
Trata-se de um atributo definido na especificação original do protocolo BGP.
Deve estar obrigatoriamente presente em todas as mensagens do tipo UPDATE e
deve ser reconhecido em todas as implementações do protocolo. Caso não esteja
presente na mensagem UPDATE, será enviada uma mensagem do tipo
NOTIFICATION informando o erro.
• Well-Known Discretionary
É o tipo do atributo reconhecido por todas as implementações do protocolo BGP
mas que não precisa estar obrigatoriamente presente em todas as mensagens
UPDATE enviadas.

Além dos atributos Well-Known, existem os opcionais, que podem ser transitivos ou não
e que não são obrigatoriamente suportados por todas as implementações do BGP.
Atributos transitivos são repassados nas mensagem de UPDATE para os peers seguintes.
• Optional Transitive
Se determinada implementação do BGP não reconhecer um atributo opcional ao
receber uma mensagem UPDATE, ela verificará se a flag Transitive está ativada
ou não para aquele atributo. Caso esteja, esse atributo é repassado nas mensagens
UPDATE seguintes, enviadas pelo roteador para seus pares.
• Optional Non-Transitive
Inverso do opcional transitivo. Se a implementação do BGP não reconhecer o
atributo opcional e não encontrar a flag transitive ativada, o atributo é ignorado e
NÃO é repassado para os vizinhos BGP nas mensagens UPDATE subseqüentes.

Curso de TCP-IP Avançado 16 de 30


Vale observar que TODOS os atributos Well-Known são transitivos.

Tipos de atributos
Vistas as quatro categorias de atributos, vamos descrever agora os tipos de atributos
encontrados nas mensagens de UPDATE do BGP.

ORIGIN
Well-Known Mandatory
Indica a origem do anúncio de rota ou NLRI (que indica o prefixo e a máscara de
bits) em relação ao AS que o originou. Pode conter um dos seguintes valores:

Valor Descrição

0 IGP
A origem é interna ao AS originário da mensagem (indicado por um "i"
na tabela de rotas), seja ela recebida através da redistribuição das rotas do
IGP para o BGP (do mesmo AS) ou pela simples configuração do BGP
naquele roteador.

1 EGP
A origem é de um AS externo e foi recebida por um anúncio de um EGP.
É identificada por um "e" na tabela de rotas. Este tipo de entrada
dificilmente será visto nas tabelas de rotas atualmente.

2 INCOMPLETE
A NLRI é desconhecida ou aprendida por outros meios (além dos acima).
Geralmente acontece quando uma rota estática (configurada
manualmente por um operador) é redistribuída no BGP e a origem da rota
fica incompleta. É indicada por um "?" na tabela de rotas.

AS PATH
Well-Known Mandatory
É uma seqüência de ASNs que uma rota cruza para alcançar uma determinada
rede de destino. O AS que origina uma rota acrescenta seu ASN ao anunciar uma
rota sua para seus peers BGP externos. Daí em diante, cada AS que receber a rota
acrescenta seu próprio ASN no início da seqüência de ASNs e repassa a rota para
outros peers seus que irão fazer o mesmo. A lista final vai representar todos os
ASNs que uma rota atravessou com o ASN do AS de origem da rota no final da
seqüência, também conhecida como AS_Sequence.

Caso um AS receba um anúncio de rota que contenha seu próprio ASN na seqüência
inclusa no AS_PATH, este anúncio será rejeitado e descartado, garantindo assim que não
haverá loop de roteamento na tabela BGP desse AS.

Curso de TCP-IP Avançado 17 de 30


Caso o AS_PATH seja anunciado para um vizinho do mesmo AS, a informação contida
no AS_PATH não é alterada.

A informação contida no AS_PATH é uma das usadas no processo de seleção da


melhor rota para determinado destino. Ao comparar duas rotas para um mesmo
destino (considerando que os outros atributos sejam idênticos), o BGP vai
preferir a que possuir o AS_PATH menor. Caso o caminho (path) seja do mesmo
tamanho, o BGP vai usar outros atributos para fazer a sua escolha da melhor rota.

NEXT HOP
Well-Known Mandatory
Este atributo contém o endereço IP da interface do próximo roteador - próximo
salto (next hop) a ser dado - para se chegar a determinado destino, ou seja, às
redes de destino incluídas na mensagem UPDATE.

Um roteador BGP nunca deve anunciar como NEXT_HOP o IP do roteador de


onde foi originada a mensagem de UPDATE recebida, a fim de evitar loops de
roteamento.

MED - MULTI_EXIT_DISCRIMINATOR
Optional Non-Transitive
Este atributo tem como finalidade informar para os vizinhos BGP externos
(peers) qual o melhor caminho (path) para uma determinada rota do próprio AS,
influenciando-os, assim, em relação ao caminho a ser seguido no caso de o AS
possuir diversos pontos de entrada.

O MED é anunciado somente entre ASs. No entanto, só o AS de origem pode


fazer anúncios com valores neste atributo. Um AS vizinho que receba o atributo
via mensagem UPDATE não pode repassar o valor desse atributo a outros ASs
fazendo uso dos mesmos apenas para tomadas de decisão internas do AS.
Um exemplo seria quando o anúncio da rota é repassado a um terceiro AS e o
atributo MED recebe o valor 0 (zero). O BGP seleciona a rota que possuir o
atributo MED com menor valor. Havendo contato com mais de um vizinho BGP
pertecentes a um mesmo AS que façam anúncios com métrica, o roteador (do AS
vizinho) que receber os UPDATEs vai comparar as métricas para os caminhos
oferecidos por estes roteadores, se ele não for configurado para o contrário.

LOCAL_PREF (Local Preference)


Well-Known Discretionary
Este atributo anuncia qual é o caminho preferencial de saída (de pacotes) para
uma determinada rota, destinada a uma rede externa ao AS. Como o próprio
nome do atributo sugere, o LOCAL_PREF somente é anunciado (repassado)
entre os roteadores vizinhos BGP (iBGP) do mesmo AS e não é repassado aos
roteadores vizinhos externos (eBGP). Caminhos (paths) que possuem o
LOCAL_PREF com maior valor são preferidos pelo BGP. O valor padrão do
LOCAL_PREF é 100.

ATOMIC_AGGREGATE
Well-Known Discretionary
Este atributo é usado por um roteador que, ao ter que selecionar uma rota dentre

Curso de TCP-IP Avançado 18 de 30


outras recebidas de seu peer que se sobrepõem, escolhe uma, ignorando a mais
específica. Então, ele deve incluir o atributo ATOMIC_AGGREGATE à rota
quando for propagá-la a seus vizinhos (caso o atributo ainda não esteja presente
na rota menos específica recebida).

Um roteador que receba uma rota com o atributo ATOMIC_AGGREGATE não


deve removê-lo e não deve fazer nenhum NLRI da rota mais específica quando
for propagar a rota aos vizinhos BGP. Ele precisa também reconhecer que o
caminho atual para os destinos (como especificado no campo NLRI da rota),
respeitando a ausência de loops de roteamento, pode cruzar ASs que não estejam
listados no AS_PATH.

Outra observação importante: não é possível agregar um endereço sem ter uma
rota mais específica daquele endereço na tabela de roteamento. Por exemplo: um
roteador não pode gerar uma rota agregada para 196.0.0.0 sem possuir
previamente uma rota de 196.10.0.0 em sua tabela de roteamento.

AGGREGATOR
Optional Transitive
Este atributo pode ser incluído em mensagens UPDATE que sejam formadas por
agregação. O atributo AGGREGATOR contém o ASN do último roteador que
formou uma rota agregada, seguido de seu próprio ASN e endereço IP.

COMMUNITY
Optional Transitive
Este atributo é usado para representar um agrupamento de destinos que
compartilhem uma ou mais características que não estão restritas a um mesmo
AS, rede ou conjunto de redes. As delimitações do agrupamento são em termos
de Routing Policies (políticas de roteamento), podendo envolver mais de um AS,
inclusive. As comunidades (Communities) podem ser compostas de diversas
redes pertencentes a qualquer AS, usadas para simplificar políticas de roteamento
através da identificação de rotas por algum parâmetro lógico ao invés de prefixos
CIDR ou ASNs. Usando esses atributos, um roteador pode combiná-los com
outros para determinar para cada comunidade as rotas a serem aceitas,
descartadas, preferidas ou repassadas para outros vizinhos.

WEIGHT
Definido pela Cisco Systems, o WEIGHT não é propriamente um atributo BGP.
Ele influencia no processo de seleção da melhor rota do roteador onde for
definido e, como é um atributo local ao roteador, não é repassado e nem
propagado aos seus vizinhos nas mensagens UPDATE. O WEIGHT é um valor
decimal entre 0 e 65535, sendo o valor padrão igual a 32768, assumido para rotas
originadas pelo roteador. Outras rotas possuem o WEIGHT igual a 0 (zero), por
padrão. Havendo mais de uma possível rota para um mesmo destino, o BGP-4
seleciona a que possuir o atributo WEIGHT com maior valor.

Este atributo é comumente usado pelos operadores de redes para influenciar o


processo de escolha de rotas do BGP.

Curso de TCP-IP Avançado 19 de 30


BGP NOTIFICATION Message
Este tipo de mensagem é enviada no caso de detecção de erros durante ou após o estabelecimento
de uma sessão BGP.

Cód. Descrição Sub-códigos de erro

1 Erro no cabeçalho da mensagem Sub-código Descrição

1 Conexão não sincronizada

2 Comprimento da
mensagem inválido

3 Tipo de mensagem
inválido

2 Erro na mensagem OPEN Sub-código Descrição

1 Número de versão não


suportado

2 Número de AS vizinho
inválido

3 Identificador BGP inválido

4 Parâmetro opcional não


suportado

5 Falha na autenticação

6 Tempo de espera
inaceitável

3 Erro na mensagem UPDATE Sub-código Descrição

1 Lista de atributos mal


formada

2 Atributo Well-Known
desconhecido

Curso de TCP-IP Avançado 20 de 30


3 Atributo Well-Known
faltando

4 Erro nas flags de atributos

5 Erro no comprimento do
atributo

6 Atributo origem inválido

7 Loop de roteamento em
AS

8 Atributo NEXT_HOP
inválido

9 Erro no atributo Opcional

10 Campo de rede inválido

11 AS_path mal formado

KEEPALIVE Message
São mensagens trocadas periodicamente com o propósito de verificar se a comunicação entre os
vizinhos está ativa. A mensagem do tipo KEEPALIVE é composta apenas do cabeçalho padrão
das mensagens BGP, sem dados transmitidos após o cabeçalho. O tempo máximo permitido para
o recebimento de mensagens KEEPALIVE ou UPDATE é definido pelo hold time, como foi visto
na descrição do tipo de mensagem OPEN.

BGP Light
A Embratel oferece uma modalidade de BGP a seus clientes chamada de BGP Light.

Conforme especificado na RFC 1930, o bloco de ASNs entre 64512 e 65535 é reservado para uso
privado e estes não devem ser anunciados para o restante da Internet. Dessa forma, é possível
criar uma AS para um cliente, com os benefícios de administração, redundância dos links e
distribuição de tráfego, sem a necessidade de arcar com altos custos de roteadores de grande porte
capazes de manter a tabela inteira de BGP em sua memória.

Duas formas de roteamento são oferecidas:


• Full route: mantém todas as tabelas de rotas, o que exige muita memória do
roteador. Logo, este terá que ser de maior porte

Curso de TCP-IP Avançado 21 de 30


• Partial route: mantém as rotas nacionais, as rotas conectadas ao AS e as rotas
default com redundância, permitindo o roteamento em caso de queda de um link
pelo roteador remanescente.

Note que o cliente fica conectado a dois centros de roteamento diferentes, efetivamente
garantindo a redundância do link.

Lógica para seleção de rotas BGP


Com os conceitos básicos do BGP e, principalmente, com a compreensão dos atributos incluídos
nas mensagens de atualização (UPDATE), mostraremos como o BGP escolhe a melhor rota entre
dois pontos baseado nos PATH Attributes.

Curso de TCP-IP Avançado 22 de 30


1.4. Protocolo EIGRP
O protocolo Enhanced Interior Gateway Routing Protocol (EIGRP) é um protocolo de roteamento
interno (IGP) desenvolvido pela Cisco Systems. Conceitualmente, o EIGRP é um protocolo do
tipo Distance-Vector que possui algumas características comumente encontradas em protocolos
do tipo Link-State, o que o torna um protocolo de roteamento bastante versátil.

Curso de TCP-IP Avançado 23 de 30


O algoritmo de cálculo de melhor rota, DUAL (Diffusing Update Algorithm), permite uma rápida
convergência quando ocorrem mudanças na topologia. Uma rede converge quando, após uma
alteração de estado em um circuito, as tabelas de todos os roteadores que “conhecem” o circuito
são atualizadas.

O EIGRP somente envia Updates (atualizações) quando há alterações na topologia da rede e


apenas para os roteadores que precisam saber destas alterações (neighbors). Quando não existem
alterações, somente mensagens de Hello são trocadas entre vizinhos . Por não enviar Updates
periódicos para todos os roteadores, o uso da banda da rede é bastante otimizado.

O EIGRP suporta os principais protocolos rateáveis em uso atualmente – IP, IPX e Appletalk –
tornando-o uma opção apropriada para redes heterogêneas.

Relações de Vizinhança
Usando mensagens de Hello, o EIGRP estabelece e mantém relações de vizinhança (Neighboring
Relationship), sendo elas responsáveis por determinar o estado da conexão entre os neighbors. Ao
ser estabelecida a relação de vizinhança, as informações de roteamento podem ser trocadas entre
os neighbors.

As mensagens de Hello são trocadas por default a cada 5 segundos em circuitos ponto a ponto
como PPP, HDLC e Frame-Relay point-to-point. Este período é chamado de Hello Interval. O
período de tempo que um roteador aguarda antes de considerar o neighbor fora de operação é
chamado Hold-Time interval e o seu valor padrão é três vezes o Hello Interval, portanto, 15
segundos.

Curso de TCP-IP Avançado 24 de 30


Cada instância EIGRP sendo executada cria e mantém uma tabela de neighbors, contendo
informações como endereço IP e Hold-Time Interval referente a cada Neighbor.

O único momento em que o EIGRP anuncia as informações completas de roteamento é quando os


neighbors iniciam a comunicação. A partir daí, somente as alterações são divulgadas.

O EIGRP baseia-se em três tabelas para seu processo de descoberta, cálculo e anúncio de rotas.
São elas:
• Tabela de neighbors: Contém as informações de todos os vizinhos, tais como
endereço IP e Hold-Time Interval.
• Tabela de topologia: Contém as informações conseguidas pelo próprio roteador,
assim como as recebidas dos neighbors sobre todos os caminhos possíveis para
um determinado destino.
• Tabela de rotas: Contém os caminhos de menor custo para os destinos
aprendidos pelo próprio roteador ou via neighbors.

Cálculo da melhor rota


O algoritmo DUAL usado para o cálculo de melhor rota tem como importantes características a
possibilidade de uso de rotas secundárias ou stand-by, suporte a VLSM (Variable Length Subnet
Mask) e envio de querie para os neighbors em busca de rotas para destinos que não possuem
entradas na tabela de rotas do roteador local.

Sempre que uma mensagem de Update é recebida tratando de uma alteração na rota para um
destino ou destinos existentes na tabela de rotas local ou anunciando uma nova rota para um novo
destino, o processo de recálculo de rotas é iniciado.

Curso de TCP-IP Avançado 25 de 30


Quando a nova informação chega, é criada uma nova entrada na tabela de topologia. Essa tabela
pode armazenar até seis caminhos para o mesmo destino, o que significa que o EIGRP pode
selecionar a melhor rota dentre até seis caminhos redundantes.

A seleção é feita com base no custo de cada caminho que, por sua vez, é o resultado de métricas
que consideram fatores como banda passante (bandwidth), atraso (delay), confiabilidade
(reliability) e taxa de uso do circuito (load).
• Bandwidth: A vazão ou banda passante de um circuito. O valor default é dado
baseado no tipo de interface do roteador onde o circuito conecta-se, mas deve ser
alterado manualmente pelo administrador da rede visando refletir corretamente a
banda real contratada.
• Delay: O atraso na propagação do sinal dado fundamentalmente pelo tipo de
meio de transmissão. Uma transmissão via satélite, por exemplo, terá um atraso
maior do que uma transmissão via fibra ótica se tivermos como premissa que a
distância percorrida seja a mesma.
• Reliability: A confiabilidade do circuito dada pela média de erros ou
indisponibilidade do mesmo em um período de tempo (default é de 5 minutos nos
roteadores Cisco).
• Load: A taxa média de utilização do circuito em um período de tempo (default é
de 5 minutos).

A composição de alta banda, baixo atraso, alta confiabilidade e baixa carga é o que o EIGRP
busca para escolher a rota com custo inferior. A rota de menor custo dentre as existentes na tabela
de topologia é transferida para a tabela de rotas e designada como Ativa (Active Route). As rotas
com custos superiores a ela são marcadas como Possíveis sucessoras (feasible sucessors) em caso
de falha da rota Ativa.

Obs: Na prática, os roteadores Cisco somente consideram por default Bandwith e Delay para
composição do custo, podendo-se configurar Reliability e Load manualmente caso haja interesse
do administrador.

O processo de seleção de rotas


A figura, a seguir, ilustra o processo de seleção de rotas.

Curso de TCP-IP Avançado 26 de 30


Balanceamento de carga
O EIGRP é capaz de balancear a carga entre circuitos de mesmo custo para um mesmo destino,
distribuindo o tráfego igualitariamente entre os mesmos. Até aqui não há nenhuma grande
vantagem em relação a outros protocolos de roteamento como OSPF, que podem também efetuar
este tipo de balanceamento.

A grande diferença é a capacidade do EIGRP em balancear circuitos com custos diferentes. Isto é
possível quando usamos o comando variance , que faz com que sejam incluídas como rotas ativas
as feasible sucessors que tenham custo menor ou igual a menor custo computado * variance.

Exemplo:
Temos 3 rotas para um mesmo destino. O menor custo é 20. Caso definamos uma variância de 2,
teríamos as rotas com custo <= 40 incluídas no rol de rotas ativas. Com isso, a rota 2 também
seria considerada ativa e colocada na tabela de rotas.

A inteligência do EIGRP faria a distribuição do tráfego na proporção de 2/1, ou seja, para cada
pacote que passasse pela Rota 2, dois passariam pela rota 1.

Curso de TCP-IP Avançado 27 de 30


1.5. Protocolo Is-Is
O protocolo de roteamento Intermediate System-Intermediate System foi desenvolvido pela ISO
(International Standards Organization) para prover roteamento em ambientes baseados nos
protocolos especificados pelo OSI, órgão da ISO responsável pela definição dos protocolos de
interconexão de sistemas abertos, isto é, não proprietários.

Intermediate System é o termo usado pela ISO para definir roteador. O IS-IS é, portanto, um
protocolo usado para comunicação entre IS’s ou, usando o termo mais familiar para nós, entre
roteadores. Utilizaremos os nomes IS e roteador para nos referirmos ao mesmo objeto de rede em
nosso curso.

Curso de TCP-IP Avançado 28 de 30


O IS-IS é um protocolo de roteamento que fornece as facilidades de roteamento dentro de um
mesmo domínio. Podemos entender como domínio no mundo OSI/ISO o que chamamos de AS
em nosso conhecido mundo TCP/IP. Portanto, o IS-IS é o equivalente a um IGP (Interior
Gateway Protocol), que é o protocolo de roteamento executado dentro de um mesmo AS. Como
exemplos, teríamos o OSPF e o EIGRP.

Similar a outros protocolos já vistos neste curso, tais como BGP e EIGRP, o IS-IS precisa
estabelecer uma relação de vizinhança para que as informações de roteamento possam ser
trocadas.

Tipos de IS
O IS-IS usa uma estrutura hierárquica de 2 níveis em seu processo de roteamento: domínio e área,
sendo que áreas são subdivisões lógicas dos domínios.

Com base nessa estrutura hierárquica, temos dois tipos de roteadores no ambiente IS-IS:
• Nível 1: Conhecem e trocam informações sobre a topologia interna de uma área
com todos os outros IS’s da mesma área. Por outro lado, não têm qualquer
conhecimento sobre os IS’s ou redes destino de outras áreas.
• Nível 2: Conhecem todas as outras áreas de um mesmo domínio mas não têm a
visibilidade do que existe em termos de roteadores e redes dentro das áreas. Para
que um roteador de nível 1 possa comunicar-se com outra área, ele deve enviar o
pacote para um roteador de nível 2 localizado em sua área, que encaminhará o
pacote para outra através de outro roteador de nível 2 localizado na área destino.

Curso de TCP-IP Avançado 29 de 30


Tipos de pacotes
São 3 os tipos de pacotes usados pelo IS-IS em seu processo de roteamento: Hello, Link State e
Sequence Number.
• Hello Packets: São usados para iniciar e manter adjacências ou relações de
vizinhança entre neighbors IS-IS. Temos 3 tipos de Hello: Nível 1, trocados entre
IS’s de nível 1; nível 2 LAN, trocados entre IS’s de nível 2 em redes locais; e
nível 2 ponto-a-ponto, que são usados em redes ponto-a-ponto não orientadas a
broadcast.
• Link State Packets: Usados para troca de informação sobre o estado dos
circuitos (Links). São 2 os tipos de LSPs: LSP nível 1, trocados entre os IS’s de
nível 1 e LSP nível 2 trocados entre os IS’s de nível 2. Vale observar que os IS’s
de nível 2 normalmente também consistem em IS’s de nível 1, já que conhecem
seus pares e a topologia de dentro da sua própria área. Com isso, os IS’s de nível
2 também trocam LSPs de nível 1.
• Sequence Number Packets: Têm como função controlar o tráfego de LSPs,
servindo como um pacote de ACK no sentido de controlar o recebimento de
pacotes de LSP baseados no número de seqüência.
Interação.

Processo de roteamento
O processo de roteamento pode ser decomposto em 4 funções:
• Decision Process: Calcula as rotas para cada destino. Se o IS for de nível 2, há
um processo separado para cada nível. Baseia-se na tabela de Link-State para o
calculo da melhor rota.
• Update Process: Este processo monta, propaga e recebe as informações de Link-
State. Este processo também é responsável pela manutenção da tabela de link-
state.
• Forward Process: É responsável pelo processo de roteamento propriamente dito.
Faz a busca na tabela de roteamento bem como aloca buffers de recepção e envio.
• Receive Process: Responsável pelo recebimento dos pacotes. Interage com
outros processos como FP, caso o pacote recebido deva ser roteado.

Curso de TCP-IP Avançado 30 de 30

Você também pode gostar