4 - BGP - Border Gateway Protocol

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 14

BGP: Border Gateway Protocol

Como Trabalha o BGP

O Border Gateway Protocol (BGP) é um protocolo de roteamento do tipo


EGP (consulte a classificação de roteamento na figura routing-protocols
na página routing-protocols) usado para conectar vários roteadores
pertencentes a sistemas autônomos distintos. É, portanto, um protocolo de
roteamento inter-AS, embora também possa ser usado entre roteadores
pertencentes ao mesmo AS (nesse caso, é indicado pelo nome iBGP,
Interior Gateway Protocol), ou entre roteadores conectados por meio de um
AS adicional que separa (eBGP, External Border Gateway Protocol). O
BGP é o principal protocolo de roteamento que atualmente conecta a
Internet de forma descentralizada, não dependente de um único nó. Este
protocolo apenas troca informações de roteamento, não mostra a topologia
da rede e é usado para trocar informações de roteamento entre grandes
redes (AS), conforme descrito na figura bgp-network.
A escolha do roteamento é baseada no prefixo mais específico e na
distância mais curta (caminho AS). O RouterOS suporta BGPv4 conforme
definido na RFC 1771. Podemos dizer que o protocolo BGP é a
"linguagem" com o AS com quem conversamos trocando informações de
roteamento e tornando todos os destinos acessíveis. Ele funciona
gerenciando uma tabela de prefixos (redes IP), que fornecem informações
sobre a acessibilidade de diferentes redes entre vários sistemas autônomos.
É um protocolo de indicação de caminho que não usa métricas técnicas
(por exemplo, não considera larguras de banda), mas toma decisões de
roteamento com base em políticas específicas. A motivação que move uma
organização a utilizar o protocolo BGP para troca de rotas na internet é a
necessidade de uma rede multihomed. Rede multihomed é a rede que
adquire trânsito para a internet de múltiplos provedores de primeiro nível
(ou mesmo múltiplos links com o mesmo provedor) e que deve garantir
acessibilidade externa a esses serviços, por meio de um conjunto de
endereços IP públicos. De fato, em uma situação padrão sem o uso do
protocolo BGP, todo link para a internet será equipado com sua classe de
endereçamento IP, que não pode ser compartilhada com outros links (ver
figura multihomed-network-wo-bgp). É, portanto, claro que ao publicar
um serviço, por exemplo um servidor que hospeda um site da Web, no
endereço IP que pode ser alcançado diretamente a partir do link específico,
quando o link cair, esse serviço ficará inacessível por outras redes.
Em vez disso, usando o protocolo BGP para propagar sua própria classe de
endereços IP na Internet, os próprios endereços serão alcançados por meio
de qualquer link para o qual as rotas foram propagadas (consulte a figura
multihomed-network-w-bgp).

No protocolo BGP, os ASs adjacentes, chamados de pares, estabelecem a


sessão de troca de rota por meio de uma configuração de roteador
apropriada. As sessões usam o protocolo TCP para trocar informações. É
importante observar que todos os roteadores em um AS que participam do
roteamento via BGP devem ser conectados de acordo com uma topologia
totalmente conectada (malha completa); ou seja, cada roteador deve ser um
par de todos os outros. Isso coloca problemas relacionados à habilidade de
ser qualificado, então soluções como reflexões de rota e confederações
podem ser implementadas. O tópico não será discutido aqui, pois é
necessário apenas em grandes AS. Como mencionado antes, o BGP é um
protocolo baseado em vetor de caminho, o que significa que o melhor
caminho para chegar a um determinado destino é baseado principalmente
no número de AS entre a origem e o destino. Por exemplo, ao escolher
entre os dois caminhos a seguir, o primeiro será escolhido mesmo se com
um prefixo de largura de banda menor:
No entanto, é possível usar alguns truques para determinar a rota preferida.
Um exemplo é o chamado "AS prepending", que basicamente consiste em
injetar o número AS várias vezes no caminho AS. Voltando às rotas
anteriores, se o enlace número 2 tiver maior capacidade de transmissão,
posso "forçar" o trânsito por ele anunciando meu AS (400) várias vezes.
Observe, portanto, que o link 1 é maior do que 2, portanto, ele será usado
como uma segunda escolha.

Este "truque" será usado em lab bgp-lab2 na página bgp-lab2. É


importante ressaltar que o protocolo não se preocupa com os canais de
transmissão, por isso requer o uso de canais os mais semelhantes possíveis.
É adicionado que o protocolo BGP é válido tanto para roteamento IPv4
quanto para roteamento IPv6.

What you can do with BGP

Vão desde uma simples rede multihomed até dois provedores até redes em
peering com outros parceiros ou redes de clientes, por meio de um peering
privado ou por meio de um peering público em um IXP (Internet Exchange
Point) (ex: MIX-IT). Obviamente, graças à seleção do link do caminho do
vetor, cada cliente que precisar alcançar os serviços prestados utilizará o
caminho de menor comprimento. Um exemplo:

 Provedor: um provedor de serviços de Internet e compra trânsito de


Internet de B e C;

 O provedor A adquire o cliente Z, que se conecta à Internet via D e


precisa de tempos de latência muito baixos para atender A. É
evidente, neste caso, que um peering direto com D encurtaria
consideravelmente o caminho dos pacotes entre A e Z.
What can’t be done with BGP

Precisamente porque o protocolo é um link-vetor, a mídia física pela qual o


pacote passará não pode ser considerada de forma alguma.

Criticalities and requirements

Para propagar suas rotas na internet via BGP, você precisa ser um Sistema
Autônomo reconhecido (do RIPE no caso europeu) e ter sua própria classe
de endereços IP públicos. A menor alocação adquirível é em /24, ou 256
endereços IP, chamados de PI (Provider Independent).
No entanto, é muito difícil obter a atribuição de uma classe deste tipo, pois
é necessário cumprir alguns requisitos de difícil cumprimento. É muito
mais fácil obter uma rede maior, como uma /22 (4 redes /24), chamada PA
(Provider Allocatable). Isso ocorre porque nos vários roteadores da Internet
preferimos evitar a propagação de rotas com prefixo maior ou igual a 24,
pois elas fragmentariam demais a tabela de roteamento de vários
roteadores. Assim, é extremamente fácil obter a alocação de uma classe /32
de endereços IPv6 (que tem 128 bits: haveria, portanto, um grande número
de sub-redes alocáveis). Observe que é possível propagar rotas IPv6 apenas
se os provedores de trânsito suportarem o próprio IPv6.

BGP with Mikrotik RouterOS

No MUM 2013 em Zagreb, Wardner Maia deu uma palestra intitulada


"Filtragem BGP com RouterOS", cujos slides podem ser encontrados no
link http://bit.ly/2VpYf14. Nesta primeira parte de seu discurso, ele fez
uma introdução válida ao protocolo BGP, útil para aqueles que desejam
investigar mais profundamente o protocolo. Nas páginas a seguir,
discutiremos apenas duas configurações básicas simples por meio dos
laboratórios.

Lab
Dois roteadores e dois PCs necessários para este laboratório.

Comunicação BGP simples entre dois ASs.


O objetivo deste laboratório é criar uma configuração simples na qual dois
roteadores pertencentes a diferentes AS comunicam as rotas de seu
conhecimento entre si.
1. Conecte os roteadores conforme mostrado na fig bgp-lab1.
2. Nós configuramos o roteador R1:
Três roteadores e um PC são necessários para este laboratório.

Infraestrutura BGP multihomed simples.


O objetivo deste laboratório é criar esta configuração que pode ser usada
para compartilhar a carga entre ISPs ou um ISP como o principal e outros
ISPs como links de backup.

Suponha que o registro local da Internet tenha duas redes /24: 10.1.1.0/24 e
10.1.2.0/24 e nosso AS seja 30. A primeira rede terá sido usada como
estação de trabalho em nossa rede corporativa. Parte da outra rede também
será usada para estações de trabalho e outra parte será reservada para
servidores. Atualmente nossa empresa possui apenas um servidor com o
endereço 10.1.2.130. O objetivo é anunciar nossas redes atribuídas a peers
BGP e usar apenas um provedor como link principal, a conexão ISP2 é
apenas para backup.

1. Conecte os roteadores conforme mostrado na fig bgp-lab2.


2. Carregamos a configuração básica sem operações BGP nos
roteadores R1, R3 e R3:
3. Vamos configurar o BGP em R1:
4. Vamos configurar o BGP no R2:

5. Vamos configurar o BGP em R3:

6. Mostramos as redes conhecidas:

7. Verificamos a tabela de roteamento em R1 e R2:


8. Agora vamos sempre atuar no roteador R3. A próxima etapa é
especificar quais cadeias de filtro de roteamento serão usadas. Na
verdade, queremos excluir todas as rotas não incluídas em nosso AS:

9. Depois de especificadas as cadeias, aceitamos as redes e jogamos


fora todo o resto porque não somos fornecedores de trânsito.
Como se sabe, um dos atributos BGP que influenciam a melhor
seleção de rota é o comprimento do caminho AS, quanto mais curto
o caminho AS mais preferido. Portanto, queremos que o ISP2 seja
apenas o backup, usaremos o BGP para aumentar o comprimento do
caminho AS para forçar o tráfego de entrada através do ISP1. Filtros
de saída para ISP1.
10.Além disso, não precisamos das rotas do ISP1 porque a rota padrão é
usar o tráfego de saída via ISP1 e deixar o ISP2 como backup:

Useful Links

http://bit.ly/2QlkMbJ
http://bit.ly/2VlMEzY
http://bit.ly/2Ql9rIC
http://bit.ly/2Qlc50J

Você também pode gostar