Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Convenciones

Antecedentes

El router BGP recibe una tabla de ruteo BGP completa

Router BGP configurado con lista de filtros AS_PATH

Solución de problemas relacionados con la memoria

Conclusión

Información Relacionada

Introducción

Este documento describe cómo lograr el óptimo con los requisitos mínimos de memoria para los routers BGP (Border Gateway Protocol, protocolo de gateway fronterizo).

Prerequisites

Requirements

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.

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. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Convenciones

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

Antecedentes

Este documento ilustra cómo lograr un routing óptimo en una red empresarial conectada a varios proveedores de servicios de Internet (ISP), mientras que se reducen los requisitos de memoria de los routers BGP (protocolo de gateway fronterizo). Puede utilizar los filtros AS_PATH que aceptan solamente las rutas originadas desde un ISP y sus sistemas autónomos conectados directamente y no reciben la tabla de ruteo BGP completa desde un ISP.

Esta sección provee un diagrama de red como ejemplo. En el ejemplo, se filtran las actualizaciones de BGP entrantes en el Router 1 y el Router 2 para aceptar las rutas del ISP y las rutas del sistema autónomo conectado directamente. El router 1 acepta rutas para ISP-A y su sistema autónomo C1 conectado directamente. Del mismo modo, el Router 2 acepta rutas para ISP-B y C2. El resto de las redes, que no pertenecen a los ISP y a su sistema autónomo cliente, siguen la ruta predeterminada que apunta a ISP-A o ISP-B, según la política de ruteo empresarial.

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: El número real de prefijos que forman una fuente completa puede variar. Los valores de este documento sirven sólo como ejemplo. Los servidores de ruta pueden proporcionar un buen panorama de cuántos prefijos forman una tabla BGP completa.

Nota: Todas las herramientas y los sitios web internos están destinados únicamente a clientes registrados de Cisco.

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

sin sincronización

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

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

!

ip as-path access-list 80 permit ^$

!

Finalizar

El resultado del comando show ip bgp summary muestra que se han recibido 98.410 prefijos desde 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

El resultado 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 utiliza aproximadamente 71 MB de memoria.

Router BGP configurado con lista de filtros AS_PATH

En este ejemplo, se aplica la lista de filtros entrantes para aceptar las rutas originadas por ISP-A y sus sistemas autónomos conectados directamente. En el ejemplo, ISP-A anuncia una ruta predeterminada (0.0.0.0) a través de BGP externo (eBGP), de modo que las rutas que no pasan la lista de filtros sigan la ruta predeterminada hacia ISP-A. Esta es la configuración para la lista de filtros:

Router 1

hostname R1

!

router bgp XX

sin sincronización

.

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 línea filtra las actualizaciones BGP entrantes.

!

ip as-path access-list 80 permit ^$

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

!— La lista de filtros AS_PATH filtra el ISP y el !— rutas del sistema autónomo conectadas directamente.

!

Finalizar

Esta salida del comando show ip bgp summarycommand 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 verificar la memoria utilizada por el proceso BGP, utilice estoshow procesa la memoria | incluir bgpcommand. A continuación se enumeran los problemas más comunes relacionados con el uso excesivo de la memoria:

- Error de asignación de memoria "%SYS-2-MALLOCFAIL".

- Sesiones Telnet denegadas.

- No hay salida de algunos comandos show.

- "Mensajes de error “Memoria insuficiente”.

- "Mensajes de la consola "Unable to create EXEC - no memory or too many processes" (No se puede crear EXEC - no hay memoria o demasiados procesos).

- Router colgado o falta de respuesta de la consola.

- Si ejecuta depuraciones relacionadas con BGP, generalmente causa un consumo excesivo de memoria, que también puede dar lugar a errores de memoria debido a BGP. Las depuraciones para BGP deben ejecutarse con precaución y deben evitarse si no son necesarias.

Para almacenar una tabla de ruteo BGP global completa desde un peer BGP, es mejor tener un mínimo de 512 MB o 1 GB de RAM en el router. Si se utilizan 256 MB de RAM, se recomienda utilizar más filtros de ruta. Si utiliza 512 MB de RAM, se pueden colocar más rutas de Internet en la tabla de ruteo con menos filtros de ruta. En el Catalyst 6500/6000 que recibe una tabla BGP completa, se recomienda tener una Tarjeta de Función de Switch Multicapa 2 (MSFC2) con 256 MB de RAM para evitar 'Id. de bug de Cisco CSCdt13244' .

El consumo de memoria por las rutas BGP depende del número de atributos, como el soporte de múltiples rutas, la reconfiguración de software, el número de peers y AS_PATH. Para obtener más detalles sobre el requisito de memoria BGP, consulte RFC 1774.

El switching Cisco Express Forwarding/Cisco Express Forwarding distribuido (CEF/dCEF) consume memoria, en función del tamaño de la tabla de routing. CEF tiene dos componentes principales:

- Base de información de reenvío (FIB)

- La tabla de adyacencia

Ambas tablas se almacenan en la memoria DRAM. Asegúrese de que el Procesador de interfaz versátil (VIP) o la tarjeta de línea también contengan suficiente DRAM libre. %FIB-3-FIBDISABLE: Fatal error, slot [#]: los mensajes de error no memory" y "%FIB-3-NOMEM" indican memoria insuficiente en las tarjetas.

Se recomienda verificar la memoria VIP o de la tarjeta de línea antes de activar dCEF. Complete estos pasos para confirmar la memoria:

1. Ejecute el comando ip cef en el modo de configuración global para configurar el CEF central.

Permitir tiempo para que se genere la tabla FIB.

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

2. Determine si el VIP o la tarjeta de línea tienen suficiente DRAM disponible para almacenar una tabla FIB de tamaño similar.

Ejecute el comando show controller vip [slot#] techy verifique el resultado de show memory summarycommand.

Cuando ejecuta las rutas BGP de Internet completas, es mejor tener al menos 512 MB o 1 GB de RAM en el VIP o la tarjeta de línea.

Conclusión

Este gráfico ilustra el ahorro de memoria al implementar la lista de filtros:

Número de prefijos

Memoria consumida

Sin filtrado

98,410

70,882,248

Filtro de 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 revisa el Gráfico de Internet AS compilado por la Asociación Cooperativa para el Análisis de Datos de Internet (CAIDA), puede ver qué ISP tienen el mayor grado de interconectividad (los más cercanos al centro del gráfico). 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 tener en cuenta que cada vez que se configuran los filtros AS_PATH, debe configurar una ruta predeterminada (0/0). Las rutas que no pasan la lista de filtros AS_PATH siguen la ruta predeterminada.

Información Relacionada

- Uso de expresiones comunes en BGP

- Distribución de la Carga con BGP en Entornos con una Sola Conexión y con Varias Conexiones: Configuraciones de Ejemplo

- Cómo Utilizar HSRP para Proporcionar Redundancia en una Red de BGP con Varias Conexiones

- Ejemplo de Configuración de BGP con Dos Proveedores de Servicio Diferentes (Multihoming)

- Página de Soporte de BGP

- Soporte Técnico - Cisco Systems