Introdução
Este documento descreve como atingir o nível ideal com requisitos mínimos de memória para roteadores BGP (Border Gateway Protocol).
Pré-requisitos
Requisitos
Não existem requisitos específicos para este documento.
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Conventions
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Informações de Apoio
Este documento ilustra como obter o roteamento ideal em uma rede corporativa conectada a vários provedores de serviços de Internet (ISPs), enquanto os requisitos de memória dos roteadores BGP (Border Gateway Protocol) são reduzidos. Você pode usar os filtros AS_PATH que aceitam apenas rotas originadas de um ISP e seus sistemas autônomos diretamente conectados e não recebem a tabela de roteamento BGP completa de um ISP.
Esta seção fornece um diagrama de rede como exemplo. No exemplo, você filtra as atualizações de BGP recebidas nos Roteadores 1 e 2 para aceitar as rotas do ISP e as rotas do sistema autônomo conectado diretamente. O Roteador 1 aceita rotas para o ISP-A e seu sistema autônomo diretamente conectado, C1. Da mesma forma, o roteador 2 aceita rotas para ISP-B e C2. O restante das redes, que não pertencem aos ISPs e ao seu sistema autônomo cliente, usa a rota padrão que aponta para o ISP-A ou ISP-B, com base na política de roteamento da empresa.
Você pode observar a variação da utilização de memória quando o roteador 1 aceita a tabela de roteamento BGP completa com aproximadamente 100.000 rotas de seu ISP, se comparado com quando você aplica filtros internos AS_PATH no roteador 1.
Observação: o número real de prefixos que formam um feed completo pode variar. Os valores neste documento servem apenas como exemplo. Os servidores na função de roteador podem dar uma boa idéia de quantos prefixos formam uma tabela de BGP completa.
Observação: todas as ferramentas e sites internos são apenas para clientes registrados da Cisco.
O BGP Router Recebe a Tabela de BGP Routing Completa
Esta é a configuração do roteador 1:
Roteador 1 |
hostname R1
!
router bgp XX
no synchronization
neighbor 157.x.x.x remote-as 701
neighbor 157.x.x.x filter-list 80 out
!
ip as-path access-list 80 permit ^$
!
end |
A saída do comando show ip bgp summary mostra que 98.410 prefixos foram recebidos do ISP-A (vizinho BGP 157.x.x.x):
R1#show ip bgp summary
BGP router identifier 65.yy.yy.y, local AS number XX
BGP table version is 611571, main routing table version 611571
98769 network entries and 146299 paths using 14847357 bytes of memory
23658 BGP path attribute entries using 1419480 bytes of memory
20439 BGP AS-PATH entries using 516828 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
5843 BGP filter-list cache entries using 70116 bytes of memory
BGP activity 534001/1904280 prefixes, 2371419/2225120 paths, scan interval 15 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
165.yy.yy.a 4 6xx9 32962 826287 611571 0 0 01:56:13 1
165.yy.yy.b 4 6xx9 32961 855737 611571 0 0 01:56:12 1
165.yy.yy.c 4 6xx9 569699 865164 611571 1 0 01:55:39 47885
157.x.x.x 4 701 3139774 262532 611571 0 0 00:07:24 98410
A saída do comando show ip route summary mostra que 80.132 rotas BGP estão instaladas na tabela de roteamento:
R1#show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source Networks Subnets Overhead Memory (bytes)
connected 0 4 256 576
static 0 1 64 144
eigrp 6 0 5 768 720
bgp XX 80132 18622 6320256 14326656
External: 87616 Internal: 11138 Local: 0
internal 854 994056
Total 80986 18632 6321344 15322152
Esse comando mostra a quantidade de memória que o processo de BGP ocupa na RAM:
R1#show processes memory | begin BGP
PID TTY Allocated Freed Holding Getbufs Retbufs Process
73 0 678981156 89816736 70811036 0 0 BGP Router
74 0 2968320 419750112 61388 1327064 832 BGP I/O
75 0 0 8270540 9824 0 0 BGP Scanner
70882248 Total BGP
77465892 Total all processes
O processo BGP usa aproximadamente 71 MB de memória.
Roteador BGP configurado com lista de filtro do AS_PATH de entrada
Neste exemplo, você aplica a lista de filtros de entrada para aceitar rotas originadas pelo ISP-A e seus sistemas autônomos conectados diretamente. No exemplo, o ISP-A anuncia uma rota padrão (0.0.0.0) através do BGP externo (eBGP), de modo que as rotas que não passam pela lista de filtros usam a rota padrão em direção ao ISP-A. Esta é a configuração da lista de filtros:
Roteador 1 |
hostname R1
!
router bgp XX
no synchronization
neighbor 157.x.x.x remote-as 701
neighbor 157.x.x.x filter-list 80 out
neighbor 157.x.x.x filter-list 85 in
!--- This line filters inbound BGP updates.
!
ip as-path access-list 80 permit ^$
ip as-path access-list 85 permit ^701_[0-9]*$
!--- The AS_PATH list filters ISP and the directly connected autonomous system routes.
!
end |
Esta saída do comando show ip bgp summary mostra 31.667 prefixos recebidos do ISP-A (vizinho 157.xx.xx.x):
R1#show ip bgp summary
BGP router identifier 165.yy.yy.y, local AS number XX
BGP table version is 92465, main routing table version 92465
36575 network entries and 49095 paths using 5315195 bytes of memory
4015 BGP path attribute entries using 241860 bytes of memory
3259 BGP AS-PATH entries using 78360 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
4028 BGP filter-list cache entries using 48336 bytes of memory
BGP activity 1735069/3741144 prefixes, 4596920/4547825 paths, scan interval 15 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
165.yy.yy.a 4 6319 226694 1787061 92465 0 0 17:31:04 1
165.yy.yy.b 4 6319 226814 1806986 92465 0 0 19:51:53 1
165.yy.yy.c 4 6319 1041069 1822703 92465 0 0 19:44:52 17424
157.xx.xx.x 4 701 14452518 456341 92465 0 0 19:51:37 31667
A saída do comando show ip route summary mostra 27.129 rotas BGP na tabela de roteamento:
R1#show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source Networks Subnets Overhead Memory (bytes)
connected 0 4 256 576
static 0 1 64 144
eigrp 6319 0 6 896 864
bgp 6319 27129 9424 2339392 5299332
External: 19134 Internal: 17419 Local: 0
internal 518 602952
Total 27647 9435 2340608 5903868
A memória usada pelo processo BGP é de aproximadamente 28 MB, como mostrado aqui:
R1#show processes memory | include BGP
PID TTY Allocated Freed Holding Getbufs Retbufs Process
73 0 900742224 186644540 28115880 0 0 BGP Router
74 0 5315232 556232160 6824 2478452 832 BGP I/O
75 0 0 39041008 9824 0 0 BGP Scanner
28132528 Total BGP
34665820 Total all memory
Solucionando problemas relacionados à memória
Para verificar a memória usada pelo processo BGP, use show processes memory | include bgp. Os problemas mais comuns relacionados ao uso excessivo de memória estão listados aqui:
-
Falha na alocação de memória "%SYS-2-MALLOCFAIL".
-
Sessões Telnet recusadas.
-
Nenhuma saída de alguns comandos show.
-
Mensagens de erro "Memória insuficiente".
-
Mensagens do console "Unable to create EXEC - no memory or too many processes".
-
Suspensão do roteador ou sem resposta do console.
-
Se você executar depurações relacionadas ao BGP, isso geralmente causa consumo excessivo de memória, o que também pode resultar em erros de memória devido ao BGP. As depurações para BGP devem ser executadas com cuidado e devem ser evitadas se não forem necessárias.
Quando você executa as rotas BGP de Internet completas de um peer BGP, a quantidade de RAM necessária depende das características do dispositivo e da escalabilidade. No entanto, devido ao crescimento contínuo das rotas da Internet, a memória mínima necessária pode ser de cerca de 8 GB de RAM ou mais.
O consumo de memória pelas rotas BGP depende do número de atributos, como suporte a multipath, reconfiguração suave, o número de peers e AS_PATH. Para obter mais detalhes sobre o requisito de memória BGP, consulte RFC 1774.
Conclusão
Este gráfico ilustra a economia de memória quando você implementa a lista de filtros:
|
Número de prefixos |
Memória Consumida |
Sem filtragem |
98,410 |
70,882,248 |
Filtro de Sistema Autônomo |
31,667 |
28,132,528 |
Quando o roteador BGP recebe sua tabela de roteamento BGP completa de vizinhos (98.410 rotas), o roteador consome aproximadamente 71 MB. Com os filtros AS_PATH aplicados às atualizações internas, o tamanho da tabela de roteamento BGP é reduzido para 31.667 rotas e o consumo de memória é de aproximadamente 28 MB. Mais de 60% dessa diminuição na utilização da memória é com roteamento ideal.
Se você revisar o AS Internet Graph compilado pela Cooperative Association for Internet Data Analysis (CAIDA), poderá ver quais ISPs têm o maior grau de interconectividade (aqueles mais próximos do centro do gráfico). Com menos interconectividade, menos rotas passam pelo filtro AS_PATH e o consumo de memória do BGP é mais baixo. No entanto, é importante observar que sempre que os filtros AS_PATH forem definidos, você precisará configurar uma rota padrão (0/0). As rotas que não passarem pela lista de filtros AS_PATH usarão a rota padrão.
Informações Relacionadas