Você está na página 1de 66

BGP -Fundamentos, Design e

Implementação

João A. Vasconcelos (jvascon@gmail.com)

Setembro / 2013
BGP -Fundamentos, Design e Implementação

Multihoming nos Provedores de Serviço


BGP nos Provedores de Serviços

. ISP Peers

AS 100 A H AS 200

B C

AS 300
provider IBGP (Full Mesh)
D F
IGP (OSPF ou ISIS) entre os roteadores BGP
para divulgar
E
endereços internos

Rota estática
ou EBGP
G

AS 400
Clientes
Topologia típica de um ISP
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 1
. Full routing dos upstreams

- Anunciar um agregado /19


- Aceitar full routing dos upstreams
- Aceitar todas as rotas vindas peer local
- OS dois upstreams estão ligados a roteadores diferentes para prover
redundância
,
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 1
Full routing dos upstreams
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 1
Full routing dos upstreams
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 1
. Full routing dos upstreams
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 1
Full routing dos upstreams

- Roteador C aceita full routing do AS 130


- Marca os anúncios recebidos do AS 130 e seus vizinhos com local-preference
120 para dar preferência de saída.
- Demais prefixos são marcados com local-preference 80, para que o tráfego para
os demais destinos sejam enviados para o AS 140.
,
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 1
Full routing dos upstreams
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 2
Partial routing / rota default dos upstreams

Se não for preciso receber full routing dos upstreams, receber partial routing de um
deles e apenas uma rota default de outro pode ser uma boa alternativa. Como o
provedor de trânsito pode não dar a opção de enviar partial routing e/ou rota
default, é melhor garantir-se com filtros de entrada.
,
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 2
Partial routing / rota default dos upstreams

- recebe todos os prefixos, mas vai filtra-los com base no AS-Path.


- aceita default e nega os bogons
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 2
Partial routing / rota default dos upstreams

- No filtro de AS-Path, permite somente as redes originadas no AS 130 e nos


vizinhos diretos dele.
- Se receber default, marca local-preference com 80.
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 2
Partial routing / rota default dos upstreams

- No roteador D aceita apenas default.


- tráfego para prefixos gerados no AS 130 e vizinhos dele, será enviado para o AS
130, tráfego para outros prefixos será enviado para o AS 140.
- Se um dos links falhar o outro assume todo tráfego.
BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 2
Partial routing / rota default dos upstreams

- Caso os upstreams não enviem default, pode-se divulga-la pelo IGP


BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 2
Partial routing / rota default dos upstreams

- Caso os upstreams não enviem default, pode-se divulga-la pelo IGP


BGP entre Provedores de Serviço
Dois Upstreams e um (ou mais) peer local Cenário 2
Partial routing / rota default dos upstreams

- Use o OSPF para determinar o caminho de saída.


- No roteador D a default tem métrica 10 (primário) e o roteador C tem a default
com métrica 30 (backup)
BGP entre Provedores de Serviço
Três Upstreams Cenário 3
bandas diferentes

- Roteador A tem 1Gbps de banda para o ISP A


- Roteador B tem 622Mbps de banda para o ISP B
- Roteador B tem 155Mbps de banda para o ISP C
BGP entre Provedores de Serviço
Três Upstreams Cenário 3
bandas diferentes

Estratégia para balanceamento de saída

-Aceite somente default do ISP A pois é o link de maior capacidade e a maior parte
do tráfego será enviada a ele. Caso ele não concorde em enviar apenas a default,
aceite o full routing mas despreze todas as redes e faça rota estática default e
distribuia pelo IGP.

- Aceite full routing do ISP B e ISP C.


- Discarte os anúncios que contenham o AS do ISP A no AS-Path.
- Discarte os anúncios que estejam fazendo trânsito nos provedores
globais de trânsito. O nr. do AS de um provedor global normalmente
aparece no AS-Path após os nrs. de AS local e/ou regional.
BGP entre Provedores de Serviço
Três Upstreams Cenário 3
bandas diferentes
Estratégia para balanceamento de saída
BGP entre Provedores de Serviço
Três Upstreams Cenário 3
bandas diferentes
Estratégia para balanceamento de saída

Filtrando os anúncios vindos do ISP B

3
BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes
Estratégia para balanceamento de saída

Filtrando os anúncios vindos do ISP B

1 - Descartando os anúncios que passaram por provedores globais,


esse filtro pode ser refinado para ajsutar o volume de tráfego sainte,
mais prefixos entrantes significa maior de volume de tráfego sainte.

2 - Descarte os anúncios que tenham feito trânsito no ISP A e no ISP C.

3 - Permita os anúncios de redes originadas no ISP B, seus vizinhos diretos


e os vizinhos diretos deles. Quanto maior for essa sequência de permissão
maior será a quantidade de prefixos aceitos, o que implica em maior tráfego
sainte. Precisa ser refinado para não exceder a capacidade do link.
BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes
Estratégia para balanceamento de saída

Filtrando os anúncios vindos do ISP C

- A mesma estratégia aplicada aos anúncios vindos do ISP B deve ser aplicada
ao ISP C.

- Se os mesmos prefixos forem recebidos tanto via ISP B quanto via ISP C
pode ser interessante estabelecer uam relação de proximidade geográfica,
por exemplo:
ISP B está na Ásia e tem um AS vizinho na Europa, se o ISP C
também estiver na Europa, parece mais sensato enviar o tráfego
para esse AS via ISP C.
BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes
Estratégia para balanceamento de saída

Filtrando os anúncios vindos do ISP C

- A mesma estratégia aplicada aos anúncios vindos do ISP B deve ser aplicada
ao ISP C.

- Se os mesmos prefixos forem recebidos tanto via ISP B quanto via ISP C
pode ser interessante estabelecer uam relação de proximidade geográfica,
por exemplo:
ISP B está na Ásia e tem um AS vizinho na Europa, se o ISP C
também estiver na Europa, parece mais sensato enviar o tráfego
para esse AS via ISP C.
BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes
Estratégia para balanceamento de saída

Estratégia de backup para saída

- Originar rota default pelo OSPF no roteador A com métrica 10 (link para ISP A)

- Originar rota default pelo OSPF no roteador B com métrica 30 (link para ISP B e C)

- Adicionar no roteador B
rota estática default para o ISP B com distância 240
rota estática default para o ISP C com distância 245
- se o link cair a rota estática será retirada.
BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes
Estratégia para balanceamento de saída

Estratégia de backup para saída


- Em situação normal (todos os links ativos)
•saída preferencial é pelo roteador A (OSPF métrica 10)
•backup default é pelo roteador B (OSPF métrica 30)
•os prefixos aprendidos pelo upstreams serão distribuídos
pelo iBGP através do backbone (AS 100), a propagação de rota
default via iBGP deve ser filtrada, manter apenas via OSPF
dentro do AS 100
- Em situação de falha, link para o ISP A falha:
•rota default para o roteador B , OSPF no roteador A deixa de anunciar,
roteador B continua anunciando via OSPF métrica 30
- Em situação de falha, link para ISP B e ISP C falham, link para ISP A Up
•rota default pelo roteador A, roteador B remove a default
BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes
Estratégia para balanceamento de saída

Exemplo de configuração do roteador A


BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes
Estratégia para balanceamento de entrada

- Anunciar somente o agregado para o ISP A (link de maior banda).

- Para o ISP B e ISP C


- anunciar o agregado todo com AS-Path prepend.
- anunciar sub prefixos de acordo com volume de tráfego de
cada sub prefixo, ajustar os anúncios para obter a melhor
distribuição.
BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes
Estratégia para balanceamento de entrada

Exemplo de configuração eBGPpara o roteador A


BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes
Estratégia para balanceamento de entrada

Exemplo de configuração eBGP para o roteador B


BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes
Estratégia para balanceamento de entrada

Exemplo de configuração eBGPpara o roteador B

/21 para o ISP B

/22 para o ISP C

um prepend para o ISP B

dois prepends para o ISP C


BGP entre Provedores de Serviço
Cenário 3
Três Upstreams
bandas diferentes

Esse cenário é apenas um exemplo, muitas variações podem existir,


mas dessa forma não há muita exigência de recursos nos roteadores
de borda externa nem na estrutura interna no backbone do AS 100.
BGP -Fundamentos, Design e Implementação

BGP em Provedores de Trânsito


BGP nos Provedores de Trânsito

. ISP Peers

AS 100 A H
AS 200

B C

AS 300
provider IBGP (Full Mesh)
D F
IGP (OSPF ou ISIS) entre os roteadores BGP
para divulgar
E
E
endereços internos

Rota estática
ou EBGP
G

AS 400
Clientes
Topologia típica de um ISP
BGP nos Provedores de Trânsito

Exemplo - 1
- AS120 prove trânsito entre AS130 e AS100.
- AS130 e AS100 are clientes do AS120.
- Eles podem ter seus próprios peerings com outros AS’s.
BGP nos Provedores de Trânsito
.Ex -1
. AS 130 - cliente
BGP nos Provedores de Trânsito
EX - 1
AS 120 Provedor

Roteador B anuncia rota default para roteador A e


somente aceita o bloco do cliente (121.10.0.0/19)
BGP nos Provedores de Trânsito
EX - 1
AS 120 Provedor

Roteador C anuncia rota default para roteador D e


somente aceita o bloco do cliente (109.0.0.0/19)
BGP nos Provedores de Trânsito
. EX -1
AS 100 cliente
BGP nos Provedores de Trânsito

Exemplo - 2
- AS120 prove trânsito entre AS130 e AS100.
- AS 120 não provê acesso Internet total ao AS 130,
mas provê para o AS 100.
BGP nos Provedores de Trânsito
. EX -2
AS 130 cliente
BGP nos Provedores de Trânsito
. EX -2
AS 130 Provedor

Roteador B anuncia os prefixos do AS 120 e do AS 100 para o


roteador A e aceita somente os blocos do AS 130 (121.10.0.0/19)
BGP nos Provedores de Trânsito
. EX -2
AS 130 Provedor

Roteador C anuncia rota default para o roteador D e aceita


somente os blocos do AS 100 (109.0.0.0/19)
BGP nos Provedores de Trânsito
. EX -2
AS 100 Cliente
BGP nos Provedores de Trânsito

Exemplo - 3
- AS 130 tem diversos AS clientes conectados ao seu backbone.
- AS 100 e AS 130 são clientes do AS 120 que provê trânsito entres eles.
- AS 105 não deve ser anunciado ao AS 120.
BGP nos Provedores de Trânsito
. EX -3
AS 130
BGP nos Provedores de Trânsito
. EX -3
AS 130
BGP nos Provedores de Trânsito
. EX -3
AS 130
BGP nos Provedores de Trânsito
. EX -3
AS 130
BGP nos Provedores de Trânsito
. EX -3
AS 120

Roteador B anuncia os prefixos do AS 120 e do AS 100 para o


roteador A e aceita os blocos do AS 130 e de todos os AS
clientes a ele ligados.
BGP nos Provedores de Trânsito
. EX -3
AS 120

Roteador C anuncia rota default para o roteador D e aceita os


blocos do AS 100 (109.0.0.0/19)
BGP nos Provedores de Trânsito
. EX -3
AS 100 Cliente
BGP -Fundamentos, Design e Implementação

Communities
Communities

RFC 1998
.
Sugestão para padronização
Communities

RFC 1998
.
Exemplo onde o AS 100 é um UpStream

seus clientes podem marcar os anúncios para identificar um


caminho como backup com a community adequada.
Communities

RFC 1998
.
Exemplo onde o AS 100 é um UpStream
Communities

RFC 1998
.
Exemplo onde o AS 100 é um UpStream
Communities

• A RFC 1998 serviu como inspiração para que o uso de communities nas políticas
.
fosse largamente utilizado pelos ISP’s.
Não existe uma padronizãção para o uso das communities nos ISP’s mas as
“boas práticas de BGP” ditam que elas devem ser utilizadas para facilitar
multihoming e engenharia de tráfego.

• Uma lista com a definição e uso de communities dos principais ISP’s, pode ser
vista em http://www.onesc.net/communities/

• Normalmente também pode-se encontrar as communities e respectivas políticas


nos sites das operadoras e ISP’s de trânsito.
Communities

.
Communities

.
Communities

.
Communities

.
BGP nos Provedores de Trânsito
Facilitando as configurações com o uso de communities

Exemplo - 4
Mesmo exemplo anterior, utilizando as communities
- AS 130 tem diversos AS clientes conectados ao seu backbone.
- AS 100 e AS 130 são clientes do AS 120 que provê trânsito entres eles.
- AS 105 não deve ser anunciado ao AS 120.
BGP nos Provedores de Trânsito
. EX -4
AS 130
BGP nos Provedores de Trânsito
. EX -4
AS 130

Configuração do roteador fica bem simplificada, todos os prefixos que


devem ser anunciados ao UpStream (AS120) são marcados com a
community 130:5100.
O prefix list in e out são os mesmos do exemplo anterior, negam os
bogons e permitem o restante.
BGP nos Provedores de Trânsito
. EX -4
AS 130

Considerando um roteador E para conexão com os AS’s 101,102,103,104


e 105
BGP nos Provedores de Trânsito
. EX -4
AS 130

Somente o AS 105 é marcado com outra comminity (130:5199), portanto


seus prefixos não serão repassados ao AS 120.

Você também pode gostar