IP : Protocolo de puerta de enlace fronteriza (BGP)

Cómo Lograr un Ruteo Óptimo y Reducir el Consumo de Memoria de BGP

17 Octubre 2016 - Traducción Automática
Otras Versiones: PDFpdf | Inglés (22 Agosto 2015) | Comentarios


Contenido


Introducción

Este documento ilustra cómo alcanzar un grado alto de ruteo óptimo en una red corporativa conectada a diversos Proveedores de servicio de Internet (ISP) y, a la vez, reducir los requisitos de memoria de routers BGP (protocolo de puerta de enlace de borde). Esto se logra utilizando filtros AS_PATH para aceptar sólo las rutas que se originan en un ISP y sus sistemas autónomos conectados de forma directa, en vez de recibir la tabla de ruteo completa de BGP desde un ISP.

prerrequisitos

Requisitos

No hay requisitos específicos para este documento.

Componentes Utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

Convenciones

Para obtener más información sobre las convenciones del documento, consulte las Convenciones de Consejos Técnicos de Cisco.

Antecedentes

Esta sección provee un diagrama de red como ejemplo. En el ejemplo, usted filtra las actualizaciones de BGP entrantes en el router1 y el router2 para validar las rutas del ISP y las rutas del sistema autónomo directamente conectado. El router1 está validando las rutas para el ISP-A y su c1 directamente conectado del sistema autónomo. De manera similar, el Router 2 acepta rutas para ISP-B y C2. El resto de las redes, que no pertenece a los ISP y su sistema autónomo de clientes, sigue la ruta predeterminada orientada a ISP-A o ISP-B, dependiendo de la política de ruteo de la empresa.

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

Puede observar cómo varía el uso de la memoria cuando el Router 1 acepta la tabla de ruteo BGP completa de aproximadamente 100.000 rutas provenientes de su ISP, a diferencia de cuando aplicamos los filtros AS_PATH hacia adentro en el Router 1.

Nota: La cantidad real de prefijos que conforman un suministro completo puede variar. Los valores en este documento sirven solamente como un ejemplo. Los servidores de ruta pueden proporcionar un buen panorama de cuántos prefijos forman una tabla BGP completa. (Para más información sobre los Route Server, refiera a Traceroute.orgleavingcisco.com .)

El router BGP recibe una tabla de ruteo BGP completa

Esta es la configuración del Router 1:

Router 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

La salida del comando show ip bgp summary muestra que 98,410 prefijos se han recibido del ISP-A (vecino 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

La salida del comando show ip route summary muestra que 80,132 rutas BGP están instaladas en la tabla de ruteo:

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

Este comando muestra la cantidad de memoria que el proceso BGP ocupa en la 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

El proceso BGP está ocupando aproximadamente 71 MB de memoria.

Router BGP configurado con lista de filtros AS_PATH

En este ejemplo, usted aplica la lista del filtro de entrada para validar las rutas originadas por el ISP-A y sus sistemas autónomos directamente conectados. En el ejemplo, el ISP-A está haciendo publicidad de una ruta predeterminado (0.0.0.0) vía el BGP externo (eBGP), tan las rutas que no pasan la lista de filtros siguen la ruta predeterminado hacia el ISP-A. Ésta es la configuración para configurar la lista de filtros:

Router 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

Este resultado del comando show ip bgp summary muestra 31,667 prefijos recibidos del ISP-A (vecino 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

El resultado del comando show ip route summary muestra las rutas BGP 27,129 en la tabla de ruteo:

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

La memoria utilizada por el proceso es de aproximadamente 28 MB, tal como se muestra a continuación:

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

Solución de problemas relacionados con la memoria

Para marcar la memoria usada por el proceso BGP, utilice la memoria de los procesos de la demostración | incluya el comando bgp. La mayoría de los problemas frecuentes relacionados con un abuso de la memoria se enumeran aquí:

  • Falla de asignación de memoria el "%SYS-2-MALLOCFAIL". Para más información sobre este mensaje de error, refiera a los problemas de memoria del troubleshooting del documento.

  • Sesiones Telnet rechazada.

  • Ninguna salida de algunos comandos show.

  • Mensajes de error “Memoria baja”.

  • “Incapaz de crear el EXEC - ningunos mensajes de la consola de la memoria o de demasiados procesos”.

  • Router colgado o falta de respuesta de la consola. Para más información, refiera al documento que resuelve problemas CPU elevada la utilización en los routeres Cisco.

  • Si usted ejecuta los debugs relacionados a BGP, causa generalmente el consumo de memoria excesiva, que puede también dar lugar a los errores de memoria debido al BGP. Los debugs para el BGP se deben ejecutar con cautela y deben ser evitados si no se requieren.

Para salvar una tabla de Global BGP Routing completa a partir de un peer BGP, es el mejor tener un mínimo de 512 MB o 1 GB de RAM en el router. Si el 256 MB del RAM se utiliza, se recomienda que usted utiliza más filtros de la ruta. Si usted utiliza el 512 MB del RAM, más rutas de Internet se pueden poner en la tabla de ruteo con menos filtros de la ruta. En el Catalyst 6500/6000 que recibe una tabla BGP llena, se recomienda para tener Multilayer Switch Feature Card 2 (MSFC2) con el 256 MB del RAM para evitar el Id. de bug Cisco CSCdt13244 (clientes registrados solamente). La consumición de la memoria por las rutas BGP depende del número de atributos, tales como soporte de trayectoria múltiple, reconfiguración suave, el número de pares, y AS_PATH. Para más detalles en el requisito de memoria BGP, refiera al RFC 1774leavingcisco.com .

El Cisco Express Forwarding/Distributed Cisco Express Forwarding (CEF/dCEF) que conmuta consume la memoria, dependiendo del tamaño de la tabla de ruteo. CEF tiene dos componentes principales:

  • La Base de información de reenvío (FIB)

  • La tabla de adyacencia

Ambas tablas se salvan en memoria DRAM. Asegúrese de que su procesador de interfaz versátil (VIP) o el linecard también contenga el suficiente DRAM libre. %FIB-3-FIBDISABLE: Fatal error, slot [#]: ninguna memoria” y los mensajes de error "%FIB-3-NOMEM" indican memoria insuficiente en los indicadores luminosos LED amarillo de la placa muestra gravedad menor.

Se recomienda altamente para marcar el VIP o la memoria del linecard antes de habilitar el dCEF. Complete estos pasos para confirmar la memoria:

  1. Configure el CEF central publicando el comando ip cef en el modo de configuración global.

    Dé un plazo de la hora para que la tabla de FIB construya.

  2. Controle el tamaño de la tabla FIB central con el comando show ip cef summary.

  3. Determine si el VIP o el linecard tiene suficiente DRAM disponible para salvar una tabla de FIB similar-clasificada.

    Publique el comando show controller vip [slot-] tech, y marque la salida del comando show memory summary.

Al funcionar con las rutas BGP del Internet completa, es el mejor tener por lo menos el 512 MB o 1 GB de RAM en el VIP o el linecard.

Para más información sobre los problemas relacionados con la memoria del troubleshooting que implican el CEF/dCEF, refiera al documento que resuelve problemas los mensajes de error relacionados al reenvío expresos de Cisco.

Conclusión

Este gráfico ilustra el ahorro de memoria mediante la implementación de la lista de filtros:

  Número de prefijos Memoria consumida
Ninguna filtración 98,410 70,882,248
Filtro del sistema autónomo 31,667 28,132,528

Cuando el router BGP recibe la tabla de ruteo BGP completa de sus vecinos (98,410 rutas), el router consume aproximadamente 71 MB. Con la aplicación de los filtros AS_PATH a actualizaciones entrantes, el tamaño de la tabla de ruteo BGP se reduce a 31,667 rutas, y el consumo de memoria es de aproximadamente 28 MB. Esta disminución de utilización de la memoria es de más del 60 por ciento con un ruteo óptimo.

Si usted revisa COMO gráfico de Internetleavingcisco.com compilado por la Asociación cooperativa para la análisis de datos de Internet (CAIDA), usted puede ver qué ISP tienen el grado más alto de interconectividad (ésos más cercanos al centro de la carta). Con menos interconectividad, un número inferior de rutas pasa a través del filtro AS_PATH y el consumo de memoria BGP es también menor. Sin embargo, es importante observar que siempre que se fijen los filtros AS_PATH, usted necesita configurar una ruta predeterminado (0/0). Las rutas que no pasan la lista de filtros AS_PATH siguen la ruta predeterminada.


Información Relacionada


Document ID: 12512