Você está na página 1de 152

BGP

Avanado

Leandro Bertholdo
Liane Tarouco

Rio de Janeiro
Escola Superior de Redes
2016

Sumrio
BGP4 Reviso de conceitos ............................................................................................................... 5
Sumrio ............................................................................................................................................................................. 5
Objetivos dos protocolos de roteamento ........................................................................................................... 6
Discernimento ............................................................................................................................................................... 6
Simplicidade ................................................................................................................................................................... 6
Robustez e estabilidade ............................................................................................................................................. 6
Rpida convergncia ................................................................................................................................................... 7
Flexibilidade ................................................................................................................................................................... 7
Tipos de algoritmos de roteamento ..................................................................................................................... 7
Esttico ou dinmico ................................................................................................................................................... 8
Caminho nico ou multicaminho .......................................................................................................................... 8
Plano ou hierrquico ................................................................................................................................................... 8
Estado de enlace ou vetor distncia ................................................................................................................... 11
As mtricas dos protocolos de roteamento .................................................................................................... 13
Tamanho do caminho (distncia) ....................................................................................................................... 13
Confiabilidade .............................................................................................................................................................. 13
Atraso ou delay ............................................................................................................................................................ 14
Largura de banda ........................................................................................................................................................ 14
Carga do enlace ........................................................................................................................................................... 14
Custo de comunicao .............................................................................................................................................. 14
Protocolos de roteamento: IGP e EGP ............................................................................................................... 15
BGP Border Gateway Protocol .......................................................................................................................... 17
Os sistemas autnomos (AS) ................................................................................................................................. 19
A sesso BGP ................................................................................................................................................................. 20
A mquina de estados do BGP .............................................................................................................................. 21
Tipos de mensagens BGP ........................................................................................................................................ 24
BGP Avanado


Tipos de mensagens BGPOPEN .......................................................................................................................... 25
Tipos de mensagens BGPNOTIFICATION ...................................................................................................... 26
Tipos de mensagens BGP: KEEPALIVE ............................................................................................................. 28
Tipos de mensagens BGP: UPDATE .................................................................................................................... 29
Tipos de mensagens BGP: ROUTEREFRESH ................................................................................................. 30
A extenso MPBGP (Multiprotocol BGP) ........................................................................................................ 30
iBGP e eBGP .................................................................................................................................................................. 32
Roteamento Explcito versus Rota Default ..................................................................................................... 35
Configurao bsica do BGP .................................................................................................................................. 38
Habilitao do roteamento BGP ........................................................................................................................... 39
Configurao de vizinhos BGP .............................................................................................................................. 39
Reset das conexes BGP .......................................................................................................................................... 39
Configurao da interao com IGPs ................................................................................................................. 39
Configurao da filtragem de rotas pelo vizinho .......................................................................................... 40
Exemplo de configurao ........................................................................................................................................ 41
Atributos e Polticas de Roteamento ............................................................................................. 45
Sumrio ........................................................................................................................................................................... 45
Polticas de Roteamento .......................................................................................................................................... 48
Algoritmo de seleo de caminhos do BGP ..................................................................................................... 56
Controlando o Trfego de entrada do AS ......................................................................................................... 57
Uso de prefixos BGP mais especficos e rotas agregadas para balanceamento de trfego ........ 65
Explorando o uso de comunidades ..................................................................................................................... 68
BGP Communities ....................................................................................................................................................... 69
Boas prticas na operao de um Sistema Autnomo ............................................................. 75
Cuidados gerais ........................................................................................................................................................... 75
Por que se tornar um Sistema Autnomo ....................................................................................................... 76
Backbone IPv4 e IPv6 ............................................................................................................................................... 79
Uso de IGP e de EGP no AS ..................................................................................................................................... 80
Separao de iBGP e eBGP ...................................................................................................................................... 81
Table History .......................................................................................................................................................... 82

Peer Groups................................................................................................................................................................... 84
2

BGP Avanado

Uso de loopbacks nas sesses BGP ..................................................................................................................... 85


Uso de agregao de prefixos ................................................................................................................................ 86
Injetando prefixos no iBGP .................................................................................................................................... 90
Filtros de segurana para o seu ASN.................................................................................................................. 93
Usando filtros de redes visando a performance ........................................................................................... 93
Filtros para segurana .............................................................................................................................................. 96
TTL no eBGP ................................................................................................................................................................. 98
Uso de MD5 nas sesses BGP ................................................................................................................................ 98
Filtros para pacotes Marcianos ............................................................................................................................ 99
Uso de Dampening .................................................................................................................................................. 100
Melhores prticas no uso de filtros em sesses BGP ............................................................................... 102
Filtros em sesses BGP com clientes .............................................................................................................. 102
Filtros em sesses BGP com Provedores ...................................................................................................... 105
Engenharia de trfego IP com BGP .............................................................................................. 109
Objetivos ...................................................................................................................................................................... 109
Conceitos ..................................................................................................................................................................... 109
Selecionando um provedor de acesso ............................................................................................................ 110
Conectando a um IXP ............................................................................................................................................. 121
Ferramentas para gerncia do BGP ................................................................................................................. 133
BGPlay .......................................................................................................................................................................... 136
Traceroute.org .......................................................................................................................................................... 138
Looking Glass e Route Servers........................................................................................................................... 138
Erros comuns na configurao do roteamento BGP ................................................................................ 140
Rotas anunciadas usando o comando Network com uma mscara ................................................ 142
Rotas anunciadas usando o comando aggregateaddress .................................................................. 144
Incapaz de anunciar rotas aprendidas via iBGP ........................................................................................ 146

BGP Avanado

BGP Avanado

1
BGP4 Reviso de conceitos
Objetivos
Conhecer as caractersticas dos protocolos de roteamento; Estudar os tipos de protocolos de
roteamento; Entender a diferena entre protocolos IGP e EGP; Conhecer o protocolo BGP;
Aprender sobre a configurao bsica do protocolo BGP.

Conceitos

Objetivos dos protocolos de roteamento; Tipos de algoritmos de roteamento; Mtricas dos


protocolos de roteamento; Protocolos de roteamento IGP e EGP; Protocolo BGP; Tipos de
mensagens BGP; Configurao bsica do BGP.

Sumrio

Objetivos dos protocolos de roteamento.


Tipos de algoritmos de roteamento.
Mtricas.

Protocolos de roteamento IGP e EGP.


BGP.

Tipos de mensagens BGP.

Configurao bsica do BGP.

A funo de roteamento em redes de computadores , sem dvida, crtica para a


comunicao entre redes interconectadas, pois os requisitos de confiabilidade demandam a
existncia de rotas alternativas, e o processo de seleo da melhor rota para o
encaminhamento de pacotes necessita ser feito com base em informaes muito volteis e
dinmicas. Com o crescimento e a atual dependncia da internet, caminhos alternativos de
circuitos, alteraes de topologia e a consequente necessidade de adaptao do roteamento
hoje a regra geral e no mais uma exceo.

BGP Avanado

Objetivos dos protocolos de roteamento


Para poder atender a esses requisitos, o roteamento precisa conseguir atender a um
conjunto de objetivos.
Discernimento.

Simplicidade e baixo overhead.


Robustez e estabilidade.
Rpida convergncia.
Flexibilidade.

Discernimento
Referese capacidade do algoritmo de roteamento selecionar a melhor rota. Note que
melhor rota um conceito que depende das mtricas e as ponderaes utilizadas para
fazer um clculo; nesse caso, um algoritmo de roteamento pode, por exemplo, fazer uso de
uma mtrica derivada de outras como o nmero de hops e atraso (delay), dando um peso
maior ao delay no clculo. Cada protocolo de roteamento deve, naturalmente, definir em
seus algoritmos de clculo uma mtrica estrita, sem interpretaes dbias.

Simplicidade

Os algoritmos de roteamento tambm so projetados para ser o mais simples possvel. Em


outras palavras, esses algoritmos devem oferecer suas funcionalidades de maneira eficiente,
com um mnimo de overhead de software e utilizao nos equipamentos que o
implementam. Eficincia particularmente importante quando o software que implementa o
algoritmo de roteamento deve rodar em computadores com recursos fsicos limitados, como
pouca memria e uma pequena capacidade de processamento.

Robustez e estabilidade

Algoritmos de roteamento devem executar corretamente face s mais variadas situaes


adversas que podem ocorrer, como queda de enlaces, falhas em roteadores ou
congestionamentos na rede, e a recuperao da conectividade deve acontecer sem
interveno manual do administrador.

Para cumprir esse objetivo, os algoritmos devem ser robustos. Em outras palavras, eles devem
executar corretamente face a circunstncias no previstas ou adversas, tais como falhas de
hardware, condies de congestionamento, e at mesmo implementaes incorretas. Como os
roteadores esto localizados em pontos de junes de redes, eles podem causar problemas
considerveis quando falham, e os melhores algoritmos de roteamento so aqueles que tm
suportado o teste do tempo e se provado estveis mesmo sob uma variedade de condies de
rede. Um roteador robusto costuma realizar seu trabalho durante anos sem apresentar falhas
de software ou hardware que exijam seu desligamento ou reincio.

BGP Avanado

Rpida convergncia
Convergncia o processo de concordncia, por todos os roteadores, de quais so as rotas
timas. A cada evento de queda ou retorno de um circuito de dados, determinados caminhos
se tornam indisponveis ou um melhor caminho aparece. Para que esses caminhos sejam
oferecidos ou retirados das tabelas de melhores caminhos para a rede, necessrio que os
roteadores troquem uma srie de mensagens de atualizao de roteamento. Essas
mensagens permeiam a rede, estimulando um novo clculo das rotas timas e
eventualmente levando todos os roteadores a concordarem com essas rotas. Algoritmos de
roteamento que demoram para repassar essas mensagens e portanto que convergem
lentamente podem causar loops ou indisponibilidade na rede. Por esse motivo, bons
algoritmos de roteamento convergem rapidamente todos os seus roteadores para as mesmas
informaes de roteamento aps uma mudana na topologia da rede.

Flexibilidade

Algoritmos de roteamento tambm devem ser flexveis. Em outras palavras, algoritmos de


roteamento devem se adaptar rpida e corretamente s variadas circunstncias da rede e
possuir mecanismos que permitam que o administrador tenha a sua mo mecanismos que
possibilitem implementar determinados ajustes na busca da escolha do caminho timo. Por
exemplo, assumindo que um segmento de rede caiu, muitos algoritmos de roteamento, ao
saber desse problema, vo rapidamente selecionar o prximo melhor caminho para todas as
rotas normalmente utilizando aquele segmento, enquanto outros permitem que o
administrador defina quanto tempo o algoritmo deve esperar que o antigo circuito se
restabelea antes de descartlo para fazer uso do novo melhor caminho.

Algoritmos de roteamento podem ser programados para adaptaremse a mudanas na


largura de banda da rede, tamanho das filas dos roteadores, atrasos da rede, ou outras
variveis, como a penalizao ou no de um caminho devido a quedas frequentes que afetem
a disponibilidade e estabilidade da rede como um todo.

Tipos de algoritmos de roteamento

No que tange ao tipo de algoritmo de roteamento, estes podem ser classificados em:
Estticos ou dinmicos.

Caminho nico ou multicaminho.


Plano ou hierrquico.

Intradomnio ou Interdomnio.

Estado de enlace ou vetor distncia.

BGP Avanado

Esttico ou dinmico

Algoritmos de roteamento estticos referemse ao mapeamento, pelo administrador da rede,


da tabela de todas as rotas em todos os roteadores da rede de forma manual. Os
mapeamentos de tabelas de rotas estticos so executados por administradores de rede
antes de iniciar o roteamento e eles no so alterados, a no ser por interveno do
administrador. So simples de projetar e funcionam bem em ambientes onde o trfego da
rede previsvel, e a topologia da rede bastante simples. J os algoritmos dinmicos tm a
capacidade de ajustar em tempo real as tabelas de rotas dos roteadores.
Eles fazem isso atravs da troca de mensagens de atualizao de roteamento entre eles. Se
recebida uma mensagem indicando que ocorreu uma mudana na rede, ento o software de
roteamento tem a informaes necessrias para recalcular o novo melhor caminho para
um determinado destino, realizar as alteraes necessrias na sua tabela de roteamento e
enviar novas mensagens de roteamento aos seus vizinhos contando que essa alteraes
ocorreram. Essas mensagens permeiam a rede, estimulando os roteadores a rodar
novamente seus algoritmos e alterar suas tabelas de rotas de acordo.

Algoritmos de roteamento dinmico podem ser suplantados por rotas estticas, onde
apropriado. Por exemplo, um roteador considerado de ltima tentativa (last resort ou
gateway da rede), ou seja, um roteador para aonde todos os pacotes no roteveis so
enviados pode ser designado estaticamente. Esse roteador vai atuar como um ltimo recurso
para todos os pacotes no roteveis, garantindo que todas as mensagens sero, pelo menos,
tratadas de alguma maneira.
Alguns exemplos de protocolos capazes de trabalhar com roteamento dinmico so:
Interior Gateway Protocol (IGP): RIP, IGRP, EIGRP, OSPF e ISIS;
Exterior Gateway Protocol (EGP): BGP.

Caminho nico ou multicaminho


Alguns algoritmos de roteamento foram criados com uma caracterstica mais sofisticada que
os que permitem suportar caminhos mltiplos para um mesmo destino, ou seja, existe dois
ou mais melhores caminhos para se chegar a um mesmo destino. Esses algoritmos
permitem multiplexao de trfego sobre mltiplos circuitos de dados. Algoritmos de
caminho nico no permitem essas funcionalidades, permitindo somente uma nica entrada
na tabela de rotas para cada destino.

Plano ou hierrquico

Em um sistema de roteamento plano, todos os roteadores esto no mesmo nvel. J em um


sistema hierrquico, os roteadores possuem funes distintas, alguns voltados a mltiplas
conexes entre e outros simplesmente com a funo ser um nodo folha.

BGP Avanado

Figura 1.1 Arquitetura plana x hierrquica.

Alguns algoritmos de roteamento operam em um espao plano, enquanto outros utilizam


hierarquias de roteamento. Em um sistema de roteamento plano, todos os roteadores esto
no mesmo nvel de igualdade, como se fossem irmos. Em um sistema de roteamento
hierrquico, alguns roteadores formam uma hierarquia principal, conhecida como backbone
da rede. Pacotes de roteadores a partir dos nodos folha trafegam para os roteadores do
backbone, de onde so enviados para o destino, geralmente outro nodo folha.
Sistemas de roteamento frequentemente designam grupos de nodos lgicos, chamados de
domnios, sistemas autnomos ou reas como uma forma de criar essa hierarquia. Nesses
sistemas hierrquicos, alguns roteadores de um domnio podem se comunicar com
roteadores de outro domnio, existindo tipos diferentes de mensagens para comunicao
dentro e fora de cada domnio de roteamento (roteamento Intra e Inter domnio). Em redes
muito grandes, nveis de hierarquia adicional podem existir, e os roteadores no mais alto
nvel hierrquico formam o backbone de roteamento.

A principal vantagem do roteamento hierrquico que espelha a organizao da maioria das


companhias, portanto suportando o padro de seus trfegos muito bem. A maioria da
comunicao da rede ocorre dentro de pequenos grupos da companhia, domnios.
Roteadores intradomnios somente precisam saber de outros roteadores em seu domnio,
ento seus algoritmos de roteamento podem ser simplificados.
Dependendo do algoritmo de roteamento sendo utilizado, o trfego de atualizao de
roteamento pode ser reduzido.

Na internet global, que possui cerca de 600 mil redes fracamente coordenadas, no vivel
roteamento global, plano, e 100% timo. Assim, o funcionamento da internet uma soluo
subtima, pois no h como fazer de outro modo.

No caso de redes hierrquicas, ocorre uma organizao em domnios ou sistemas que so


independentes, mas precisam interoperar. Uma forma possvel de organizao a separao
entre diferentes domnios administrativos. Esse conjunto de roteadores que possui uma
mesma administrao ou gerncia formam domnios denominados de sistema autnomo, e
costuma ser chmados pela sigla AS (Autonomous System).
BGP Avanado


A internet no e nunca ser uma nica rede, e sim um conjunto interconectado de redes
organizadas em diferentes domnios, um conjunto de AS que se comunicam diretamente ou
indiretamente (atravs de outros AS).

Figura 1.2 Rede global de autnomos (AS).

Domnios de roteamento indicam o escopo no qual um dado protocolo de roteamento


usvel e podem ser do tipo:
Interdomain routing;
Intradomain routing.

Intradomnio ou interdomnio
Alguns algoritmos de roteamento somente funcionam dentro de domnios (IGP Interior
Gateway Protocol); outros funcionam dentro e entre domnios (EGP External Gateway
Protocol). A natureza desses dois tipos de algoritmos diferente, fazendo que um algoritmo
de roteamento interno timo no seja, necessariamente, um timo algoritmo para
roteamento entre domnios.
As caractersticas dos protocolos de roteamento intraAS ou intradomnio incluem:
Usados para roteamento local, ou intraAS, ou intradomnio;
Enfoque sobretudo tcnico:

Redundncia (Confiabilidade);
Otimizao de caminhos;

Balanceamento de trfego;

Dinmica de reconfigurao.

As caractersticas de roteamento interAS incluem:

Usados para roteamento global, ou interAS, ou interdomain;

So fortemente orientados poltica de roteamento, ou seja, os principais critrios


utilizados no seu processo de deciso no tcnico eles possuem as seguintes
caractersticas:

10

BGP Avanado


Redundncia limitada;

Caminhos globais no otimizados;

Acessibilidade (pelo menos um caminho);

Balanceamento de trfego difcil quando no invivel;


Dinmica propositalmente limitada;

Seleo entre caminhos previamente arbitrada e quase esttica, por critrios


polticos e econmicos.

Estado de enlace ou vetor distncia

Entre os protocolos intradomnio, ainda possvel uma subclassificao pela forma como as
informaes de roteamento circulam pelos nodos:
Estado de enlace: inundam todos os nodos da rede com informao de roteamento
referente descrio de seus prprios enlaces;

Vetor distncia: cada roteador envia toda ou parte da sua tabela, mas somente para
os roteadores vizinhos.

Exemplos de protocolos desses dois tipos so:

Protocolos de Vetor de Distncia (RIP, RIPv2, IGRP, EIGRP);


Protocolos de Estado de Enlace (OSPF, ISIS).

Figura 1.3 Protocolos IGP.

Algoritmos de roteamento vetordistncia (vectordistance ou BellmanFord) mantm, em


cada roteador, uma tabela informando a melhor distncia conhecida e que rota utilizar para
chegar at o roteador. O uso desse algoritmo pressupe que os roteadores mantenham uma
tabela de rotas inicializada pelo menos com aquelas cujo destino so as redes as quais o
roteador est diretamente conectado.

Cada entrada na tabela contm uma rede destino, o prximo roteador no caminho e um custo
associado quela rota (que poder ser o nmero de roteadores at o destino final).
BGP Avanado

11


Periodicamente, cada roteador envia uma cpia da sua tabela para os roteadores aos quais
est ligado diretamente, ou seja, a aqueles que compartilham um mesmo meio fsico de
transmisso. O roteador que recebe a informao de roteamento compara a sua tabela
original com a recebida, examinando o destino e as distncias para cada uma das rotas; ele
vai substituir seus valores, se a nova rota recebida possuir um caminho melhor (mais curto)
para um determinado endereo, ou simplesmente incluir uma nova rota, caso no conste da
sua tabela.
Uma desvantagem desse algoritmo que ele no se comporta bem em redes extensas por
dois motivos principais:

Quando aumenta muito o nmero de redes, as tabelas de roteamento a serem


encaminhadas entre o roteadores cresce na mesma proporo, j que a cada troca de
mensagens toda a tabela precisa ser retransmitida, gerando uma sobrecarga na rede a
cada troca de mensagem. Otimizaes nesse caso so limitadas, j que o algoritmo no
prev a possibilidade de um dilogo entre nodos e simplesmente a troca de
informaes de roteamento;
Outro ponto que torna esse tipo de algoritmo mais adaptado para redes planas que
as informaes devem ser repassadas para todos os enlaces de um determinado nodo
ou roteador, algo efetivo em uma rede plana (todos conectados no mesmo nvel), mas
algo problemtico em uma rede hierrquica, j que para a informaes circularem por
toda a hierarquia sero necessrias vrias trocas de mensagens, em geral podendo
gerar uma defasagem entre a informao atual e a informao que est circulando em
uma determinada parte da rede.

Alguns exemplos de protocolos que utilizam o vetordistncia so: protocolo RIP, verses
antigas de DECnet e IPX (da Novell). A AppleTalk e roteadores Cisco utilizam verses
melhoradas do algoritmo vetordistncia. Nesse tipo de algoritmo, cada roteador mantm
uma entrada na tabela indexada para cada roteador na subrede. Essa entrada contm duas
partes: a rota de sada preferida para aquele destino e tempo ou distncia estimada. A
mtrica utilizada pode ser de nmero de saltos (hops), atraso, nmero total de pacotes na fila
de cada caminho etc.
O algoritmo estado do enlace (link state) distinto em alguns sentidos, entre eles, em vez de
uma tabela de rotas, cada roteador preocupase somente com os enlaces (interfaces em
redes distintas) que possui ativos, divulgando essa informao a todos os outros nodos da
rede de forma a criar um mapa topolgico da rede.

Basicamente, a tarefa de um roteador com esse algoritmo testar inicialmente a


possibilidade de comunicao com os roteadores com os quais est diretamente conectado
em cada interface. Uma vez obtido o estado do enlace (ativado ou no), o roteador divulgar
as informaes colhidas a respeito de todas os seus enlaces, sem se preocupar com redes ou
outros nodos que esto ligados atravs deles.
Nesse algoritmo, cada nodo deve garantir a entrega das mensagens que descreve os seus
enlaces para todos os outros nodos da rede, formando assim um conjunto de dados de
enlaces disponvel e igual a todos os nodos da rede. O algoritmo aparentemente dificulta
mudanas na topologia da rede, pois, a cada alterao, todos os mapas devem ser
12

BGP Avanado

atualizados; porm, o roteador se torna independente de roteadores intermedirios para o


clculo de rotas, uma vez que cada roteador possui toda a topologia da rede e tem como
prever como seus vizinhos vo se comportar no encaminhamento de pacotes para diferentes
destinos.

Outra vantagem desse algoritmo que as mensagens a serem trocadas entre os roteadores
so menores por transmitirem apenas o estado de enlace, isto , o tamanho da mensagem
proporcional ao nmero mdio de roteadores aos quais cada roteador est conectado
diretamente (no algoritmo de vetor distncia as informaes eram relacionadas a toda rota
que poderia tornarse um destino para um especfico roteador); assim sendo, esse algoritmo
se adapta melhor em redes extensas. Os protocolos do tipo estado de enlace convergem mais
rapidamente, j que esperado que um nodo que tenha alguma alterao em seus enlaces
comunique diretamente a todos os outros essa alterao; em compensao, a execuo desse
tipo de algoritmo exige mais CPU e memria, por sua implementao implicar na criao de
uma mapa topolgico geralmente utilizando matrizes e clculos de grafos.

As mtricas dos protocolos de roteamento

Um aspecto importante do funcionamento dos protocolos de roteamento a mtrica usada


para determinar a melhor rota. Esses algoritmos utilizam parmetros, tais como:
Tamanho do caminho.
Confiabilidade.

Atraso ou Delay.
Banda.
Carga.

Custo da comunicao.

Tamanho do caminho (distncia)


a mtrica mais comum. Em geral, alguns protocolos permitem atribuir custos aos enlaces.
Nesse caso, a distncia a soma dos custos de cada enlace a ser percorrido para chegar at
uma determinada rede de destino. Algumas implementaes de protocolos (exemplo: RIP)
definem o nmero de mquinas intermedirias (hopcount) entre origem e destino como
sendo o tamanho do caminho.

Confiabilidade

Geralmente se refere confiabilidade dos enlaces (medida em taxa de erros de bits), se for
computada de uma forma automtica, ou pode tambm ser atribuda pelo administrador a
cada um dos enlaces conectados em determinado nodo.

BGP Avanado

13

Atraso ou delay

Essa mtrica se refere ao perodo de tempo necessrio para mover um pacote da origem at
o destino, ou seja, a metade do que normalmente conhecido como tempo de ping (Round
Trip Time ou RTT). O atraso depende de vrios fatores, incluindo largura de banda de cada
enlace em todas as redes intermedirias, tamanho das filas das portas de sada de cada
roteador, a situao de uso e congestionamento em cada um desses enlaces, alm, claro, da
distncia fsica entre a origem e o destino.

Largura de banda

A largura de banda ou vazo de trfego de um enlace referese quantia de bits por segundo
que podem ser transportados em determinado enlace; dessa forma, quanto maior a vazo do
enlace, maior a sua capacidade de uso. Levando isso em conta, prefervel encaminhar o
trfego de pacotes por uma interface ethernet de 1Gbps em vez de uma conexo LPCD (Linha
Privativa de Comunicao de Dados) de 2 Mbps. Note que essa mtrica no se refere taxa
de utilizao de cada caminho: essa mtrica a varivel carga do enlace.

Carga do enlace

A mtrica de carga do enlace pode ser utilizada em alguns algoritmos como uma forma de
realizar um balanceamento otimizado entre circuitos de largura de banda diferentes. Em
alguns casos, enlaces com banda maior podem estar congestionados, tornando um enlace de
banda estreita uma rota melhor.
A carga do enlace pode se referir ao uso de recursos da rede como um todo, no restrita ao
enlace somente, podendo abranger informaes como o uso de filas internas do roteador,
quantidade de pacotes descartados, capacidade de processamento do nodo (CPU e pacotes
processados por segundo). comum que essa mtrica seja calculada de vrias maneiras,
dependendo do fabricante do equipamento e do algoritmo a ser utilizado.
Um caso de uso o protocolo EIGRP, proprietrio da Cisco.

Custo de comunicao

Essa uma mtrica que possui um conceito distinto das mtricas tcnicas vistas at o
momento. A mtrica custo normalmente um valor a ser estipulado pelo prprio
administrador para designar a preferncia ou no do trfego ser encaminhado por um ou
outro enlace de dados ou interface, independente de outros parmetros como atraso, banda
passante ou congestionamento do circuito.

Essa mtrica tipicamente conhecida como uma mtrica poltica, e permite aos algoritmos
dinmicos acatarem um custo externo, preferido pelo administrador da rede, e que envolve
preferncias da prpria administrao da rede. Um exemplo de uso quando determinada
empresa ou instituio opta por utilizar um determinado circuito baseado em critrios
financeiros o mais barato (custo em R$), em vez de optar pelo melhor circuito de dados do
ponto de vista tcnico o mais rpido.

14

BGP Avanado

Protocolos de roteamento: IGP e EGP


Por que preciso de um IGP?

Por que preciso de um EGP?

Comparando algoritmos de roteamento internos e externos.

A funo de um protocolo de roteamento construir tabelas de roteamento completas nos


diversos roteadores de uma rede. Existem dois tipos de protocolos para realizar essa funo:
IGP (Interior Gateway Protocol): roteamento dentro de um sistema autnomo (AS);
EGP (Exterior Gateway Protocol): roteamento entre sistemas autnomos.

Figura 1.4 Hierarquia de Protocolos de Rotamento.

Na maioria das redes, o protocolo IGP (Interior Gateway Protocol) utilizado para transferir
informaes dos prefixos da infraestrutura do backbone: interfaces dos roteadores e
circuitos de dados, e oferece as seguintes caractersticas:
Permite o escalonamento do ISP (Internet Service Provider) em nmero de sites e de
equipamentos e enlaces internos;

Em geral, utilizado para implementar uma hierarquia dentro da rede da instituio,


separando o backbone da rede de outros domnio de roteamento, como redes
regionais e de clientes;

Limita o escopo de falhas a cada um dos domnios de roteamento existentes, fazendo


como que uma instabilidade em uma regio da rede no desestabilize outras regies;
Permite tratar falhas na infraestrutura usando um roteamento dinmico com rpida
convergncia, alm de permitir o uso da caracterstica de rpida convergncia para

BGP Avanado

15

escolher rapidamente circuitos alternativos no caso de quedas dos circuitos


preferenciais.

Um EGP (Exterior Gateway Protocol) permite o escalonamento de grandes redes. Ele permite
implementar uma poltica de roteamento com vistas a:
Controlar a alcanabilidade de prefixos;
Unificar organizaes diferentes;
Conectar mltiplos IGPs.

Entre as principais caractersticas dos protocolos EGP esta a de que eles sejam mais voltados
a polticas de roteamento e no a critrios tcnicos, abrindo mo de caractersticas como
rpida convergncia em detrimento de critrios como estabilidade.

O quadro a seguir resume as principais diferenas entre os algoritmos de roteamento


internos (Interior Gateway Protocol) e algoritmos externos (Exterior Gateway Protocol).
IGP

EGP

Descoberta automtica de vizinhana

Necessita configurar peers

Prefixos trocados valem para todos os


routers IGP

Permite a configurao de limites


administrativos

ISPs tendem a manter poucas rotas no IGP


visando eficincia e escalabilidade

ISPs usam para manter a tabela completa


de rotas da internet

Os routers geralmente so confiveis,


dentro do mesmo domnio de roteamento
(AS)
Carrega endereos da infraestrutura
IGPs so fortemente baseados na
topologia fsica da rede

Usados principalmente para resolver


problemas tcnicos

Tabela 1.1 Comparao IGP e EGP.

O roteamento para fora dos limites da


rede, administrado por outras equipes

Carrega prefixos dos clientes

EGPs so independentes da topologia de


rede do ISP

Usados para resolver problemas


administrativos (poltica de interconexo)

Exemplos de Protocolos do tipo IGP (interior gateway protocol):


RIP (Routing Information Protocol);

IGRP (Interior Gateway Routing Protocol);


EIGRP (Enhanced IGRP);

OSPF (Open Shortest Path First);

ISIS (Intermediate SystemtoIntermediate System);


16

BGP Avanado

Exemplos de protocolos do tipo EGP (exterior gateway protocol):


EGP (Exterior Gateway Protocol);
BGP (Border Gateway Protocol).

Os protocolos RIP, RIPv2, IGRP, EIGRP so protocolos do tipo vetor distncia. Usam
algoritmos por vetor distncia os quais demandam que cada roteador envie toda ou parte da
sua tabela de rotas, mas somente para os roteadores vizinhos.

Os protocolos OSPF e ISIS so do tipo estado de enlace e inundam todos os nodos da rede
com informao de roteamento, mas somente a parte das suas tabelas que descrevem seus
prprios enlaces.

O protocolo BGP4 utiliza uma variao do algoritmo BellmanFord, conhecido como Vetor
de Caminhos (path vector). Esse tipo de algoritmo envia atualizaes das rotas para os
vizinhos previamente configurados e obedecendo a uma poltica prdefinida, sendo similar
em alguns pontos com o algoritmo vetor distncia

BGP Border Gateway Protocol


Conceitos bsicos

Os sistemas autnomos (AS)


A sesso BGP

A Mquina de Estados do BGP


Tipos de mensagens BGP
iBGP e eBGP

Roteamento Explcito versus Rota Default


Configurao bsica BGP: comandos
Exemplo de configurao BGP

A internet utiliza um modelo distribudo de roteamento, sendo dividida em distintos


domnios de roteamento conhecidos como sistemas autnomos (AS Autonomous System).
Essa diviso em domnios isola o roteamento interno a cada instituio dentro das suas
unidades autnomas, diminuindo a complexidade da internet global.

O protocolo BGP (Border Gateway Protocol) est atualmente na verso 4, e definido no RFC
4271. Ele basicamente um protocolo do tipo vetor de caminhos (path vector) e possui
vrias funcionalidades do BellmanFord, as mesmas utilizadass pelo algoritmo de vetor
distncia (distance vector), s que em vez de contabilizar roteadores intermedirios entre a
origem e o destino, ele leva em considerao o nmero de sistemas autnomos
intermedirios.
Para trabalhar de uma forma eficiente diante da complexidade da internet, o BGP tambm
conta com uma srie de atributos que so utilizados para fazer uso dos melhores caminhos,
de acordo com as polticas de trfego de cada sistema autnomo.

BGP Avanado

17


Em suma, o funcionamento do BGP envolve a construo de um grafo dos caminhos (paths)
entre as rotas aprendidas pelos vizinhos (peers), e permite manipular esses caminhos
atravs do uso de atributos BGP (visto na prxima sesso).

Conceitos bsicos
A funo do BGP.
Prefixos e CIDR.

O algoritmo de vetor de caminhos (pathvector).


Os sistemas autnomos (AS).

O protocolo BGP um protocolo do tipo path vector, que trabalha com updates incrementais
e oferece opes para implementao de uma poltica de roteamento atravs de atributos
associados a cada entrada na tabela de rotas. Ele permite trabalhar com roteamento CIDR
(Classless InterDomain Routing) e largamente utilizada em backbones na internet.
O roteamento CIDR elimina os limites impostos pelo antigo endereamento baseado em
classes (classful), proporcionando o uso mais eficiente do espao de endereos IPv4. O CIDR
tambm proporciona um mtodo para reduzir o tamanho das tabelas de roteamento atravs
da agregao de rotas (ou supernets).

A partir da introduo do conceito de roteamento no restrito s antigas classes A, B e C


(CIDR), comum referirse agora ao conjunto rede e mscara simplesmente como prefixo
de rede, como, por exemplo, o prefixo 192.168.1.0/24, que se refere rede 192.168.1.0 com a
mscara 255.255.255.0, em binrio 11111111 11111111 11111111 00000000, ou seja, os
24 bits 1 que compem a mscara agora so referenciados diretamente no prefixo.
A sintaxe utilizada pelo CIDR processa os prefixos como um endereo IP seguido de uma
mscara de bits rede/mscara (os bits da mscara so processados da esquerda para a
direita) para definir cada rede. Um prefixo pode representar uma rede, uma subrede, uma
superrede ou a rota para um host nico. Por exemplo, considerandose o prefixo
192.168.0.0/16, que originalmente era no modelo Classfull uma sequncia de 256 redes de
254 endereos IP vlidos por rede (redes de 192.168.0.0 at 192.168.255.0) agora podem
ser agrupados de diversas formas:

Para formar subredes: uma subrede tem mscaras menores que a original
255.255.255.0 utilizada para o antigo classe C 192.168.0.0, equivalente a um prefixo
CIDR /24. Exemplos dessas subredes podem ser os prefixos 192.168.0.0/30,
192.168.1.0/25 ou 192.168.2.64/26, entre outros;

Para formar superredes: como a 192.168.0.0/16 ou 192.168.64.0/20 de forma a criar


redes agregadas com mscara maior que a original 255.255.255.0, equivalente a um
prefixo/24;
Um terceiro agrupamento so as rotas para host, como o prefixo 192.168.255.255/32
que designa somente um IP, geralmente com uso especial reservado para roteamento
ou endereamento.

18

BGP Avanado

Os sistemas autnomos (AS)


O conceito de AS.

Obtendo um ASN Autonomous System Number.


AS16bits e AS32bits.

Um sistema autnomo ou AS (Autonomous System) um conjunto de redes sob a mesma


poltica de roteamento, que usa um nico protocolo de roteamento e geralmente esto sob
controle de um mesmo dono, com um controle administrativo e uma gerncia centralizados.
Um sistema autnomo uma rede controlada por uma entidade nica de administrao
tcnica. Sistemas autnomos BGP so usados para dividir redes externas globais em
domnios de roteamento individuais, onde polticas de roteamento locais so aplicadas.
Dessa forma, a organizao simplifica a administrao do domnio de roteamento
internamente e a sua relao com outros sistemas autnomos.

A base de funcionamento do protocolo BGP so os Sistemas Autnomos (AS). Apesar de


conceitualmente um sistema autnomo estar relacionado a um domnio de roteamento, na
prtica necessrio validar a existncia desse domnio de roteamento junto a um RIR
(Regional Information Registry) ou equivalente no seu pas (exemplo: Registro.br, LACNIC,
ARIN, RIPE etc.). Atravs de um processo de solicitao formal a essas entidades de registro,
cada sistema autnomo conectado internet recebe um identificar, um nmero de AS
(Autonomous System Number ou ASN), que identifica aquele domnio de roteamento como
um entre todos os sistemas autnomos existentes no mundo.
Inicialmente, o nmero de sistema autnomo foi concebido para ser um nmero de 16 bits,
que permitia uma variao entre 0 e 65535 nmeros de AS nicos. Entretanto, aps o
crescimento da internet no sculo 21, esse nmero se demonstrou pequeno para acomodar
todas as novas instituies que aderiram internet, passando a ser aumentado para 32 bits,
ou 4 octetos (AS4). Dessa forma, hoje possumos nmeros de AS de 16bits (antigos) e os
novos AS de 32bits que expandiram o nmero de ASNs entre 0 e 4294967295.
Para mais informaes, vide RFCs 1930, 4893 e 7300.

Dentro do espao de ASN, os nmeros de 64512 a 65534 so reservados para uso privado, ou
seja, podem ser utilizados internamente dentro de cada instituio sem necessitar de prvia
autorizao, e no devem ser divulgados para a internet. Os nmeros 23456, 65535 e
4294967295 so reservados pelo IANA para casos especiais.

BGP Avanado

19

Figura 1.5 Exemplo de rede com Sistemas Autnomos.

A sesso BGP

Usa TCP porta 179.

Estabelecimento da conexo TCP entre os roteadores.


Envio da tabela de rotas completa s uma vez.
Atualizao parcial da tabela (incremental).

Mensagens de keepalive para manter a sesso aberta.

O algoritmo BGP no possui nenhuma forma de descoberta automtica de vizinhana, sendo


necessrio configurar manualmente cada um dos vizinhos com os quais cada roteador deve
trocar informaes de roteamento, sejam elas dentro do mesmo sistema autnomo (iBGP) ou
para outros sistemas autnomos (eBGP).
Para realizar essa troca de informaes de roteamento, o protocolo BGP estabelece uma
sesso TCP com cada um dos roteadores que foram configurados para serem seus vizinhos,
conhecidos como peers BGP. Essa sesso TCP realizada atravs do uso de uma porta TCP
especialmente reservada para o protocolo, a porta 179/tcp. Cada um dos roteadores que
foram configurados para estabelecer uma sesso BGP tem o endereo IP ou IPv6 do seu peer,
e ambos simultaneamente tentam enviam solicitao de conexo a porta TCP 179 de seu
vizinho.
Uma vez estabelecida a sesso atravs da porta 179/tcp entre dois parceiros (peers), cada
um dos roteadores inicia um processo de negociao de parmetros do protocolo BGP e em
segundo passo envia para o outro todas as informaes de roteamento que possui em sua
tabela, sendo a partir desse momento somente trocadas informaes que tenham mudado,
ou seja, incrementando ou retirando rotas da tabela inicialmente transmitida.

Obviamente que se nenhuma rede nova for instalada ou retirada da rede, nenhuma
informao de roteamento ser passada nessa sesso BGP, podendo inclusive ficar durante
horas, dias ou semanas sem nenhuma alterao.

20

BGP Avanado

Entretanto, devemos lembrar que a sesso TCP em si possui um timeout associado ao


protocolo TCP prximo a 4 minutos, dependendo da implementao TCP utilizada e que
no final desse timeout a sesso encerrada. Para que isso no ocorra, o protocolo BGP tem
associado a cada sesso um pacote especialmente enviado com o objetivo de manter a sesso
ativa e eventualmente diagnosticar a morte de um peer BGP. Esse pacote conhecido como
keepalive, e por default enviado a cada 10 segundos, podendo ser alterado pelo
administrador, desde que em comum acordo com o seu par BGP.

A mquina de estados do BGP

Os estados do BGP (Idle, Connect, Active, OpenSent, OpenConfirm e Established).


NLRI: Network Layer Reachability Information.
A capability Router Refresh.

A extenso Multiprotocol BGP (MPBGP).

O Protocolo BGP possui uma mquina de estados que demonstra todo o seu funcionamento.
Esse funcionamento pode ser resumido no esquema da figura a seguir:

Figura 1.6 Mquina de estados do protocolo.

Para cada sesso parapar (peertopeer), a implementao BGP mantm uma varivel de
estado que indica em qual dos estados descritos pela mquina de estados a sesso BGP se
encontra. Cabe ao protocolo BGP definir todas as mensagens que devem ser intercambiadas
para que ocorra uma troca de estado dentro da mquina.

O primeiro estado o Idle, e nesse estado o BGP inicializa todas as suas variveis internas
da sesso, e todos os recursos como memria necessrios para o peer, alm de controlar as
informaes necessrias conexo TCP. Nesse ponto, so recusadas qualquer outra conexo
BGP distinta do vizinho que se espera naquele instante, simultaneamente iniciando um
pedido de conexo TCP com esse mesmo peer usando a porta 179. Esse o momento onde

BGP Avanado

21


so enviados pacotes SYN/SYN+ACK de ambos os lados, visando estabelecer uma conexo
TCP entre os pares. Essa conexo poder ser recusada por vrios motivos, como:
Um dos pares espera uma conexo autenticada com MD5 enquanto o outro no;
Problemas de peers configurados erroneamente em ambos os lados (erro do
administrador);

Falta de conectividade entre os dois vizinhos (no possvel realizar um ping entre
eles);
Congestionamento da rede;

Oscilao em circuitos ou interfaces dos roteadores.

Enquanto a conectividade entre os dois vizinhos no estiver normalizada e ambas as


configuraes administrativas de autenticao, identificao e criptografia corretas, a
mquina de estado ficar variando entre Idle e Connect, indicando que est sendo tentado
mais uma vez o estabelecimento da conexo TCP (Connect) e, quando esse for recusado ou
no tiver nenhuma resposta, a mquina de estados ser novamente reiniciada para outra
tentativa (Idle).

Uma vez que a conexo TCP tenha sido estabelecida entre os dois pares, a mquina de estado
passa para o estado Connect e libera a sua utilizao pelo protocolo BGP que far uso dessa
Conexo TCP a partir de agora.
Uma vez que o threeway handshake do TCP foi completado, a mquina de estados passa
para o estado Open Sent. Esse estado pressupe que j exista uma comunicao direta
entre os processos BGP de ambos os vizinhos, permitindo que se inicie a negociao de
vrios parmetros do BGP.

Nesse estado, o processo BGP envia uma mensagem de OPEN e aguarda uma de retorno do
seu peer. Entre os parmetros negociados nesse momento esto as verses do protocolo
BGP, o ASN que identifica cada peer, parmetros de temporizadores como holdtime e outros
parmetros opcionais como RouteRefresh e Extenses MPBGP ou Multiprotocol BGP, como
as famlias de endereos que sero suportados (Unicast IPv4, Unicast IPv6, Multicast IPv4,
Multicast IPv6, MPLS, VPNv4 etc.).

Note que as AFI ou Address Family Identifier so uma caracterstica do MPBGP,


conhecido como Multiprotocol BGP, e que o BGP verso 4 somente prev o suporte ao
protocolo IPv4, no sendo obrigatria a implementao dessa extenso do protocolo.
Entretanto, a maioria dos equipamentos hoje implementa as extenses do MPBGP .

Uma vez que os parmetros solicitados na mensagem de OPEN sejam confirmados, a


mquina de estado passa agora para o estado Open Confirm, indicando que todos os
parmetros BGP de ambos os peers encontramse ajustados e ambos os lados esto de
acordo para trocar informaes de roteamento conforme acordado. Por exemplo, se sero
trocadas tabelas IPv6 ou somente IPv4. Nesse momento, mensagens de KEEPALIVE so
trocadas e o novo estado Established configurado.

22

BGP Avanado

No estado Established, os roteadores podem receber e enviar mensagens KEEPALIVE,


UPDATE e NOTIFICATION de/para seu par. Uma vez nesse estado, iniciase o processo de
envio de mensagens de UPDATE de rotas. As mensagens de UPDATE so as responsveis por
popular as tabelas BGP de ambos os peers e de manter as informaes de roteamento
atualizadas no caso de quedas ou de alteraes nas polticas de roteamento de ambos os
ASNs. Durante o funcionamento do BGP, podem ser recebidas atualizaes (UPDATES) de
mltiplos peers, bem como podem ser enviados anncios de NLRI (Network Layer
Reachability Information).
NLRI nada mais do que a informao do prefixo (rede/mscara) enviado nas mensagens
de UPDATE de um peer a outro.

O estado Established um estado dito estvel, a partir do qual os roteadores somente


sairo em caso de erro ou reincio solicitado pelo administrador da rede. Nesse caso, como
mostrado na mquina de estados, a nica possibilidade para sada desse estado para o
retorno ao estado inicial Idle e a realizao de todo o reincio do processo. Que fique claro
que nesse caso haver uma desestabilizao de todo o roteamento BGP da instituio, e a
retirada da FIB/RIB de todas as rotas aprendidas via BGP. Mesmo em um caso de solicitao
de reincio de sesso controlado de administrador da rede, o tempo de instabilidade no
melhor caso no inferior a 5 minutos, frequentemente chegando a 1015 minutos, at a
estabilizao completa do protocolo. Esse um dos motivos pelo qual o reincio de sesses
BGP deve ser sempre evitado.
Em princpio, o BGP mantm sua prpria tabela mestre de roteamento independente da RIB
interna do roteador (que consolida todos os protocolos de roteamento em atividade no
equipamento). Essa tabela BGP independente denominada LocRIB (Local Routing
Information Base.

Para cada vizinho configurado pelo administrador da rede no BGP do roteador, o processo
BGP manter em memria uma tabela BGP contendo os prefixos recebidos daquele vizinho e
outra contendo os prefixos enviados para aquele vizinho. Ou seja, criado para cada peer
BGP uma estrutura AdjRIBIn (Adjacent Routing Information Base Incoming) contendo NLRI
recebido do vizinho e uma AdjRIBOut (Outgoing) para os NLRI a serem enviados para o
vizinho. O contedo dessas estruturas pode ser consultado via comandos na console do
roteador (por exemplo: show ip bgp neigbour x.x.x.x advertised ou show ip bgp nei x.x.x.x
received).

A capability RouterRefresh utilizada para evitar que seja necessrio reiniciar a sesso BGP
no caso de alteraes na configurao das polticas de roteamento BGP, visando assim
melhorar a estabilidade da rede e minimizar quedas desnecessrias. Quando negociada entre
os peers BGP, permite a um dos vizinhos solicitar o reenvio de todas as informaes de
roteamento (NLRI: Network Layer Reachability Information) sem ter de reiniciar a mquina
de estados do BGP para receber novamente todas as informaes de UPDATE do seu peer. A
Capability routerrefresh definida na RFC 2918 e pode ser ativada por alguns fabricantes
sob a clusula softreconfiguration.
BGP Avanado

23

Tipos de mensagens BGP


OPEN

NOTIFICATION
KEEPALIVE
UPDATE

ROUTEREFRESH

A extenso MPBGP (Multiprocol BGP)

As mensagens do protocolo BGP possuem um cabealho com o seguinte formato:

Figura 1.7 Formato do cabealho da mensagem do protocolo BGP.

Marker: campos com 16 octetos que deve ser completamente preenchido com uns;
Lenght: 2 octetos indicando o comprimento da mensagem, incluindo os octetos no
cabealho.
Type: indica o cdigo do tipo tal como indicado a seguir:
1: OPEN

2: UPDATE

3: NOTIFICATION
4: KEEPALIVE

5: ROUTEREFRESH

24

BGP Avanado

Tipos de mensagens BGP-OPEN

Figura 1.8 Mensagem BGPOpen.

Verso: um campo de 1 byte que indica o nmero de verso do BGP sendo usado na origem.
O mais alto valor de verso que ambos os roteadores negociando suportam ser utilizado. A
maioria das implementaes atuais BGP usam a verso atual: BGP4;

Meu Sistema Autnomo: um campo de 2 bytes que indica o nmero AS do originador. Um


parceiro (peer) BGP usa essas informaes para determinar se a sesso BGP EBGP ou IBGP,
e vai encerrar a sesso BGP se no for o nmero do AS esperado;
Hold Time: um campo de 2 bytes que indica o nmero de segundos propostos pelo
originador para o tempo de espera da sesso BGP. o perodo de tempo que pode decorrer
at o receptor receber uma mensagem de Keepalive ou Atualizao (Update) do originador.
O receptor da mensagem OPEN calcula o valor de espera do temporizador a usar ao
comparar o campo Hold Time especificada na mensagem aberta e seu valor de
temporizador de espera configurado; e aceita o valor menor ou rejeita a ligao. O tempo de
espera deve ser 0 ou ao menos, 3 segundos. O tempo de espera padro de 180 segundos;

BGP Identifier: um campo de 4 bytes que indica o ID do roteador de origem. O identificador


BGP um endereo IP atribudo a um roteador BGP e determinado no incio do processo de
roteamento BGP. O BGP Router ID escolhido da mesma maneira como o OSPF Router ID
escolhido. O BGP Router ID pode ser configurado estaticamente para substituir a seleo
automtica;
Opt Param Len (Comprimento dos parmetros opcionais): um campo de 1 byte que
indica o comprimento total em octetos do campo subsequente, com os parmetros opcionais.
Um valor de zero indica que no h parmetros opcionais;

BGP Avanado

25


Parmetros opcionais: um campo de comprimento varivel que contm uma lista de
parmetros opcionais. Cada parmetro especificado por um campo de 1 byte de tipo, um
campo de comprimento de 1 byte, e um campo de valor de comprimento varivel que
contm o prprio valor de parmetro. Esse campo usado para anunciar o suporte para
recursos opcionais, como por exemplo: extenses de multiprotocolos, rota de atualizao etc.

Figura 1.9 exemplo de mensagem OPEN capturada.

Tipos de mensagens BGP-NOTIFICATION


A mensagem de NOTIFICATION enviada quando uma condio de erro detectada. A
conexo BGP fechada imediatamente aps o envio dessa mensagem.

Figura 1.10 mensagem BGPNotification.

Uma vez que necessrio enviar uma mensagem de notificao com o erro registrado pelo
protocolo, existe uma tabela que retrata esses cdigos de erro:

26

BGP Avanado


Cdigo de
Erro

Nome simblico da referncia

Message Header Error Section

UPDATE Message Error

2
4
5
6

OPEN Message Error


Hold Timer Expired

Finite State Machine Error


Cease

Os cdigos de suberros definidos para cada um dos tipos de mensagens so os seguintes:


Tipo de
mensagem

Cdigo de suberro

Message Header

1: Connection Not Synchronized.

OPEN Message

2: Bad Message Length.


3: Bad Message Type.

1: Unsupported Version Number.


2: Bad Peer AS.

3: Bad BGP Identifier.

4: Unsupported Optional Parameter.


5: Deprecated
UPDATE Message

6: Unacceptable Hold Time.

1: Malformed Attribute List.

2: Unrecognized Wellknown Attribute.


3: Missing Wellknown Attribute.
4: Attribute Flags Error.

5: Attribute Length Error.

6: Invalid ORIGIN Attribute.


7: Deprecated.

8: Invalid NEXT_HOP Attribute.


9: Optional Attribute Error.

BGP Avanado

10: Invalid Network Field.


11: Malformed AS_PATH.

27


O campo DATA tem um comprimento varivel e usado para diagnosticar a razo para a
NOTIFICATION

Tipos de mensagens BGP: KEEPALIVE

A mensagem KEEPALIVE contm apenas o cabealho BGP e tem comprimento de 19 octetos.


Essa mensagem usada para determinar se os pares ainda tm conexo vivel entre eles. As
mensagens so intercambiadas em intervalos suficientes para no deixar o temporizador
Hold Timer expirar. Um valor razovel para esse tempo entre envio de mensagens
KEEPALIVE de um tero do valor do Hold Timer. Se foi negociado que o Hold Timer seja
zero, as mensagens peridicas de KEEPALIVE no sero enviadas.

Um ponto importante que ambos os peers precisam concordar em um mesmo holdtime,


sob pena de a sesso BGP ficar instvel. Uma boa poltica no alterar o default definido para
o protocolo, a menos que se tenha total cincia do efeito que se deseja dar rede.

28

Figura 1.11 Mensagem BGP KEEPALIVE.

BGP Avanado

Tipos de mensagens BGP: UPDATE


A mensagem de UPDATE usada para anunciar para um par de rotas possveis que
compartilham atributos ou para remover mltiplas rotas que no esto mais passveis de
uso. Uma mensagem de UPDATE pode anunciar os dois tipos. A mensagem sempre inclui o
cabealho e a seguir outros campos tal como mostrado na figura a seguir (alguns campos
podem no estar presentes em todas as mensagens UPDATE).


Figura 1.12 Mensagem UPDATE.

Comprimento do campo (Withdrawn Routes Length): comprimento total do


campo de rotas retiradas;

Rotas removidas (Withdrawn routes): lista de endereos IP que so prefixos das


rotas sendo retiradas de servio. Cada endereo IP codificado como um par
(Comprimento Prefixo).

Figura 1.13 Campo Withdrawn Routes.

Comprimento do campo (Lenght) indica


o comprimento em bits do endereo do
prefixo IP. Um comprimento zero indica um
prefixo correspondente a todos os
endereos IP.
Prefixo contm um endereo de prefixo
IP seguido do nmero de bits adicionais
(quaisquer) necessrios para fazer o fim do
endereo cair em um limite de octeto.

Comprimento total do campo de atributos (Total Path Attribute Length): dois


octetos indicando o comprimento total do campo Total Path Attribute Length. Esse
valor permite determinar o comprimento do campo Network Layer Reachability. O
valor zero indica que o campo Path Attributes no est presente;

Atributos do Caminho (Path attributes): uma sequncia varivel de atributos sendo


cada um representado por uma tripla composta de: <attribute type, attribute length,
attribute value>.
BGP Avanado

29

Attribute Flags
Bit de mais alta ordem indica se
o atributo opcional (valor 1)
ou bem conhecido (valor 0).
O segundo bit de mais alta
ordem que indica o atributo
transitivo (0) ou no transitivo
(1).
Terceiro bit de mais alta ordem
indica se a informao contida
no atributo transitivo opcional
parcial (1) ou completa (0).
Quarto bit indica se o
comprimento do atributo tem
um octeto (0) ou dois octetos
(1).
Attribute Type Code contm o
cdigo do atributo.

Figura 1.14 Tipos de atributos do campo atributos do aspath.

Tipos de mensagens BGP: ROUTE-REFRESH

Essa mensagem foi criada para facilitar mudanas de poltica de roteamento no disruptivas.
Ela foi definida no RFC2918 e provoca uma atualizao de rotas entre os anunciadores de
BGP e subsequente reanncio das informaes de adjacncia (AdjRIBOut) de um par BGP.
Essa mensagem serve para solicitar a retransmisso de todas as informaes de roteamento
de um vizinho BGP. No precisa fechar e reiniciar a sesso BGP, e independente do
protocolo (IPv4 ou IPv6).
Mais informaes podem ser obtidas na RFC 2918: Route Refresh for BGP4.

A extenso MP-BGP (Multiprotocol BGP)

Quando uma mensagem de OPEN enviada entre vizinhos BGP, vrias caractersticas
opcionais (capabilities) so divulgadas por cada um dos peers na forma como o
Administrador de Redes configurou o referido roteador BGP. Quando ambos os pares da
sesso BGP tm suporte quela capacidade, ela pode ser ativada. Algumas dessas possveis
capacidades so o BGP Multiprotocolo (MPBGP), o routerrefresh, o outbound route filtering
(ORF) e outros.
Quando ambos os vizinhos concordam em utilizar a extenso multiprotocolo (MPBGP), eles
precisam identificar qual o AFI (Address Family Identifier) e o SAFI (Subsequent Address
Family Identifier) que cada um suporta e est configurado para trocar informaes. O uso e
codificao detalhados dos campos AFI: Address Family Identifier (16 bit) e SAFI:
Subsequent Address Family Identifier (8 bit) so definidos na RFC 2858: Multiprotocol
Extensions for BGP4.
O formato da mensagem e seus campos so mostrados a seguir:

30

BGP Avanado

AFI: Address Family Identifier (16 bit).


Figura 1.15 Formato da mensagem BGP.

Res.: Reserved (8 bit) field. Deve


conter o valor 0 e ser ignorado pelo
recebedor

SAFI: Subsequent Address Family


Identifier

O roteamento BGPIPv6 e o roteamento MPLS (Multiprotocol Label Switching) so


basicamente realizados utilizandose as extenses MPBGP. O campo <AFI" possui somente
uma variao de valores possvel at o momento (1 e 2):
1 IPv4;
2 IPv6.

Enquanto o campo <SAFI>


1

Unicast;

Multicast;

MPLS Label;

3:

possui outros valores possveis:

Unicast and multicast;

128: MPLSlabeled VPN.

Note que os campos <AFI" e <SAFI" so campos que compem uma nica mensagem, ou
seja, cada conjunto AFI+SAFI significar um conjunto independente de informaes BGP
trocadas entre os peers. Em resumo, significar uma outra tabela BGP.

A lista a seguir mostra todas as variaes possveis dos conjuntos <AFI><SAFI> e todas as
tabelas BGP que podem ser criadas a partir da. NB: cada nova entrada implica na alocao
de memria e criao de polticas especficas para manusear esse novo conjunto de dados:
AFI=1, SAFI=1, IPv4 unicast;

AFI=1, SAFI=2, IPv4 multicast;

AFI=1, SAFI=128, L3VPN IPv4 unicast;

AFI=1, SAFI=129, L3VPN IPv4 multicast;


AFI=2, SAFI=1, IPv6 unicast;

AFI=2, SAFI=2, IPv6 multicast;

AFI=25, SAFI=65, BGPVPLS/BGPL2VPN;


AFI=2, SAFI=128, L3VPN IPv6 unicast;

BGP Avanado

31

AFI=2, SAFI=129, L3VPN IPv6 multicast;


AFI=1, SAFI=132, RTConstrain;
AFI=1, SAFI=133, Flowspec;
AFI=1, SAFI=134, Flowspec;
AFI=3, SAFI=128, CLNS VPN;

AFI=1, SAFI=5, NGMVPN IPv4;


AFI=2, SAFI=5, NGMVPN IPv6;
AFI=1, SAFI=66, MDTSAFI;

AFI=1, SAFI=4, labeled IPv4;

AFI=2, SAFI=4, labeled IPv6 (6PE).

iBGP e eBGP
iBGP

eBGP

Fullmesh

Router Reflector (RR)

O protocolo BGP pode ser utilizado de duas formas, internamente ao sistema autnomo
visando transportar os prefixos internos da rede (exemplo: prefixos de clientes) e
externamente, entre os diferentes sistemas autnomos, como uma forma de divulgar os
prefixos do prprio AS aos seus provedores e parceiros, alm de aprender os prefixos e rotas
originados na internet.
Internamente ao AS (iBGP);

Entre ASNs distintos (eBGP).

Embora o protocolo BGP no processo de estabelecimento de uma sesso, comportamento da


mquina de estados e trocas de mensagens sejam exatamente iguais, existe um
comportamento diferenciado quando o peer BGP pertence ao mesmo sistema autnomo ou a
um AS distinto daquele que solicita o estabelecimento da sesso. Essa situao identificada
no momento da troca de mensagens inicial do BGP (mensagem de OPEN), onde cada um dos
peers identifica a qual sistema autnomo pertencem.

32

BGP Avanado

Figura 1.16 Peering iBGP e eBGP.

Uma vez identificado se a sesso BGP se refere a um peer externo, cujo ASN dos dois peers
distinto, o comportamento do BGP segue da forma esperada: cada um dos peers envia toda a
informao que compe a sua tabela BGP para o peer externo (eBGP), levando em conta
somente as polticas (filtros) de sada configuradas previamente para aquele ASN.

J em uma sesso BGP interna (iBGP), onde os roteadores esto conectados compartilhando
algum protocolo IGP (RIP, OSPF, ISIS...), o protocolo procura minimizar os anncios entre os
routers iBGP. Essa otimizao parte do princpio de que um roteador interno do BGP
responsvel por compartilhar as informaes de roteamento (NLRI) que ele gerar com todos
os outros roteadores que falam BGP dentro do mesmo ASN. Isso basicamente significa que
um prefixo recebido por um roteador interno (iBGP) no precisa ser repassado para outros
peers internos, cabendo ao originador daquele prefixo repassar essa informao diretamente
para todos os outros pares internos (peers iBGP).
Para que isso seja possvel, necessrio que todos os roteadores que falam
BGP internamente ao sistema autnomo (peers iBGP) tenham uma
conexo direta entre si. Esse um ponto imprescindvel para que o BGP
funcione corretamente. Esse tipo de arquitetura no BGP conhecida como
full mesh.
Normalmente os roteadores BGP internos ao AS devem possuir
alcanabilidade via algum algoritmo IGP, compartilhando o mesmo
processo OSPF ou ISIS de forma a prover essa conectividade interna,
mesmo que indireta, entre todos os roteadores iBGP do ASN, para a partir
da criar uma conexo TCP e a sesso BGP de todos para todos, criandose
assim a rede BGP full mesh.

Full mesh: uma

conexo completa,
onde todos os

roteadores iBGP
possuem uma

sesso BGP direta


para todos os

outros, e isso

essencial em um
ambiente iBGP.

BGP Avanado

33

Figura 1.17 Roteadores BGP formando uma rede full mesh.

Entretanto, devese notar que a entrada de cada novo roteador iBGP nesse cenrio
significar a reconfigurao de todos os outros roteadores de forma a criar uma nova sesso
iBGP. Esse cenrio aceitvel at um nmero de uma ou duas dezenas de roteadores, sendo
necessria a criao de N1 novas sesses BGP para cada novo peer BGP a ser inserido na
rede. Uma forma de facilitar esse crescimento, minimizando o nmero de sesses BGP a
serem criadas, o uso de uma estratgia chamada de routerreflector.
A definio de um routerreflector realizada pela RFC 4456 e seu objetivo exatamente
aumentar a escalabilidade de grandes backbones atravs da insero do conceito de router
reflector e routerreflector client, e a proposta bastante simples: repassar as informaes
recebidas dos peers iBGP para os outros peers iBGP.

Um determinado roteador da rede eleito pelo administrador da rede para ser o refletor de
rotas. Isso significa que na realidade um determinado roteador interno (iBGP) ter um papel
semelhante ao de um roteador eBGP: replicar todas as NLRIs (mensagens de UPDATE) que ele
recebe para todos os outros vizinhos, tornando desnecessrio que um mesmo roteador tenha
N1 sesses BGP para todos os outros roteadores BGP internos. Em uma rede com um RR, cada
roteador iBGP somente precisa possuir uma nica sesso iBGP com o seu RR.

Essa abordagem de RR (RouterReflector) possui a vantagem de facilitar a configurao da


rede pelo administrador, mas tem como desvantagem o caso onde o RR venha a sofrer
alguma falha. Nesse caso, toda a rede iBGP deixar de funcionar, causando uma instabilidade
indesejada. Um contorno para essa situao o uso de mais de um RR, mas essa abordagem
tem suas prprias complicaes do ponto de vista de segurana, complexidade e estabilidade
para a rede. Uma boa recomendao somente fazer uso de um RR (Router Reflector iBGP)
quando o nmero de peers BGP internos chegar prximo ou ultrapassar 30 iBGP routers.
Caso contrrio, uma abordagem baseada em fullmesh mais recomendada, pela simplicidade
e estabilidade.

34

BGP Avanado

Roteamento Explcito versus Rota Default


Full Routing.

Default Free Zone (DFN).


Roteamento Hbrido.

Quando se define como ser o roteamento iBGP e eBGP da instituio, a primeira pergunta a
ser respondida referese capacidade dos equipamentos envolvidos, j que existe uma
relao direta entre o hardware do roteador (memria TCAM) e a quantidade de rotas que
podem ser instaladas na FIB (Forwarding Information Base), e a quantidade de rotas e
sesses BGP que podem ser manipuladas pelo equipamento, diretamente relacionado com a
CPU, memria RAM e Sistema Operacional do equipamento.
Atualmente, a tabela BGP IPv4 composta por aproximadamente 600 mil entradas nicas
que devem ser instaladas na FIB do equipamento para que este possa realizar
encaminhamento com velocidade de roteamento por hardware (wirespeed).

Figura 1.18 Crescimento da tabela BGPv4 entre 1990 e 2016.

Normalmente, equipamentos com suporte em hardware a mais de 512k rotas se enquadram


em uma faixa de roteadores conhecidos como mdios ou de grande porte. Como se isso no
bastasse, a tabela BGP unicast IPv4 apenas uma das tabelas que podem ser mantidas pelas
extenses MPBGP (Multiprotocol BGP), e devem compartilhar a mesma TCAM com outras
entradas, como a tabela Multicast IPv4, MPLS, Unicast IPv6 etc. Entre as famlias de
endereamento (AFI) existentes no MPBGP, o caso mais comum em um roteador de uma
empresa ou de um provedor de servio online (OSPs) a existncia de dois grupos mnimos:
BGP IPv4 Unicast;
BGP IPv6 Unicast.
BGP Avanado

35


MPLS, VPN e Multicast so mais comumente utilizados em provedores de acesso (ISPs).

Entretanto, a configurao de roteadores virtuais comuns em datacenters aumentam a


necessidade de FIBs maiores para poder manter a velocidade de encaminhamento de
camada 3 por hardware (roteamento). Esse fato se agrava ainda mais se considerarmos o
protocolo IPv6. O caso aqui que, como falamos de capacidade de hardware, sem sombra de
dvida falamos de quantidades de bits processados, e que nesse caso precisamos lembrar
que um endereo IPv4 composto por 32 bits, enquanto um endereo IPv6 tem 128 bits, ou
seja, quatro vezes maior que seu antecessor.
Isso quer dizer que uma entrada na tabela BGP em IPv6 consome o equivalente em memria
TCAM de quatro entradas IPv4? A resposta sim! Ou seja, considerando um hardware que
possui uma memria TCAM capaz de suportar 512 mil rotas IPv4, se esse hardware for
compartilhado com IPv6, isso significa que ele suportar:
Ou 512k rotas unicast IPv4;
Ou 128k rotas unicast IPv6;

Ou um hbrido de, por exemplo: 256k rotas unicast IPv4 & 32k rotas unicast IPv6.

Note que para cada nova funcionalidade desejada, como MPLS, Multicast IPv4 e Multicast
IPv6, essas mesmas 512k entradas tero de ser readequadas para suportar essas novas
tabelas.

Considerandose ainda que, segundo o que registrado historicamente no crescimento das


tabelas IPv4 e IPv6, estimase por volta de 10% ao ano o crescimento atual da tabela de rotas
IPv4. Se temos agora uma tabela BGPv4 completa com 600 mil prefixos ativos e uma tabela
BGPv6 de 30 mil entradas, e que o equipamento em questo compartilha a mesma TCAM
para encaminhar IPv4 e IPv6, teramos de adquirir hoje um equipamento capaz de manusear
pelo menos 750 mil rotas (600k + ( 4 * 30k)) simplesmente para podermos utilizlo este
ano. Se tivermos de planejar um crescimento de pelo menos 10% ao ano, 1 milho de rotas
poderia nos manter:
825k rotas depois de um ano (750k + 10%);
908k rotas no segundo ano (825k + 10%);

~1 Milho de rotas no final do terceiro ano ( 908k + 10%).

E isto considerando que no sero colocados outros servios nesse equipamento (MPLS,
virtual routing, Multicast, VPNv4 etc.).

Ou seja, notase que bastante caro trabalhar com todos os prefixos existentes na internet.
Um roteador que recebe todo os prefixos existentes da internet chamado de um roteador
que faz roteamento completo, tambm conhecido como fullrouting. Um roteador que receba
a tabela BGP completa de mltiplos provedores de acesso tem como vantagem conhecer
todas as sadas possveis de seus provedores de acesso e a quem eles esto conectados na
internet (os provedores dos provedores), e com essas informaes ter mais informaes
para escolher qual provedor oferece o caminho mais curto para o destino do seu pacote.
36

BGP Avanado

Um sistema autnomo que tem todos os seus principais roteadores recebendo de seus
provedores a tabela BPG completa (fullrouting) sabe o caminho para todas as redes da
internet e no faz sentido que ele tambm tenha uma rota Default j que o conceito de
roteamento default (por falta de informao) no faz sentido para um roteador que tem a
informao de todas as rotas da internet, as mesmas informaes de seus provedores e dos
provedores dos seus provedores (TIER2 e TIER1). O nome que se d para uma rede que no
possui a rota default nos seus roteadores principais (Core Routers) DFZ (Default Free Zone).
Default Free Zone (DFZ):

Alta sobrecarga, complexo, alto custo, alta granularidade.

O roteamento fullrouting tem como contraponto um roteamento simplificado, geralmente


utilizado em empresas que possuem somente um provedor de acesso internet, o
roteamento pela rota Default. O roteamento pela rota default (0.0.0.0/0) tem como vantagem
no necessitar de entradas na FIB ou TCAM, j que ele somente possui uma informao
registrada no hardware: Encaminhe tudo pela interface default. A desvantagem do
roteamento default exatamente a falta de informao de roteamento, que impede que
sejam usados recursos como balanceamento de trfego entre mltiplas sadas por
provedores de acesso distintos.
Roteamento Default:

Simples, barato (processamento, memria, banda);


Baixa granularidade (jogo de mtricas).

Uma soluo intermediria envolve solicitar para o seu provedor de acesso (ISP) no contrato
BGP firmado entre as instituies que esse envie para o seu ASN, o que chamado de
roteamento parcial, ou seja, que ele envie um subconjunto da tabela BGP completa,
normalmente uma frao contendo as redes mais prximas geograficamente do cliente e que
esse tenha maior probabilidade de ter trfego destinado a elas.

Um exemplo de uma tabela parcial fornecida por provedores brasileiros pode ser composta
por exemplo por:
Prefixos BGP de clientes do prprio provedor (ISP);

Prefixos BGP de redes aprendidas pelos Pontos de Troca de Trfego Brasileiros (vide
http://ix.br);
Prefixos de grandes provedores com presena no Brasil (Embratel, Oi, Telefonica,
Vivo, Claro etc.);

Essas informaes parciais que reduzem as supostas 600 mil rotas para um conjunto menor;
por exemplo, 100 mil rotas, precisam ser complementadas com a rota default para um dos
provedores de acesso que o cliente tem contratado, sob pena de no ter alcanabilidade para
o restante da internet.
O roteamento hbrido faz sentido pela probabilidade que algum usurio residente no Brasil
tende a acessar contedos em lngua portuguesa e empresas brasileiras, ou seja, ele tende a

BGP Avanado

37


ler um jornal brasileiro em vez de um jornal chins. Porm, isso s faz sentido se o jornal
brasileiro estiver hospedado em um servidor no Brasil, e no da China. A identificao de
probabilidades e necessidades como essas, alm das mudanas de polticas de roteamento e
migraes de contedo para as mais diversas nuvens espalhadas pelo mundo, faz parte do
trabalho do administrador de rede, bem como as reconfiguraes necessrias no BGP para
otimizar esses acessos mantendose um custo/benefcio em relao ao investimento em
equipamentos e infraestrutura de rede.
Roteamento Hbrido:
subtimo;

Minimiza a sobrecarga;

Minimiza o custo de equipamentos e infraestrutura de rede;


Prov uma granularidade til;

Requer alguns conhecimentos de filtragem.

Configurao bsica do BGP

O roteamento BGP requer mais configurao do que outros protocolos de roteamento, e os


efeitos de quaisquer alteraes de configurao devem ser totalmente compreendidos. A
configurao incorreta pode criar buracos negros no roteamento, deixando redes sem acesso
e impactando negativamente a operao normal da rede.
Alguns aspectos importantes na configurao bsica de BGP so:
Habilitar o BGP Routing (obrigatrio);

Configurar os vizinhos BGP (obrigatrio);


Usar BGP Soft Reconfiguration;
Reiniciar as conexes BGP;

Permitir interaes entre BGP e IGPs;

Realizar filtragem de prefixos para os vizinhos BGP;


38

Realizar a seleo de caminhos a ser transmitido para cada vizinho.

BGP Avanado

Habilitao do roteamento BGP


A habilitao do processo de roteamento BGP feita com o comando router, de forma
semelhante aos outros protocolos de roteamento:
router bgp <numero-AS>

Outro ponto importante identificar quais as redes que fazem parte do ASN que esse
roteador dever anunciar para seus vizinhos BGP. Isso realizado pela marcao de uma
rede como local a esse ASN e entrada da tabela BGP.
network nmero-de-rede [mask mscara-de-rede]

Configurao de vizinhos BGP


O passo seguinte a configurao dos vizinhos BGP.

neighbor {endereo-ip | nome-de-grupo-do-par} remote-as nmero

Reset das conexes BGP


Para que modificaes em filtros, pesos, distncias, verses, ou temporizadores tenham
efeito, necessrio que a conexo BGP entre dois pares seja reinicializada.
clear ip bgp <ip-do-vizinho> [soft-reconfiguration {in | out}]
clear ip bgp * [soft-reconfiguration {in | out}]

Para evitar a instabilidade causada pelo reset das conexes BGP/TCP, podemos configurar o
recurso de softreconfiguration, com o seguinte comando:
neighbor {endereo-ip | nome-de-grupo-do-par} soft- reconfiguration
{in | out}

Configurao da interao com IGPs


Alguns equipamentos mais antigos ainda utilizam um recursos conhecido como
sincronizao de rotas, que somente permite que determinada rota seja instalada na FIB
dos roteadores se ela j houver sido divulgada para todos os roteadores iBGP da rede.

Lembrese de que cada roteador iBGP responsvel por enviar suas mensagem de UPDATE
para todos os seus vizinhos internos. Como algumas vezes existem dezenas de vizinhos iBGP,
esse processo leva algum tempo. Caso um roteador utilize essa rota enquanto outro ainda
no a tenha instalado, existe a possibilidade de criarse um loop no roteamento. O
mecanismo de sincronizao fora com que essa rota somente seja utilizada quando todos os
roteadores j tiverem sido notificados da sua existncia.
Por uma srie de motivos relacionados a estabilidade e dinamicidade dos anncios, hoje em
dia esse recurso por default desabilitado. Caso exista esse recurso, uma boa prtica
desabilitlo, a menos, claro, que se tenha cincia de porque seu uso desejado.
Normalmente, se no passar trfego entre ASN externos pelos roteadores internos do AS

BGP Avanado

39


Local, ou se todos os roteadores no ASLocal rodarem BGP, a sincronizao pode ser
desabilitada com o comando:
no synchronization

Outra forma de interao entre BGP e outros protocolos IGP a possiblidade de intercambiar
informaes entre os protocolos atravs do comando redistribute. Por exemplo, se
invocada a redistribuio das rotas estticas (redistribute static) dentro da sesso de
configurao do BGP (Router bgp), todas as rotas estticas existentes nesse roteador agora
sero repassadas para todos os peers BGP.
router bgp
redistribute [connected | static | ospf | rip] {condio}

Configurao da filtragem de rotas pelo vizinho


Para restringir a informao de roteamento que um roteador anuncia ou aprende, podemos
filtrar atualizaes de roteamento BGP para e de um vizinho particular. Os mecanismos de
filtragem sero melhor abordados na prxima sesso.

neighbor {endereo-IP | nome-de-grupo-do-par} distribute-list listade-acesso {in | out | weight peso}


neighbor {endereo-IP | nome-de-grupo-do-par} filter-list lista-deacesso {in | out | weight peso}
neighbor {endereo-IP | nome-de-grupo-do-par} route-map mapa-deacesso {in | out | weight peso}
Para a configurao da filtragem de caminhos pelo vizinho, a filtragem pode ser feita baseada
nos caminhos do AS ou com a definio de uma lista de acesso BGP.
ip as-path access-list nmero-da-lista-de-acesso {permit | deny}
expresso-regular-as

As expresses regulares so sequncias de caracteres especiais que podem ser usados para
pesquisar e encontrar padres de caracteres. Uma expresso regular um padro para
comparao de uma cadeia de entrada. Uma expresso regular pode ser um padro de
caractere nico ou um padro com vrios caracteres. A correspondncia de uma sequncia
de caracteres para o padro especificado chamado de "padro de correspondncia", e pode
resultar em sucesso ou falha. A construo de expresses regulares no mbito dos
roteadores envolve o uso de caracteres especiais:

40

BGP Avanado

Caractere

Uso

Incio da cadeira de caracteres (string)

[]

Variao de caracteres

Fim do string

Usado para especificar a variao, por exemplo [09]

()

Agrupamento local

Qualquer caractere nico

Zero ou mais instncias

Uma ou mais instncias

Vrgula, abre ou fecha colchete ou parnteses, incio ou fim de string ou


espao

Exemplos de expresses regulares usuais e seu significado:


.* Qualquer coisa

^$ Roteadores localmente originados


^100_ Aprendido do AS 100
_100$ Originado no AS 100
_100_ Qualquer instncia de AS 100
^[09]$ AS diretamente conectado (iniciado e terminado no mesmo ASN)

Exemplo de configurao
A seguir, est exemplificada a configurao do AS100. Esse AS possui trs roteadores:
Router_A, Router_B e Router_C, sendo cada um deles responsvel por um bloco IPv4
(200.10.0.0/16, 200.20.0.0/16 e 200.30.0.0/16).

A configurao exemplo estabelece uma sesso iBGP fullmesh entre os roteadores A, B e C,


utilizando como endereo de conexo TCP os endereos da Loopback0 de cada um dos
roteadores. Nesse caso, partese do princpio de que o algoritmos IGP (exemplo: OSPF) j
esto corretamente configurados, e os endereos de infraestrutura (interfaces) j so
conhecidos via IGP por todos os roteadores.

BGP Avanado

41

Figura 1.19 Exemplos de rede do AS100.

Como configurar iBGP na rede descrita na figura mostrada anterior.


Router_A:

Interface Loopback0
ip address 200.10.254.254/32
router bgp 100
network 200.10.0.0
mask
255.255.0.0
neighbor 200.20.254.254 remote-as 100
neighbor 200.20.254.254 description iBGP com Router_B
neighbor 200.20.254.254 update-source loopback0
neighbor 200.30.254.254 remote-as 100
neighbor 200.30.254.254 description iBGP com Router_C
neighbor 200.30.254.254 update-source loopback0
ip route 200.10.0.0/16 Null0
Router_B:

Interface Loopback0
ip address 200.20.254.254/32
router bgp 100
network 200.20.0.0
mask
255.255.0.0
neighbor 200.10.254.254 remote-as 100
neighbor 200.10.254.254 description iBGP com Router_A
neighbor 200.10.254.254 update-source loopback0
neighbor 200.30.254.254 remote-as 100
neighbor 200.30.254.254 description iBGP com Router_C
neighbor 200.30.254.254 update-source loopback0
ip route 200.20.0.0/16 Null0

42

BGP Avanado

Router_C:

Interface Loopback0
ip address 200.30.254.254/32
router bgp 100
network 200.30.0.0
mask
255.255.0.0
neighbor 200.10.254.254 remote-as 100
neighbor 200.10.254.254 description iBGP com Router_A
neighbor 200.10.254.254 update-source loopback0
neighbor 200.20.254.254 remote-as 100
neighbor 200.20.254.254 description iBGP com Router_B
neighbor 200.20.254.254 update-source loopback0
ip route 200.30.0.0/16 Null0
Parmetros adicionais
Updatesource: quando utilizado, o neighbor updatesource loopback 0 fora que o pedido
de conexo TCP, o IP_origem utilizado para a sesso TCP especificado como sendo o IP da
loopback 0 em vez do IP da interface fsica de sada (exemplo: eth0).
Como as rotas so anunciadas via BGP

Se forem recebidas de um vizinho e repassadas;


Via comando network;

Via sumarizao de rotas (agregao);


Via redistribuio de outro protocolo.

O comando network responsvel pela divulgao de um prefixo no BGP, entretanto, a rota


somente ser realmente divulgada se houver uma rota exatamente igual (IP/mask) no IGP.

network 200.10.0.0 mask 255.255.0.0 [route-map <cidr_local>]

Alm do network, devese adicionar uma rota para o bloco em questo, destinado a NULL0,
que a forma de se injetar estaticamente uma rota estvel no BGP:
ip route 200.10.0.0/16

Null0 [peso-adm]

Atravs do comando aggregate tambm podemos gerar uma rota BGP baseada nas rotas do
IGP ou BGP. A clusula summaryonly suprime do BGP as rotas que originaram a rota
sumarizada:
aggregate-address 200.10.0.0 255.255.0.0 [summary-only]

Atravs do comando redistribute, podemos injetar rotas dinamicamente no BGP de


qualquer outro protocolo. Injeo de rotas do IGP no BGP perigosa no sentido de que pode
haver instabilidades e/ou oscilaes no IGP, que podero penalizar essas rotas com
dampening nos ASN vizinhos.
redistribute connected

BGP Avanado

43

Figura 1.20 Redistribuio de rotas.

44

BGP Avanado

2
Atributos e Polticas de Roteamento
Objetivos
Conhecer os atributos BGP; Estudar as Polticas de Roteamento e suas aplicaes; Descrever

o algoritmo de seleo de caminhos do BGP; Entender os mecanismos de controle de trfego


de um AS; Conhecer o conceito de Engenharia de Trfego.

Conceitos

Atributos BGP; Polticas de Roteamento; Algoritmo de seleo de caminhos do BGP;

Controlando o trfego de entrada do AS; Engenharia de trfego com comunidades BGP.

Sumrio

Atributos BGP.

Polticas de Roteamento.

Listas de distribuio (distributelist).


Listas de prefixos (prefixlist).

Filtros de caminho (filterlist).


Mapas de rotas (routemap).

Algoritmo de seleo de caminhos do BGP.


Controlando o trfego de entrada do AS.

Uso de prefixos BGP mais especficos e rotas agregadas para balanceamento de trfego.
Explorando o uso de comunidades.

Atributos BGP

Mtricas do BGP para o processo de tomada de deciso


Conceito de Rota (RFC 4271 BGP4)

Conjunto de destinos x atributos de caminho


Conjunto de destinos => ASs

Prefixos IP no campo NLRI mensagem Update

Atributos de Caminho (Path Atributes)


BGP Avanado

45


O comportamento do algoritmo BGP determinado por um conjunto de atributos,
individualmente associados a cada prefixo de rede. Esses atributos tm o objetivo de prover
uma qualificao para cada um dos caminhos existentes na tabela de rotas (path) de forma a
prover maior granularidade de subsdios para o algoritmo de escolha do melhor caminho do
BGO. Em suma, os atributos so mtricas utilizadas pelo algoritmo BGP no seu processo de
tomada de deciso.
Para se compreender a ideia por trs dos atributos dos caminhos, sempre til relembrar o
conceito de Rota, conforme definido pela RFC 4271, que especifica o protocolo BGP4:

Rota uma unidade de informao que pareia um conjunto de destinos com os atributos de
caminho daqueles destinos. O conjunto de destinos so sistemas autnomos cujo endereo IP
esto contidos em um prefixo IP carregado no campo de informao de alcanabilidade
(NLRI) da mensagem de UPDATE. O path ou caminho a informao reportada no campo
atributo de caminho da mesma mensagem BGP.
Em outras palavras, o protocolo BGP carrega no cabealho associado a cada prefixo
anunciado um campo conhecido pelo nome de Atributos do Caminho (path atributes). Essa
informao transportada dentro de cada mensagem de UPDATE trocada para anunciar ou
alterar cada rota entre os peers BGP.

Os atributos BGP podem ser classificados em quatro grandes categorias, que se referem em
grande parte a como deve ser realizada a implementao desses atributos nos roteadores: se
eles so de implementao obrigatria ou opcional e se um atributo recebido com uma rota
deve ou no ser repassado para os seu vizinhos. As categorias para classificar os atributos
dos caminhos (path atributes) so:
Wellknown mandatory.

Wellknown discretionary.
Optional transitive.

Optional nontransitive.

Todas as implementaes BGP devem obrigatoriamente reconhecer e tratar os atributos


wellknown. Alguns desses atributos so obrigatrios e devem fazer parte de todas as
mensagens de UPDATE que incluem um NLRI. Outros atributos podem ser discricionrios, e
estar ou no estar inclusos nas mensagens de UPDATE.
Um ponto importante no tratamento dos atributos wellknown que quando um peer BGP
recebe um atributo desse tipo ele deve repassar essa informao a todos os seus outros
peers BGP.

Em adio aos atributos wellknown, um path qualquer pode ainda conter um ou mais
atributos ditos opcionais. Os atributos opcionais podem ou no estarem implementados no
BGP e a transitividade referese ao comportamento em relao retransmisso de
determinado atributo opcional para as outras sesses BGP quando ele no reconhecido por
aquele roteador.

46

BGP Avanado

Os seguintes atributos so os atualmente definidos na RFC 4271:


ORIGIN

AS_PATH

NEXT_HOP

MULTI_EXIT_DISC
LOCAL_PREF

ATOMIC_AGGREGATE
AGGREGATOR
COMMUNITY

Esses atributos BGP so usados para descrever caractersticas de um caminho (path) e so


estruturados nos seguintes tipos, conforme os grandes grupos de classificao mencionados
anteriormente:
Atributos Well Known: devem ser reconhecidos por todas as implementaes BGP.

Mandatory: so bem conhecidos e devem estar presentes em todas as mensagens


BGP.
AS Path: define a lista de prefixos dos ASNs pelos quais uma rota passou. O
prefixo do AS local adicionado por um BGP originador quando anuncia um
prefixo para um par EBGP. So usados na seleo de rotas (path) com
preferncia sendo dada ao menor caminho;

Next Hop: endereo IP a ser usado para alcanar o roteador BGP. Para EBGP,
next hop o endereo IP da conexo entre os pares. Para IBGP, o next hop leva
ao sistema autnomo local.
Origin: indica como o BGP aprendeu uma particular rota:

Internal (i): aprendeu sobre a rota via protocolo de


roteamento interior (IGP);
External (e): aprendeu sobre a rota via External BGP;
Incomplete (?): a origem da rota desconhecida e foi
aprendida de alguma outra forma.

Discretionary: so atributos bem conhecidos que podem estar presentes nas


mensagens BGP.

Local Preference: representa o grau de preferncia do operador da rede (no


AS inteiro) em relao a uma rota.

Atomic Aggregate: quando um anunciador BGP agrega vrias rotas para fins
de anunciar para um particular par o ASPATH da rota agregada, normalmente
inclui um conjunto AS (ASSET) formado pelos AS que integram o agregado. Se
o administrador da rede exclui algum AS do agregado, quando este for
anunciado deve incluir o atributo Atomic Aggregate. Assim, os BGPs pares que
receberem sabero que o agregado no o mesmo originalmente definido.

BGP Avanado

47

Atributos Optional: so reconhecidos por algumas implementaes BGP, mas no


por todas.

Transitive:

Aggregator: contm o ltimo AS que formou a rota agregada, seguido do


endereo IP do roteador BGP que formou a rota agregada;

Community: rtulo que pode conter praticamente qualquer informao sobre


uma rota dentro ou entre sistemas autnomos. Informao usada para agrupar
caractersticas que no podem ser descritas por outro atributo.

Noexport: indica que o grupo de rotas marcadas com esse rtulo no


deve ser exportada fora do AS local;
Noadvertise: indica que o grupo de rotas marcado com esse rtulo no
deve ser anunciado a qualquer BGP par que o receba;
internet: exporta para toda a internet.

Non Transitive.

MED (Multi Exit Discriminator): prov um mecanismo para o administrador


da rede desviar os sistemas autnomos adjacentes para um ponto de entrada
timo no AS local.

Polticas de Roteamento

Estratgia de envio e recebimento de prefixos


Engenharia de Trfego

Anncios BGP enviados

Trfego de entrada do AS

Anncios BGP recebidos

Trfego de sada do AS

Poltica de Roteamento uma expresso utilizada para representar a estratgia de envio e


recebimento de prefixos de uma instituio com o objetivo de implementar determinado
controle sobre o trfego de entrada e de sada nos vrios circuitos que a instituio possui
com seus pares BGP, sejam eles clientes, parceiros ou provedores de acesso.

As polticas de roteamento determinam como cada atributo e prefixo BGP deve ser
manipulado para melhor refletir o objetivos de manipulao de trfego desejado (engenharia
de trfego).
Considerando que o trfego de/origem para/destino de um sistema autnomo sempre em
dois sentidos, representando uma comunicao fullduplex, e que:
Os anncios BGP realizados pelo ASN afetam o trfego de entrada no ASN;

Os anncios BGP recebidos dos vizinhos afetam o trfego de sada do ASN.

48

BGP Avanado

A ideia bsica dessa engenharia de trfego IP controlar tanto o trfego de entrada quanto
de sada do sistema autnomo, e isso se d basicamente atravs da manipulao dos
diferentes atributos proporcionados pelo protocolo BGP.

O controle dos atributos BGP para cada prefixo (rota IPv4 ou IPv6) realizado atravs de
filtros de entrada e sada do Sistema Autnomo. Atravs desses filtros que so
implementadas as polticas de roteamento de cada uma das instituies ou sistemas
autnomos, conforme os critrios estabelecidos por cada uma de suas gerncias.

A figura a seguir demonstra como esses filtros podem ser implementados. Para isso,
devemos relembrar que o protocolo BGP4 utilizase do transporte TCP, e que a comunicao
TCP uma comunicao em ambos os sentidos (fullduplex), ou seja, existem prefixos de
rede que so anunciados do AS100 para o AS200, da mesma forma que existe outro fluxo de
prefixos de rede que so anunciados do AS200 para o AS100.
Ao controle da viso dos prefixos e atributos que sero enviados ou recebidos em cada
sesso BGP dse o nome de controle de anncios. So esses controles que resultam em um
trfego maior ou menor.

Figura 2.1 Filtros de entrada e sada do AS manipulam o trfego IPv4/IPv6.

O protocolo BGP4 prov mecanismos que possibilitam a seleo de prefixos que sero
anunciados de um AS para outro. Atravs da filtragem da tabela BGP (RIB BGP), so
selecionadas atravs de um filtro as rotas que sero enviadas para o buffer de sada, ou seja,
os anncios realizados pelo roteador (outbound filter). Para as rotas recebidas tambm
existe um filtro na sesso BGP de entrada do roteador (inbound filter), que diferencia entre
as rotas que so recebidas pelo vizinho BGP (receivedroutes) das que sero selecionadas
pelas polticas da empresa para realmente serem utilizadas dentro do AS (acceptedroutes).

A diferena fundamental entre as rotas recebidas (receivedroutes) e as rotas aceitas


(acceptedroutes) que elas compem uma tabela de rotas anterior ou posterior execuo
do filtro de entrada (inbound filter) do BGP.
O momento da aplicao desse filtro em cada uma das mensagens de UPDATE recebida pelo
vizinho BGP especialmente importante: nesse instante os atributos do BGP relacionados a
cada um dos NLRI podem ser modificados (exemplo: alterar a LOCAL_PREFERENCE) ou
BGP Avanado

49


determinada rota pode ser selecionada como no adequada para determinado caminho
(exemplo: filtro baseado em AS_PATH).
As polticas de roteamento, ou seja, os filtros de entrada e sada, so normalmente
implementados atravs de mecanismos conhecidos como:
Listas de distribuio (distributelist).
Listas de prefixos (prefixlist).

Filtros de caminho (filterlist).


Mapas de rotas (routemap).

Lista de distribuio (distribute-list)


Faz uso de ACL (Access Control List).

Mesmo mecanismo utilizado para filtros de pacotes.

Os filtros de prefixos, conhecidos em implementaes como a do IOS do fabricante Cisco, so


realizados atravs por listas de distribuio (distributelist). Filtros baseados em prefixos
so uma estrutura para implementaes de polticas de roteamento simples, e fazem uso dos
mesmos mecanismos utilizados para a realizao de filtros de pacotes nas interfaces dos
equipamentos (exemplo: ACLListas de Controle de Acesso), com o objetivo bsico de enviar
ou receber informaes de roteamento filtrando um endereo de prefixo ou range de
prefixos.

O objetivo aqui somente permitir ou negar determinados prefixos, sem a inteno de


manipular outros atributos relativos quele(s) prefixo(s).

Normalmente esse mecanismo uma forma simples de um cliente realizar o anncio de seus
poucos blocos IP para seus provedores de acesso, mas no tem muita utilidade em
provedores de acesso.

No exemplo a seguir temos uma lista de distribuio utilizada em conjunto com uma lista de
acesso, com o objetivo de anunciar somente o bloco IPv4 200.10.0.0/16 para o peer eBGP
10.1.1.1. Notese que nesse caso preciso que a rede 200.10.0.0/16 exista na tabela BGP (RIB
e FIB), para que ele possa ser enviado para o vizinho BGP 10.1.1.1, e que essa informao de
roteamento seja transmitida para o vizinho sem sofrer alterao em nenhum de seus
atributos BGP (exemplo: nexthop, MED). A accesslist se encarrega de no permitir que
nenhuma outra informao da RIB (Router Information Base) do roteador em questo seja
transmitida para o vizinho 10.1.1.1.

router bgp 100


neighbor 10.1.1.1 remote-as 300
neighbor 10.1.1.1 distribute-list 1 out
access-list 1 permit 200.10.0.0 0.0.255.255

50

BGP Avanado

Lista de prefixos (prefix-list)


Funcionamento similar seleo por listas de acesso.
Mecanismo mais eficiente de filtragem.

Filtragem intuitiva para uma sequncia de prefixos ou range de prefixos.

As listas de prefixos so um mecanismo mais eficiente para filtragem de prefixos, por elas
permitirem manipular mais facilmente as diferentes mscaras de rede e range de prefixos.
Essa a principal diferena entre as listas de prefixos e as listas de distribuio realizadas
atravs de ACLs, mas seus objetivos so similares. Hoje em dia as listas de prefixos so as
mais utilizadas para filtros de rotas, enquanto as listas de acesso so mais utilizadas para
filtros de pacotes.

No exemplo a seguir, utilizada uma filterlist para controlar a sada dos prefixos anunciados
para o roteador 10.1.1.1. Nessa lista de prefixos so selecionados na RIB do roteador em
questo todos os prefixos do bloco 200.10.0.0/16 com mscaras entre /24 at /16. As listas
de prefixos permitem selees do prefixo exato, menor ou igual (le), ou de mscara maior ou
igual (ge) quela selecionada.

router bgp 100


neighbor 10.1.1.1 remote-as 300
neighbor 10.1.1.1 prefix-list filtro-de-saida out
!
ip prefix-list filtro-de-saida permit 200.10.0.0/16 le 24

O uso de listas de prefixos bastante comum, e recomendado como um mecanismo de


proteo ao recebimento de prefixos invlidos de determinado vizinho. Esse tpico ser
abordado mais adiante.

Listas de caminhos (filter-list)

Filtros baseados no atributo AS Path.

Seleo do aspath baseado por expresses regulares (Exemplo: ^1916$).

As listas de filtragem, listas de caminho ou filtros de caminho so um mecanismo igualmente


simples para selecionar as rotas a serem anunciadas ou recebidas, tendose como critrio
base as identificaes dos sistemas autnomos.
A partir do atributo ASPATH, podemos realizar selees mais elaboradas, como por
exemplo:

Selecionar todos os prefixos que compem a rede da RNP. Ou seja, todos os prefixos
que so originados no AS1916 (ASRNP), e isso pode ser realizado atravs da seleo
por uma expresso regular do atributo ASPATH que encontrase na tabela BGP. Um
exemplo dessa ER (Expresso Regular) a seleo (_1916$), que representa os
prefixos terminados ou originados no AS1916;

BGP Avanado

51

Ou mesmo todas as rotas que so anunciadas pela RNP aos seus provedores, clientes
ou parceiros, ou seja, rotas que passam pelo AS1916, normalmente representadas
pela expresso regular ( _1916_). Essas selees so realizadas atravs de expresses
regulares, como visto na sesso anterior.

No exemplo a seguir, o vizinho 10.1.1.1 receber somente o anncio dos blocos IP originados
no AS100, ou seja, somente o bloco 200.10.0.0/16, que o bloco gerado dentro do prprio
AS. Nenhuma outra informao de roteamento ser repassada nessa sesso BGP; o filtroAS
sada impede qualquer outro anncio que no seja do prprio AS100 atravs do filtro
implementado pela expressa o regular $, que representa um conjunto composto de um as
path vazio, ou seja, que no possui nenhum nmero de AS entre seu incio, representado pelo
simbolo ^, e seu fim, representado pelo smbolo $.

router bgp 100


network 200.10.0.0/16
neighbor 10.1.1.1 remote-as 300
neighbor 10.1.1.1 filter-list filtro-AS-saida out
neighbor 10.1.1.1 filter-list filtro-AS-entrada in
!
ip as-path filtro-AS-saida permit $
ip as-path filtro-AS-entrada permit _1916$
ip as-path filtro-AS-entrada permit _1916_[0-9]*$

Esse mesmo vizinho tambm tem um filtro de entrada associado a ele, o filtroASentrada,
que limita o aceite de rotas a:
$: aquelas iniciadas e terminadas no prprio AS100;

_1916$: aquelas originadas no sistema autnomo da RNP (_1916$);


_1916_[09]*$: ER que seleciona rotas da prpria RNP (AS1916) e seus vizinhos. A
expresso indica que o anncio selecionado passa pela RNP (AS1916) seguindo de [0
9]*, que indica um nmero de ASN qualquer ou de nenhum ASN. O smbolo * se
refere ao conjunto de 0N variaes, o que implica tambm em um conjunto nulo.

Mapas de Rotas (route-map)

Permite a implementao de critrios complexos de seleo de rotas.

Prov um mecanismo de manipulao de atributos individualmente para cada prefixo.


Implementa critrio de seleo condicional do tipo IFTHENELSE.

Os mapas de rotas so uma das formas mais versteis para a configurao de uma poltica de
roteamento, sendo utilizado quase como um padro para vrios Sistemas Operacionais de
roteadores (CiscoIOS, Quagga, Vyatta, Brocade etc.).

O mecanismo provido pelos mapas de rotas permite programar expresses condicionais do


tipo IFTHENELSE, selecionando individualmente cada uma das rotas recebidas ou enviadas
em cada sesso BGP. Uma vez que a rota selecionada pela expresso, possvel realizar
alteraes nos diversos atributos daquela rota, como atribuir um valor de preferncia local
52

BGP Avanado

(LOCAL_PREF), aceitar ou negar determinado prefixo e fazer uso de mecanismos para


controle de poltica de roteamento ainda mais complexos, como o uso de comunidades BGP.

O mecanismo para invocar um routemap basicamente o mesmo utilizado para


implementar todos os outros mecanismos de polticas vistos anteriormente. Inicialmente
definese um nome para um determinado mapa de rotas, e esse tem uma sequncia de
condies numeradas que definem a ordem que aquele routemap vai processar cada uma
dos prefixos analisados, permitindo (permit) ou negando (deny) determinada rota.
Na configurao do peer BGP se define se o mapa de rotas criado ser aplicado na lista de
rotas que ser enviada (neighbor out) ou recebida (neighbor in) pelo peer BGP, conforme
sintaxe visto no captulo anterior. Cabe lembrar que as selees das rotas so realizadas
atravs da clusula match e os atributos configurados atravs da clusula set.

Na listagem a seguir est demonstrada uma poltica de roteamento um pouco mais complexa
utilizando mapas de rotas e uso de comunidades BGP. Essa poltica traduz o desejo do
administrador do Sistema Autnomo de utilizar todos os anncios que ele recebe a partir de
um PTT (Ponto de Troca de Trfego) para controlar se ele vai ou no utilizar esse caminho
ensinado pelo seu vizinho para entregar o seu trfego IPv4/IPv6. Seu desejo pode ser
expressado dessa forma:
No aceite receber a rota default por essa vizinhana;

No aceite prefixos IPv4 e IPv6 conhecidamente invlidos;

Se para chegar a alguma rede atravs desse vizinho for necessrio passar pela rede da
RNP (AS1916), ento o caminho para essa rede atravs desse vizinho ser
considerado de baixa prioridade. Identifique esse caminho com a comunidade
2716:30 e informe essa marcao quando for repassar essas informaes para os seus
vizinhos iBGP;
Se o destino aprendido por esse vizinho for para uma rota originada na OI
(AS8167), use esse caminho como sendo de alta prioridade e identifique o caminho
com a comunidade 2716:30, repassando essa marcao aos seus vizinhos iBGP;
Para todos os outros destinos que voc aprender por aqui, use esse caminho como
sendo de alta prioridade.

Esse desejo do administrador pode ser pseudocodificado explicitando os valores desejados


para cada atributo como segue:

10. IF (prefixo recebido se estiver listado em pfx-ROTA-DEFAULT)


THEN recuse o prefixo
20. ELSE IF (prefixo recebido se estiver listado em pfx-ROTA-BOGUS)
THEN recuse o prefixo
30. ELSE IF (as-path atender expresso regular passa-pela-rnp)
THEN configure para essa rota
LOCAL_PREF=80
COMMUNITY=2716:30
BGP Avanado

53


40. ELSE IF (as-path atender expresso regular origem-as8167)
THEN configure para essa rota
LOCAL_PREF=500
COMMUNITY=2716:20 e 2716:30
50. ELSE
configure para essa rota
LOCAL_PREF=500
COMMUNITY=2716:30
Por fim, a implementao final em sintaxe similar ao IOS, Quagga e Vyatta, fica semelhante ao
representado no exemplo a seguir, com todos os filtros e definies necessrias para a sua
implementao.
router bgp 2716
network 200.10.0.0/16
neighbor 10.1.1.1 remote-as 300
neighbor 10.1.1.1 route-map PTT-in in
!
route-map PTT-in deny 10
match ip address prefix-list pfx-ROTA-DEFAULT
match ipv6 address prefix-list pfx-ROTA-DEFAULT
route-map PTT-in deny 20
match ip address prefix-list pfx-BGP-BOGUS
match ipv6 address prefix-list pfx-BGP-BOGUS
route-map PTT-in permit 30
match as-path passa-pela-rnp
set local-preference 80
set community 2716:30
route-map PTT-in permit 40
match as-path origem-as8167
set local-preference 500
set community 2716:30 2716:20
route-map PTT-in permit 50
set local-preference 500
set community 2716:30
!
ip as-path access-list passa-pela-rnp seq 5 permit _1916_
ip as-path access-list origem-as8167 seq 5 permit ^8167_
!
ip prefix-list pfx-ROTA-DEFAULT seq 5 permit 0.0.0.0/0
ipv6 prefix-list pfx-ROTA-DEFAULT seq 5 permit ::/0
!
ip prefix-list pfx-BGP-BOGUS seq 5 permit 10.0.0.0/8 ge 9
ip prefix-list pfx-BGP-BOGUS seq 10 permit 127.0.0.0/8 ge 9
ip prefix-list pfx-BGP-BOGUS seq 15 permit 172.16.0.0/12 ge 13
ip prefix-list pfx-BGP-BOGUS seq 20 permit 192.168.0.0/16 ge 17

54

BGP Avanado

ip prefix-list pfx-BGP-BOGUS seq 25 permit 240.0.0.0/4 ge 5


ipv6 prefix-list pfx-BGP-BOGUS seq 5 permit ::/8 ge 9
ipv6 prefix-list pfx-BGP-BOGUS seq 10 permit 2001:2::/48 ge 49
ipv6 prefix-list pfx-BGP-BOGUS seq 15 permit 2001:10::/28 ge 29
ipv6 prefix-list pfx-BGP-BOGUS seq 20 permit 2001:db8::/32 ge 33
ipv6 prefix-list pfx-BGP-BOGUS seq 25 permit 3ffe::/16 ge 17
ipv6 prefix-list pfx-BGP-BOGUS seq 30 permit fc00::/7 ge 8
ipv6 prefix-list pfx-BGP-BOGUS seq 35 permit fe80::/10 ge 11
ipv6 prefix-list pfx-BGP-BOGUS seq 40 permit fec0::/10 ge 11
ipv6 prefix-list pfx-BGP-BOGUS seq 45 permit ff00::/8 ge 9
Outros roteadores, como Juniper e CiscoIOSXR, possuem mecanismos similares ao mapas de
rotas para manipulao de prefixos. No JunOS existe o policyoptions e policystatement. No
caso especfico do Cisco IOSXR, esse mecanismo ficou mais intuitivo e mais prximo a um
pseudocdigo, evoludo na forma de deixlo mais simples e inteligvel. O exemplo a seguir
mostra as definies de uma poltica no IOSXR, conhecida como routepolicy.
route-policy PTT-in
if destination in pfx_ROTA_DEFAULT then
drop
endif
if destination in pfx_BGP_BOGUS then
drop
endif
if (as-path passes-through '1916' ) then
set local-preference 80
set community (2716:30)
elseif (as-path neighbor-is '8167' ) then
set local-preference 500
set community (2716:30, 2716:20)
else
set local-preference 500
set community (2716:30)
endif
end-policy

O que se deve ter em vista que, embora os mecanismos de linguagens de programao de


cada fabricante tenham uma sintaxe e semntica diversa, todos eles implementam as funes
do protocolo conforme suas definies bsicas nas RFCs.

BGP Avanado

55

Algoritmo de seleo de caminhos do BGP


Escolhe um nico caminho entre os prefixos recebidos
O melhor caminho baseado nos atributos das rotas

Prefixo tem que estar na tabela do IGP, por causa do NEXT_HOP


Algoritmo detalhado de seleo de caminhos (ver texto)

O algoritmo de seleo de caminhos um ponto importante no BGP, j que normalmente o


algoritmo deve escolher um nico caminho entre os vrios prefixos recebidos dos diversos
peers BGP.

Existe a possibilidade de mltiplos destinos para o mesmo prefixo serem instalados na FIB.
Esta uma funcionalidade que pode ser adicionalmente configurada no BGP. Ela
conhecida como BGP Multipath, e utilizada como uma forma de balanceamento de pacotes
utilizando o protocolo BGP.

O algoritmo de melhor caminho do BGP decide baseado nos vrios atributos das rotas qual o
melhor caminho para instalar a tabela de IP Routing e uslo no encaminhamento de trfego.
O primeiro passo do algoritmo ignorar os prefixos cujo gateway encontrase inalcanvel
para aquele determinado destino. Em suma, no possvel resolver o campo NEXT_HOP,
por aquele IP no constar na tabela IGP do roteador, ou por outro motivo (exemplo:
sincronizao iBGP). Segue o algoritmo mais detalhado dos passos utilizados na seleo de
caminhos no BGP:
1.
2.
3.

Nexthop: se o prximo hop est inacessvel, descarte o prefixo.


Weight: considera primeiro os pesos administrativos.
Local_Pref: se os roteadores tm o mesmo peso, considere a rota com maior preferncia
local.
4. Originado Localmente: se os roteadores tiverem a mesma preferncia local, prefira o
caminho que foi originado localmente por meio de um subcomando BGP network ou
aggregate ou por meio de redistribuio de um IGP.
5. Aspath: se nenhuma rota for originada, prefere o caminho do AS menor.
6. Origem: se todos os caminhos so do mesmo tamanho de ASPATH, prefira o cdigo de
origem menor. O IGP mais baixo que o EGP (Exterior Gateway Protocol) e o EGP mais
baixo que INCOMPLETE.
7. MED: se os cdigos de origem so os mesmos e todos os caminhos so do mesmo sistema
autnomo, prefira o caminho com a menor mtrica MED.
8. Se os MEDs so os mesmos, prefira os caminhos externos, priorize o que aprendeu pelo
eBGP, em vez do iBGP.
9. Se a sincronizao IGP est desabilitada e apenas caminhos internos permanecem, prefira
o caminho pelo vizinho mais prximo, ou seja, o caminho com mtrica de IGP mais baixa
para sada ao prximo n.
10. Caso a opo de MultipathBGP esteja ativa, determine se os caminhos devem ser
instalados na tabela de rotas.
11. Quando ambos os caminhos forem externos, escolha o caminho que foi recebido primeiro
(o mais antigo).

56

BGP Avanado

12. Prefira a rota com o menor endereo IP para o ID do roteador BGP.


13. Usado para selecionar a melhor rota repassada por mais de um protocolo.

A engenharia de trfego BGP est baseada no algoritmo de seleo de caminhos. Todas as


formas de manipulao de trfego so realizadas atravs de manipulao dos atributos
desses prefixos.

Controlando o Trfego de entrada do AS


ASPath Prepend.

Para manipular o download para os prefixos do meu prprio AS, posso facilmente anunciar
prefixos mais ou menos especficos. Mas como AS de trnsito, no tenho como pedir aos
meus clientes que modifiquem seus anncios caso eu queira usar um link especfico.

O ASPATH Prepend adiciona nmeros extras de AS no AS_PATH das rotas anunciadas para
um determinado vizinho.
Exemplo 1 Inserindo Prepends do MEU AS na sada.

Figura 2.2 Exemplo do uso de ASPath Prepend.

Configurao do roteador E1:

configure terminal
router bgp 65000
no synchronization
bgp log-neighbor-changes
network 10.7.1.0 mask 255.255.255.0
neighbor 10.0.1.2 remote-as 64800
neighbor 10.0.1.6 remote-as 64800
BGP Avanado

57

neighbor 10.0.1.6 route-map prepend out


exit

!
route-map prepend permit 10
set as-path prepend 65000 65000 65000
Verificando as rotas do roteador R2:

R2#show ip bgp
BGP table version is 3, local router ID is 10.2.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network
Next Hop Metric LocPrf Weight Path
*>i10.7.1.0/24 10.0.1.1
0
100
0 65000 i
*
10.0.1.5
0
0 65000 65000 65000 65000
i
Exemplo 2 Inserindo Prepends do AS REMOTO na entrada.

Configurao do roteador R1:

configure terminal
router bgp 64800
no synchronization
bgp log-neighbor-changes
neighbor 10.0.1.1 remote-as
neighbor 10.2.0.2 remote-as
neighbor 10.0.1.1 route-map
exit
!
route-map prependIn permit 10
set as-path prepend last-as
Verificando as rotas do roteador R1:

65000
64800
prependIn in

R1#show ip bgp
BGP table version is 2, local router ID is 10.0.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network
Next Hop Metric LocPrf Weight Path
*> 10.7.1.0/24 10.0.1.1
0
100
0 65000 65000 65000 i

58

BGP Avanado

Manipulando AS-Paths de entrada


Inserir seu ASN uma ou mais vezes

Contornar a comparao do tamanho dos ASPath e os possveis passos subsequentes


definindo o atributo Local Preference no costuma ser o meio mais adequado de influenciar
o processo de seleo de rotas.
Por exemplo, uma rota com doze ASs no caminho ser preferida a uma com um nico AS no
caminho, se o Local Preference for maior, mas fica difcil imaginar uma situao na qual um
caminho que to grande ainda prefervel ao outro.

Uma alternativa manipular o modo que o roteador avalia o caminho de ASs ou manipular o
prprio ASPath. Alguns fabricantes usam o parmetro weight, definido para cada AS, e
calculam o valor total do weight para cada rota.

O modo mais comum de fazer isso inserir (prepending) o seu prprio nmero de AS no
final do caminho uma ou mais vezes. O caminho ento anunciado aos pares BGP externos
assim modificado, o que pode no ser desejvel, de modo que essa tcnica mais apropriada
para redes de usurios finais multihomed, e no para provedores.

O exemplo 1 mostra mapa de rotas que modifica o ASPath em vez do Local Preference. O
comando route map ispbin permit 10 faz o prepend para os caminhos que correspondem
lista de acesso 4 do ASPath, porque eles contm AS 30088.
Ento, o segundo route map ispbin corresponde a todas as demais rotas (sem a necessidade
de uma clusula match ou set), de forma que elas so includas na tabela BGP sem
modificaes.

Figura 2.3 Manipulando ASPaths de entrada.

BGP Avanado

59


Exemplo 1: Prepending o ASPath.

!
ip as-path access-list 4 permit _30088_
ip as-path access-list 4 deny .*
!
route-map ispa-in permit 10
set as-path prepend 60055
!
route-map ispb-in permit 10
match as-path 4
set as-path prepend 60055 60055 60055
i
route-map ispb-in permit 20
Como resultado dessas manipulaes do ASPath, mais trfego fluir pelo ISP B, porque o
caminho por ISP A agora mais longo. Para alguns destinos, entretanto, o caminho mais
longo pelo ISP A pode ainda ser mais curto, ou os caminhos por A e B podem ter o mesmo
comprimento, de modo que o BGP ter de aplicar as regras de desempate para selecionar a
melhor rota.

O exemplo 2 mostra o resultado para uma rota pelo AS 30088. Originalmente a rota pelo ISP
B era mais curta. Mas essa rota tinha seu caminho prepended trs vezes com o nmero do AS
local e a rota pelo ISP A apenas uma vez, de modo que a rota pelo ISP A era a preferida.

Exemplo 2: o resultado da manipulao do ASPath.

#show ip bgp 221.169.0.0


BGP routing table entry for 221.169.0.0/20, version 247873
Paths: (2 available, best #1)
Not advertised to any peer
60055 40077 1800 30088 20099
192.0.254.17 from 192.0.254.17 (192.0.253.83)
Origin IGP, metric 20, localpref 100, valid, external, best, ref 2
60055 60055 60055 50066 30088 20099
219.2.19.1 from 219.2.19.1 (219.2.13.237)
Origin IGP, localpref 100, valid, external, ref 2

Note que a mtrica (MED) da rota pelo ISP A 20, enquanto que a rota pelo ISP B no tem
uma mtrica. O comportamento padro do Cisco IOS tratar a rota sem a mtrica MED, como
se tivesse o valor zero para a MED. Isso pode ser mudado para o comportamento oposto (que
est em conformidade com as recomendaes do IETF) usando o comando bgp bestpath
med missingasworst nas recentes verses do IOS.

No ter a mtrica MED equivale ento ao mais alto (pior) valor possvel, como o comando
sugere. Na minha opinio, o comportamento do IETF faz mais sentido, mas se voc quiser
usar MEDs, uma boa ideia certificarse de que as rotas realmente tm a mtrica MED
definida e no dependem do comportamento padro.
60

BGP Avanado

Para esse Estudo de Caso ser usada a rede da figura 2.4.

Figura 2.4 Manipulando ASPath.

Para melhor compreenso deste estudo, reproduzimos a seguir as configuraes de cada um


dos roteadores dessa rede.
a) Configurao bsica do roteador RTA.

ip subnet-zero
interface Loopback0
ip address 172.16.2.254 255.255.255.255
interface Ethernet0
ip address 172.16.220.1 255.255.255.0
interface Ethernet1
ip address 172.16.1.1 255.255.255.0
interface Serial0
ip address 172.16.20.2 255.255.255.0
router ospf 10
passive-interface Serial0
network 172.16.0.0 0.0.255.255 area 0
router bgp 3
no synchronization
network 172.16.1.0 mask 255.255.255.0
network 172.16.10.0 mask 255.255.255.0
network 172.16.65.0 mask 255.255.255.192
network 172.16.220.0 mask 255.255.255.0
neighbor 172.16.1.2 remote-as 3
neighbor 172.16.1.2 update-source Loopback0
neighbor 172.16.20.1 remote-as 1
BGP Avanado

61


neighbor 172.16.20.1 filter-list 10 out
no auto-summary
ip classless
ip as-path access-list 10 permit ^$
b) Configurao bsica do roteador RTF.

ip subnet-zero
interface Ethernet0/0
ip address 172.16.10.1 255.255.255.0
interface Ethernet 1/0
ip address 172.16.65.1 255.255.255.192
interface Ethernet1/1
ip address 172.16.1.2 255.255.255.0
interface Serial2/1
ip address 192.68.5.1 255.255.255.0
router ospf 10
network 172.16.0.0 0.0.255.255 area 0
router bgp 3
no synchronization
network 172.16.1.0 mask 255.255.255.0
network 172.16.10.0 mask 255.255.255.0
network 172.16.65.0 mask 255.255.255.192
network 172.16.220.0 mask 255.255.255.0
neighbor 172.16.2.254 remote-as 3
neighbor 172.16.2.254 next-hop-self
neighbor 192.68.5.2 remote-as 2
neighbor 192.68.5.2 filter-list 10 out
no auto-summary
ip classless
ip as-path access-list 10 permit ^$
c) Configurao bsica do roteador RTC.

ip subnet-zero
interface Ethernet0/0
ip address 192.68.11.1 255.255.255.0
interface Ethernet0/1
ip address 192.68.6.2 255.255.255.0
interface Serial2/1
ip address 172.16.20.1 255.255.255.0
router bgp 1
network 192.68.11.0
neighbor 172.16.20.2 remote-as 3
neighbor 192.68.6.1 remote-as 2
no auto-summary
ip classless

62

BGP Avanado

d) Configurao bsica do roteador RTD.

ip subnet-zero
interface Ethernet1/0
ip address 192.68.10.1 255.255.255.0
interface Ethernet1/1
ip address 192.68.6.1 255.255.255.0
interface Serial0/0
ip address 192.68.5.2 255.255.255.0
router bgp 2
network 192.68.10.0
neighbor 192.68.5.1 remote-as 3
neighbor 192.68.6.2 remote-as 1
no auto-summary
ip classless
Assumese que o AS3 um AS no trnsito. por causa disso que o comando filterlist 10
foi aplicado para forar o AS3 a originar somente suas rotas locais. Rotas aprendidas do AS1
ou do AS2 no sero propagadas para fora do AS.
Note tambm que algumas redes, tais como 172.16.10.0/24, so anunciadas via comando
network em ambos os roteadores RTA e RTF. Isso vai garantir que uma falha de enlace
entre AS3 e AS1 ou entre AS3 e AS2 no bloquear os anncios de tais redes.

Analisando a tabela BGP do roteador RTF listada a seguir, podemos ver a informao de
AS_PATH no final de cada linha. A rede 192.68.11.0/24 aprendida via iBGP com AS_PATH
1, e via eBGP com AS_PATH 2 1. Isso significa que, se o roteador RTF quiser alcanar
192.68.11.0/24 via iBGP, ele poderia ir para AS1, e se o roteador RTF quiser alcanar
192.68.11.0/24 via eBGP, ele teria de ir para AS2 e depois AS1.

BGP sempre prefere o caminho mais curto, razo pela qual o caminho via iBGP com AS_PATH
1 o preferido. O caractere > na esquerda da linha indica que dos dois caminhos
disponveis que o BGP tem para 192.68.11.0/24, o BGP prefere o segundo, como sendo o
melhor caminho.
Exemplo da tabela BGP do roteador RTF:

RTF#show ip bgp
BGP table version is 8, local router ID is 192.68.5.1
Status codes: s suppressed, d damped, h history, * valid, > best,
i - internal Origin codes: i - IGP, e - EGP, ? - incomplete
Network
Next Hop
Metric LocPrf Weight Path
* i172.16.1.0/24
172.16.2.254
0
100
0 i
*>
0.0.0.0
0 32768 i
* i172.16.10.0/24 172.16.2.254
20
100
0 i
*>
0.0.0.0 0
32768 i
* i172.16.65.0/26 172.16.2.254
20
100
0 i
BGP Avanado

63


*>
* i172.16.220.0/24
*>
*> 192.68.10.0
* 192.68.11.0
*>i

0.0.0.0 0
172.16.2.254
172.16.1.1
192.68.5.2 0 0
192.68.5.2 0
172.16.20.1 0

0
20

100

100

32768 i
0 i
32768 i
2 i
2 1 i
0 1 i

Podemos manipular a informao do AS_PATH e tornlo mais longo prepending nmeros do


AS ao caminho. No exemplo a seguir, vamos adicionar dois nmeros extras de AS
informao do AS_PATH enviada do roteador RTC para o roteador RTA, para mudar a
deciso do roteador RTF sobre como alcanar a rede 192.68.11.0./24.
Manipulando a informao de AS_PATH Prepending nmeros de AS:
router bgp 1
network 192.68.11.0
neighbor 172.16.20.2 remote-as 3
neighbor 172.16.20.2 route-map AddASnumbers out
neighbor 192.68.6.1 remote-as 2
no auto-summary
route-map AddASnumbers permit 10
set as-path prepend 1 1

Essa configurao adiciona (prepend) dois nmeros AS_PATH 1 e 1 (1 duas vezes)


informao de AS_PATH enviada do RTC para o RTA.

Analisando a tabela BGP do roteador RTF listada a seguir, voc ver que o roteador RTF pode
agora alcanar 192.68.11.0./24 via NEXT_HOP 192.68.5.2, ou seja, via caminho 2 1. O
roteador RTF vai preferir esse caminho porque mais curto do que o caminho direto via AS1,
o qual tem agora trs ASs includos na informao do caminho (1 1 1).
Tabela BGP do roteador RTF aps a manipulao do AS_PATH:

RTF#show ip bgp
BGP table version is 18, local router ID is 192.68.5.1
Status codes: s suppressed, d damped, h history, * valid, > best,
i - internal Origin codes: i - IGP, e - EGP, ? - incomplete
Network
Next Hop
Metric LocPrf Weight Path
* i172.16.1.0/24
172.16.2.254
0
100
0 i
*>
0.0.0.0 0
32768 i
* i172.16.10.0/24
172.16.2.254
20
100
0 i
*>
0.0.0.0 0
32768 i
* i172.16.65.0/26
172.16.2.254
20
100
0 i
*>
0.0.0.0 0
32768 i
* i172.16.220.0/24 172.16.2.254
0
100
0 i
*>
172.16.1.1
20
32768 i
*> 192.68.10.0
192.68.5.2
0
0 2 i
*> 192.68.11.0
192.68.5.2
0 2 1 i
* i
172.16.20.1
0
100
0 1 1 1 i
64

BGP Avanado

Uso de prefixos BGP mais especficos e rotas agregadas para


balanceamento de trfego
Anncio de rotas mais especficas

Anncios no autorizados de outros AS

Quando o prepending do caminho e a definio de comunidades para as rotas de sada no


so suficientes para fazer o balanceamento do trfego de entrada, h um ltimo recurso:
anunciar rotas mais especficas. Isso vai inchar a tabela de rotas global, de forma que o
anncio de rotas mais especficas deveria ser feito somente quando absolutamente
necessrio.

Porque uma rota mais especfica sempre tem precedncia sobre uma rota menos especfica,
essa tcnica sempre funciona, j que essas rotas mais especficas so aceitas pelo seu
provedor (ISP) e um nmero razovel de suas redes upstream (trnsito e peers).
Anncios mais especficos so teis tambm quando outro AS anuncia seus blocos de
endereos (anncios no autorizados), seja por engano ou a seu pedido (embora no mais
necessrio), e voc no quer aguardar que os anncios sejam corrigidos.

Considerando a figura 2.5, se os roteadores do ISP A consistentemente usarem uma Router


ID menor (cujo default o maior endereo IP das interfaces do roteador) do que aquelas do
ISP B, possvel que quase todo o trfego venha pelo ISP A.

Figura 2.5 Multihoming para ISPs semelhantes.

Os ASPath tm todos do mesmo tamanho, e as regras de desempate do BGP favorecem a


rota do vizinho com a menor Router ID. Prepending o caminho no vai ajudar: todo o trfego
ento vem pelo ISP B. Se nem o ISP A e nem o ISP B permitem prepending seletivo usando
comunidades, o balanceamento de trfego ser possvel somente atravs do anncio de rotas
mais especficas.
Por exemplo, se o seu bloco de endereos for 220.37.0.0/20 (equivale a 16 redes classe C:
220.37.0.0/24 a 220.37.15.0/24), voc poderia anunciar 220.37.0.0/21 para o ISP A e
220.37.8.0/21 para o ISP B. Desse modo, todo o trfego para as redes classe C 220.37.0.0/24
BGP Avanado

65


a 220.37.7.0/24 vem pelo ISP A, e todo o trfego para as redes classe C 220.37.8.0/24 a
220.37.15.0/24 vem pelo ISP B.
A seguir a configurao desse exemplo de anncio de rotas mais especficas.

!
router bgp 60055
network 220.37.0.0 mask 255.255.240.0
network 220.37.0.0 mask 255.255.248.0
network 220.37.8.0 mask 255.255.248.0
neighbor 192.0.254.17 remote-as 40077
neighbor 192.0.254.17 description BGP session to ISP A
neighbor 192.0.254.17 prefix-list ispa-ms out
neighbor 219.2.19.1 remote-as 50066
neighbor 219.2.19.1 description BGP session to ISP B
neighbor 219.2.19.1 prefix-list ispb-ms out
!
ip route 220.37.0.0 255.255.240.0 Null0
ip route 220.37.0.0 255.255.248.0 Null0
ip route 220.37.8.0 255.255.248.0 Null0
!
ip prefix-list ispa-ms description outbound filter for ISP A
ip prefix-list ispa-ms seq 5 permit 220.37.0.0/20
ip prefix-list ispa-ms seq 10 permit 220.37.0.0/21
ip prefix-list ispa-ms seq 15 deny
220.37.8.0/21
ip prefix-list ispb-ms description outbound filter for ISP B
ip prefix-list ispb-ms seq 5 permit 220.37.0.0/20
ip prefix-list ispb-ms seq 10 deny
220.37.0.0/21
ip prefix-list ispb-ms seq 15 permit 220.37.8.0/21
!
Para anunciar as duas rotas mais especficas alm da rota /20 original (como reserva no caso
das mais especficas serem filtradas), cada rota tem de estar listada na configurao BGP com
um comando network, e tem de ter rotas locais (pull up) correspondentes, definidas pelos
comandos ip route... Null0.
As listas de prefixos limitam as rotas anunciadas para o ISP A a 220.37.0.0/20 e
220.37.0.0/21, e aquelas anunciadas para o ISP B a 220.37.0.0/20 e 220.37.8.0/21. Ter duas
rotas com o mesmo endereo parcial no um problema: a NLRI (Network Layer
Reachability Information) consiste de ambos o endereo e o prefixo parcial de uma rota.
Duas rotas so consideradas diferentes se um ou outro diferem.

66

BGP Avanado

Figura 2.6 Propagao de rotas mais especficas.

A figura 2.6 mostra a propagao de rotas e o exemplo a seguir mostra como essas rotas
devem aparecer na tabela BGP como um AS remoto (no se esquea de registrar os objetos
ROUTE no Routing Registry de sua escolha para as rotas mais especficas).

BR1#show ip bgp
BGP table version is 933017, local router ID is 195.30.2.198
Status codes: s suppressed, d damped, h history, * valid, > best, i internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network
Next Hop
[...] Path
*> 220.37.0.0/21 192.0.254.17 [...] 40077 60055 i
*> 220.37.0.0/20 192.0.254.17 [...] 40077 60055 i
*
219.2.19.1
[...] 50066 30077 60055 i
*> 220.37.8.0/21 219.2.19.1
[...] 50066 123 456 60055 i
Como podemos ver, h duas rotas para o /20, mas somente uma nica rota para cada um dos
mais especficos. Tambm o caminho pelo ISP B (AS 50066) para o /20 mais curto o que o
caminho para o /21, aparentemente o AS 30077 filtra as rotas mais especficas e permite
somente o /20 vindo do AS 50066. Mas os ASs 123 e 456 no filtram, de modo que ainda h
uma rota para o /21. E desde que a rota mais especfica, essa a que efetivamente usada,
como mostrada na tabela de rotas para essa rede remota na listagem a seguir.

BGP Avanado

67


BR1#show ip route 220.37.0.0
Routing entry for 220.37.0.0, 3 known subnets
Variably subnetted with 2 masks
B
220.37.0.0/20 [20/0] via 192.0.254.17, 1d12h
B
220.37.0.0/21 [20/0] via 192.0.254.17, 1d12h
B
220.37.8.0/21 [20/0] via 219.2.19.1, 1d16h
Note que a rota 220.37.0.0/20 est realmente na tabela de roteamento, embora ela nunca
ser usada para encaminhamento, j que ambas 220.37.0.0/21 e 220.37.8.0/21 esto
disponveis, porque aquelas cobrem exatamente a mesma faixa de endereos. O B indica
que a rota foi aprendida do BGP, e o 20/0 a distncia administrativa (20, default para
eBGP) e mtrica (0, sem MED).

Nota: quando implantar endereos IP, tente evitar colocar todos os hosts de alto consumo de
banda na mesma subrede ou nas proximidades. Colocar a metade desses hosts no primeiro
/24 e o resto no segundo /24 uma ideia melhor. Se voc precisar anunciar rotas mais
especficas para balancear o trfego entrante, muito mais fcil anunciar dois /21 de um /20
ou anunciar s um /24 separadamente, alm do que normalmente anunciado, em vez de
anunciar rotas muito especficas (prefixos maiores do que /24) ou fazer uma renumerao
dentro do seu espao de endereamento de forma apressada.
Mesmo as mais sofisticadas tcnicas de balanceamento de trfego no o ajudaro quando
existir trfego demais. A melhor maneira de administrar isso seria contratar mais largura de
banda, mas com algumas tcnicas inteligentes de enfileiramento, possvel aumentar o
desempenho para alguns protocolos ou sesses sem prejudicar outros demais.

Explorando o uso de comunidades

extremamente til para problemas complexos.


Evitar ataques (Dos e DDoS): blackholes.
Engenharia de trfego.

Controlar exportaes nos provedores/peers do seu provedor.


Controlar retorno do trfego por determinado provedor.
Priorizar caminhos quando existem mltiplos.

E um atributo BGP:

Utilizadas para realizar marcaa o de rotas;

Utilizadas no policiamento de rotas (tra fego).

Comunidades so rtulos associados a rotas BGP. Comunidades bem conhecidas so:


NO_EXPORT (0xFFFFFF01);

NO_ADVERTISE (0xFFFFFF02);

NO_EXPORT_SUBCONFED (0xFFFFFF03);
NOPEER (0xFFFFFF04).

68

BGP Avanado

A comunidade NO_EXPORT diz um roteador que s deve propagar todos os prefixos dessa
comunidade sobre iBGP, e no propaglo com eBGP para sistemas autnomos externas.

(NO_EXPORT_SUBCONFED faz algo semelhante em redes usando confederaes para limitar


o nmero de sesses BGP.)
NO_ADVERTISE vai um passo alm e diz que para o roteador no anunciar o prefixo sobre o
BGP em geral.

A maioria, quando no todos os roteadores, honram automaticamente essas comunidades


quando elas esto presentes. Se quiser ignorar tal comportamento, preciso filtrlos.
NOPEER foi definido posteriormente e indica que um prefixo no precisa ser anunciados aos
pares.
Alguns roteadores no propagam automaticamente as comunidades definidas e para
habilitar esse comportamento deve ser usado o comando tal como:

!
router bgp 9000
neighbor 10.0.0.1 remote-as 10000
neighbor 10.0.0.1 send-community
!
ip bgp-community new-format
!

BGP Communities

Communities Padro
Communities Numricas
Identificando e tratando rotas de peers especficos

Manipulando trnsito (nacional/internacional) com communities

Communities Padro

Communities so atributos que so preservados em anncios entre AS's externos e


internos.

So um tipo de carimbo inserido nos updates em forma de string.

Uma community um atributo opcional, e sendo assim nada obriga que os fabricantes
implementem no BGP de suas caixas, ou mesmo que um AS replique para seus peers o

mesmo valor de community recebido por um de seus clientes.

BGP Avanado

69


Os modelos mais novos suportam o "novo formato" usualmente utilizado como
ASN:comunity, por exemplo: 28135:110. Porm, h algumas communities padronizadas pela
RFC 1997 e que so padro nos roteadores Cisco:
NOEXPORT;

NOADVERTISE;

NOADVERTISESUBCONFED;
LOCALAS;

INTERNET.

NOEXPORT: por padro, faz o router receptor exportar o prefixo para vizinhos iBGP, mas
no para eBGP. til quando fao anncios mais especficos para a operadora A e menos
especficos para operadora B. Normalmente, a operadora B precisaria passar pela operadora
A para chegar ao prefixo "especfico", mesmo estabelecendo BGP diretamente com meu AS.
Enviando o mesmo bloco especfico, com a community NOEXPORT operadora A, essa
passaria a me alcanar diretamente, ao mesmo tempo em que no exportaria esses prefixos.

NOADVERTISE: por padro, faz o roteador receptor no exportar esse prefixo para nenhum
vizinho, seja ele eBGP ou iBGP.
NOADVERTISESUBCONFED: usada para evitar que o prefixo seja exportado para ASs
confederados.

LOCALAS: usada para evitar que os prefixos marcados sejam exportados para fora do AS ou
confederao, geralmente usado em filtros de entrada.
INTERNET: na prtica, a community padro para anncios externos; o mesmo que no
haver nenhuma.

Communities Numricas

muito pequena a quantidade de communities padro. Podemos fazer pouqussimas coisas


com elas. Porm, h uma grande quantidade de communities numricas que podem ser
utilizadas.
importante saber que essas communities numricas por padro no influenciam em nada
no tratamento das rotas. preciso uma configurao prvia ao para cada community.

Tambm no h nenhum padro para essas aes (pelo menos nenhum padro RFC).
Entretanto, muitos ASs implementaram padres extremamente criativos e funcionais. O
conhecimento desses padres uma ferramenta chave para resolver rapidamente incidentes
do dia a dia.

Vamos ver nos prximos slides uma srie de communities numricas adotadas por algumas
operadoras.
Mas antes vamos habilitar o suporte ao novo formato...

70

BGP Avanado

Identificando e tratando rotas de Peers Especficos


Quando utilizamos o comando:

Router(config-route-map)#set community xxx:xxx


Estamos substituindo todas as communities que haviam nesse prefixo.

Muitas vezes, interessante adicionar mais de uma community em "pontos diferentes".

Exemplo: recebo prefixos dos meus downstreams e quero inserir uma community 123:123
para controle interno. Utilizando o meio convencional, eu acabaria substituindo uma
eventual community que meu cliente utilizou para interagir com outro AS externo. O que
fazer?
Com o comando "additive", qualquer community existente preservada:

AS-X-R4(config-route-map)#set community 123:123 additive


Digitar o comando "set community" tem efeito "cumulativo". Exemplo: se digitarmos a
seguinte sequncia de comandos:
router#conf t
router(config)#route-map teste permit 10
router(config-route-map)#set community 123:123
router(config-route-map)#exit
router(config)#route-map teste permit 10
router(config-route-map)#set community 111:222
router(config-route-map)#set community 333:214
router(config-route-map)#end
router#
router#conf t
router(config)#route-map teste permit 10
router(config-route-map)#set community 555:82
Todas as communities digitadas sero acumuladas:

router#sh running-config| begin route-map teste


route-map teste permit 10
set community 111:222 123:123 333:214 555:82
!
...
Lembremse de que o "additive" no tem a ver com esse fato, mas sim com fazer com que as
communities inseridas com "additive" sejam "somadas" s communities que j estavam
etiquetadas no(s) prefixo(s).
Sem o comando additive, qualquer community existente substituda.

Sempre utilizem additive na hora de colocar communities em rotas recebidas de


DOWNSTREAMS.
BGP Avanado

71

Manipulando Trnsito (nacional/internacional) com Communities


Brasil Telecom
8167:90 Set Local Preference 90
8167:100 Set Local Preference 100
8167:110 Set Local Preference 110
* (default Local Preference 200)
8167:3xy controle de anncios
x: ao { 0 = no anuncia, 1,2,3 = insere x prepends)
y: peerings { 0=demais peerings, 1=internacionais, 2=Embratel,
3=Intelig, 4=Telemar, 5=Telefnica }
(exemplo: 312 = muda para 1 prepend o anncio para a Embratel)
* (default anunciar sem prepends para todos os peerings)
8167:555 => no exporta fora da Brasil Telecom.
8167:557 => no anuncia para sites internacionais.
8167:666 => sero injetados no BlackHole da Brasil Telecom.
8167:777 => somente anuncia para clientes da Brasil Telecom.
Embratel
4230:120- Local Preference - marcar a rota como localpreference 120
4230:10000- Blackhole - bloqueia todo o trfego para a rede/endereo
4230:10002 - Blackhole - filtra o trfego internacional nos
provedores
que proveem alguma espcie de blackhole.
4230:10004 - Blackhole - filtra nos roteadores da Embratel nos EUA o
trfego destinado a rede/endereo anunciado
GVT
Bloqueia anuncio
Bloqueia anuncio
Bloqueia anuncio
Bloqueia anuncio
Bloqueia anuncio
Onde AS deve ser

Internacional AS:1
Nacional AS:2
Clientes GVT AS:3
Peering AS:4
PTT AS:6
o seu AS, exemplo: 1234:1

Quem tem AS de 32 bits no precisa se preocupar. Segundo a GVT o nmero da esquerda


pode ser qualquer coisa, o que importa o que vem na direita.

Global Crossing
3549:100:
3549:200:
3549:275:
3549:300:
3549:350:

72

set
set
set
set
set

BGP Avanado

local
local
local
local
local

preference
preference
preference
preference
preference

100
200
275
300
350

3549:600: Deny inter-continental export of tagged prefix [iBGP].


3549:666: Deny inter-as export of tagged prefix (carry on AS 3549
only) [eBGP]
Uma srie de communities complexas possibilitam o tratamento do prepend para cada um
dos peers da GLBX 3549:8...
ASN
209
701
1239
1299
1668
2497
2516
2914
3257
3300
3303
3320
3356
3561
4134
5511
6461
6453
7018
7738

Peer
Qwest
MCI
Sprint
TeliaSonera
AOL
JPNIC
KDDI
NTT Verio
Tiscali
InfoNet Europe
Swisscom
T-Systems/DTAG
Level 3
Savvis
ChinaNet
OpenTransit
AboveNet
Teleglobe
AT&T (US)
Telemar

BGP Avanado

No Export
8010
8030
8060
8250
8070
8080
8100
8120
8240
8130
8140
8150
8160
8170
8230
8190
8200
8210
8220
8290

Prepend+1
8011
8031
8061
8251
8071
8081
8101
8121
8241
8131
8141
8151
8161
8171
8231
8191
8201
8211
8221
8291

Prepend+2
8012
8032
8062
8252
8072
8082
8102
8122
8242
8132
8142
8152
8162
8172
8232
8192
8202
8212
8222
8292

Prepend+3
8013
8033
8063
8253
8073
8083
8103
8123
8243
8133
8143
8153
8163
8173
8233
8193
8203
8213
8223
8293

73

74

BGP Avanado

3
Boas prticas na operao de um Sistema
Autnomo
Objetivos
Conhecer os requisitos para se tornar um AS; Entender o funcionamento do BGP em IPv4 e

IPv6; Entender o uso de protocolos IGP e EGP no AS; Conhecer Peer Groups e sua utilizao;
Conhecer o uso de loopback e agregao de prefixos no BGP; Entender o uso de filtros em
sesses BGP.

Conceitos

Operao de Sistemas Autnomos (AS); Protocolos IGP e EGP; Configurao do protocolo


BGP (Peer Groups; Loopback interface; Agregao de prefixos; Filtros de segurana).

Cuidados gerais

Erros de configurao problemas de segurana e performance


O funcionamento do BGP , em princpio, permissivo

Boas prticas: restringir os anncios que sero feitos e aceitos

Interao do BGP com pares internos diferente da interao com AS vizinhos

Colaborao necessria, mas as polticas podem ser diferentes e independentes


Cuidado para proteger a rede contra problemas causados pelas outras redes

A operao de sistemas autnomos usando BGP na internet exige alguns cuidados para evitar
problemas de segurana ou de performance que podem decorrer de erros na configurao. O
funcionamento do BGP em princpio permissivo, ou seja, tudo permitido, e as boas prticas de
administrao do ambiente BGP demandam restringir o comportamento do BGP, especialmente
em termos dos anncios que sero feitos (interna mente e para AS vizinhos) e aceitos.

O nvel de interao do BGP com seus pares internos em um AS no deve ser o mesmo do que
o usado na interao com pares de AS vizinhos. O bom funcionamento da internet depende
da colaborao das redes que dela participam e colaboram, mas cada rede pode estar sob
uma administrao diferente e ser configurada de forma independente. Por isso, cada
administrador de rede deve tomar cuidado em termos de proteger a rede sob sua
BGP Avanado

75


responsabilidade contra eventuais problemas causados pelas outras redes. Isso conseguido
usando configuraes de BGP apropriadas, entre outros mecanismos (firewalls etc.).

Por que se tornar um Sistema Autnomo

Um Sistema Autnomo (AS) um grupo de redes IP, operadas por um ou mais

operadores de rede que tem uma poltica de roteamento externa nica e claramente
definida.

Se uma rede se conecta a mais de um AS com polticas de roteamento diferentes ela


deve tornarse por sua vez um AS.

Dois ou mais prestadores de servio


Pontos de troca de trfego

Redes pares via pontos de troca de trfego

Um Sistema Autnomo (AS) um grupo de redes IP, operadas por um ou mais operadores de
rede que tm uma poltica de roteamento externo nica e claramente definida. Protocolos de
roteamento externo so usados para trocar informaes de roteamento entre sistemas
autnomos.
Se uma rede se conecta a mais de um AS com polticas de roteamento diferentes, ela deve
tornarse por sua vez um AS. Alguns exemplos comuns de sistemas autnomos so redes
conectadas a dois ou mais prestadores de servios ou a pontos de troca de trfego e redes
pares (peer networks) atravs de pontos de troca de trfego (IXP Internet Exchange
Points).

Uma organizao elegvel para tornarse um AS e receber um nmero AS se


multihommed (conectada a mais de um AS) ou detm espao de endereamento alocado por
provedores independentes, previamente alocado, e pretende tornarse multihommed no
futuro. Uma organizao tambm seria elegvel se puder demonstrar que ele vai atender os
critrios acima, quando receber um nmero de AS (ou em um prazo razoavelmente curto
aps isso acontecer).

Um host ou rede multihomed significa um computador com mltiplas conexes de rede.


Essas conexes podem ser ligadas mesma rede ou no. O objetivo da ligao a mais de uma
rede pode ser aumentar confiabilidade pois caso uma das conexes tornese inoperante a
outra poderia realizar o atendimento. Em tais situaes, teramos uma ou mais conexes que
serviriam como backup ou reserva. Mas essa soluo tambm poderia ser utilizada para fins
de balanceamento de carga.

76

BGP Avanado


Uma organizao elegvel para tornarse um AS e receber um nmero AS se
multihomed (conectada a mais de um AS)

detm espao de endereamento alocado por provedores independentes, previamente


alocado, e pretende tornarse multihomed no futuro

Para ser multihomed Internet usando BGP, uma rede deve ter seu prprio intervalo de
endereos IP pblicos e um nmero de Sistema Autnomo (AS)

O encaminhamento sobre essas conexes normalmente controlado por um roteador


com BGP que est ligado aos dois ISP

No exemplo seguinte, temos a situao de uma rede multihomed, que est ligada a dois provedores
de servio internet (ISP). Essa situao demanda uma configurao especial do BGP.

Figura 3.1 Rede multihomed ligada a dois provedores de servio internet.

Para ser multihomed internet usando BGP, uma rede deve ter seu prprio intervalo de
endereos IP pblicos e um nmero de Sistema Autnomo (AS). O encaminhamento sobre
essas conexes normalmente controlado por um roteador com BGP, o qual est ligado aos
dois ISP, tal como o roteador A da figura anterior.

Supondo que a rede esteja usando em condies normais a conexo com o ISP1 e tenha a
outra apenas como backup, se a ligao de sada at o ISP1 tornarse inoperante, o trfego de
sada ser automaticamente encaminhado atravs da ligao com o ISP2. Mais importante
ainda, outras redes sero notificadas, por meio de atualizaes BGP das rotas de rede

BGP Avanado

77


multihomed (com hospedagem mltipla), da necessidade de rotear trfego de entrada
atravs de outro ISP.
Um aspecto a considerar nesse caso que as duas conexes aos ISP compartilham um
mesmo roteador, e isso vai formar um ponto nico de falha e reduzir a confiabilidade
pretendida com o multihoming.

Outra possibilidade de uso do multhoming o compartilhamento de carga, o qual permite


que um roteador faa balanceamento de carga. Isso pode acontecer internamente em um AS,
mediante o uso dos protocolos IGP. O balanceamento de carga uma funcionalidade padro
do software IOS do roteador Cisco. Ele ativado automaticamente se a tabela de roteamento
tiver vrios caminhos para um destino.

Ele se baseia nos protocolos de roteamento padro, como Routing Information Protocol
(RIP), RIPv2, Enhanced Interior Gateway Routing Protocol (EIGRP), Open Shortest Path First
(OSPF) e Interior Gateway Routing Protocol (IGRP), ou derivado de rotas configuradas
estatisticamente. Ele permite que um roteador use vrios caminhos para um destino no
encaminhamento de pacotes. Quando um roteador conhece vrias rotas para uma rede
especfica por vrios processos de roteamento (ou protocolos de roteamento, como RIP,
RIPv2, IGRP, EIGRP e OSPF), ele instala a rota com menor distncia administrativa na tabela
de roteamento. s vezes, o roteador deve selecionar uma rota entre muitas aprendidas,
atravs do mesmo processo de roteamento, com a mesma distncia administrativa. Nesse
caso, o roteador escolhe o caminho com o menor custo (ou mtrica) para o destino. Cada
processo de roteamento calcula seu custo de forma diferente e pode ser necessrio ajustar os
custos para atingir um balanceamento de carga.
Se o roteador receber e instalar mltiplos caminhos com a mesma distncia administrativa e
custo para um destino, pode ocorrer balanceamento de carga. O nmero de caminhos usados
limitado pelo nmero de entradas que o protocolo de roteamento coloca na tabela de
roteamento. Quatro entradas o procedimento padro no IOS para a maioria dos protocolos
de roteamento, com exceo do Border Gateway Protocol (BGP), onde uma entrada o
padro.
Os roteadores BGP (Border Gateway Protocol) normalmente recebem vrios caminhos para
o mesmo destino. O algoritmo de melhor caminho BGP decide qual o melhor caminho para
instalar a tabela de IP Routing para encaminhamento de trfego. Os parmetros
considerados nessa seleo envolvem configuraes de atributos como WEIGHT,
LOCAL_PREF etc.

Detalhes do Algoritmo de Seleo de Caminho do Melhor BGP no ambiente Cisco IOS podem
ser encontrados em
http://www.cisco.com/cisco/web/support/BR/8/84/84100_25.html.

Um nmero privado AS deve ser usado se um AS precisa se comunicar via Border Gateway
Protocol apenas com um nico provedor. Como a poltica de encaminhamento entre o AS e o
provedor no ser visvel na internet, um nmero de AS privado pode ser utilizado para esse
fim. A IANA reservou os nmeros de AS 64512 at AS 65535 para serem usados como
nmeros privados.
78

BGP Avanado

Backbone IPv4 e IPv6


BGP4 RFC 1654 (1994)
IPv6 RFC 1883 (1995)

BGP deve tratar redes IPv4, IPv6, VPN, MPLS etc...

Estratgias para conseguir tratar mltiplos protocolos


BGP multiprotocolo (MPBGP) RFC 2283 (1998)
AFI (identificador de famlia de endereos)

Subsequent Address Family Identifier (SAFI)

BGP um protocolo anterior ao IPv6. At o BGP4, a verso que ainda usada antecede IPv6.
O primeiro BGP4 (RFC 1654) foi publicado em julho de 1994, enquanto a RFC 1883, com a
definio do primeiro IPv6, foi publicado em dezembro de 1995. E, ao contrrio protocolos
como RIP e OSPF, que tm verses separadas para IPv4 e IPv6, h apenas um BGP, o BGP4,
que manipula tanto IPv4 como IPv6, alm de VPNs, MPLS etc.
Algumas estratgias so necessrias para permitir o transporte das informaes de
roteamento de protocolos que ainda no haviam sido definidos quando o BGP foi
estabelecido. Isso envolve o uso de extenses multiprotocolo, que transformam o BGP4
normal em BGP multiprotocolo (MPBGP), embora essa designao seja raramente usada
atualmente. As extenses multiprotocolo, originalmente publicadas como RFC 2283 em
1998, usam uma codificao especial para permitir que BGP4 para trabalhar com uma
ampla gama de "famlia de endereos".

Normalmente, uma famlia de endereo identifica um protocolo de rede, mas tambm h AFI
(identificador de famlia de endereos) nmeros alocados fora dos nomes no DNS, que no
so mapeadas diretamente a um protocolo de rede. Alm do AFI, MPBGP tambm utiliza um
Subsequent Address Family Identifier (SAFI), que indica o uso de roteamento normal unicast,
multicast, distribuindo informao VPB etc. Por exemplo, AFI 1 com SAFI 2 significa BGP
portando informao de multicast IPv4, e AFI 2 com SAFI 1 especifica informao de
roteamento unicast IPv6.
Informaes de roteamento IPv6 so trocadas usando IPv4 ou informaes de
roteamento IPv4 so trocadas atravs do IPv6

Boa prtica trocar apenas prefixos IPv4 atravs de uma sesso de BGP externo (eBGP)
usando IPv4 e, de forma anloga, trocar apenas prefixos IPv6 atravs de uma sesso
IPv6 eBGP

No caso de BGP interno (IBGP) que no atualiza o endereo de next hop, no h


problemas de troca de prefixos IPv4 e IPv6 sobre a mesma sesso IBGP

BGP Avanado

79


Roteadores BGP que suportam IPv6 permitem que as sesses BGP sejam estabelecidas
usando endereos IPv6. Anunciadores MPBGP informam aos seus vizinhos na mensagem de
OPEN no incio de uma sesso BGP quais combinaes AFI + SAFI desejam usar. Isso pode
levar a uma situao em que informaes de roteamento IPv6 so trocadas usando e IPv4 ou
que informaes de roteamento IPv4 so trocadas atravs do IPv6. Em princpio, no h
nada de errado com isso, mas leva a uma complicao: como que o roteador sabe o
endereo IPv6 do roteador seguinte (next hop) para incluir em suas atualizaes enviadas
para um vizinho IPv4? Para evitar essa situao, considerada uma boa prtica trocar
apenas prefixos IPv4 atravs de uma sesso de BGP externo (eBGP) usando IPv4 e, de forma
anloga, trocar apenas prefixos IPv6 atravs de uma sesso IPv6 eBGP.

No entanto, no caso de BGP interno (iBGP) que no atualiza o endereo de next hop, no h
problemas de troca de prefixos IPv4 e IPv6 sobre a mesma sesso iBGP. Assim, a maioria das
redes usa as sesses IPv4 iBGP existentes para a troca de prefixos IPv6 em vez de criar um
novo conjunto de sesses IPv6 iBGP. A nica desvantagem dessa abordagem que, se ento
algo de ruim acontece com IPv4, as sesses IPv4 iBGP caem e as conexes IPv6 tambm
seriam afetadas. Se IPv6 tivesse suas prprias sesses iBGP, poderia ter continuado a operar,
independentemente do IPv4.

Uso de IGP e de EGP no AS

Os protocolos de roteamento so usados internamente em um AS para transportar


endereos da infraestrutura. No devem ser usados para conduzir prefixos internet. Como
uma regra de projeto, devese minimizar o nmero de prefixos nos IGP (Internal Routing
Protocols) para facilitar a escalabilidade e a rpida convergncia da rede.
Minimizar o nmero de prefixos nos IGP (Internal Routing Protocols)

Os protocolos de roteamento transportam endereos da infraestrutura e no


transportam prefixos Internet
iBGP uso interno

3 transportar prefixos interno e da Internet no backbone

eBGP uso externo

3 intercambiando prefixos com os outros AS e para implementar a poltica de


roteamento

Boas prticas:

No distribuir prefixos BGP em um IGP


No distribuir rotas IGP com BGP

No usar um IGP para transportar prefixos do cliente

Estas recomendaes visam facilitar a escalabilidade da rede

O protocolo BGP pode ser usado internamente (iBGP) e externamente (eBGP). No caso de seu
uso como iBGP, o protocolo servir para transportar prefixos interno e da internet no
backbone. Quando usado como eBGP, o protocolo opera intercambiando prefixos com os
outros AS e para implementar a poltica de roteamento.
80

BGP Avanado

Como regra de boas prticas, recomendvel:

No distribuir prefixos BGP em um IGP;


No distribuir rotas IGP com BGP;

No usar um IGP para transportar prefixos do cliente.

Estas recomendaes visam facilitar a escalabilidade da rede.

Separao de iBGP e eBGP

Muitos ISPs no entendem a importncia de separar iBGP e eBGP.

IBGP o lugar onde todos os prefixos dos clientes so transportados;

EBGP usado para anunciar agregados para internet e para engenharia de trfego.

No faa engenharia de trfego com os prefixos iBGP originados no cliente.

Leva instabilidade semelhante ao mencionado no mau exemplo anterior;

Mesmo que o agregado anunciado, um subprefixo vai levar instabilidade para o


cliente em causa.

Gerar prefixos de engenharia de trfego no roteador de borda.

A internet, em 2012, tinha os seguintes volumes e tamanho de tabelas de roteamento:


Entradas em tabelas de roteamento BGP: 412487;
Prefixos aps mxima agregao: 174439;
Prefixos exclusivos na internet: 200548;
Prefixos menores do que o tamanho de alocao do registro: 175889;
/ 24s anunciados: 215907;
AS em uso: 41.153.
Os esforos para melhorar a agregao incluem:

O Relatrio CIDR: iniciado e operado por muitos anos por Tony Bates e agora,
combinado com a anlise de roteamento de Geoff Huston e disponvel em
http://www.cidrreport.org. Esse relatrio cobre tabelas IPv4 e IPv6 BGP. Os
resultados so enviados por email, semanalmente, para a maioria das listas de
operaes ao redor do mundo. Esse relatrio lista os 30 principais prestadores de
servios que poderiam fazer melhor na agregao;

Recomendao de agregao do WG RIPE do RIPE Network Coordination Center:


encontrado em www.ripe.net/ripe/docs/ripe399.html. O Relatrio CIDR tambm
calcula o tamanho da tabela de roteamento assumindo que os ISP realizassem
agregao tima. O site onde publicado permite pesquisas e clculos de agregao a
ser feita por AS. Ele constitui uma ferramenta flexvel e poderosa para ajudar ISPs, e
destinase a mostrar como maior eficincia em termos de tamanho da tabela BGP

BGP Avanado

81

pode ser obtida sem perda de roteamento e de poltica de informao. O relatrio


mostra que formas de agregao dos AS originadores poderiam realizar e os
benefcios potenciais de tais aes para o tamanho total da tabela. Ele desmonta de
forma muito eficaz a desculpa para no realizar engenharia de trfego otimizando o
funcionamento do BGP na internet.

Seguem alguns exemplos de resultados, apresentados pelo CIDR.


Status Summary
Table History
Date Prefixes CIDR
Aggregated

070316 600486 337722


080316 600700 337413
090316 599616 338119

100316 600463 338085


110316 600546 338077

120316 600658 338216


130316 600675 338824
140316 600857 338664

Figura 3.2 Resultados apresentados pelo CIDR.

Esses relatrios buscam promover um esforo das organizaes, no sentido de melhorar a


agregao. Embora inicialmente a meta primordial fosse reduzir o tamanho da tabela de
roteamento, esse fator no mais to importante, pois a memria dos roteadores no mais
um problema como foi na dcada de 1990. Os roteadores podem ser especificados para
transportar at 1 milho de prefixos. Todavia, a convergncia do sistema de roteamento
continua sendo um problema decorrente da falta de agregao. Quanto maior o tamanho da
tabela, mais tempo leva para a CPU processar e as atualizaes do BGP levam mais tempo
para serem tratadas.

Esses relatrios buscam promover um esforo das organizaes no sentido de melhorar


a agregao.

Embora inicialmente a meta primordial fosse reduzir o tamanho da tabela de

roteamento, este fator no mais to importante pois a memria dos roteadores no


mais um problema

Todavia, a convergncia do sistema de roteamento continua sendo um problema


decorrente da falta de agregao

82

BGP Avanado

Outro recurso existente o relatrio BGP de instabilidade que rastreia a atividade de


atualizao no sistema de roteamento. Pode ser obtido no endereo
http://bgpupdates.potaroo.net/instability/bgpupd.html.
Exemplo de relatrio produzido:
The BGP Instability Report

50 Most active ASes for the past 7 days


RANK

ASN

9829

39613

17974

Prefixes

UPDs/
Prefix

UPDs

406163

11.73%

2544

159.66

BSNLNIBNationalInternetBackbone,IN

149171

4.31%

31

4811.97

MELTMELTlimitedliabilitycompany,RU

41735

1.21%

2913

14.33

TELKOMNETAS2APPTTelekomunikasi
Indonesia,ID

ASNAME

8452

16586

37457

45814

45899

13118

10

134438

36751

1.06%

2288

16.06

34079

0.98%

248

137.42

28443

0.82%

943

30.16

28233

0.82%

159

177.57

27843

0.80%

1704

16.34

24344

0.70%

97

250.97

21345

0.62%

21345.00

TEASTEAS,EG

CLEARWIRECLEARWIRELESSLLC,US

TelkomInternet,ZA

FARIYAPKFariyaNetworksPvt.Ltd.,PK

VNPTASVNVNPTCorp,VN

ASNYARTELECOMPJSCRostelecom,RU

AIRAAIFULASAPAira&AifulPublicCompany
Limited,TH

11

24560

20757

0.60%

1387

14.97

AIRTELBROADBANDASAPBhartiAirtelLtd.,
TelemediaServices,IN

12

39891

13

4787

19944

0.58%

2515

7.93

19823

0.57%

445

44.55

ALJAWWALSTCASSaudiTelecomCompanyJSC,SA

ASNCBNPTCyberindoAditama,ID

Figura 3.3 Exemplo de relatrio.

BGP Avanado

83

Peer Groups

Um peergroup um conjunto de vizinhos BGP que compartilha a mesma poltica de


sada, onde as polticas de entrada podem ser diferentes
Vantagens de especificar grupos de pares

Facilidade de configurao, o fato de que as atualizaes so geradas apenas uma vez


por grupo de pares

reduz a quantidade de recursos do sistema (CPU e memria) necessrios em uma


gerao de atualizao

Um peergroup um conjunto de vizinhos BGP que compartilha a mesma poltica de sada,


onde as polticas de entrada podem ser diferentes. Em geral, pares BGP recebem as mesmas
atualizaes o tempo todo, tornandoos ideais para o arranjo para um grupo de pares. A
principal vantagem, alm de facilidade de configurao, o fato de que as atualizaes so
geradas apenas uma vez por grupo de pares. Isso permite especificar um grupo de pares BGP
ou reduz a quantidade de recursos do sistema (CPU e memria) necessrios em uma gerao
de atualizao. Alm disso, um grupo de pares BGP tambm simplifica a configurao BGP.
Um grupo de pares BGP reduz a carga sobre os recursos do sistema, permitindo que a tabela
de roteamento para ser verificado apenas uma vez e as atualizaes sejam replicadas para
todos os membros do grupo de pares, em vez de ser feito individualmente para cada ponto
no grupo de pares. Com base no nmero de membros do grupo de pares, o nmero de
prefixos na mesa e o nmero de prefixos anunciados, isso pode reduzir significativamente a
carga. Por isso, recomendvel agrupar pares com as polticas de anncio de sada idnticos.
Os grupos de pares tm os seguintes requisitos:

Todos os membros de um grupo de pares devem compartilhar polticas de anncio de


sada idnticas (tais como distributelist, filterlist e routemap), exceto para default

originate, que tratado em diferentemente para cada par mesmo para os membros do
grupo de pares;

possvel personalizar a poltica de atualizao de entrada para qualquer membro de


um grupo de pares;

Um grupo de pares deve ser interna, com membros BGP interno (iBGP) ou externo,

com membros EBGP externo (eBGP). Os membros de um grupo de pares externa tm


nmeros diferentes de sistema autnomo (AS).

Normalmente, pares BGP em um roteador podem ser agrupados em grupos de pares com
base em suas polticas de atualizao de sada.
Uma lista de grupos de pares usados comumente pelos ISPs esto listados a seguir:
Grupo de pares normal iBGP para pares normais iBGP;

Grupo de pares cliente iBGP para pares de reflexo pares em um roteador de reflexo;
Rotas completas eBGP para pares que recebem rotas completas internet;

Rotasclientes eBGP para parescom vistas a receber apenas as rotas de clientes diretos
do ISP.

84

BGP Avanado

Uso de loopbacks nas sesses BGP


BGP um exterior gateway protocol (EGP), usado para realizar o roteamento
interdomnios nas redes TCP / IP.

Um roteador BGP precisa estabelecer uma conexo (na porta TCP 179) para cada um de
seus pares BGP antes que as atualizaes BGP possam ser trocadas

A sesso BGP entre dois pares BGP dita ser uma sesso externa BGP (eBGP) se os
pares BGP esto em diferentes sistemas autnomos (AS).

Uma sesso BGP entre dois pares BGP dita ser uma sesso BGP interna (iBGP) se os
pares BGP esto nos mesmos sistemas autnomos.

Por padro, a relao entre pares estabelecida utilizando o endereo IP da interface do


roteador de pares mais prximo.

No entanto, usando o comando neighbor updatesource , qualquer interface

operacional, incluindo a interface de loopback, pode ser especificada para ser usada no
estabelecimento de conexes TCP.

Este mtodo de troca de trfego atravs de uma interface de loopback til uma vez que
no vai derrubar a sesso BGP quando existem vrios caminhos entre os pares BGP, e a
interface fsica usada para estabelecer a sesso cair .

Alm disso, ele tambm permite que os roteadores que executam BGP com vrias
ligaes entre eles, possam equilibrar a carga sobre os caminhos disponveis.

Exemplo de comando usado para configurar loopback:

Figura 3.4 Configurao de loopback.

Supondo que o roteador R1 e o roteador R2 estejam ambos no AS100, e que ambos j


possuem algum algoritmo de roteamento IGP (ex. ISIS, OSPF) corretamente configurados, a
configurao para estas sesses iBGP podem ser realizadas como indicado nos trechos de
cdigo a seguir:

BGP Avanado

85


R1

R2

!--- configure as
interfaces.
interface Ethernet0
ip address 10.10.10.1
255.255.255.0
!
interface Loopback0
ip address 10.10.254.254
255.255.255.255
!
!--- Habilita roteamento
BGP para o AS100.
!--- configure a sesso
TCP com origem e destino
na Lo0
router bgp 100
neighbor 10.20.254.254
remote-as 100
neighbor 10.20.254.254
description iBGP com R2
neighbor 10.20.254.254
update-source loopback0
end

!--- configure as
interfaces.
interface Ethernet0
ip address 10.10.10.2
255.255.255.0
!
interface Loopback0
ip address 10.20.254.254
255.255.255.255
!
!--- Habilita roteamento BGP
para o AS100.
!--- configure a sesso TCP
com origem e destino na Lo0
router bgp 100
neighbor 10.10.254.254
remote-as 100
neighbor 10.10.254.254
description iBGP com R1
neighbor 10.10.254.254
update-source loopback0
end

Figura 3.5 Roteadores R1 e R2 no mesmo AS 100.

Para que a sesso TCP entre as duas loopbacks funcione adequadamente, necessrio que
exista um protocolo IGP transportando as informaes das redes de infraestrutura (enlaces
de backbone e interfaces de LoopBack). Um teste que pode ser realizado para validar o
roteamento IGP um PING destinado a interface de LoopBack de um roteador com origem
na interface de loopback de outro.

Uso de agregao de prefixos

Agregao significa anunciar um bloco de endereo recebido do RIR (Registros


Regionais da Internet) para outros ASs conectados rede.
Subprefixos deste agregado podem ser:
Usados internamente no AS

Anunciados para outros ASs para auxiliar no multihoming

86

BGP Avanado


Desafortunadamente uma quantidade demasiadamente alta de pessoas ainda pensa em
termos de classes C de endereos o que resulta numa proliferao de /24s na tabela de
roteamento Internet; o mesmo est acontecendo com /48s no IPv6
Bloco de endereamento agregado 101.10.0.0/19:
router

bgp 64511

network 101.10.0.0 mask 255.255.224.0

ip route 101.10.0.0 255.255.224.0 null0


A rota esttica uma rota pull up.

Prefixos mais especficos nesse bloco de endereos asseguram conectividade com os

clientes do AS

Regra de boas prticas

Blocos de endereo deveriam ser anunciados para a Internet como um agregado


Subprefixos do bloco de endereo no deveriam ser anunciados a no ser para
engenharia de trfego sendo importante no caso de multihoming

Agregados deveriam ser gerados internamente e no na borda da rede


Exemplo de configurao de agregao
router

bgp 64511

network 101.10.0.0 mask 255.255.224.0


neighbor 102.102.10.1 remote-as 101

neighbor 102.102.10.1 prefix-list out-filter

out

ip route 101.10.0.0 255.255.224.0 null0

ip prefix-list out-filter permit 101.10.0.0/19 i


ip prefix-list out-filter deny

0.0.0.0/0 le 32

ISPs que no querem e no fazem anncio de agregados tm baixa considerao na


comunidade.

Registradores publicam seu tamanho mnimo de alocao. Qualquer coisa de um /20 a /22
depende do RIR, e pode haver diferentes tamanhos para diferentes blocos de endereo.

No h uma razo real para usar qualquer coisa mais longa do que um prefixo /22 na
internet, mas ocorre (em junho de 2012 havia mais de 216000 /24s). APNIC mudou em
outubro de 2010 seu tamanho mnimo de alocao em todos os blocos para /24. O
esgotamento do IPv4 comea a impactar.

BGP Avanado

87


Exemplo de agregao 1 Mau exemplo:

Figura 3.6 Mau exemplo de agregao de prefixos.

Nesse exemplo, o cliente tem uma rede /23 de um bloco de endereos /19 do AS100.

O AS100 anuncia as redes individuais dos clientes para a internet, o que ocasionaria a
seguinte situao:
Se o link do cliente cai:

Sua rede /23 tornase inatingvel;


/23 sai fora do iBGP do AS 100.

Seu ISP no agrega sua rede /19:

A retirada da rede /23 anunciada aos pares;


Comea a propagarse pela internet;

Adiciona carga em todos os roteadores do backbone na medida em que a rede


removida das tabelas de roteamento.

Quando o link do cliente retorna:

Sua rede /23 tornase visvel para seu ISP;


Sua rede /23 reanunciada aos pares;
Comea a propagarse pela internet;

Adiciona carga em todos os roteadores do backbone na medida em que a rede


reinserida das tabelas de roteamento;
Alguns ISPs suprimem as oscilaes;

A internet pode levar 10 a 20 minutos para ficar visvel;

A qualidade do servio fica afetada.


88

BGP Avanado

Exemplo de agregao 2 Bom exemplo

Figura 3.7 Bom exemplo de agregao.

Cliente tem uma rede /23 do bloco de endereos /19 do AS 100.


AS 100 anuncia o agregado /19 para a internet.
Se o link do cliente cai:

Sua rede /23 tornase inatingvel;

O /23 retirado do iBGP do AS 100.

O agregado /19 continua sendo anunciado:

No h problemas de manuteno do BGP;


No h retardos de propagao BGP;
No h damping pelos outros ISP.

Quando o link do cliente retorna:

Seu /23 tornase visvel novamente;

O /23 reinjetado no iBGP do AS100.

A internet toda fica visvel imediatamente.

O cliente percebe a qualidade do servio.

Resumo das recomendaes sobre agregao.

Agregao um bom exemplo que todos deveriam seguir


3 Melhora a estabilidade da internet;

3 Reduz o tamanho da tabela de roteamento;


3 Reduz agitao no roteamento;

3 Melhora a QoS da internet para todos.

A causa para o no uso de agregao pode ser derivada de falta de conhecimento,


indolncia e prejudica todos.
BGP Avanado

89

Injetando prefixos no iBGP


Rotas que so anunciados atravs do Border Gateway Protocol (BGP) so comumente

agregadas para minimizar o nmero de rotas que so utilizadas e reduzir o tamanho das
tabelas de roteamento globais.

No entanto, a agregao de rota comum pode obscurecer informaes de roteamento

mais especfico que mais preciso, mas no necessrio para encaminhar pacotes para
seus destinos

Existem vrios mtodos em que presumem a existncia de informaes de roteamento

mais especfico (encontrando a rota a ser originado) em qualquer tabela de roteamento


ou a tabela de BGP.

O recurso Injection BGP Route Conditional permite originar um prefixo em uma tabela
de roteamento BGP sem o casamento correspondente.

O recurso Injection BGP Route Conditional uma extenso do protocolo BGP

Rotas que so anunciadas atravs do Border Gateway Protocol (BGP) so comumente


agregadas para minimizar o nmero de rotas que so utilizadas e reduzir o tamanho das
tabelas de roteamento globais. No entanto, a agregao de rota comum pode obscurecer
informaes de roteamento mais especfico que mais preciso, mas no necessrio para
encaminhar pacotes para seus destinos. A preciso do roteamento obscurecida pela
agregao de rota normal porque um prefixo que representa vrios endereos ou hosts em
uma grande rea topolgica no pode ser representado com preciso em uma nica rota.

Existem vrios mtodos em que presumem a existncia de informaes de roteamento mais


especfico (encontrando a rota a ser originado) em qualquer tabela de roteamento ou a
tabela de BGP.

O recurso Injection BGP Route Conditional permite originar um prefixo em uma tabela de
roteamento BGP sem o casamento correspondente. Esse recurso permite que rotas mais
especficas sejam geradas com base na poltica de administrao ou de informaes de
engenharia de trfego, a fim de fornecer controle mais especfico sobre o encaminhamento
de pacotes para essas rotas mais especficas, que so injetadas na tabela de roteamento BGP
se as condies de configurao forem atingidas.
O recurso Injection BGP Route Conditional uma extenso do protocolo BGP.

Etapas de configurao de BGP Conditional Route Injection para o ambiente Cisco.

90

BGP Avanado

Command

Purpose

Step 1 Router(config)# router bgp asnumber Places the router in router


configuration mode, and configures
the router to run a BGP process.

Step 2 Router(configrouter)# bgp injectmap Configures the injectmap named


ORIGINATE existmap LEARNED_PATH ORIGINATE and the existmap named
LEARNED_PATH for conditional
route injection.
Step 3 Router(configrouter)# exit

Step 4 Router(config)# routemap


LEARNED_PATH permit sequence
number
Step 5 Router(configroutemap)# match ip
address prefixlist ROUTE
Step 6 Router(configroutemap# match ip
routesource prefixlist
ROUTE_SOURCE

Exits router configuration mode, and


enters global configuration mode.
Configures the route map named
LEARNED_PATH.

Specifies the aggregate route to


which a more specific route will be
injected.

Configures the prefix list named


ROUTE_SOURCE to redistribute the
source of the route.
Note The route source is the
neighbor address that is configured
with the neighbor remoteas
command. The tracked prefix must
come from this neighbor in order for
conditional route injection to occur.

Step 7 Router(configroutemap)# exit

Exits routemap configuration mode,


and enters global configuration
mode.

Step 8 Router(config)# routemap ORIGINATE Configures the route map named


permit 10
ORIGINATE.

BGP Avanado

91


Step 9 Router(configroutemap)# set ip
address prefixlist
ORIGINATED_ROUTES

Specifies the routes to be injected.

Step 11 Router(configroutemap)# exit

Exits routemap configuration mode,


and enters global configuration
mode.

Step 10 Router(configroutemap)# set


community communityattribute
additive

Step 12 Router(config)# ip prefixlist ROUTE


permit 10.1.1.0/24
Step 13 Router(config)# ip prefixlist
ORIGINATED_ROUTES permit
10.1.1.0/25
Step 14 Router(config)# ip prefixlist
ORIGINATED_ROUTES permit
10.1.1.128/25

Step 15 Router(config)# ip prefixlist


ROUTE_SOURCE permit 10.2.1.1/32

Configures the community attribute


of the injected routes.

Configures the prefix list named


ROUTE to permit routes from
network 10.1.1.0/24.

Configures the prefix list named


ORIGINATED_ROUTES to permit
routes from network 10.1.1.0/25.

Configures the prefix list named


ORIGINATED_ROUTES to permit
routes from network 10.1.1.128/25.

Configures the prefix list named


ROUTE_SOURCE to permit routes
from network 10.2.1.1/32.

Note The route source prefix list


must be configured with a /32 mask
in order for conditional route
injection to occur.

92

Tabela 3.1 Configurao de BGP Conditional Route Injection para Cisco.

BGP Avanado

Filtros de segurana para o seu ASN


O uso de filtros na configurao do protocolo BGP importante e necessrio por vrios
motivos:

conter a propagao de nmeros de AS locais,

contribuir para a performance geral da rede e apoiar a segurana.

Filtros para ASN local

Nmeros privados sistema autnomo (AS), que variam de 64512 a 65535 so usados
para conservar nmeros de uso global.

Os nmeros de AS globais que variam de 1 at 64511 so atribudos pelo InterNIC.

Os nmeros de AS privados so de uso exclusivo local e interno em um dado ASN e no


podem ser vazados para uma tabela global Border Gateway Protocol (BGP), porque o

clculo da melhor rota feita a nvel de BGP pressupe que cada nmero de AS seja nico.
Assim, o primeiro cuidado na configurao do BGP assegurar que os nmeros de AS

privados no sejam exportados para fora do AS local.

A eliminao de todos os nmeros de AS privados da lista AS_PATH propagadas para um


par BGP necessria.

neighbor x.x.x.x remove-private-as

Este comando deve ser usado para vizinhos BGP externos e ser aplicado em AS_PATH
que contenham apenas nmeros de AS privados.

Se a AS_PATH contiver nmeros de AS privados e pblicos o BGP no remover os


nmeros de AS pblicos e esta situao considerada um erro de configurao.

Se a ASPATH contiver confederaes, o BGP remove os nmeros de AS privados


somente se eles vm depois da parte relativa confederao da AS_PATH.

Usando filtros de redes visando a performance

Configurando sem usar filtros significa que todas as melhores rotas so passadas para o
vizinho e todas as rotas anunciadas pelo vizinho so recebidas pelo roteador local.

Existem maneiras de filtrar o anncio de uma ou mais redes de um par BGP, incluindo
Network Layer Reachability Information (NLRI), AS_PATH e atributos Comunidade.
Para restringir informaes de roteamento que o roteador aprende ou anuncia,
possvel usar filtros com base nas atualizaes de roteamento.

Os filtros consistem em uma lista de acesso ou uma lista de prefixo, que aplicado s
atualizaes (UPDATES) de vizinhos e para vizinhos.
BGP Avanado

93


Listas de prefixo IOS funcionam como listas de acesso para anncios de rota (prefixos).
Enquanto listas de acesso estendidas possam ser utilizadas para comparar anncios de
prefixo, listas prefixo so geralmente uma forma mais elegante de fazer isso. Listas de prefixo
funcionam de forma semelhante de listas de acesso; uma lista de prefixo contm um ou
mais entradas ordenadas que so processados sequencialmente. A avaliao de uma lista de
prefixo termina assim que for encontrada uma correspondncia (match).
Suponha que algum deseja evitar que uma rota para 10.0.0.0/24 seja distribuda de
OSPF para BGP.

Uma maneira de fazer isto seria definir uma ACL (Access Control List) estendida

combinando este prefixo e referencila no mapa de redistribuio de rotas BGP

Esta configurao evita que o prefixo 10.0.0.0/24 seja anunciado proibindo a rede
10.0.0.0 (endereo originador) com uma mscara de 255.255.255.0 (endereo de

destino). Todos os outros prefixos so permitidos pelo comando permit ip any any.

Suponha que algum deseja evitar que uma rota para 10.0.0.0/24 seja distribuda de OSPF
para BGP. Uma maneira de conseguir isso envolveria definir uma ACL (Access Control List)
estendida combinando esse prefixo e referencila no mapa de redistribuio de rotas BGP:
router ospf 1
router-id 2.2.2.2
log-adjacency-changes
!
router bgp 65100
no synchronization
bgp router-id 2.2.2.2
bgp log-neighbor-changes
redistribute ospf 1 route-map OSPF->BGP
neighbor 172.16.23.3 remote-as 65100
no auto-summary
!
ip access-list extended OSPF_Redist
deny
ip host 10.0.0.0 host 255.255.255.0
permit ip any any
!
route-map OSPF->BGP permit 10
match ip address OSPF_Redist

Essa configurao evita que o prefixo 10.0.0.0/24 seja anunciado proibindo a rede 10.0.0.0
(endereo originador) com uma mscara de 255.255.255.0 (endereo de destino). Todos os
outros prefixos so permitidos pelo comando permit ip any any.
Isso poderia tambm ser feito usando uma lista de prefixos tal como no exemplo seguinte

94

BGP Avanado


router ospf 1
router-id 2.2.2.2
log-adjacency-changes
!
router bgp 65100
no synchronization
bgp router-id 2.2.2.2
bgp log-neighbor-changes
redistribute ospf 1 route-map OSPF->BGP
neighbor 172.16.23.3 remote-as 65100
no auto-summary
!
ip prefix-list OSPF_Redist seq 5 deny 10.0.0.0/24
ip prefix-list OSPF_Redist seq 10 permit 0.0.0.0/0 le 32
!
route-map OSPF->BGP permit 10
match ip address prefix-list OSPF_Redist

Usando uma lista de prefixos

Nesta situao foram definidas duas listas de prefixos que cumprem a mesma funo
das duas listas de acesso do exemplo anterior.

deny 10.0.0.0/24 barra o mesmo prefixo 10.0.0.0/24 e permit 0.0.0.0/0 le 32


permite todos os outros prefixos.

A segunda lista de prefixos usa um adendo opcional (parmetro) na definio de uma lista
que le (lower or equal) ou ge (greater or equal). Sem esses adendos a comparao teria de
ser exata. Com o parmetro le a definio da lista passa a contemplar um conjunto maior de
prefixos. Por exemplo, 10.0.0.0/24 le 30 representa prefixos 10.0.0.0/24 e todos os prefixos
ali contidos com um comprimento de 30 ou menos. Podemos usar le para criar uma
referncia que vale como qualquer prefixo 0.0.0.0 le 32 a qual incluiria qualquer prefixo com
comprimento entre 0 e 32 bits (contempla todos os prefixos IPv4).
No caso do parmetro ge, especificado um comprimento mximo. Por exemplo, uma
especificao 10.0.0.0/8 ge 16 significa que inclui os endereos na rede 10.0.0.0/8 que
tenham ao menos 16 bits de comprimento.

Boas prticas na configurao do BGP recomendam que cada vizinho eBGP tenha filtros
de ingresso e sada tal como no exemplo seguinte:
router bgp

64511

neighbor 1.2.3.4 remote-as 64510


neighbor 1.2.3.4 prefix-list

as64510-in in

neighbor 1.2.3.4 prefix-list as64510-out out


BGP Avanado

95

Filtros para segurana

Formas de ataque

BGP Route Manipulation


BGP route hijacking

BGP Denial of Service (DoS)

Alm destes, erros involuntrios (ou aes no maliciosas) entre os pares BGP podem
ter um impacto negativo nos processos do BGP de um roteador

Existem diversas formas de ataque ao BGP, contra os quais preciso estabelecer proteo.
Dado que o protocolo BGP usa TCP como camada de transporte, susceptvel s mesmas
ameaas contra o TCP e deve receber o mesmo tipo de proteo.
Alm disso, uma vez que BGP como a aplicao vulnervel a diversas ameaas, os
administradores devem mitigar o risco e impacto potencial de tentativas associados
explorao das vulnerabilidades. Algumas das ameaas incluem o seguinte:

BGP Route Manipulation: esse cenrio ocorre quando um dispositivo hostil manipula o
contedo da tabela de roteamento BGP, que pode, entre outros impactos, impedir o
trfego de chegar ao seu destino previsto, sem aviso ou notificao;

BGP route hijacking: esse cenrio ocorre quando um BGP par forjado maliciosamente
anuncia prefixos de uma vtima em um esforo para redirecionar parte ou todo o trfego
para si prprio para fins indesejveis (por exemplo, para visualizar o contedo de
trfego que o router de outra forma no seria capaz de ler);
BGP Denial of Service (DoS): esse cenrio ocorre quando um host malicioso envia o
trfego BGP inesperado ou indesejvel para uma vtima em uma tentativa de ocupar
todos os recursos BGP ou de CPU disponveis, o que resulta em uma falta de recursos
para o processamento vlido do trfego BGP.

Alm desses erros involuntrios (ou aes no maliciosas) entre os pares, BGP podem ter um
impacto negativo nos processos do BGP de um roteador. Por isso, as tcnicas de segurana
devem ser aplicadas para minimizar impactos desses tipos de eventos tambm.
Anncio de rotas indesejadas, por erro de configurao.

Configuraes indevidas podem causar desagregao de rotas o que pode levar a um


aumento no nmero de prefixos que os processos BGP encontram.

Limitao no nmero mximo de prefixos que podem ser aceitos dos pares vizinhos
pode ser usada para prevenir exausto de CPU ou de memria

Outro problema de segurana no BGP o anncio de rotas indesejadas por erro de


configurao. Isso no pode ser prevenido pelas estratgias citadas anteriormente, pois se
um par BGP legtimo est mal configurado, pode fazer anncios que prejudicam o BGP,
causando eventuais tentativas para implantar um nmero demasiadamente elevado de rotas
em sua tabela de roteamento. Configuraes indevidas podem causar desagregao de rotas,
o que pode levar a um aumento no nmero de prefixos que os processos BGP encontram.
96

BGP Avanado

Uma limitao no nmero mximo de prefixos que podem ser aceitos dos pares vizinhos
pode ser usada para prevenir exausto de CPU ou de memria. Quando esse limite definido,
a relao entre pares vizinho encerrada quando um nmero de prefixos recebidos excede o
limite mximo configurado. Uma alternativa seria emitir um alerta, em lugar de cancelar a
relao para no causar problemas de interrupo de servio. Embora essa funcionalidade
seja usualmente utilizada para pares BGP externos, pode tambm ser usada com os pares
BGP internos.
Threshold Value percentual em que passa a ser gerada uma mensagem de aviso
(varia entre 1100%)

Restart Interval quantidade de tempo em minutos (entre 165535) aps a qual a


ligao BGP terminada ser reiniciada

Warningonly uma mensagem de aviso para o syslog que ser gerada quando o limite
de prefixos excedido (neste caso a conexo BGP no vai ser encerrada)
neighbor 192.0.2.2 maximum-prefix 5 70 restart 30

Para poder configurar esse limite apropriadamente, o valor normal do mximo de rotas
recebidas deve ser conhecido e entendido. O limite a ser configurado deve ser um pouco
maior do que esse mximo usual.

Ao configurar esse recurso usando o mximo de prefixos do comando de configurao do


roteador BGP vizinho, pelo menos, um argumento necessrio, que o nmero mximo de
prefixos que so aceitos antes de um par seja desligamento. Outros parmetros opcionais
podem tambm ser configurados aps o nmero mximo de prefixos a serem aceitos.

Threshold Value: percentual em que passa a ser gerada uma mensagem de aviso (varia
entre 1100%);

Restart Interval: quantidade de tempo em minutos (entre 165535) aps a qual a ligao
BGP terminada ser uma reiniciada;

Warningonly: uma mensagem de aviso para o syslog que ser gerada quando o limite de
prefixos excedido (nesse caso a conexo BGP no vai ser encerrada).

No exemplo seguinte o limite mximo de prefixo ser definido um limite de cinco prefixos a
serem recebidos a partir de pares BGP em 192.0.2.2. Quando quatro prefixos forem
recebidos (mais de 70 por cento de cinco), ser emitida uma mensagem de aviso. Uma vez
que o limite de cinco prefixos tenha sido alcanado, a sesso BGP ser terminada e reiniciada
em 30 minutos.
Essa configurao no requer simetria do par BGP uma vez que ela se aplica apenas ao
roteador em que for definida.

neighbor 192.0.2.2 maximum-prefix 5 70 restart 30

BGP Avanado

97

TTL no eBGP

Outro cenrio possvel de ataque o de Denial os Service (DoS) e, para mitiglo, uma das
estratgias passa pelo uso do BGP Time To Live (TTL), que projetado para proteger o
processo de BGP desses tipos de ataques que visam consumir CPU e pode tambm envolver
tentativas de manipulao da rota. Isso especialmente importante para as sesses BGP
externas (eBGP), estabelecidas por exemplo entre uma empresa e um provedor de servios.
Dado que a ligao entre os dois AS contgua, por default, o TTL do IP definido como 1
para todas as sesses com vizinhos. Mas um atacante poderia estar distante e falsificar
pacotes enviados para um dado BGP (por exemplo, pacotes TCP SYN para a porta BGP para
sobrecarregla).
Mitigao de DoS pelo uso do BGP Time To Live (TTL)
neighbor 192.0.2.2 ttl-security hops 1

A estratgia de usar MD 5 no protege contra esse tipo de ataque, e at exacerba o consumo


de CPU, devido ao clculo de MD5 a ser feito em cada pacote atacante recebido. Uma
modificao no TTL do BGP foi definida estabelecendo uma verificao valor do TTL do
pacote IP, que deve ser aquele esperado de um roteador adjacente. Esse teste adicional
somente requerido para sesses eBGP. Para sesses iBGP, no necessrio e nem
considerado. O comando a ser usado para definir essa verificao seria:
neighbor 192.0.2.2 ttl-security hops 1

Uso de MD5 nas sesses BGP


Entre os ataques possveis infraestrutura de roteamento BGP, a manipulao dos prefixos
trocados pelos pares de uma sesso BGP um dos mais nocivos (sequestro de prefixo),
seguido pela possibilidade de um dos pares BGP solicitar o encerramento da sesso BGP
(Negao de Servio). Ambos os ataques so viabilizados tendo como alvo o envio de
segmentos TCP forjados (spoofed TCP segments), que em determinada situao pode
resultar em um sequestro de sesso TCP e mais comumente em um DoS causado por
solicitaes de reincio de sesso TCP (TCP Resets).

Visando minimizar esses problemas, foi criado um mecanismo de autenticao mtua para
os pares das sesses BGP, utilizando uma autenticao MD5 (RFC 5225), ou seja, uma senha
compartilhada (share secret). Essa assinatura MD5 no protocolo TCP uma opo do TCP
que autentica cada um dos segmentos TCP, incluindo seus cabealhos IPv4, TCP e contedo
de dados. Esse encapsulamento protege o protocolo BGP de eventuais segmentos TCP
forjados, aumentando a robustez da prpria conexo TCP utilizada pela sesso BGP.

98

Mais informaes sobre o tipo de ataque usado contra o protocolo BGP podem ser obtidos
em: Wang, X., H. Yu, How to break MD5 and other hash functions, Proc. IACR Eurocrypt
2005, Denmark, das pginas 19 a 35.

BGP Avanado


Mecanismo de autenticao de vizinhos baseado em MD5

Garantir que apenas os pares autorizados possam estabelecer a relao vizinho BGP, e
que as informaes trocadas entre estes dois dispositivos no tenham sido alteradas
em rota.

O processo de autenticao BGP vizinho uma tcnica simtrica e deve ser ativado nos
dois lados da sesso.

A configurao do uso de MD5 para o BGP habilitada usando a opo password


<password text> no comando de configurao neighbor para o roteador.
Exemplo:

neighbor 192.0.2.2 password xxxxx


A configurao do uso de MD5 para o BGP habilitada usando a opo password <password
text> no comando de configurao neighbor para o roteador. Exemplo:
neighbor 192.0.2.2 password xxxxx

Filtros para pacotes Marcianos


Um pacote de Marte um pacote IP que especifica a origem ou destino endereo que est
reservado para uso especial por Internet Assigned Numbers Authority (IANA). Se surgirem
na internet pblica, esses pacotes no podem ter a origem que declaram e no podem ser
entregues ou encaminhados como reivindicado, ou ser entregue. O nome derivado do
pacote de Marte, um lugar do qual os pacotes claramente no podem se originar.

Pacotes de Marte comumente surgem de falsificao de endereo IP em ataques de negao


de servio, mas podem tambm resultar de mau funcionamento do equipamento de rede ou
configurao incorreta de um host. Mas certos endereos reservados podem ser
encaminhados utilizando multicast, ou em redes privadas, ligaes locais, ou interfaces de
autorretorno, dependendo de qual especial usar o intervalo que se mantenham dentro.

Um pacote de Marte um pacote IP que especifica a origem ou destino um endereo que


est reservado para uso especial por Internet Assigned Numbers Authority (IANA).
RFC 1918 reservados para uso privado
RFC 2817 diretrizes antispoofing

RFC 3330 endereos de uso especial

Se surgirem na Internet pblica, estes pacotes no podem ter a origem que declaram e
no podem ser entregues ou encaminhados como reivindicado.

Um importante mecanismo BGP com vistas proteo da sesso a filtragem individual de


prefixos, para evitar que BGP instale inadvertidamente prefixos indesejados ou ilegais na
tabela de roteamento, seja devido inteno maliciosa ou erro simples. A filtragem de
prefixo deveria ser configurada para permitir que um administrador de rede possa autorizar
ou negar prefixos especficos que so enviadas ou recebidas a partir de cada par BGP. Essa
configurao garante que apenas o trfego de rede pretendido seja enviado ao longo do
BGP Avanado

99


caminho a que se destina. Listas de prefixos devem ser aplicadas a cada par BGP em ambas
as direes de entrada e sada.
Pacotes de Marte

Falsificao de endereo IP em ataques de negao de servio


Mau funcionamento do equipamento de rede
Configurao incorreta de um host.

Certos endereos reservados podem ser encaminhados utilizando multicast, ou em

redes privadas, ligaes locais, ou interfaces de loopback, dependendo de qual ser o


uso especfico no intervalo ao qual pertencem.

neighbor 192.0.2.2 prefix-list Ingress-Black in

Listas de prefixo podem ser configuradas para permitir especificamente apenas aqueles
prefixos que so permitidos pela poltica de roteamento de uma rede, o que um exemplo de
filtragem baseada em whitelist. Se essa configurao no vivel devido ao grande nmero
de prefixos que so recebidos, uma lista de prefixo pode ser configurada para bloquear
especificamente prefixos indesejveis (tcnica conhecida como filtragem por blacklist). Esses
prefixos deveriam incluir o espao de endereos IP no alocados e as redes que esto
reservadas pela RFC 3330, tais como de uso interno ou para teste.
Listas de prefixo de sada deveriam ser configuradas para permitir especificamente apenas
os prefixos que a organizao pretende anunciar. Pela mesma razo, as boas prticas
recomendam que as listas de controle de acesso (ACLs) reneguem pacotes que usam
endereamento especial e pacotes que so provenientes de endereos pertencentes ao
espao de espao de endereo IP da empresa.
Listas de entrada e sada de prefixo previnem explicita ou implicitamente o recebimento e
transmisso de endereos IP que so referenciados pelos seguintes RFCs:

RFC 1918, que define o espao de endereo reservado no um endereo de origem


vlida na internet;
RFC 2827, que fornece diretrizes antispoofing;

RFC 3330, que define o uso especial endereos que pode exigir filtragem.

Exemplo de configurao de filtro:

neighbor 192.0.2.2 prefix-list Ingress-Black in

Uso de Dampening
Route Dampening uma maneira de suprimir oscilao de rotas para que elas sejam
"suprimidas" em vez de ser anunciadas.

Uma rede instvel pode causar oscilao de rotas BGP, o que pode causar a necessidade
nos outros roteadores BGP de reconvergirem constantemente.

Como boa prtica a maioria dos ISPs usa amortecimento de rotas (route dampening)
regularmente.

100

BGP Avanado

Route Dampening uma maneira de suprimir oscilao de rotas para que elas sejam
"suprimidas", em vez de serem anunciadas. Uma rede instvel pode causar oscilao de rotas
BGP, o que pode causar a necessidade nos outros roteadores BGP de reconvergirem
constantemente. Isso desperdia ciclos de CPU valiosos e pode causar problemas graves na
rede. Como boa prtica, a maioria dos ISPs usar amortecimento de rotas (route dampening)
regularmente.
Conceitos usados em dampening
Pena

Half life time

Suppress limit
Reuse limit

Max suppress limit


Suppressed route
History entry

Esse processo envolve uma srie de conceitos, tais como:

Pena: um valor numrico incrementado que atribudo a uma rota cada vez que ela
oscila. A rota penalizada quando oscilar 1.000 vezes. Consideramos que a rota
oscilou quando for recebido um comando de WITHDRAW e a seguir UPDATE para
a rota.
Half life time: um valor numrico configurvel que descreve a quantidade de tempo
que deve decorrer para reduzir a penalidade por metade. O valor padro 15
minutos, mas pode variar de 1 minuto a at 45 minutos;

Suppres limit: um valor numrico que comparado com a pena. Se a pena maior do
que o limite de suprimir, a rota suprimida. O padro 2.000, mas pode variar de 1 a
20.000;
Reuse limite: um valor numrico configurvel que comparado com a pena. Se a pena
for inferior ao limite de reutilizao, uma rota suprimida que est com valor de pena
maior deixar de ser suprimida. O valor padro 750, mas pode variar de 1 a 20.000;
Max suppress limit: a maior quantidade de tempo que uma rota possa ser
suprimida. O padro 4 vezes o tempo de meia vida, mas pode variar de 1 a 255;

Suppressed route: uma rota que no anunciada, mesmo que esteja operante. A rota
suprimida se a pena maior do que o limite de suprimir;
History entry: uma entrada usada para armazenar informaes de oscilao. Para
efeitos de monitorao e clculo do nvel de oscilao de uma rota, importante
armazenar informaes de oscilao no roteador. Quando a rota estabiliza, a entrada
do histrico se tornar intil e ser apagada a partir do roteador.

BGP Avanado

101

Melhores prticas no uso de filtros em sesses BGP


Filtros so necessrios para aumentar a segurana e estabilidade do BGP.
Filtros para clientes.

Filtros para provedores.


Filtros para parceiros.

Nas diversas relaes de peering, normal que cada uma das partes implemente algum
mecanismo de proteo para evitar problemas de segurana, geralmente relacionado com
algum prefixo BGP erroneamente divulgado na internet. Por esse motivo, normalmente
uma boa prtica que ambos os lados da sesso BGP estabeleam seu prprios mecanismos de
proteo, criando o que conhecido na rea de segurana como uma estratgia de defesa em
profundidade, ou seja, ambos os lados tm proteo quando ao que enviado e o que
esperado receber de cada peer, criando uma linha de defesa em dois nveis de profundidade.

Filtros em sesses BGP com clientes

Clientes possuem pouco conhecimento de BGP.

Em geral no implementam mecanismos de segurana.

Alguns provedores exigem a formalizao de um acordo BGP.

Em uma relao com clientes, relativamente normal que o item segurana seja tomado
como baixa prioridade em detrimento a realmente ter a rede do cliente divulgada na internet
e totalmente operacional. Entretanto, casos como a falha que sequestrou o trfego do Google
na frica (Google prefix hijacking1) trouxeram um foco adicional para os mecanismos de
proteo relativos sesso BGP que os provedores de acesso possuem com seus clientes e as
responsabilidades legais dos grandes provedores em relaes a seus clientes. Esse tipo de
ao tem se tornado de suma importncia quando falamos de casos como cyber guerra e o
uso da internet como meio de vigilncia e mesmo de censura por parte de governos.

Dessa forma, uma prtica altamente recomendada que os provedores de acesso realizem
sempre uma validao dobrada do que , ou deve ser, anunciado via BGP para cada um dos seus
clientes. Uma boa politica o estabelecimento de um procedimento que em geral implica em um
atraso na divulgao de prefixos de rede de clientes por seus provedores. Esse costuma ser o
motivo pelo qual alguns provedores solicitam prazos de 24 horas at 15 dias para a divulgao de
prefixos de clientes na internet. A burocracia , em alguns casos, algo intencional.

O processo normalmente conduzido pelos provedores de acesso iniciado por uma


solicitao de seus clientes para o incio de uma sesso BGP, e deve ser repetida a cada
alterao solicitada pelo cliente: como a incluso de um novo bloco IP a ser divulgado na
internet. Em geral isso realizado atravs da rea comercial do ISP e do cliente, e chamado

1 T. Wan and P. C. van Oorschot, Analysis of BGP Prefix Origins During Googles May 2005

102

Outage, in Proc. of Security in Systems and Networks, 2006.

BGP Avanado

de Acordo de trfego BGP. Esse processo em geral envolve o envio de um email ou de


preenchimento de um formulrio especfico pelo cliente estabelecendo detalhes de como
ser realizada a sesso BGP entre o cliente e o ISP, quais prefixos sero enviados pelo cliente,
quais prefixos ele deseja receber e onde a rede do cliente deve ser anunciada. Esse acordo
ser depois implementada pela equipe de configurao BGP do ISP.

Em geral, os itens a serem especificados no Acordo BGP entre o provedor e o cliente so:

Dados do cliente, como:


Nmero do ASN;

Blocos CIDR que sero enviados pelo cliente;

Dados de contato tcnico e administrativo do cliente.

Esses dados sero validados pelo ISP para verificar se o cliente realmente responde pelo ASN
e blocos CIDR que solicitou que sejam divulgados na internet via formulrio de acordo BGP.
Normalmente, os dados so validados junto ao RIR (Regional Internet Registry) via sistema
WHOIS ou equivalente. Em geral, um filtro de entrada para a sesso BGP do cliente criado
via ROUTEMAP ou FILTERLIST e PREFIXLIST, para realizar a validao do que o cliente
anuncia, como na listagem a seguir:

neighbor 10.10.10.10 maximum-prefix 100


neighbor 10.10.10.10 prefix-list pfx_Cliente_X in
neighbor 10.10.10.10 filter-list 100 in
ip as-path access-list 100 permit ^100$
ip prefix-list pfx_Cliente_X description filtro BGP por Bloco IPv4
para Cliente_X
ip prefix-list pfx_Cliente_X seq 5 permit 10.0.0.0/19 le 25
ip prefix-list pfx_Cliente_X seq 10 permit 10.10.0.0/16 le 25
Outro ponto que em geral serve de proteo para o provedor o limite no nmero de
anncios que determinado cliente pressuposto a realizar. No caso acima, o cliente est
limitado a anunciar um mximo de uma centena de prefixos.

Caso o cliente tente anunciar algo diferente do que preencheu no seu acordo de trfego BGP,
normalmente o processo das operadoras solicita que o cliente reenvie seu acordo. Um email
em geral serve como um processo de validao nesses casos.
Outro ponto igualmente importante relativo ao que o cliente quer receber e como quer que
seus prefixos sejam divulgados:
Dados de roteamento: Que rotas o cliente deseja receber:
Roteamento completo (fullrouting);
Roteamento parcial;
Rota default.
BGP Avanado

103


Em geral, o provedor oferece a possibilidade de o cliente receber o roteamento completo
(fullrouting), se ele quer ou no receber uma rota default lembrando que se temos um full
routing e criamos um DFN (Default Free Zone), a rota default indesejada. Ou um
roteamento parcial. No caso de roteamento parcial, em geral o provedor de acesso oferece ao
cliente vrias possibilidades, como alguns provedores do Brasil:
Os prprios blocos do ISP;

Os blocos cidr do ISP e os de seus clientes;


Os blocos cidr de todos os ASNs do Brasil;

Todos os blocos do provedor, de seus clientes e de seus provedores at um ASN de


distncia.

Normalmente, essa composio de roteamento hbrido realizada com o objetivo de criar


uma tabela com um nmero de prefixos adequado a um cliente que no pode ter fullrouting,
mas que gostaria de ter os prefixos mais comuns para acesso nacional e internacional.

Outro ponto relevante relativo alcanabilidade que o cliente pretende possuir atravs da
rede do seu ISP. A princpio pode parecer estranho, mas em muitos casos um determinado
ISP contratado como trnsito somente para um determinado tipo de cliente, e no para
toda a internet. Esse um caso comum para clientes que possuem restries de segurana ou
possuem muitos provedores de acesso. Em geral, a escolha provida pelos ISPs gira em torno
de anunciar o prefixo dos seus clientes para:
Toda a internet;

Para os Pontos de Troca de Trfego (IXPs);

Somente para os limites da rede do prprio ISP;


Para o ISP e para seus clientes;

Somente dentro do pas onde foi contratada a conexo;

Somente internacionalmente, omitindo o anuncio dentro do pas.

Em geral, para onde sero anunciados os prefixos algo mais dinmico realizado por
comunidades, mas alguns provedores o fazem de forma esttica. O objetivo de tal abordagem
a contratao de um determinado provedor de acesso para somente atender determinado
tipo de trfego, por exemplo: contratar a OI somente para atender aos seus clientes. Dessa
forma, pode se extrair o melhor de cada um dos provedores de acesso contratados, segundo
o que se conhece das peculiaridades da sua rede, como capacidade de acesso internacional,
banda disponvel aos pontos de troca de trfego, banda disponvel na Amrica Latina ou
outro caso especfico. Um uso comum para esse tipo de soluo para clientes que em algum
momento precisam restringir seu acesso somente ao pas onde se encontram ou a
determinada classe de clientes, em geral alguns que tenham alta probabilidade de ataques
em larga escala e que precisem de solues rpidas, como o caso de instituies que
recebem o Imposto de Renda de seus cidados, onde podemos supor que 99% deles se
encontram no pas, e a sua probabilidade de receber ataques internacionais de 80%,
104

BGP Avanado

enquanto de ataques nacionais de 20%. Em casos como esse, opes de escolha de onde
divulgar seus prefixos pode ser til em casos de segurana a rede em questo.
Em geral, o provedor de acesso constri esses mapas utilizando comunidades BGP.

Filtros em sesses BGP com Provedores


Os provedores deveriam ser confiveis.

Alguns provedores enviam rotas em excesso.

Devese conferir o que est sendo enviado para o seu provedor.


Um erro comum servir de trnsito entre diferentes ISPs.

Outro ponto importante o lado do cliente e o controle do que ser exportado para cada um dos
seus provedores. Embora a maior parte do controle seja realizada pelo provedor, e que em geral
este estabelece suas protees, de responsabilidade do cliente divulgar somente os seus
prprios prefixos em suas conexes de peering e trnsito. O risco do cliente aqui de servir de
trnsito entre duas instituies sem ao menos se dar conta disso. Em resumo, de ajudar dois
provedores a terem uma melhor conexo entre eles, e eles ainda receberem por isso! Esse o
principal motivo pelo qual o prprio cliente deve enviar seus anncios corretamente: se ele no o
fizer, ele pagar em dinheiro aos seus provedores de acesso por isso!
Em geral, uma empresa deve somente divulgar seu ASN e seus blocos CIDR para o seus
provedores, filtrando todo o restante, como mostrado a seguir.

Um exemplo de configurao a ser colocada no roteador de borda da instituio a que


segue:

router bgp 10
neighbor 10.10.10.20 remote-as 20
neighbor 10.10.10.20 password 7 038801450ABC
neighbor 10.10.10.20 route-map meu_CIDR out
neighbor 10.10.10.30 remote-as 30
neighbor 10.10.10.30 password 7 010039817347
neighbor 10.10.10.30 route-map meu_CIDR out
network 10.10.0.0 mask 255.255.0.0
route-map meu_CIDR permit 10
match as-path 1
!
ip as-path access-list 1 permit ^$
!

! BGP para o ISP20


! senha ISP20
! BGP para o ISP30
! senha ISP30
! meu prefixo CIDR

Permite s meu ASN

As rotas do AS do cliente devem ser anunciadas para seus provedores; entretanto, devese
tomar o mximo cuidado para que o cliente AS10 no seja trnsito entre os provedores AS20
e AS30, e a forma de fazer isso no ensinar o que se aprende em uma sesso para a outra
sesso BGP.
Para que isso seja realizado no exemplo anterior, necessrio evitar que os prefixos
aprendidos com o AS20, representado pelo vizinho 10.10.10.20, e que foram injetados na
BGP Avanado

105


RIB do roteador que detm esta sesso, no vazem para outras sesses eBGP, como as que
esse mesmo roteador mantm com o AS30, representado pelo vizinho 10.10.10.30.

Isso realizado atravs de um filtro de polticas, normalmente um routepolicy ou route


map, conforme indicao do fabricante do equipamento. No exemplo em questo, utilizamos
uma sintaxe ciscolike atravs do filtro baseado em ASPATH, evitando que qualquer prefixo
distinto daqueles pertencentes ao prprio AS sejam anunciados. Em geral, os prefixos do
prprio ASN so definidos na clusula network do roteador de borda da empresa,
encarregado de gerar os prefixos e anuncilos ao resto da internet.

Primeiramente devemse definir quais ASNs entre todos os que esto na sua RIB sero
anunciados para um determinado provedor. Uma lgica muito comum definir o seu prprio
ASN com sendo um filtro bsico a ser utilizado, como na accesslist 1, definida a seguir:

ip as-path access-list 1 permit ^$


ip as-path access-list 1 deny .*

Em um segundo momento, definese a poltica a ser implementada, nesse exemplo atravs de


um routemap que faz referncia a accesslist anteriormente definida.
route-map meu_CIDR permit 10
match as-path 1

E, finalmente, aplicase o filtro (routemap) definido quela sesso eBGP em que desejamos
implementar determinada poltica de roteamento. Notese que tambm comum realizar
dentro dessa mesma poltica a marcao de outros atributos do BGP, como MED, aspath
prepend e Comunidades BGP.
neighbor 10.10.10.20 route-map meu_CIDR out

Filtros em sesses BGP com parceiros e IXP


A funo do IXP.

Acordos Bilaterais e Multilaterais.

Mltiplas relaes com o mesmo ASN.

Sesses BGP em Pontos de Troca de Trfego.


Controle de trfego de sada.
Maximizando o uso do IXP.

Os Pontos de Troca de Trfego (PTT) ou Internet Exchange Point (IXP) so locais onde os
diversos provedores de acesso e contedo elegem para trocar seu trfego diretamente, como
uma forma de diminuir custos de interconexo pela supresso de provedores intermedirios
entre os contedos disponveis e os clientes interessados nesses contedos
Mais informaes no vdeo https://www.youtube.com/watch?v=pPSGt0mcy_s

Em geral, os pontos de troca de trfego esto localizados em locais neutros de operadoras de


telecomunicaes ou provedores, evitando a manipulao deste local por interesses e outros
106

BGP Avanado

objetivos que no sejam o do da melhoria do acesso internet da comunidade conectada


quele ponto de troca.
As trocas de trfego podem ser dadas de duas formas distintas:

Atravs de Acordos Bilaterais, onde cada um dos sistemas autnomos estabelece


sesses BGP para cada um dos outros ASNs aos quais ele est interessado em trocar
trfego IP;
Atravs de Acordos Multilaterais, onde um determinado ASN estabelece uma sesso
BGP com a infraestrutura do IXP, ou seja, com os servidores de rotas dos IXP,
automaticamente enviando e recebendo informaes de roteamento de todos os
outros sistemas autnomos conectados a aquele IXP, no necessitando de sesses
diretas para cada um dos participantes.

Entretanto, existe um conceito que importante salientar quanto a conexes junto ao IXP e
sua lgica de funcionamento. Em geral, as relaes de peering BGP na internet podem ser
classificadas como:
Relaes com clientes: onde normalmente o seu ASN prov algum servio, em geral
de conectividade a algum cliente, recebendo algum provento por isso;

Relaes com parceiros: nesse caso, ambas as empresas realizam um acordo ou


parceria, e trocam seu trfego indistintamente, sem necessitar de quaisquer
pagamentos de nenhuma das partes. Esse a relao praticada nos acordos de trfego
multilateral (ATM) dos IXPs;

Relaes de compra e venda de trnsito: essa a relao mais comum, onde uma
empresa compra seu acesso internet, ou seja, seu trnsito nacional/internacional, de
algum provedor de acesso (ISP).

Existe ainda outra relao conhecida como peering pago ou parceria paga. Essa relao
uma variao da relao de compra e venda de trnsito e peering, realizada em um caso
especial: onde em geral um ASN com pouco volume de trfego para trocar deseja manter
uma relao com um ASN de grandes propores.

Por exemplo, imagine o ASNP (pequeno) mantendo uma relao de peering com o ASNG
(grande). Em um caso desses, normal que contabilizado o volume de trfego entregue do
grande para o pequeno exista uma relao de troca na proporo 70/30. Nesses casos,
possvel que se estabelea um valor mdio por bit trafegado, a ser pago do provedor com
menor volume de trfego para o que prov maior volume. Notese que a relao de peering
pago difere da relao de trnsito porque os prefixos de ambos os ASNs participantes no
so divulgados para a internet.

Considerando todas essas relaes possveis, no de todo incomum que mais de uma
relao seja criada entre dois ASNs distintos, como por exemplo: uma mesma empresa pode
ter uma relao de trnsito com um determinado ASN, comprando trfego IP em seu prprio
site e ao mesmo tempo possuindo uma relao de peering no IXP.

BGP Avanado

107


Cabe nesse caso ao provedor de acesso dessa empresa realizar a seleo de prefixos para
saber diferenciar o tipo de trfego que ele deve entregar no circuito que existe, a relao de
trnsito e qual trfego ele deve entregar na relao de peering, j que em geral o cliente
preferir receber a maior parte possvel do trfego no seu circuito de menor custo, em geral
o circuito que ele mantm com o IXP. E nesse momento existe uma divergncia nas
implementaes das polticas a serem implementadas para gerir esse conflito de interesses.

Do ponto de vista de uma empresa que possui um ASN prprio e mltiplas conexes BGP
para diversos provedores de acesso (compra de trnsito) e para o IXP (peering), possvel
configurar vrios modos de operao. No caso mais simples, basta repetir o anncio ao
IXP/PTT exatamente igual ao que se realiza aos provedores de trnsito.

Essa poltica tem a vantagem de gerar menores problemas de manuteno, por deixar que o
prprio algoritmo BGP se encarregue da escolha de onde o ASN vai entregar o seu trfego e
deixa livre que todos os seus parceiros, e provedores de servio, escolham onde melhor
para eles entregarem tal trfego, se no circuito pago ou diretamente no IXP.
Lembrese de que caso seus provedores de acesso e outros ASNs no fizerem uso de
atributos BGP para controlar o trfego destinado ao seu ASN, o menor ASPATH ser
provavelmente escolhido, ou seja, o trfego via IXP. A listagem a seguir configura o peer
200.219.143.253 e o AS26162 como sendo o peer BGP para o Routeserver multilateral de
um IXP.
router bgp 10
neighbor 200.219.143.253
neighbor 200.219.143.253
neighbor 200.219.143.253
neighbor 200.219.143.253
neighbor 200.219.143.253
neighbor 200.219.143.253
neighbor 200.219.143.253
neighbor 200.219.143.253

remote-as 26162
description PTT-Route-Server
next-hop-self
password 2 $yRFieW9kYmfdRWg==
remove-private-as
soft-reconfiguration inbound
route-map out PTT-out
route-map in PTT-in

Note que existem dois filtros aplicados sesso BGP do IXP, um filtro de entrada PTTin e
outro filtro de sada PTTout. Esses mesmos filtros podem ser usados para controles mais
elaborados e manipulao de prefixos e atributos BGP, mas nessa abordagem mais simples
eles servem para realizar o anncio simples do prefixo do ASN para o peerIXP e um controle
mnimo do que recebido via IXP, garantindo uma proteo adicional contra algum eventual
erro da administrao do IXP.
A mesma lgica da poltica de controle de anncios para o provedor de trnsito tambm
replicada nesse caso, como na listagem a seguir:

ip as-path access-list 1 permit ^$


route-map PTT-out permit 10
match as-path 1

108

BGP Avanado

4
Engenharia de trfego IP com BGP
Objetivos
Entender os critrios para seleo de um provedor de acesso (ISP); Conhecer os mtodos de
conexo a um ponto de troca (IXP); Conhecer as ferramentas para gerncia do BGP;
Aprender a evitar os erros comuns na configurao do BGP.

Conceitos

Selecionando um provedor de acesso; Conectando a um IXP; Vantagens e desvantagens de


conectar a um IXP; Acordos Bilaterais e Multilaterais; Requisitos para conexo aos IXPs;
Recursos para maximizao do uso de BGP; Ferramentas para gerncia do BGP; Erros
comuns na configurao de BGP.

Um AS multihomed significa que tem duas (ou mais) rotas para qualquer destino conectado
internet. Em outras palavras, voc precisa de uma maneira de decidir qual rota melhor.
Quando deixado por sua conta, um roteador BGP tentar enviar o trfego pela rota com o
menor nmero de AS (menor AS Path). Dependendo da conectividade do seu provedor de
sada (upstream ISP) para a internet e do padro de trfego, isso se adequar largura de
banda das respectivas conexes em graus variados.
Ainda que a largura de banda esteja ficando mais barata o tempo todo, usualmente mais
vantajoso tentar fazer o balanceamento de trfego de modo a tirar vantagem de toda a largura de
banda disponvel em uma infraestrutura multihomed. Assim, se o BGP decidir que a maioria do
trfego de sada deveria ir atravs do caminho de menor largura de banda, voc ter de
configurar o BGP para fazer o que voc quer modificando um ou mais dos atributos BGP.

Em uma situao ideal, mais trfego dever fluir pela conexo menos usada. Ao mesmo tempo,
voc quer que o trfego use a melhor rota para um destino, seja l o que signifique a melhor.
Esse tipo de atividade chamado de engenharia de trfego.

Aplicar a engenharia de trfego no trfego de sada a parte mais fcil, porque voc tem
controle sobre o que os seus prprios roteadores fazem. mais difcil fazer o balanceamento
adequado do trfego de entrada sobre as conexes disponveis. Voc pode maximizar o
desempenho da rede em condies de baixa largura de banda usando tcnicas de
enfileiramento, modelagem de trfego e polticas de trfego.
BGP Avanado

109

Selecionando um provedor de acesso


Preo.

Servios do provedor.

Projeto do backbone: tolerncia a falhas, estabilidade, gargalos etc.


SLA.

Critrio de seleo do provedor.

Antes de conhecer mais profundamente o roteamento internet, importante conhecer os


servios bsicos e as caractersticas dos provedores que afetam a qualidade das conexes
internet. Qualquer um que oferea conectividade internet pode se autodenominar um
provedor de servio internet (internet service provider); o termo provedor de servio
abrange praticamente qualquer um que possua desde um backbone e uma infraestrutura de
milhes de dlares at um que tem um nico roteador e um servidor de acesso na garagem.

O preo no deve ser o fator principal no qual voc baseia sua deciso para selecionar um
ISP. O que voc deve realmente considerar so os aspectos relacionados aos servios do
provedor, projeto do backbone, tolerncia a falhas, redundncia, estabilidade, gargalos,
acordos entre provedor e usurio sobre equipamentos, e assim por diante.

O comportamento do roteamento na internet afetado pelo comportamento dos protocolos


de roteamento e do trfego de dados sobre uma infraestrutura fsica j estabelecida. Uma
boa manuteno e um bom projeto de infraestrutura so os principais fatores para alcanar
um slido roteamento na internet.

Diferentes ISPs oferecem diferentes servios, dependendo de quo grandes eles so e da


infraestrutura de suas redes. Principalmente os provedores podem ser classificados pelo seu
mtodo de acesso fsico internet, as aplicaes que eles oferecem a seus usurios e os
servios de segurana que fornecem.

Custo dos servios do ISP, SLAs e caractersticas tcnicas

Alm de avaliar a disponibilidade dos servios, os usurios devem considerar os custos e as


caractersticas tcnicas do servio oferecido antes de selecionar um provedor de servio.
Embora as caractersticas tcnicas em particular possam parecer assustadoras, elas tm
enormes implicaes na confiabilidade e facilidade de uso do provedor que voc
eventualmente venha a selecionar.

Custos do servio do ISP

Os custos dos servios podem variar dramaticamente entre ISPs, para os mesmos servios e
dentro da mesma regio geogrfica. A capacidade do provedor e a quantidade de
investimento em uma regio em particular frequentemente determinam o custo de um dado
servio. Por exemplo, um provedor que tem um servio MPLS j implantado provavelmente
oferecer um preo muito melhor do que um provedor que est comeando a oferecer o
servio MPLS.

110

BGP Avanado

Por outro lado, o novo provedor pode ser mais competitivo porque ele no tem um
investimento em infraestrutura legada necessrio para comportar o servio, e pode tirar
vantagem da nova plataforma e capacidade dos servios oferecidos. Por causa disso e de
muitos outros fatores, o mesmo custo de servios de diferentes provedores no significa
necessariamente que voc est obtendo os mesmos servios.

Por exemplo, com acesso dedicado, alguns provedores incluem o CPE (Customer Premises
Equipment Equipamento nas Premissas do Usurio), tal como roteador e CSU/DSU
(Channel Service Unit/Data Service Unit) como parte do produto. Outros cobram uma tarifa
extra pelo CPE, ou exigem que voc mesmo o consiga, o que pode tornar a infraestrutura
substancialmente diferente. Voc pode achar que vai reduzir custos significativamente se
adquirir voc mesmo o CPE, ou talvez seja mais interessante para voc pagar o provedor
para fornecer e administrar o CPE. Grandes empresas frequentemente compram acesso
internet nacional e internacional, e outros servios de comunicaes de um nico provedor.
Uma soluo global de um nico provedor usualmente significa um melhor controle e
coordenao de servios entre diferentes regies da mesma rede.
Alguns provedores oferecem planos consolidados de faturamento por todos os servios,
nacionais e internacionais, e frequentemente oferecem descontos significativos aos clientes
que compram mltiplos servios, tais como acessos de longa distncia e acesso internet.
Esse faturamento consolidado implica em uma fatura e em um pagamento, o que
considerado uma vantagem a mais para muitas empresas. Naturalmente, se a convenincia
do faturamento consolidado ou de servios comuns no for importante, empresas podem
achar acordos melhores para servios nacionais e internacionais de diferentes provedores.

Acordos de Nvel de Servio (SLA)

Muitos provedores atualmente esto oferecendo SLA/SLGs (ServiceLevel


Agreements/ServiceLevel Guarantees) bastante competitivos que definem uma base de
garantia de desempenho e disponibilidade quando usando seus servios.

Certifiquese de que os detalhes desses acordos, bem como as penalidades em caso de falha
no cumprimento, estejam claramente definidos.

Tambm pergunte ao provedor como as garantias so atualmente monitoradas e se


relatrios de excees (falhas no cumprimento do nvel de servio garantido) so
automaticamente gerados e acompanhados, ou se o aviso ao provedor das falhas
responsabilidade do cliente. Essas garantias usualmente se referem a uma porcentagem
aceitvel de perda de pacotes e retardos ocorridos nas suas redes, bem como a manuteno e
disponibilidade dos circuitos de acesso e/ou prazos de notificao de interrupo. Os
compromissos assumidos pelo provedor no SLA podem ser um verdadeiro diferencial de
servios; entretanto, a identificao das violaes do acordo e a as penalidades decorrentes
podem ser desafiadoramente difceis de determinar.

BGP Avanado

111

Critrio de seleo do provedor de backbone


Topologia fsica.

Gargalos de rede.
Redundncia.

Interconexes com outras redes.

Um provedor de backbone de rede abrange muitas caractersticas tcnicas importantes,


incluindo as seguintes:
Topologia fsica da rede;

Gargalos de rede e altas taxas de subscrio;

Nvel de redundncia da rede e dos elementos individuais da rede;

Interconexes com outras redes, incluindo distncia para o destino e acordos de troca
de trfego.

Essas caractersticas so importantes tanto para clientes quanto para projetistas de redes de
provedores. Clientes com certeza devem avaliar essas caractersticas quando escolherem um
provedor; elas so muito mais importantes do que o custo para previso da qualidade do
servio. Arquitetos de redes devem considerar os potenciais benefcios e os perigos
associados a essas caractersticas quando implantarem ou expandirem suas redes.

Conexes fsicas

Clientes devem investigar a topologia fsica das redes dos provedores e o provedor deveria
ser capaz de fornecer um mapa atualizado da rede com a indicao de todas as conexes. A
respeito de conexes, uma topologia fsica robusta uma que pode fornecer largura de
banda consistente e adequada para toda a trajetria do trfego de dados, mesmo no caso de
uma ou mais conexes ficarem indisponveis.
A existncia de enlaces de alta velocidade no backbone, tais como 10 Gbps, 40 Gbps e 100
Gbps, no garante por si s o acesso em alta velocidade aos clientes. O seu trfego pode
entrar na rede do provedor atravs de uma conexo de baixa velocidade do backbone ou
ento de uma conexo de alta velocidade do backbone, mas com alta taxa de subscrio.
Esses so pontos importantes, que certamente afetaro a qualidade de sua conexo.

112

BGP Avanado

Potenciais gargalos do ISP e taxas de subscrio


A rede do provedor to forte quanto o seu enlace mais fraco. Existem dois potenciais
gargalos na rede do provedor: alta taxa de subscrio nos troncos do backbone e pequenos
enlaces de acesso aos Pontos de Presena (PoP) ou clientes destinatrios (downstream
customer). Um provedor no deveria de forma imprudente permitir uma alta taxa de
subscrio nas suas conexes. Provedores que tentam reduzir custos sobrecarregando seus
roteadores ou suas conexes terminaro por perder a credibilidade ao longo do tempo.

Alta taxa de subscrio ocorre quando o uso agregado dos mltiplos enlaces excede a largura
de banda do tronco usado para transportar o trfego para o seu destino. Um fornecedor
vendendo 20 circuitos de 10 Gbps em um PoP e conectandose internet por um nico
circuito de 10 Gbps ter um gargalo nessa conexo.
Como ilustrado na figura 4.1, uma regra comum uma razo de 5:1 Um ISP no deve
vender mais de cinco vezes a banda que ele possui para acesso internet. Claro que essas
taxas de subscrio variam baseado no produto oferecido e em eventuais acordos e caches
que o provedor de acesso possua com os principais provedores de contedo. Tipicamente,
fornecedores de hospedagem dedicada frequentemente usam taxas de 8:1 ou at 10:1. Esses
valores so usualmente baseados em experincias anteriores e na utilizao projetada, mas
se no forem cuidadosamente selecionados e gerenciados, podem facilmente resultar em
congestionamentos.

Figura 4.1 O enlace mais fraco do provedor limita o desempenho.

Outro exemplo de um gargalo potencial o de sites de alta velocidade tentando acessar


informao de sites de baixa velocidade. Um servidor WEB localizado em um site conectado
internet via um enlace de 100 Mbps pode ser acessado a uma velocidade mxima agregada
de somente 100 Mbps, independente da velocidade dos enlaces usado pelas pessoas
acessando o site. A figura 4.2 ilustra um cliente com um acesso de 1 Gbps internet que ser
limitado a no mais do que 100 Mbps quando acessando o servidor WEB. Note tambm que
se outros usurios esto tentando acessar o mesmo site ao mesmo tempo, todos tm de
compartilhar a conexo de 100 Mbps.

BGP Avanado

113

Figura 4.2 A velocidade de acesso limitada pela menor largura de banda.

importante que provedores monitorem e gerenciem o uso dos enlaces nas suas redes.
Antes de assumir o compromisso de comprar servios de um ISP, clientes deveriam fazer aos
potenciais provedores as seguintes perguntas:
Como voc gerencia o uso dos enlaces?

Quais os limites acima dos quais voc comea a provisionar capacidade adicional?
Quais so as tpicas taxas de subscrio (capacidade disponvel X capacidade
utilizada) para esse servio?

Quais so as tpicas taxas de subscrio para o backbone de sua rede e os pontos de


interconexo?
Qual o gargalo terico para esse servio?

Nvel de redundncia no acesso internet do ISP


A Lei de Murphy est l fora, pronta para tornar sua vida miservel. Seja por causa do mau
tempo, capaz de causar problemas nos circuitos de transporte de dados, ou m sorte, como
uma queda da conexo do ISP internet, rompimento de fibra a outro provedor ou mesmo a
outro PoP, potencialmente resultando na incapacidade de alcanar todo ou um conjunto de
destinos. Uma rede redundante permite que o trfego utilize um caminho alternativo para
atingir aqueles destinos at que o problema seja corrigido. Uma rede do ISP bem projetada
tem PoPs conectados a mltiplos IXPs, a outros provedores de redes e mltiplos PoPs, como
mostrado na figura 4.3.

114

BGP Avanado

Figura 4.3 Uma rede redundante prov conectividade mais confivel.

importante entender que parcerias e interconexes redundantes a outras redes so


usualmente providas em uma base global. Em outras palavras, se uma conexo a um
provedor se torna indisponvel atravs do ponto principal de troca de trfego, o ponto de
troca mais prximo ser selecionado. A ideia por trs disso no prover capacidade
redundante da mesma localizao para outra rede, mas garantir que suficiente interconexo
de reserva e capacidade de backbone existe para acomodar falhas em um ou mais locais na
rede.

Com essa abordagem, o provisionamento de mais interconexes e circuitos IXPs em mais


localidades podem reduzir custos das conexes redundantes, beneficiando a rede tanto
durante a operao normal quanto em cenrios de falha, fornecendo essa redundncia em
uma base global em vez de somente uma base PoPaPoP. A figura 4.4 ilustra um modelo de
conectividade no timo e a figura 4.5 ilustra um modelo de interconexo redundante.

BGP Avanado

115

Figura 4.4 Um modelo de conectividade no timo.

Figura 4.5 Um modelo de interconexo redundante.

116

BGP Avanado

Um plano de backup para o backbone do provedor deve ser considerado na discusso sobre
redundncia. A maioria dos provedores mantm um fornecimento online de componentes
crticos de hardware e gerenciam equipamentos de reserva em uma proporo em servio
reserva. A quantidade de componentes de reserva usualmente depende da natureza crtica
do componente, bem como do MTBF (Mean Time Between Failures) terico do componente.

Alguns provedores preferem terceirizar os servios de backup, normalmente para


fornecedores que mantm depsitos geograficamente distribudos e compartilham o
inventrio entre vrios clientes. Embora essa abordagem potencialmente aumente o MTTR
(Mean Time To Repair) quando ocorrem problemas e algumas vezes resultam em
restries de disponibilidade de componentes populares certamente melhor do que
nenhum plano de backup.

Distncia para os destinos

Um equvoco tpico que os clientes deveriam se preocupar somente com a quantidade de


saltos IP (IP hops) isto , o nmero de roteadores IP necessrios para alcanar um dado
destino na rede atravs do ISP. No passado era um pouco verdade que mais saltos IP tendiam
a introduzir potencialmente maiores retardos para os pacotes, erros de roteamento ou dados
corrompidos. Atualmente, entretanto, muitos backbones de redes de ISP so baseados em
tecnologias MPLS (Multiprotocol Label Switching) ou PBBTE (Provider Backbone Bridges),
o que resulta em muitos saltos de dispositivos de camada 2, que so transparentes para as
ferramentas IP de deteco de caminho, tais como traceroute.
PBBTE referese ao padro 802.1Qay que adapta o padro Ethernet para o transporte de
redes de clientes pelas operadoras atravs de padres Ethernet como VLAN Tags e
encapsulamento MACinMAC.

Menor quantidade de saltos IP para um destino via uma dada rede pode indicar muito bem
um melhor caminho para o destino do que via uma rede com mais saltos IP. Entretanto, o
entendimento das tecnologias das redes intermedirias e no que elas so baseadas so
importantes antes de fazer tais hipteses. Por exemplo, pode ser mais interessante usar
vrios enlaces de alta velocidade do que usar um nico enlace de baixa velocidade.

Como sabido, a internet um conglomerado de backbones de redes conectados via pontos


de troca e interconexes diretas. A avaliao da quantidade de redes ou saltos de AS (a
quantidade de domnios de roteamento atravessados) para um dado conjunto de destinos
uma ideia razoavelmente boa. A distncia para os destinos depender de quantas redes do
destino compram conectividade do provedor e quo bem est o provedor conectado s
outras redes. Provedores menores em geral se conectam somente a um IXP, e na maioria dos
casos a nenhum. Provedores maiores frequentemente conectam a outras redes atravs de
vrios IXPs e mltiplas conexes diretas.

BGP Avanado

117

Acordos de troca de trfego


absolutamente necessrio que os ISPs participem de acordos de troca de trfego, que so
normalmente negociados bilateralmente em uma base peerbypeer (parapar).
Considerando a arquitetura da internet atual e a pouca regulao do governo, a deciso de
com quem se conectar, onde se conectar e como se conectar (se diretamente ou via IPXs),
de responsabilidade somente dos ISPs e da definio do sua forma de modelo de troca de
trfego. Por anos, ISPs tm considerado ideias a respeito do estabelecimento de associaes
com redes de interconexo, mas a discusso sobre quem paga a quem e como os custos
devem ser calculados tem produzido pouco consenso.

ISPs maiores esto comeando a transferir cada vez mais trfego para um modelo de
interconexo direta mais distribudo, utilizando IXPs somente para conectar a provedores
menores. Eles tambm esto se tornando muito mais restritivos a respeito de com quem eles
trocaro trfego. Essa informao frequentemente protegida por um acordo mtuo NDA
(Nondisclosure Agreement) executado entre ambas as partes.

Embora potenciais provedores no gostem muito da ideia de divulgar acordos de troca de


trfego especficos com outras redes, eles geralmente esto dispostos a fornecer nmeros da
capacidade agregada disponvel e outras informaes teis a respeito de interconexes e
polticas de emparceiramento (peering). Como um provedor se conecta a outras redes
poderia ser a mais importante pea de informao a respeito das caractersticas da potencial
vazo de uma conexo que voc compre.

Ponto de Demarcao

Finalmente, alm do custo, backbone e problemas de interconexo, clientes devem


considerar aspectos do Ponto de Demarcao (DP) quando estiverem selecionando um ISP e
assinando um acordo. Um Ponto de Demarcao o ponto que diferencia a rede do provedor
e suas responsabilidades e a rede do cliente e suas responsabilidades.

Isto particularmente verdade em um ambiente de hospedagem dedicado do provedor de


servio. importante entender a diferena entre as responsabilidades do provedor e aquelas
do cliente. Pontos de demarcao so definidos no nvel dos cabos e conectores para ter
certeza de no ocorrerem desacordos no caso de problemas de equipamentos ou rede. A
figura 4.6 ilustra um tpico ponto de demarcao entre uma rede do ISP e a rede do cliente.

Figura 4.6 Ponto de Demarcao.

118

BGP Avanado

Diferentes provedores definem de forma diferente o ponto de demarcao, dependendo de


quem est pagando pelo equipamento e da linha de acesso, de onde o equipamento est
localizado e quem o gerencia.

Equipamento nas Premissas do Usurio (CPE)

Equipamento nas premissas do usurio (CPE) usualmente inclui o roteador, a CSU/DSU,


switch ou conversor de mdia, o cabeamento e algumas vezes um modem para acesso fora de
banda para monitoramento e gerncia (gerncia outofband). ISPs usualmente oferecem ao
cliente a escolha de comprar o CPE e a linha de acesso, ou comprar s a linha de acesso, ou
pagar s uma taxa mensal com todos os equipamentos e os acessos por conta do ISP. Como a
maioria das coisas, qualquer acordo est disponvel pelo preo certo.
Os ISPs usualmente so responsveis pela manuteno dos equipamentos ou pacotes que
eles fornecem. ISPs costumam ter pacotes predefinidos que incluem o CPE e/ou o acesso. Se
o cliente no quiser contratar o pacote, ele ser solicitado a escolher um equipamento pr
aprovado pelo ISP. O cliente fica ento responsvel pela manuteno e resoluo de
problemas do seu prprio equipamento. O provedor est sempre disposio para resolver
problemas, por uma mdica taxa extra.
As figuras 4.7, 4.8 e 4.9 ilustram alguns dos exemplos de pacotes ISP. No cenrio da figura
4.7, o ISP responsvel pela linha de acesso e a CSU/DSU, alm de todo o caminho at o
conector serial da CSU na instalao do cliente. O roteador CPE precisa preencher certos
requisitos de memria e verso de software homologados pelo ISP.

Figura 4.7 Exemplo: ISP fornece acesso e CSU/DSU; Cliente fornece roteador.

No cenrio ilustrado na figura 4.8 o ISP forneceu tudo e sua responsabilidade termina na
porta LAN do roteador CPE.

BGP Avanado

119

Figura 4.8 Exemplo: ISP fornece acesso, CSU/DSU e roteador.

No cenrio ilustrado na figura 4.9, o cliente forneceu o CPE e a linha de acesso. A


responsabilidade do provedor termina no armrio de fiao do PoP, onde o ISP interconecta
com o escritrio central da transportadora.

Figura 4.9 Exemplo: cliente fornece tudo.

Colocao de roteador (Colocation)


Colocation o ato de hospedar o equipamento de um parceiro na instalao de outro
parceiro. Um exemplo a instalao do roteador do cliente no site ou no centro de
hospedagem do provedor, como ilustrado na figura 4.10. A motivao do cliente para isso
poderia ser conseguir acesso mais veloz ao ISP ou a monitorao local do equipamento, ou
talvez ter melhor controle da utilizao da largura de banda de acesso.

Figura 4.10 Exemplo de colocao: roteador do Cliente no site do provedor.


120

BGP Avanado

O oposto da situao descrita acima o ISP colocar seu prprio roteador PoP no site do
cliente, como ilustrado na figura a seguir. Usualmente nesse caso, o ISP deve comprar a linha
de acesso e o roteador e cobrar do cliente uma taxa por todo o servio.

Figura 4.11 Exemplo de colocao: roteador do ISP instalado no site do cliente.

Olhando para o futuro

As caractersticas tcnicas da rede do ISP tm repercusses significativas no servio do


cliente, incluindo a qualidade da arquitetura de roteamento. Porque o cliente pode no ter
controle direto sobre algumas dessas caractersticas, crtico que o cliente pelo menos as
avalie e garanta que ser entregue a conectividade solicitada com qualidade.

Se voc for um cliente do ISP cujo ponto de demarcao e acordos de colocao estipulam
que voc vai rodar e manter equipamento nas suas premissas mesmo que no sejam de sua
propriedade voc ter de ter um papel significativo no desenvolvimento das polticas de
roteamento e da arquitetura da sua rede. Mesmo que voc no esteja rodando e mantendo o
equipamento, h decises que voc precisa tomar e entender sobre a arquitetura de
roteamento.

Conectando a um IXP

Vantagens e desvantagens de conectar a um Ponto de Troca de Trafego (Internet


Exchange).

Acordos bilaterais e Multilaterais.

Requisitos para conexo a um IXP.

Forma de Conexo ou fases da conexo.

Pontos de Troca da Internet (Internet Exchange Points IXPs) so elementos vitais da


infraestrutura da internet que permitem s redes trocarem trfego entre si. Mltiplos
provedores de servio da internet (ISPs) podem se conectar um nico IXP, criando a
possibilidade de uma gama de benefcios tcnicos e econmicos para a comunidade local da
internet, mantendo assim o trfego local sendo trocado em IXPs regionais, evitando o uso de
enlaces internacionais e de longa distncia. Dessa forma, os operadores locais e usurios
podem obter significativas redues de custo, fornecer substancial largura de banda local e
melhorar o desempenho da internet de forma significativa.
BGP Avanado

121


A internet no uma entidade nica. um grande grupo de redes independentes que
concordam em compartilhar trfego com outros usurios usando um protocolo comum na
internet (TCP/IP). Sem esse acordo, seria impossvel para usurios de duas diferentes redes
trocarem email entre si. A tarefa chave de um provedor internet garantir que seus clientes
so capazes de se conectar a qualquer ponto no mundo conectado na internet de forma mais
econmica possvel, seja um site web na rede local ou um usurio conectado a outra rede na
mesma cidade ou em algum lugar distante do mundo.
Sem os IXPs, a internet poderia no funcionar, porque as diferentes redes que compem a
internet no seriam capazes de trocar trfego entre si. O formato mais simples de um ponto
de troca uma conexo direta entre dois ISPs (Internet Service Providers). Quando mais de
dois provedores operam na mesma rea, um switch independente opera de forma mais
eficiente como um ponto de interconexo comum para troca de trfego entre redes locais.
Isso semelhante ao desenvolvimento de centrais regionais de aeroportos utilizadas por
muitas diferentes linhas areas. Nessas centrais, as companhias areas trocam os
passageiros entre os voos da mesma maneira que as redes trocam trfego atravs do IXP.
Vantagens do IXP:

Reduo de custo com trfego local.

Mais largura de banda a um custo mais baixo.


Menor retardo nos enlaces locais.
Mais provedores disponveis.

Mais alternativas para acesso internet.

Para provedores internet e usurios, h muitas vantagens no roteamento local do trfego


internet via um ponto de troca comum:
Reduo substancial de custo, eliminando a necessidade de enviar todo o trfego
atravs de enlaces de longa distncia mais caros para o resto do mundo;
Mais largura de banda fica disponvel para usurios locais, por causa dos custos
menores da capacidade local;

Enlaces locais so frequentemente at 10 vezes mais rpidos, devido ao reduzido


retardo no trfego que atravessa menos saltos (hops) para chegar ao destino;

Novos provedores de contedo e servios, que dependem de conexes de alta


velocidade e baixo custo, tornamse disponveis, se beneficiando de maior base de
usurios alcanvel via IXP;

Mais escolhas para os provedores de internet tornamse disponveis para enviar


trfego upstream para o resto da internet, contribuindo para um mercado global de
trnsito mais competitivo e homogneo.

Devido ao limitado volume de contedo local e servios em muitas regies em


desenvolvimento, a maior parte do trfego gerado na internet pelos usurios internacional,
resultando em grande fluxo de capital para o exterior pago para provedores de internet
estrangeiros. Provedores locais de contedo nessas regies tendem a operar no exterior,
122

BGP Avanado

onde mais barata a hospedagem, devido falta de infraestrutura local de baixo custo, da
qual um IXP uma parte integrante.

Assim, a presena de um IXP ajuda a encorajar o desenvolvimento local de contedo e cria


um incentivo para a hospedagem local de servios. Isso se deve ao menor custo e maior
concentrao de usurios locais, que so capazes de acessar servios online mais rpido e a
um custo mais efetivo.

De uma perspectiva de polticas pblicas, garantir a presena de IXPs locais est se tornando
cada vez mais importante. O IXP garante servios online que so igualmente acessveis a
todos os usurios locais, amplia as oportunidades de competio e melhora a qualidade e
acessibilidade dos servios internet.

No Brasil, o NIC.br opera hoje 25 Pontos de Troca de Trfego (PTT) Metropolitanos (em
ingls: Internet Exchange Points), em Belm, Belo Horizonte, Braslia, Campina Grande,
Campinas, Cuiab, Curitiba, Florianpolis, Fortaleza, Foz do Iguau, Goinia, Lajeado,
Londrina, Manaus, Maring, Natal, Porto Alegre, Recife, Rio de Janeiro, Salvador, Paulista
Central (So Carlos), So Jos dos Campos, So Jos do Rio Preto, So Paulo e Vitria, criados
no escopo do projeto PTTMetro, do CGI.br. Os PTTs ou IXPs so parte da infraestrutura da
internet, e permitem a interconexo direta entre as redes que a constituem, chamadas de
Sistemas Autnomos (em ingls, Autonomous Systems ou ASes). Essa infraestrutura
permite uma melhor organizao da rede, reduo de custos e maior confiabilidade.

O projeto PTTMetro foi criado em meados de 2004, tendo o escopo inicial de construir cinco
PTTs em importantes capitais brasileiras, tendo j ultrapassado em muito seus objetivos
iniciais. O mapa a seguir mostra os PTTs no Brasil.
Projeto PTTMetro NIC.br.
Neutralidade.
Qualidade.

Baixo custo e alta disponibilidade.

Matriz de troca de trfego regional nica.

Os PTTs so regionais.

BGP Avanado

123

Figura 4.12 Localizao dos PTTs Metro no Brasil.

So premissas bsicas do projeto:

Neutralidade: independncia de provedores comerciais;


Qualidade: troca de trfego eficiente;
Baixo custo e alta disponibilidade;

Matriz de troca de trfego regional nica.

importante observar que os PTTs Metro so regionais e no nacionais, portanto, eles no


so interligados, porque no tm o objetivo de se tornar uma rede de trnsito, nem competir
com as operadoras de telecomunicaes que possuem backbones com abrangncia nacional.
Comercialmente, a internet consiste em uma hierarquia de provedores locais, nacionais,
regionais e globais. Eles vendem servios de trnsito para outros operadores que passam
trfego por suas redes ou quando duas redes de posio similar no mercado trocam
aproximadamente iguais volumes de trfego, eles adotam um acordo livremente
estabelecido chamado peering (emparceiramento). Peering e trnsito ocorrem diretamente
entre duas redes ou atravs de um ponto de troca independente.

Como mostrado na figura 4.13, qualquer rede se conecta internet atravs de uma conexo
nuvem internet. Isso permite enviar trfego entre seus usurios e outros usurios em
diferentes redes.

124

BGP Avanado


Formas de conexo dos ISPs internet:
Atravs da nuvem internet.
Conexo direta entre si.

Compartilhamento de um IXP.

Figura 4.13 Conexo internet atravs da nuvem internet.

Se duas redes que esto independentemente conectadas internet esto prximas uma da
outra por exemplo, na mesma cidade ou regio pode ser mais rpido e barato usar uma
conexo separada para enviar trfego local diretamente entre as duas redes, conforme
mostrado na figura 4.14.

Figura 4.14 Conexo direta.

Quando existem mais de duas redes locais que precisam trocar trfego, tornase mais
eficiente estabelecer um switch (IXP) ao qual cada rede possa se conectar. A figura 4.15
mostra como trs ISPs podem compartilhar um IXP local para rotear seu trfego local. Um
IXP ento pode ser visto como o centro de uma rede estrela que torna possvel que trfego
local oriundo de qualquer rede local possa cruzar atravs de uma nica conexo ao switch.

Isto reduz os custos de gerenciamento, e telecomunicaes de mltiplos enlaces diretos


entre cada rede aumenta a velocidade do trfego local, minimizando a quantidade de saltos
(hops) de rede necessrios para alcanar qualquer outra rede local.

BGP Avanado

125

Figura 4.15 Compartilhamento de IXP local.

Fatores para o estabelecimento de um IXP.

Volume de trfego entre as redes locais.

Custo das conexes fsicas com o IXP e para a internet.

Vantagens do IXP:

Reduo do custo de acesso internet.


Melhora dos tempos de resposta.

Viabilidade para servios que exigem baixo retardo.


Hospedagem de servios.

Embora a figura anterior mostre um exemplo simples de um ponto de troca usado para
rotear trfego, vrios fatores locais afetam a viabilidade de um IXP e criam uma vasta gama
de combinaes na implementao desse modelo bsico. Os fatoreschave na conexo ou no
estabelecimento de um IXP so:
O volume de trfego que previsto entre as redes locais;

O custo das conexes fsicas entre a rede e o IXP, versus o custo da conexo para a
nuvem internet.

Na maioria dos pases, o primeiro passo estabelecer um ponto de troca nacional para
manter o trfego dentro do pas. Pontos de troca adicionais podem ser estabelecidos para
servir reas geogrficas menores, onde mais econmico manter o trfego local. Isso
particularmente verdade nos pases em desenvolvimento, onde a infraestrutura do backbone
de telecomunicaes pouco desenvolvida, congestionada ou de alto custo.

A reduo dos custos de operao obtida pelo estabelecimento de um IXP permite a reduo
dos custos de acesso internet para os usurios finais e prov tempos de resposta mais
rpidos dos servidores WEB locais e de outros servios interativos. Isso especialmente
verdade quando os enlaces internacionais esto congestionados e quando o trfego
internacional transportado sobre enlaces de satlite. Isso porque o retardo causado pelo
roteamento do trfego via satlite da ordem de segundos, e pode ser reduzido para
milissegundos quando duas redes locais esto diretamente conectadas.

126

BGP Avanado

Como resultado, os tempos de resposta para sites web locais so dramaticamente reduzidos,
e servios locais mais avanados que requerem conexes de baixo retardo (VPNs, streaming
multimdia e VoIP) tornamse viveis. Quando os enlaces entre as redes dependem de
conexes de satlite, muitos desses servios no podem ser fornecidos com qualidade
aceitvel, e alguns no funcionam de jeito nenhum. Um ponto de interconexo local crtico
para garantir a disponibilidade dos servios para os usurios.
Outra vantagem de um IXP que ele reduz os custos das transaes e melhora as escolhas
para seus membros. Se uma rede decide comutar provedores de trnsito em um IXP, eles
podem fazer isso em questo de horas e sem interveno fsica. No passado, isso significaria
ter um novo circuito instalado, bem como um tempo de espera significativo e custos
financeiros.
A flexibilidade disponibilizada pelo IXP promove comportamento cooperativo dos
provedores e encoraja maiores preos de competio, ainda reduzindo os custos para
provedores de acesso e usurios. Embora alguns IXPs no permitam ainda acordos de
trnsito, essa posio , de maneira geral, vista como contra produtiva, e essas restries
esto se tornando pouco comum.

Uma vez que um IXP esteja estabelecido, ele se torna um local natural para hospedar uma
variedade de outros servios que reduzem os requisitos de largura de banda e melhoram a
velocidade e a confiabilidade do acesso internet para os usurios locais. Os servios mais
importantes incluem servidores de nome de domnio (DNS), espelhos de servidores de rotas,
servidores de tempo, caches web e novos servidores. Alm disso, uma variedade de
facilidades administrativas para os operadores de redes so frequentemente hospedadas em
um IXP, tais como lookingglass e facilidades de medio de trfego. Embora alguns IXPs
possam somente permitir que provedores de acesso sejam membros, em muitos casos
provedores de contedo tm permisso para se conectar aos IXPs.

A presena de um IXP pode atrair operadoras de telecomunicaes que podem estabelecer


um ponto de presena (PoP) no IXP com o objetivo de vender servios mais facilmente para
potenciais usurios localizados naquele ponto de troca, j que todas as partes so alcanveis
a um custo baixo. Sob esse aspecto, IXPs ajudam a encorajar o desenvolvimento de
infraestrutura de telecomunicaes (tais como cabos de fibras pticas nacionais e
internacionais).

Modelos operacionais e institucionais para IXPs


Categorias dos modelos de IXP.

Associaes industriais de ISPs sem fins lucrativos.

Empresas comerciais e companhias com fins lucrativos.


Agncias governamentais e universidades.
Associaes de redes informais.

Uma variedade de modelos institucionais tem sido adotada para operar os IXPs. Eles caem
em quatro categorias:
BGP Avanado

127

Associaes industriais de ISPs sem fins lucrativos;

Empresas comerciais e companhias com fins lucrativos;


Agncias governamentais e universidades;
Associaes de redes informais.

Desses modelos, o mais comum aquele no qual os IXPs so operados por uma associao
industrial sem fins lucrativos de ISPs. Nesse caso, os membros do IXP possuem
coletivamente as facilidades de rede ou elas so de propriedade da associao. Os custos de
operao so compartilhados entre os membros que devem pagar uma taxa de associao,
mais uma taxa de operao que pode ser mensal, trimestral ou anual. A taxa normalmente
determinada em funo da velocidade (largura de banda) de suas conexes ao IXP ou, menos
comum, pelo volume de trfego que passa pelo IXP.

IXPs so usualmente formados por um grupo fundado por operadores de rede que decidem o
modelo que melhor atende ao ambiente local. Algumas questes chaves devem ser
respondidas:
O IXP ter um quadro de empregados permanente ou ser formado por voluntrios?
O IXP ser uma organizao com ou sem fins lucrativos?

O IXP ser inteiramente de propriedade cooperativa de seus membros ou ser de


propriedade externa?
Onde o IXP ser hospedado?

Que mtodo de recuperao de custos ser usado?

Modelos mais comuns de IXP.

Camada 3 trocando trfego no roteador.


Camada 2 trocando trfego via switch.

Acordos de roteamento.
Multilaterais.
Bilaterais.

Tecnicamente existem dois modelos predominantes para a operao do IXP. No modelo mais
simples, IXP Camada 3, IXPs trocam trfego entre as redes membros dentro de um nico
roteador. No outro modelo, IXP Camada 2, cada rede fornece seu prprio roteador, e o
trfego trocado via um simples switch Ethernet. Em geral, o modelo Camada 3 pode ser
mais barato e simples de implantar inicialmente, mas ele limita a autonomia de seus
membros e tem sido superado pelo modelo de Camada 2.
O modelo de Camada 3 tambm oferece aos provedores menor controle a respeito de quem
eles podem fazer parcerias (peering), e os torna dependentes de terceiros para configurar
corretamente e manter as rotas, o que requer maior habilidade tcnica dos empregados do
IXP. Em contraste, o modelo de Camada 2 no requer dos empregados do IXP qualquer
conhecimento de roteamento.

128

BGP Avanado

Os requisitos para acordos de roteamento de trfego entre os membros do IXP variam


dependendo do modelo institucional adotado no IXP e de outras polticas locais. Muitos
requerem um Acordo de Peering Multilateral Mandatrio (MMLPA Mandatory Multilateral
Peering Agreement), no qual aqueles que esto conectados ao IXP tm de fazer peering com
qualquer outro que esteja conectado. Isso cria um desestmulo para grandes ISPs se
interconectarem e pode reduzir os incentivos para manter a operao tcnica em alto nvel.

Outros IXPs podem exigir que cada rede faa acordos Bilaterais de Peering (BLP) com
membros de outras redes. E alguns IXPs podem limitar o uso da facilidade de trfego de
trnsito. Embora MMLPAs sejam comuns entre muitos IXPs, polticas flexveis de peering que
permitam a coexistncia de acordos multilaterais e bilaterais de peering permitiro que
pares em um IXP faam acordos bilaterais em separado de peering ou trnsito.
aceitvel usualmente que membros do IXP restrinjam (filtrem) trfego originado de ou
destinado para quaisquer redes, de acordo com as polticas dos membros, que so
normalmente especificadas no Registro de Roteamento da internet (IRR Internet Routing
Registry).
Outras importantes estratgias e polticas que IXPs e suas redes membros normalmente
adotam incluem:

Pagamento do custo e gerncia do enlace entre a rede e o IXP (incluindo um enlace


redundante se exigido) usualmente de responsabilidade do membro do IXP.
Entretanto, alguns IXPs tm adotado polticas para suavizar esses custos, de forma
que cada membro pague o mesmo valor para acessar o IXP. Isso ajuda a garantir que
operadores comerciais que porventura estejam localizados no mesmo prdio que o
IXP no tenham uma vantagem injusta;
No usualmente aceitvel passar trfego pelo IXP que destinado a redes que no
sejam membros do IXP, a menos que trnsito seja permitido e que existam acordos
especficos com o IXP e os membros fornecendo o trnsito;

A monitorao e captura do contedo do trfego de dados de um membro limitada


aos dados necessrios para anlise de trfego e controle. Membros usualmente
concordam em manter esses dados confidenciais;
IXPs podem fazer que o fornecimento de informao de roteamento e sites looking
glass mandatrio;
Informaes de roteamento e de portas de switch podem ser tornadas pblicas ou
restritas somente aos membros;

As provises so feitas para respostas em caso de problemas de segurana, falhas de


infraestrutura, falhas de equipamentos de roteamento e erros de configurao de software.

BGP Avanado

129

Fases da conexo a um IXP:

Seleo de um IXP ou de um ASN alvo para peering.


Contato e qualificao.

Implementao do peering.
Circuito direto.

Via Ponto de Troca (IXP).

Fase 1: seleo de um IXP ou de um ASN alvo para peering


O processo de seleo de um IXP onde o ISP pretende se conectar em geral definido pela
proximidade geogrfica para os provedores de servio internet. Podendo em muitos casos, a
partir dessa sua primeira conexo a um IXP na sua regio, contratar um servio de
transporte a outros IXPs atravs de um provedor maior que esteja no mesmo IXP e que
venda acesso a outros IXPs. Essa uma forma comum de maximizar o investimento em uma
infraestrutura prpria do provedor at o IXP visando aumentar a sua utilizao.

Mas ainda assim sobram algumas dvidas nos ISPs para valorar o seu investimento na
criao de uma infraestrutura prpria at determinado IXP ou na contratao de um circuito
de dados at esse mesmo IXP. Em geral, os problemas so os mesmos que um provedor
possui no momento de negociar um peering pago ou avaliar as vantagens de estabelecer um
caminho direto (bilateral) com outro provedor fora da infraestrutura do IXP.
A figura a seguir ilustra o trfego de trnsito que deve ser avaliado nesse processo de
seleo.

Figura 4.16 Fase 1: seleo de um IXP.

130

BGP Avanado

Estas dvidas residem basicamente na capacidade de responder a determinadas perguntas:


Quais ASNs so meu alvo: de quais ASNs eu mais consumo trfego e para quais eu
mais envio trfego?

Como eu chego aos meus ASNs Alvo, quais so os ASNs que proveem acesso para os
meus maiores interesses de trfego?

Entre as formas mais comuns de responder a essas perguntas est a realizao de um


controle mais fino na gerncia do trfego IP que entra e sai do meu ASN. Isso pode ser
realizado atravs de ferramentas como Netflow e similares: iPFLow e SFlow.

Netflow um recurso que foi introduzido em roteadores Cisco cuja funo coletar o trfego
de redes IP, tanto na sada quanto na entrada de uma interface. Ao analisar os dados
fornecidos pelo Netflow, um administrador de rede pode determinar informaes como a
origem e o destino do trfego, classe de servio e as causas de congestionamento.
Netflow composto por trs componentes: o cache de fluxo, coletor de fluxo e analisador de
dados.

Roteadores e switches que suportam NetFlow podem coletar estatsticas de trfego IP em


todas as interfaces onde o NetFlow est habilitado, e depois exportar essas estatsticas como
registros NetFlow para pelo menos um coletor NetFlow normalmente um servidor que faz
a anlise de trfego real.

Fase 2: contato e qualificao

Contato com a administrao do IXP no qual est interessado para tratar de questes
importantes para o bom funcionamento do processo de peering:
Acordos de confidencialidade (NDA);

Examinar a viabilidade de Acordos de Peering Bilaterais (BLPA);


Discusso de prrequisitos e polticas de peering;
Intercmbio de mapas de backbone.

Existem tambm operadoras que podem ter de realizar troca de trfego obedecendo a
determinadas regras estabelecidas em cada pas. Um exemplo pode ser visto a seguir:
http://www.embratel.com.br/Embratel02/files/secao/08/10/8330/Contrato_de_Intercone
xao_Classe_V_Oferta_Publica.pdf

Fase 3: implementao do peering

O peering pode ser implementado basicamente de duas maneiras: circuito Direto e via Ponto
de Troca (IXP).
A figura 4.17 ilustra o primeiro caso, e a figura 4.18 mostra um exemplo do segundo caso.
BGP Avanado

131

Figura 4.17 Peering por circuito direto.

Figura 4.18 Peering via IXP.

No caso de peering por circuito direto, teremos apenas duas partes conectadas, e o custo ser
somente o custo do circuito de interconexo. No peering via IXP, teremos muitas partes
conectadas atravs das facilidades do IXP, e o custo dever contemplar: transporte, roteador
hospedagem e a porta do switch.

132

BGP Avanado

Ferramentas para gerncia do BGP


RIPEstat.

RouteViews.
BGPlay.

Traceroute.org.

O projeto RIPEstat
RIPEstat uma interface web que fornece tudo que voc quer saber a respeito do espao de
endereos IP, Sistemas Autnomos (ASNs) e informaes de nomes de hosts e pases em um
s lugar. Ela mostra dados de registro e roteamento, dados de DNS, informao geogrfica,
contatos abusivos e outros dados internos dos arquivos do RIPE NCC, bem como dados de
outras fontes, tais como outros RIRs e do IANA.

A interface web do RIPEstat apresenta essa informao no formato de ferramentas (widgets)


que podem ser inseridas em qualquer pgina web e fornece tambm uma Interface de
Programa de Aplicao (API) para acesso aos dados primrios que podem ser usados em
aplicaes avanadas.
Interface WEB.

Tipos de consultas:
ASN.

Endereo IP/Prefixo IP.


Faixa de IP.
Hostname.

Cdigo do pas (ISO 3166).

Nosso objetivo fornecer dados teis aos nossos membros e comunidade internet em
geral, com foco nos dados relacionados a roteamento e ao banco de dados do RIPE. Estamos
atualmente no processo de consolidao dos arquivos pblicos do RIPE NCC para o RIPEstat,
de forma que RIPEstat eventualmente ser a nica interface para os usurios acessarem
quaisquer dados disponveis publicados pelo RIPE NCC, tornando mais fcil para os usurios
recuperar esse dados usando uma interface consolidada, consistente e bem organizada.

Atualmente, suportamos os seguintes tipos de consultas (query):


ASN (Autonomous SystemNumber).

Exemplo:: aS123, AS123.456,AS12345678 ou simplesmente 123.

IP address.

Exemplo: 1.2.3.4, 2001::1

IP Prefix.

Exemplo: 1.2.3/24, 2001::/48

BGP Avanado

133

IPv4 range.

Exemplo: 1.2.3.4 5.6.7.8

Hostname.

Exemplo: WWW.ripe.net, WWW.google.com

Country code (ISO).

Exemplo:: bR, NL, US

Se voc criar uma conta de acesso RIPE NCC (grtis), voc pode customizar a ordem e a
visibilidade de cada uma das ferramentas e criar suas prprias vises (My Views), contendo
as suas ferramentas preferidas. Alm disso, voc pode visualizar um histrico das suas
consultas recentes ao lado dos resultados.
RIPEstat baseado na coleta de dados de vrias fontes:

RIPE Database: dados registrados e informaes de contato antiabuso so baseados


no banco de dados RIPE. O banco de dados RIPE contm informaes de registros das
redes na regio de servio do RIPE NCC e detalhes dos contatos relacionados.

RIS (Routing Information Service): o RIPE NCC coleta e armazena dados de


roteamento da internet de vrias regies do mundo, usando o Routing Information
Service (RIS), criado em 2001. RIS pode ser acessado via RIPEstat, para obter todas as
informaes disponveis sobre os inmeros recursos da internet. RIPEstat usa
ferramentas individualizadas para mostrar informaes de roteamento e outras
informaes. Informaes de roteamento podem ser visualizadas usando as seguintes
ferramentas:
Routing Status (Estado do Roteamento) mostra se um prefixo roteado e se o ASN
est em uso;
Routing History (Histrico do Roteamento) mostra o intervalo de tempo de
quando um particular prefixo foi anunciado, e por qual AS foi anunciado;
Announced Prefixes (Prefixos Anunciados) fornece uma viso tabulada dos
prefixos anunciados por um AS nas ltimas duas semanas;

ASN Neighbors (Vizinhos do AS) fornece informaes sobre os vizinhos do AS;


ASN Neighbors History (Histrico dos Vizinhos do AS) fornece informaes
histricas sobre os vizinhos do AS;

Related Prefixes (Prefixos Relacionados) mostra as redes relacionadas ao prefixo;


BGP Looking Glass (Espelho BGP) permite consultar nossos destinos de rotas;

BGPlay mostra o histrico de roteamento relacionado a um especfico conjunto de


recursos (prefixos, AS, IPs) atravs de um grfico interativo animado;
RISwhois (quem RIS) pesquisa os dados detalhados mais recentes de um
endereo IP. til quando consultamos o RIS usando scripts.
134

BGP Avanado


RIPE Atlas: com a sua ajuda, o RIPE NCC est construindo a maior rede de medies da
internet jamais feita. RIPE Atlas emprega uma rede global de sensores que medem a
conectividade e acessibilidade da internet, fornecendo um entendimento sem
precedentes do estado da internet em tempo real.

RIR authority data

Os arquivos de estatsticas do RIR sumarizam o estado atual das atribuies de recursos


numricos da internet. Eles destinamse a fornecer uma viso instantnea dos recursos
numricos da internet, sem detalhes histricos ou transacionais.
Blacklists

A visualizao das listas negras baseada em dados de diferentes fontes. As listas negras
foram selecionadas com base nas polticas de disponibilidade e de acesso de dados, e no so
necessariamente a melhor representao do vasto nmero de listas negras que existem
atualmente. Alguns exemplos de listas negras:
Spamhaus

UCE Protect

MaxMind

A informao de geolocalizao de endereos IPv4, na maioria das ferramentas de


geolocalizao e histrico de geolocalizao, baseada nos dados GeoLite criados por
MaxMind (direitos reservados). Consulte as licenas de uso da MaxMind antes de usar esses
dados.
Para mais detalhes, consulte o website da MaxMind.

MLab

MLab fornece uma grande coleo de dados de desempenho da internet aberta. Para mais
detalhes, visite: http://www.measurementlab.net/.

Projeto RouteViews

Universidade do Oregon

Informaes em tempo real sobre o sistema de roteamento global


Visualizao do AS_path

Utilizao do espao de endereamento IPv4


Mapear endereos IP ao AS de origem

O projeto RouteViews da Universidade do Oregon (http://www.routeviews.org/) foi


concebido originalmente como uma ferramenta para os operadores da internet obterem
informao em tempo real sobre o sistema de roteamento global da perspectiva de vrios
diferentes backbones e localizaes na internet. Embora outras ferramentas executem
tarefas semelhantes, tais como os vrios Looking Glass Collections (por exemplo:
BGP Avanado

135


http://www.traceroute.org/#Looking%20Glass), essas ferramentas tipicamente proveem
somente uma viso restrita do sistema de roteamento (por exemplo: um provedor nico ou o
servidor de rotas) ou elas no fornecem acesso em tempo real aos dados de roteamento.
Embora o projeto Route Views fosse motivado inicialmente pelo interesse dos operadores
em determinar como o sistema global de roteamento via seus prefixos e/ou o espao de AS,
existem muitos outros usos interessantes dos dados desse projeto. Por exemplo, NLANR tem
usado os dados do Route Views para AS path visualization (veja tambm NLANR), e para
estudar o uso do espao de endereamento IPv4 (IPv4 address space utilization archive).
Outros tm usado os dados do Route Views para mapear endereos IP ao AS de origem para
vrios estudos topolgicos.

BGPlay

BGPlay uma aplicao Java que mostra grficos animados da atividade de roteamento de
um certo prefixo dentro de um especificado intervalo de tempo. A sua natureza grfica torna
a muito mais fcil de entender como as atualizaes BGP afetam o roteamento de um prefixo
especfico do que analisando as atualizaes propriamente ditas. Veja a seguir uma figura de
exemplo.

Figura 4.19 Exemplo do BGPlay.

136

BGP Avanado

A base de dados BGPlay armazena os ltimos 10 dias de dados fornecidos pelo arquivo do
projeto Route Views. Para usar o BGPlay, voc precisa ter o Java plugin (verso 1.4 ou acima)
instalado no seu navegador.
Se no tiver, voc pode baixlo no link: http://www.java.com/en/download/

Para rodar o BGPlay, use o link: http://bgplay.routeviews.org/applet.html. Se o Java plugin


estiver instalado, uma janela de consulta aparecer. Entre com o prefixo que deseja
monitorar e o intervalo de tempo e aperte o boto OK.

O prefixo tem de ser exatamente igual ao usado no AS; caso contrrio, nada ser mostrado.

A seguir, um exemplo da janela de consulta.

Figura 4.20 Exemplo da janela de consulta do BGPlay.

BGP Avanado

137

Traceroute.org

Aplicao desenvolvida e mantida por Thomas Kernen que informa, por pas na internet, os
endereos dos Looking Glass, Route Servers, BGP Info e BGP Tools.
Exemplo dos Looking Glass do Brasil:

UNESP: Universidade Estadual Paulista (AS1251)


Rede Rio de Computadores (AS2715)
JGTelecom LTDA (AS7738)
VisaoNet (AS8167)

Zintana Corp. (AS11242)


Registro.br (AS22548)

Looking Glass e Route Servers


Lookingglass.
Scripts WEB.

Depurar problemas de conectividade.

Acesso restrito aos operadores de rede.

Espelhos BGP (BGP Looking Glass) so aplicaes web comumente disponibilizadas pelos ass
para oferecer acesso restrito via web s suas infraestruturas de roteamento, com o objetivo
de facilitar a depurao de problemas de conectividade.
A internet composta por um grande nmero de Sistemas Autnomos (AS), que cooperam
para trocar e transportar dados atravs de seus enlaces. Diversos protocolos de roteamento
intraAS e interAS que rodam nos roteadores de backbone so responsveis pela
distribuio de rotas no plano de controle, ao redor do mundo.

Alguns desses protocolos, entretanto, no foram projetados tendo em mente os aspectos de


segurana e no so resistentes a agentes maliciosos. Por exemplo, o protocolo BGP cuida da
distribuio de rotas interAS, mas qualquer AS configurado de maneira errada ou maliciosa
pode sequestrar e rerrotear prefixos proprietrios de outros ASs. Portanto, a maior parte do
roteamento na internet confia na suposio de que nenhum roteador BGP malicioso ter
permisso para anunciar rotas falsas, e que as rotas existentes so corretas e
adequadamente seguras.
Existem duas categorias de sistemas que so estritamente relacionados ao roteamento
internet: roteadores BGP de Backbone e Servidores Linux de Rotas.

Os Roteadores de Backbone so capazes de acelerar o roteamento de pacotes no plano de


dados usando hardware e chipsets ASIC dedicados. Eles rodam um Sistema Operacional
customizado e uma pilha de plano de controle que responsvel por calcular a topologia de
roteamento que permite a participao em sesses BGP com seus vizinhos.
138

BGP Avanado

Alm disso, todos esses dispositivos tm uma ou mais interfaces para administrao remota que
usam outros circuitos que no os de dados (outofband), tais como um servio telnet, um servio
SSH ou uma porta serial remota. O acesso a essas interfaces deveria ser estritamente limitado aos
operadores dos Centros de Operao de Redes (NOC) e pessoas autorizadas do AS.
Servidores de rotas (Route Servers).
Servidores Linux.
Quagga.
XORP.

Acesso via SSH.

Os Servidores de Rotas usam software de roteamento baseado em servidores Linux


tradicionais para estabelecer sesses BGP com outros roteadores e servidores. Dois exemplos
importantes so o Quagga e o Xorp, que so usados por muitos operadores e esto em ativo
desenvolvimento. As utilidades dos servidores de rotas so mltiplas, como o fornecimento de
uma cpia s de leitura (readonly) da tabela BGP global para permitir a programao de
regras BGP (usando utilitrios UNIX). Tambm esses servidores podem ser acessados fora de
banda pelo pessoal do AS, via telnet ou SSH. Alguns servios pblicos, como o projeto Route
Views, fornecem acesso telnet irrestrito a seus servidores de rotas para que analistas e
pesquisadores possam ver uma cpia s de leitura (readonly) da tabela BGP.

Quando depurando problemas de roteamento BGP, operadores do NOC frequentemente


enfrentam problemas afetando somente alguns poucos ASs. Tais problemas so difceis de
depurar, devido falta de visibilidade da tabela de roteamento remota. Por essa razo, uma
nova categoria de aplicaes web surgiu nos anos 90 para permitir um conjunto restrito de
operaes nos roteadores de AS e servidores de rotas pelo pblico em geral na internet. Esse
tipo de software usualmente conhecido como lookingglass, porque ele oferece um ponto
de observao local para os engenheiros de rede remotos.
Os lookingglass so scripts web, usualmente codificados em Perl ou PHP e diretamente
conectados s interfaces administrativas dos roteadores (por exemplo: telnet ou SSH). Esses
scripts so projetados para enviar comandos textuais da web para o roteador e imprimir de
volta as respostas dos roteadores. Eles rodam no topo das pilhas Linux/Apache comumente
usadas e, algumas vezes, fornecem utilitrios adicionais para medida de caminhos
(traceroute) e latncia. A figura 4.21 resume a arquitetura tpica do lookingglass.

Figura 4.21 Arquitetura do Lookingglass.

BGP Avanado

139

Erros comuns na configurao do roteamento BGP


Rotas BGP no so anunciadas:

Rotas anunciadas usando o comando Network.

Rotas anunciadas usando o comando Network com uma mscara.


Rotas anunciadas usando o comando aggregateaddress.
Incapaz de anunciar rotas aprendidas via iBGP.

Rotas anunciadas com o comando Redistribute Static.

Rotas BGP no so anunciadas

Apresentaremos a seguir uma abordagem sistemtica em situaes quando o roteador BGP


no anuncia rotas BGP a seus pares BGP. Existem vrias maneiras pelas quais um prefixo
adicionado a uma tabela BGP e anunciado aos pares BGP:
Usar o comando network aps o router BGP. Esse mtodo usado para originar
rotas BGP de Sistemas Autnomos (AS);
Redistribuir rotas do protocolo interior (IGP) ou uma rota esttica;

Propagar rotas BGP aprendidas de outros roteadores pares internos BGP (iBGP) ou externos
BGP (eBGP). Nota: somente os melhores caminhos recebidos dos pares BGP so propagados;
Emitir o comando aggregateaddress.

Rotas anunciadas usando o comando Network


Quando rotas so anunciadas usando o comando network, o comportamento do comando
varia dependendo se autosummary est habilitado ou no. Quando autosummary est
habilitado, ele sumariza as redes BGP localmente originadas (network x.x.x.x) para suas
bordas, de acordo com as classes.
Se uma subrede existe na tabela de roteamento e essas trs condies so satisfeitas,
qualquer subrede daquela rede classful na tabela de roteamento local habilita o BGP a
instalar a rede classful na tabela BGP:
autosummary habilitado;

Comando network classful para uma rede na tabela de roteamento;


Mscara classful naquele comando network.

Quando autosummary est desabilitado, as rotas introduzidas localmente na tabela BGP no


so sumarizadas para suas bordas, de acordo com as classes. Por exemplo, o BGP introduz a
rede classful 75.0.0.0 mscara 255.0.0.0 na tabela BGP se essas condies forem satisfeitas:
A subrede na tabela de roteamento 75.75.75.0 mscara 255.255.255.0;
Voc configura a rede 75.0.0.0 aps o comando bgp router;
Autosummary est habilitado.

140

BGP Avanado

Se essas condies no forem satisfeitas, o BGP no instala uma entrada na tabela BGP, a
menos que haja uma correspondncia exata na tabela de roteamento IP.

Com autosummary habilitado no roteador R101, o roteador no capaz de anunciar a rede


classful 6.0.0.0/8 para R102, conforme a figura 4.22, a seguir.

Figura 4.22 R101 no anuncia a rede 6.0.0.0/8.

1. Verifique se R101 anuncia 6.0.0.0/8 para R102. A listagem mostrada a seguir confirma que
R101 no anuncia 6.0.0.0/8 para R102.
R101#
show ip bgp neighbors 10.10.10.2 advertised-routes
R101#

2. Verifique a configurao corrente (runningconfig). O exemplo a seguir mostra que R101


est configurado com o comando network classful. Autosummary est habilitado por
default (Cisco IOS).
R101#
show running-config | begin bgp
router bgp 1
network 6.0.0.0
neighbor 10.10.10.2 remote-as 2
[...]

3. Verifique se voc tem uma rota classful ou uma rota subrede da rede 6.0.0.0/8 na tabela
de roteamento.
R101#
show ip route 6.0.0.0 255.0.0.0 longer-prefixes
R101#

4. Porque no h nenhuma rota classful ou rota subrede na tabela de roteamento IP de


R101, a rede 6.0.0.0 no est instalada na tabela BGP. O requisito mnimo para um prefixo
configurado no comando network ser instalado na tabela BGP ter uma rota (classful ou
subrede) na tabela de roteamento IP. Ento se assegure de que R101 tem uma rota (classful
ou subrede) da rede 6.0.0.0/8, seja por ter aprendido via IGP ou por configurao de rota
esttica. No exemplo a seguir, uma rota esttica configurada para null 0.
R101(config)# ip route 6.6.10.0 255.255.255.0 null 0 200
BGP Avanado

141


5. Assim que a tabela de roteamento IP tiver uma rota para 6.0.0.0/8, o BGP instala uma rede
classful na tabela BGP.
R101# show ip route 6.0.0.0 255.0.0.0 longer-prefixes
[..]
6.0.0.0/24 is subnetted, 1 subnets
S
6.6.10.0 is directly connected, Null0

6. Para tornar a mudana efetiva no BGP e o anncio da rede 6.0.0.0/8 para R102, voc tem
de, ou apagar o vizinho BGP, ou fazer um soft reset no par BGP. Esse exemplo mostra um soft
reset do par 10.10.10.2 para efetivar as mudanas.
R101# clear ip bgp 10.10.10.2 [soft] out
R101#

7. O comando show ip bgp confirma que a rede classful 6.0.0.0/8 foi introduzida no BGP.
R101# show ip bgp | include 6.0.0.0
*> 6.0.0.0 0.0.0.0 0 32768 i

8. Confirme que R101 anuncia rotas para R102.

R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include


6.0.0.0
*> 6.0.0.0 0.0.0.0 0 32768 i
Com autosummary desabilitado, o BGP somente instala a rede 6.0.0.0/8 quando h uma
correspondncia exata na tabela de roteamento. Se houver rotas de subrede, mas no
houver uma rota exatamente correspondente (6.0.0.0/8) na tabela de roteamento, ento o
BGP no instala a rede 6.0.0.0/8 na tabela BGP.

Rotas anunciadas usando o comando Network com uma mscara

Redes que pertencem ao espao de endereamento de uma rede maior (255.0.0.0,


255.255.0.0 ou 255.255.255.0) no precisam ter a mscara informada. Por exemplo, o
comando network 172.16.0.0 suficiente para enviar o prefixo 172.16.0.0/16 para a tabela
BGP. Entretanto, redes que no pertencem ao espao de endereamento de uma rede maior
precisam ter um comando network informando a mscara, como no exemplo: network
172.16.10.0 mask 255.255.255.0.

Uma rota exatamente igual na tabela de roteamento exigido para que um comando network
informando a mscara tenha a rota instalada na tabela BGP.
Na figura a seguir, R101 incapaz de anunciar a rede 172.16.10.0/24 para R102.

142

BGP Avanado

Figura 4.23 R101 no anuncia a rede 172.16.10.0/24.

1. Verifique se R101 anuncia o prefixo 172.16.10.0/24 para R102.

R101# show ip bgp neighbors 10.10.10.2 advertised-routes


R101#
Ou use esse comando para verificar se as rotas esto sendo anunciadas:

R101#show ip bgp 172.16.10.0/24


R101# BGP routing table entry for 172.16.10.0/24, version 24480684
Bestpath Modifiers: deterministic-med
Paths: (4 available, best #3)
Not advertised to any peer
<---- not advertised to any peers
A listagem anterior confirma que R101 no est anunciando o prefixo 172.16.10.0/24 para
R102.
2. Verifique a configurao corrente (runningconfig).
R101# show run | begin bgp
router bgp 1
network 172.16.10.0

Voc quer originar a rede 172.16.10.0/24. Essa rede no pertence ao espao de


endereamento de uma rede Classe B (mscara 255.255.0.0). Um comando network com
mscara 255.255.255.0 tem de ser configurado para fazer funcionar o anncio da rede.

3. Depois de configurar um comando network com mscara, o comando show run mostra
uma sada semelhante a esta:
R101# show run | begin bgp
router bgp 1
network 172.16.10.0 mask 255.255.255.0

4. Verifique se a rota est na tabela de roteamento BGP.


R101# show ip bgp | include 172.16.10.0
R101#
A rede 172.16.10.0/24 no existe na tabela BGP.
BGP Avanado

143


5. Verifique se existe uma rota exatamente igual na tabela de roteamento IP. A listagem a
seguir confirma que no existe uma rota exatamente igual na tabela de roteamento,
caracterizando um problema no IGP.
R101# show ip route 172.16.10.0 255.255.255.0
% Network not in table
R101#

6. Decida que rotas deseja originar. Ento, corrija o IGP ou configure uma rota esttica.
R101(config)# ip route 172.16.10.0 255.255.255.0 null 0 200
7. Verifique a tabela de roteamento IP.

R101# show ip route 172.16.10.0 255.255.255.0 longer-prefixes


[..]
172.16.0.0/24 is subnetted, 1 subnets
S
172.16.10.0 is directly connected, Null0
8. Verifique se as rotas esto na tabela BGP.

R101# show ip bgp | include 172.16.10.0


*> 172.16.10.0/24
0.0.0.0

32768 i

9. Para tornar a mudana efetiva no BGP e o anncio da rede 172.16.10.0/24 para R102, voc
tem de ou apagar o vizinho BGP, ou fazer um soft reset no par. Esse exemplo mostra um soft
reset do par 10.10.10.2.
R101# clear ip bgp 10.10.10.2 [soft] out

10. Confirme que as rotas esto sendo anunciadas para R102.


R101# show ip bgp
172.16.10.0
*> 172.16.10.0/24

neighbors 10.10.10.2 advertised-routes | include


0.0.0.0

32768 i

Rotas anunciadas usando o comando aggregate-address


BGP permite a agregao de rotas especficas em uma s rota usando o comando aggregate
address address mask. Agregao se aplica a rotas que existem na tabela de roteamento
BGP. Isso o oposto ao comando network, que se aplica s rotas que existem na tabela de
roteamento IP. Agregao pode ser realizada se ao menos uma ou mais das rotas especficas
do endereo agregado existe na tabela de roteamento BGP.

Na rede a seguir, R101 incapaz de anunciar o endereo agregado 192.168.32.0/22 para


R102.

144

BGP Avanado

Figura 4.24 R101 no anuncia o endereo agregado 192.168.32.0/22.

A rede 192.168.32.0/22 agrega rede 192.168.32.0/24 as seguintes trs redes Classe C;


192.168.33.0/24
192.168.34.0/24
192.168.35.0/24

1. Confirme que R101 no est anunciando 192.168.32.0/22 para R102.

R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include


192.168.32.0
R101#
2. Verifique a configurao corrente (runningconfig).

router bgp 1
[..]
aggregate-address 192.168.32.0 255.255.252.0 summary-only
neighbor 10.10.10.2 remote-as 2
R101 est configurado para anunciar somente o endereo agregado para R102, usando o
atributo summaryonly.
3. Verifique a tabela de roteamento IP.

R101# show ip route 192.168.32.0 255.255.252.0 longer-prefixes


[..]
S
192.168.33.0/24 is directly connected, Null0
A tabela de roteamento IP tem a rota componente do agregado 192.168.32.0/22; entretanto,
para que um endereo agregado seja anunciado ao par BGP, uma rota componente precisa
existir na tabela de roteamento BGP em vez da tabela de roteamento IP.
4. Verifique se uma rota componente existe na tabela de roteamento BGP.
R101# show ip bgp 192.168.32.0 255.255.252.0 longer
R101#

A listagem anterior confirma que a tabela BGP no tem uma rota componente. Ento, o
prximo passo lgico garantir que uma rota componente existe na tabela BGP.
BGP Avanado

145


5. Nesse exemplo, uma rota componente 192.168.33.0 instalada na tabela BGP usando o
comando network.
R101(config)# router bgp 1
R101(config-router)# network 192.168.33.0

6. Verifique se a rota componente existe na tabela BGP.

R101# show ip bgp 192.168.32.0 255.255.252.0 longer-prefixes


BGP table version is 8, local router ID is 10.10.20.1
Status codes: s suppressed, d damped, h history, * valid, > best, i:
internal
Origin codes: i: IGP, e: EGP,?: incomplete
Network
Next Hop
Metric LocPrf Weight Path
*> 192.168.32.0/22 0.0.0.0
32768 i
s> 192.168.33.0
0.0.0.0
0
32768 i
R101#
O s na primeira posio da tabela significa que a rota componente suprimida devido ao
argumento summaryonly.
7. Confirme que o endereo agregado anunciado para R102.

R101# show ip bgp n 10.10.10.2 advertised-routes | include


192.168.32.0/22
*> 192.168.32.0/22 0.0.0.0

Incapaz de anunciar rotas aprendidas via iBGP


Um roteador BGP com sincronizao (synchronization) habilitada no anunciar rotas
aprendidas via iBGP para outros pares BGP se ele no for capaz de validar essas rotas no seu
IGP. Assumindo que o IGP tem uma rota para as rotas aprendidas via iBGP, o roteador
anunciar as rotas iBGP aos pares eBGP.

Por outro lado, o roteador trata a rota como no sincronizada com o IGP e no a anuncia.
Desabilitando a sincronizao atravs do comando no synchronization, aps o comando
router BGP, impedimos que o BGP valide rotas iBGP no IGP.

Na figura a seguir, R101 aprende o prefixo 130.130.130.0/24 de R103 via iBGP e incapaz de
de anuncilo ao par eBGP R102.

Figura 4.25 R101 no anuncia o prefixo iBGP 130.130.130.0/24.

146

BGP Avanado

1. Primeiro verifique R101.

R101# show ip bgp neighbors 10.10.20.2 advertised-routes | include


130.130.130.0
R101#
Essa listagem confirma que R101 no est anunciando o prefixo 130.130.130.0/24 para
R102. Observe a tabela BGP em R101:

R101# show ip bgp 130.130.130 255.255.255.0 longer


BGP table version is 4, local router ID is 10.10.20.1
Status codes: s suppressed, d damped, h history, * valid, > best, i internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network
Next Hop
Metric LocPrf Weight Path
* i130.130.130.0/24 10.10.20.3
0
100
0 i
R101#
A rede 130.130.130.0/24 existe na tabela BGP, mas no tem o cdigo de status de melhor
rota (>). Isso significa que o Algoritmo de Seleo de Melhor Rota BGP no escolheu esse
prefixo como o melhor caminho. Desde que somente os melhores caminhos so anunciados
aos pares BGP, a rede 130.130.130.0/24 no anunciada para R102. Em seguida, voc
precisa investigar por que o critrio de seleo de caminho BGP no selecionou essa rede
como a melhor rota.
2. Examine a listagem do comando show ip bgp prefix para obter mais detalhes por que o
prefixo no foi escolhido como a melhor rota, nem instalado na tabela de roteamento IP.
R101# show ip bgp 130.130.130.0
BGP routing table entry for 130.130.130.0/24, version 4
Paths: (1 available, no best path)
Not advertised to any peer
Local
10.10.20.3 from 10.10.20.3 (130.130.130.3)
Origin IGP, metric 0, localpref 100, valid, internal, not
synchronized
A listagem mostra que o prefix 130.130.130.0/24 no est sincronizado.
3. Verifique a configurao corrente (runningconfig).

R101# show ip protocols


Routing Protocol is "bgp 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
IGP synchronization is enabled
Automatic route summarization is disabled
Neighbor(s):
Address
FiltIn FiltOut DistIn Dissout Weight RouteMap
BGP Avanado

147

10.10.10.2
10.10.20.3
Maximum path: 1
Routing for Networks:
Routing Information Sources:
Gateway
Distance
Last Update
10.10.20.3
200
01:48:24
Distance: external 20 internal 200 local 200

A listagem anterior mostra que a sincronizao BGP est habilitada (default Cisco IOS).

4. Configure BGP para desabilitar a sincronizao. Digite o comando no synchronization


aps router BGP.
R101(config)# router bgp 1
R101(config-router)# no synchronization
R101# show ip protocols
Routing Protocol is "bgp 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
IGP synchronization is disabled
Automatic route summarization is disabled
Neighbor(s):
Address
FiltIn FiltOut DistIn DistOut Weight RouteMap
10.10.10.2
10.10.20.3
Maximum path: 1
Routing for Networks:
Routing Information Sources:
Gateway
Distance
Last Update
10.10.20.3
200
01:49:24
Distance: external 20 internal 200 local 200

Durante a prxima execuo do scanner BGP, que escaneia a tabela BGP a cada 60 segundos
e toma decises baseado no critrio de seleo de caminho do BGP, a rede 130.130.130.0
ser instalada (se a sincronizao for desabilitada). Isso significa que o tempo mximo para
uma rota ser instalada de 60 segundos, mas pode ser menos, dependendo de quando o
comando no synchronization foi configurado e de quando a prxima instncia do scanner
BGP ocorrer. Portanto, melhor esperar 60 segundos antes do prximo passo de verificao.
5. Verifique se a rota foi instalada. A listagem a seguir confirma que o prefixo
130.130.130.0/24 a melhor rota, portanto, ela instalada na tabela de roteamento IP e
propagada para o par BGP 10.10.10.2.
R101# show ip bgp 130.130.130.0
BGP routing table entry for 130.130.130.0/24, version 5
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Advertised to non peer-group peers:

148

BGP Avanado

10.10.10.2
Local
10.10.20.3 from 10.10.20.3 (130.130.130.3)
Origin IGP, metric 0, localpref 100, valid, internal, best
R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include
130.130.130.0/24
*>i130.130.130.0/24 10.10.20.3
0
100
0 i

Rotas anunciadas com o comando Redistribute Static


Se os roteadores forem conectados com dois enlaces, e as rotas forem aprendidas atravs do
BGP e rotas estticas flutuantes, as rotas estticas flutuantes so instaladas na tabela de
roteamento. Isso ocorre se as rotas estticas forem redistribudas no caso de falha das rotas
BGP. Se as rotas BGP voltam a ficar online, as rotas estticas flutuantes na tabela de
roteamento no so alteradas para refletir as rotas BGP. Esse problema pode ser resolvido se
voc remover o comando redistribute static no processo BGP, para evitar a priorizao das
rotas estticas flutuantes sobre as rotas BGP.

BGP Avanado

149