cancelar
Mostrar resultados para 
Pesquisar em vez de 
Queria dizer: 
cancel
522
Apresentações
5
Útil
2
Comentários
natanael0liveira
Spotlight
Spotlight

    Nos últimos anos, a tabela global BGP tem experimentado um crescimento significativo, que representa um desafio crescente para a escalabilidade da Internet. De acordo com dados mais recentes, atualmente a tabela global contém cerca de 950.000 prefixos IPv4.Figure-3-–-IPv4-routing-table-across-2022-as-seen-by-Route-Views-and-RIS-peers..pngEsse aumento é impulsionado principalmente pela fragmentação de prefixos, com muitos provedores anunciando prefixos pequenos, como os /24. A cada ano, a tabela BGP se expande, exigindo maior poder de processamento e memória para roteadores, o que eleva os custos operacionais para ISPs e provedores de backbone.

Figure-4-—-IPv4-BGP-routing-table-size-RIB..png

Atualmente, com base no gráfico abaixo observamos que cerca 80% dos prefixos são compostos por /22, /23 e /24 nos quais aproximadamente 60% a 70% dos prefixos na tabela global são anúncios /24, o que contribui para o inchaço da tabela de roteamento. Este fenômeno ocorre porque muitos provedores de tráfego utilizam prefixos menores para otimizar o balanceamento de tráfego, apesar das consequências em termos de escalabilidade.

Figure-9-—-IPv4-prefix-size-counts..png

Embora os prefixos /24 sejam eficazes para balanceamento de tráfego e a segmentação de redes, sua propagação em toda a Internet resulta em um grande número de anúncios BGP, o que agrava o problema de escalabilidade. Esse aumento de prefixos exige mais recursos de processamento e memória em roteadores, além de sobrecarregar a rede de roteamento global.

Para enfrentar esse problema, uma solução eficiente, pode ser em determinados casos, a utilização das communities BGP No-Peer (65535:65284) e BGP No-Export (65535:65284) pelo seguinte motivo.

Essas communities, são definidas pelas RFC 1997RFC 3765, e tem como principal objetivo restringir a propagação de prefixos para peerings bilaterais e peerings eBGP, impedindo que certos prefixos se propaguem através de redes que não são essenciais. Quando usadas corretamente, podem ajudar a reduzir o número de prefixos anunciados globalmente, mantendo a eficiência interna de balanceamento de tráfego, sem impactar a escalabilidade da rede global

Por exemplo, vamos considerar um ASN privado (65000) com dois roteadores, R1 e R2, que possuem conexões com dois provedores upstream R3 e R4 (AS 65001 e AS 65002) que por sua vez possuem conexão com R5 ( AS 65010 ) que é seu upstream final

Cada roteador anuncia:

  • Um /23 para os upstreams sem marcação
  • Dois /24 para otimizar balanceamento de tráfego, mas marcados com 65535:65281, evitando que sejam propagados para upstreams dos upstreams.

#################################################################################

R1:

router bgp 65000

! Definição dos vizinhos BGP
neighbor 192.168.100.1 remote-as 65001
neighbor 100.64.250.2 remote-as 65000

! Configuração da família de endereços IPv4
address-family ipv4

neighbor 192.168.100.1 send-community
network 192.168.0.0 mask 255.255.254.0
network 192.168.0.0 mask 255.255.255.

! Aplicação da route-map para o peer 192.168.100.1
neighbor 192.168.100.1 route-map ADD-NO-PEER out
exit-address-family

! Lista de prefixos para dar match apenas nos /24
ip prefix-list PREFIXOS-24 seq 5 permit 192.168.0.0/24

! Route-map para adicionar a community 65535:65281 apenas aos /24
route-map ADD-NO-PEER permit 10
match ip address prefix-list PREFIXOS-24
set community 65535:65281 ( No-Export )

#################################################################################

R2:

router bgp 65000

! Definição dos vizinhos BGP
neighbor 192.168.100.2 remote-as 65001

neighbor 100.64.250.1 remote-as 65000

! Configuração da família de endereços IPv4
address-family ipv4

neighbor 192.168.100.2 send-community
network 192.168.2.0 mask 255.255.254.0                                                    
network 192.168.1.0 mask 255.255.255.0

! Aplicação da route-map para o peer 192.168.100.2
neighbor 192.168.100.2 route-map ADD-NO-PEER out
exit-address-family

! Lista de prefixos para dar match apenas nos /24
ip prefix-list PREFIXOS-24 seq 5 permit 192.168.1.0/24

! Route-map para adicionar a community 65535:65281 apenas aos /24
route-map ADD-NO-PEER permit 10
match ip address prefix-list PREFIXOS-24
set community 65535:65281 ( No-Export )

#################################################################################

Abaixo, automaticamente os upstreams filtram os prefixos /24 e encaminham apenas os /23 para o ASN 65010.

#################################################################################

R3 ( Configuração permissiva para este exemplo ! )

router bgp 65001
neighbor 192.168.100.10 remote-as 65010
!
address-family ipv4
neighbor 192.168.100.10 route-map FILTER-NO-PEER out
exit-address-family
!
route-map FILTER-NO-PEER permit 15

Na saida do comando show ip bgp no Router R3, upstream de R1, temos as seguintes informações:

R3#show ip bgp
BGP table version is 5, local router ID is 192.168.100.9
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network Next Hop Metric LocPrf Weight Path
*> 192.168.0.0 192.168.100.2 0 0 65000 i
*> 192.168.0.0/23 192.168.100.2 0 0 65000 i
R3#

Em R4 teremos:

Network Next Hop Metric LocPrf Weight Path
*> 192.168.2.0/23 192.168.200.2 0 0 65000 i
*> 192.168.1.0 192.168.200.2 0 0 65000 i
R4#

Utilizando como exemplo R3, o roteador recebeu todos os prefixos e instalou, mas ao abrir diretamente o anuncio /24, observamos que ele ja está marcado com a community No-Export, e então a indicação na tabela que não será anunciado para nenhum peer eBGP

R3#show ip bgp 192.168.0.0
BGP routing table entry for 192.168.0.0/24, version 2
Paths: (1 available, best #1, table default, not advertised to EBGP peer)
Not advertised to any peer
Refresh Epoch 1
65000
192.168.100.2 from 192.168.100.2 (192.168.100.2)
Origin IGP, metric 0, localpref 100, valid, external, best
Community: no-export
rx pathid: 0, tx pathid: 0x0

Ao abrir diretamente o anuncio /23 vemos que ele segue o fluxo normal da tabela BGP.

R3#show ip bgp 192.168.0.0/23
BGP routing table entry for 192.168.0.0/23, version 3
Paths: (1 available, best #1, table default)
Advertised to update-groups:
3
Refresh Epoch 1
65000
192.168.100.2 from 192.168.100.2 (192.168.100.2)
Origin IGP, metric 0, localpref 100, valid, external, best
rx pathid: 0, tx pathid: 0x0

#################################################################################

Após a implementação dessa abordagem, o upstream dos roteadores R3 e R4, Roteador R5 (ASN 65010) recebe apenas os prefixos /23, devido a operação da community No-Export reduzindo o número de prefixos propagados para a tabela, sem perda de comunicação e com uma boa possibilidade de balanceamento de tráfego por parte do primeiro ISP downstream.

#################################################################################

R5# show ip bgp
BGP table version is 10, local router ID is 192.168.100.10
Network Next Hop Path
*> 192.168.0.0/23 192.168.100.1 65001 65000 i
*> 192.168.2.0/23 192.168.100.2 65002 65000 i

#################################################################################

Para entender o impacto dessa redução, podemos usar ferramentas como o CIDR Report ou Looking Glass para observar as mudanças na tabela BGP global. Se implementada em larga escala, essa prática poderia reduzir drásticamente o número de anúncios /24.

Se mais empresas e ISPs se unirem a essa abordagem, a tabela BGP global poderia ser otimizada em determinados casos, proporcionando uma Internet mais escalável e resiliente a longo prazo. Portanto, o uso estratégico das communities No-Export e No-Peer são uma excelente escolha técnica para opções de balanceamento de tráfego em primeiro salto. 

 

Comentários
rodrigo-freitas
Level 1
Level 1

Sensacional, Natanel. 

Muito bom o post, será de grande valia para a comunidade.

natanael0liveira
Spotlight
Spotlight

Obrigado @rodrigo-freitas !

Primeiros Passos

Encontre respostas, faça perguntas e conecte-se com nossa comunidade de especialistas da Cisco de todo o mundo.

Estamos felizes por você estar aqui! Participe de conversas e conecte-se com sua comunidade.