IP : Border Gateway Protocol (BGP)

Alcance um Roteamento Ideal e Reduza o Consumo de Memória BGP

19 Setembro 2015 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback


Índice


Introdução

Este documento ilustra como atingir um alto grau de roteamento ideal em uma rede corporativa conectada a vários Internet Service Providers (ISPs), enquanto minimiza as exigências de memória dos roteadores do Border Gateway Protocol (BGP). Isso é possível usando filtros AS_PATH para aceitar apenas rotas originadas em um ISP e seus sistemas autônomos conectados diretamente, em vez de receber a tabela completa de roteamento de BGP do ISP.

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.

Convenções

Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.

Informações de Apoio

Esta seção fornece um diagrama de rede como exemplo. No exemplo, você filtra atualizações BGP entrantes no roteador1 e no roteador2 para aceitar as rotas do ISP e as rotas do sistema autônomo diretamente conectado. O roteador1 está aceitando rotas para o ISP-A e seu sistema autônomo diretamente conectado C1. Da mesma forma, o Roteador 2 está aceitando rotas para ISP-B e C2. O restante das redes, que não pertencem aos ISPs e seu sistema autônomo de cliente, seguem a rota padrão que aponta para ISP-A ou ISP-B, dependendo do Enterprise Routing Policy.

/image/gif/paws/12512/41a.gif

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.

Nota: O número real de prefixos que formam uma alimentação completa pode variar. Os valores neste documento servem somente como um exemplo. Os servidores na função de roteador podem dar uma boa idéia de quantos prefixos formam uma tabela de BGP completa. (Para obter mais informações sobre dos servidores de rota, refira Traceroute.orgleavingcisco.com .)

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 estiveram recebidos do ISP-A (vizinho de 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 de 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 está ocupando aproximadamente 71 MB de memória.

Roteador BGP configurado com lista de filtro do AS_PATH de entrada

Neste exemplo, você aplica a lista do filtro de entrada para aceitar as rotas originadas pelo ISP-A e por seus sistemas autônomo diretamente conectados. No exemplo, o ISP-A está anunciando uma rota padrão (0.0.0.0) através do BGP externo (eBGP), assim as rotas que não passam a lista de filtro seguem a rota padrão para o ISP-A. Esta é a configuração para estabelecer a lista de filtro:

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 filter list filters ISP and the 
!--- directly connected autonomous system routes.
 
! 
end

Essa saída do comando show ip bgp summary mostra 31.667 prefixos recebidos de um 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 de 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 dos processos da mostra | inclua o comando bgp. A maioria de problemas comuns relativos a um uso excessivo da memória são alistados aqui:

  • Falha de alocação de memória "%SYS-2-MALLOCFAIL". Para obter mais informações sobre deste Mensagem de Erro, refira os problemas de memória do Troubleshooting do documento.

  • Sessões recusadas de telnet.

  • 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. Para mais informação, refira a utilização elevada da CPU do Troubleshooting do documento em roteadores Cisco.

  • Se você executa BGP-relacionado debuga, ele causa geralmente o consumo da memória excessiva, que pode igualmente conduzir aos erros de memória devido ao BGP. Debuga para o BGP deve ser sido executado com cuidado e são ser evitado se não são exigidos.

Para armazenar uma tabela de roteamento global de BGP completa de um bgp peer, é o melhor ter um mínimo de 512 MB ou 1 GB de RAM no roteador. Se o 256 MB de RAM é usado, recomenda-se que você usa mais filtros da rota. Se você usa o 512 MB de RAM, mais rotas de Internet podem ser colocadas na tabela de roteamento com menos filtros da rota. No Catalyst 6500/6000 que recebe uma tabela de BGP completa, recomenda-se ter o Multilayer Switch Feature Card 2 (MSFC2) com o 256 MB de RAM para evitar a identificação de bug Cisco CSCdt13244 (clientes registrados somente). O consumo de memória por rotas de BGP depende do número de atributos, tais como o apoio multipath, a reconfiguração de software, o número de pares, e o AS_PATH. Para mais detalhes na exigência de memória de BGP, refira o RFC 1774leavingcisco.com .

O Cisco Express Forwarding/Distributed Cisco Express Forwarding (CEF/dCEF) que comuta consome a memória, segundo o tamanho de tabela de roteamento. Há dois componentes principais do CEF:

  • O banco de informação de encaminhamento (FIB)

  • A tabela de adjacências

Ambas as tabelas são armazenadas na memória DRAM. Assegure-se de que seu Versatile Interface Processor (VIP) ou a placa de linha igualmente contenham o DRAM livre suficiente. As mensagens %FIB-3-FIBDISABLE: Erro fatal, slot [-]: nenhuma memória” e os Mensagens de Erro de "%FIB-3-NOMEM" indicam a memória insuficiente nos cartões.

É altamente recomendado verificar o VIP ou a memória da placa de linha antes de permitir o dCEF. Termine estas etapas para confirmar a memória:

  1. Configurar o CEFcentral emitindo o comando ip cef no modo de configuração global.

    Reserve a hora para que a tabela FIB construa.

  2. Revise o tamanho da tabela de FIB central dentro do comando show ip cef summary.

  3. Determine se o VIP ou a placa de linha têm o suficiente DRAM disponível para armazenar uma tabela FIB similar-feita sob medida.

    Emita o comando show controller vip [slot-] tech, e verifique a saída do comando show memory summary.

Ao executar rotas de BGP dos Internet direta, é o melhor ter pelo menos o 512 MB ou o 1 GB de RAM no VIP ou na placa de linha.

Para obter mais informações sobre dos problemas relacionados à memória do Troubleshooting que envolvem o CEF/dCEF, refira o documento que pesquisa defeitos Mensagens de Erro Transmissão-relacionados expressos de Cisco.

Conclusão

Esse gráfico ilustra a economia de memória com a implementação da lista de filtros.

  Número de prefixos Memória consumida
Nenhuma filtração 98,410 70,882,248
Filtro do 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ê revê COMO o gráfico do Internetleavingcisco.com compilado pela associação cooperativa para a análise de dados do Internet (CAIDA), você pode ver que ISP têm o grau mais elevado de interconectividade (aqueles os mais próximos ao centro da carta). Com menos interconectividade, menos rotas passam pelo filtro AS_PATH e o consumo de memória do BGP é mais baixo. Contudo, é importante notar que sempre que os filtros AS_path são ajustados, você precisa de configurar uma rota padrão (0/0). Rotas que não passarem pela lista do filtro AS_PATH seguem a rota padrão.

Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Informações Relacionadas


Document ID: 12512