Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Conventions

Informações de Apoio

O BGP Router Recebe a Tabela de BGP Routing Completa

Roteador BGP configurado com lista de filtro do AS_PATH de entrada

Solucionando problemas relacionados à memória

Conclusão

Informações Relacionadas

Introduction

Este documento descreve como alcançar o ideal com requisitos mínimos de memória para roteadores BGP (Border Gateway Protocol).

Prerequisites

Requirements

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.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. 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 documentos, consulte as Convenções de Dicas Técnicas da 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 C1 conectado diretamente. Da mesma forma, o Roteador 2 aceita rotas para o ISP-B e o C2. O restante das redes, que não pertencem aos ISPs e ao seu sistema autônomo cliente, seguem a rota padrão que aponta para o ISP-A ou o 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.

Note: 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.

Note: 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

sem sincronização

neighbor 157.x.x.x remote-as 701

neighbor 157.x.x.x filter-list 80 out

!

ip as-path access-list 80 permit ^$

!

fim

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 seguem 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

sem sincronização

.

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

!— Esta linha filtra atualizações de BGP de entrada.

!

ip as-path access-list 80 permit ^$

ip as-path access-list 85 permit ^701_[0-9]*$

!— A lista de filtros AS_PATH filtra o ISP e as !— rotas de sistema autônomo diretamente conectadas.

!

fim

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 a memória show processes | include bgpcommand. 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, 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.

Para armazenar uma tabela de roteamento BGP global completa de um par BGP, é melhor ter um mínimo de 512 MB ou 1 GB de RAM no roteador. Se 256 MB de RAM forem usados, é recomendável usar mais filtros de rota. Se você usar 512 MB de RAM, mais rotas da Internet poderão ser colocadas na tabela de roteamento com menos filtros de rota. No Catalyst 6500/6000 que recebe uma tabela de BGP completa, é recomendável ter o Multilayer Switch Feature Card 2 (MSFC2) com 256 MB de RAM para evitar o 'bug da Cisco ID CSCdt13244' .

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.

O switching Cisco Express Forwarding/Distributed Cisco Express Forwarding (CEF/dCEF) consome memória, com base no tamanho da tabela de roteamento. Há dois componentes principais do CEF:

- Base de informações de encaminhamento (FIB)

- A tabela de adjacências

As duas tabelas são armazenadas na memória DRAM. Certifique-se de que o VIP (Versatile Interface Processor) ou a placa de linha também contenha DRAM livre suficiente. As mensagens %FIB-3-FIBDISABLE: Erro fatal, slot [#]: as mensagens de erro "no memory" e "%FIB-3-NOMEM" indicam memória insuficiente nas placas.

É altamente recomendável verificar o VIP ou a memória da placa de linha antes de habilitar o dCEF. Conclua estes passos para confirmar a memória:

1. Emita o comando ip cef no modo de configuração global para configurar o CEF central.

Aguarde a criação da tabela FIB.

1. Revise o tamanho da tabela FIB central com o comando show ip cef summary.

2. Determine se o VIP ou a placa de linha tem DRAM disponível suficiente para armazenar uma tabela FIB de tamanho semelhante.

Emita o comando show controller vip [slot#] teche verifique a saída do comando theshow memory summary.

Quando você executa as rotas BGP de Internet completas, é melhor ter pelo menos 512 MB ou 1 GB de RAM no VIP ou na placa de linha.

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 a tabela de roteamento BGP completa de seus 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 oAS Internet Graphcompilado 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). Rotas que não passarem pela lista do filtro AS_PATH seguem a rota padrão.

Informações Relacionadas

- Usando expressões regulares em BGP

- Compartilhamento de carga com o BGP no ambientes únicos e multihomed: Configurações de exemplo

- Como usar o HSRP para fornecer redundância em uma rede BGP multihomed

- Configuração de exemplo para o BGP com dois provedores de serviço diferentes (multilocal)

- Página de suporte de BGP

- Suporte Técnico - Cisco Systems