Consideraciones de escalabilidad, solución de problemas y supervisión
En este capítulo se describen varios aspectos relacionados con la supervisión de la escala de servidor de enrutamiento, Junos componentes BGP y sesiones de BGP específicas del cliente. La supervisión de un servidor de enrutamiento no es como normal BGP la administración de sesiones, que se explica con tanta frecuencia en otras publicaciones suponemos que el lector es el que está bien.
Al contrario de lo que ocurre con los altavoces normales BGP, los servidores de enrutamiento Junos tienen un par de consideraciones especiales
Tamaño de base de datos de configuración
uso de la memoria RPD para copias de ruta entre instancias de enrutamiento
Supervisar el tamaño de la base de datos de configuración
Para admitir configuraciones grandes, como por ejemplo, un millar de clientes de servidor de ruta de más de 2 millones líneas de salida, es necesario extender el tamaño predeterminado de la base de datos de configuración y habilitar la compresión. La siguiente Stanza de configuración habilita el tamaño de la base de datos de configuración extendida, pero requiere reiniciar el Junos:
Base de datos de configuración Junos inicial
El Junos base de datos de configuración puede supervisarse con el show system configuration database usage
y, a continuación, muestra el tamaño con una configuración básica:
Ahora,’deje que se muestren 1.000 clientes de servidor de enrutamiento, cada uno de ellos con su propia instancia de enrutamiento, Directiva de importación, política de exportación de instancias y Directiva de importación de instancias:
Puede ver el uso significativo de la base de datos.
Tamaño de tabla de enrutamiento de supervisión
El siguiente resultado de ejemplo muestra estadísticas de resumen sobre las entradas de la tabla de enrutamiento (show route summary
Command) y el análisis de uso de memoria (show task
memory detail
comando) para el RPD. Los dos comandos proporcionan una imagen completa del uso de la memoria del proceso del Protocolo de enrutamiento.
El servicio show route summary
muestra el número de rutas en las distintas tablas de enrutamiento para cada cliente de servidor de rutas. Dentro de cada tabla de enrutamiento, todos los destinos y rutas activas, HOLDDOWN y ocultas están resumidos. Las rutas se encuentran en el holddown
estado previo a ser declarado inactivo, y las rutas ocultas no se utilizan debido a la Directiva de enrutamiento. Tenga en cuenta que las rutas en el holddown
y hidden
los Estados siguen utilizando la memoria porque aparecen en la tabla de enrutamiento:
Supervisión de la utilización de memoria RPD
El servicio show task memory detail
comando enumera las estructuras de datos incluidas en las tareas ejecutadas por RPD. Las tareas se habilitan en función de’la configuración del enrutador. El servicio Alloc
Bytes
Field indica la mayor cantidad de memoria que utiliza la estructura de datos. Los bloques y bytes máximos asignados son marcas de agua más altas para una estructura de datos. El ejemplo siguiente parece ser resultado de un servidor de ruta muy correcto a medida que se está asignando muy poca memoria:
------------------------------------------------------------------------- ------------------------ Allocator Memory Report ------------------------- Name Size Alloc DTXP Alloc Alloc MaxAlloc MaxAlloc bgp-th-wrstage-iov 10240 12288 5 61440 7 86016 rt_table_name_node 20 24 11 264 12 288 bgpconf 1776 1792 12 21504 17 30464 bgp_uio_trace_conf 20 24 36 864 36 864 bgp_uio_group_info 820 896 4 3584 4 3584 bgp_uio_peer_info 168 192 7 1344 7 1344 bgp_orf_mark_t 24 28 7 196 7 196 bgp_riblist_entry_t 12 16 12 192 12 192 bgp_rg_list_obj 8 12 1 12 1 12 bgp_msgbld 76 80 11 880 11 880 bgp_io_oper 228 256 7 1792 7 1792 bgp_nlri_sync_t 372 384 7 2688 7 2688 bgp-rib-to-group 12 16 4 64 4 64 bgp_mrto_hash 4096 8192 2 16384 4 32768 bgp-rib-grp 1896 2048 2 4096 4 8192 bgp-rib-globals 28 32 7 224 7 224 bgp-rib-peer-group 496 512 2 1024 4 2048 bgp-rib-peer-counter 116 128 7 896 7 896 bgp-rib-peer 484 512 7 3584 7 3584 bgp-rib 136 140 7 980 7 980 bgp ifachg notify 12 16 3 48 3 48 bgp ifachg reg 32 36 3 108 3 108 bgp_act_node 700 768 7 5376 7 5376 bgp_adv_entry 24 28 6 168 136 3808 bgp_checksum_stats_t 12 16 7 112 7 112 bgp_tsi_t 16 20 6 120 136 2720 bgp_addpath_params_t 12 16 7 112 7 112 bgpb_sbits_01 20 24 4 96 10 240 bgp_metrics_node 84 96 13 1248 19 1824 bgpg_rtinfo_entry 16 20 6 120 65 1300 bgp_peeras_t 16 20 1 20 3 60 bgp_rtentry 24 28 43 1204 105 2940 bgp_bmp_common_peer_ 4 8 16 128 22 176 bgpPeerGroup 19088 20480 4 81920 4 81920 bgpPeer 9288 12288 7 86016 7 86016 bgp_buffer 4100 8192 5 40960 7 57344 bgp_cluster_t 16 20 1 20 1 20 bgp_instance_t 88 96 5 480 6 576 bgp_evpn_metrics 48 52 18 936 34 1768 -------------------------------------------------------------------------
-------------------------- Malloc Usage Report --------------------------- Name Allocs Bytes MaxAllocs MaxBytes FuncCalls BGP_3 3 448 3 448 3 BGP_Group_C3 4 816 4 816 4 BGP_2 3 448 3 448 3 BGP_Group_C2 4 816 4 816 4 BGP_1 3 448 3 448 3 BGP_Group_C1 4 816 4 816 4 BGP_100_100 3 448 3 448 3 BGP_100_100 3 448 3 448 3 BGP_100_100 3 448 3 448 3 BGP_100_100 3 448 3 448 3 BGP_Group_evpn 4 816 5 828 94 BGP_RT_Background 29 278000 32 278136 303 bgp-thrio 1 8192 1 8192 1 bgp-thrio-ctx 41 19552 60 27420 575053 BGP addpath task 2 3584 2 3584 2 -------------------------------------------------------------------------
Supervisión de sesiones de EBGP cliente
Las sesiones individuales de EBGP del cliente de servidor de enrutamiento se pueden ver como una lista resumida o, en concreto, mediante show bgp
summary
en la topología de ejemplo:
root@rs1> show bgp summary Threading mode: BGP I/O Groups: 4 Peers: 7 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending bgp.evpn.0 12 12 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/ Received/Accepted/Damped... 192.0.2.1 1 6195 6093 0 1 1d 22:26:37 Establ C1.inet.0: 31/31/31/0 192.0.2.2 2 332 325 0 7 2:27:38 Establ C2.inet.0: 31/31/31/0 192.0.2.3 3 53788 52946 0 0 2w2d 19:23:41 Establ C3.inet.0: 31/31/31/0
root@rs1> show bgp neighbor 192.0.2.1 Peer: 192.0.2.1+56947 AS 1 Local: 192.0.2.254+179 AS 123 Group: C1 Routing-Instance: C1 Forwarding routing-instance: master Type: External State: Established Flags: <Sync> Last State: OpenConfirm Last Event: RecvKeepAlive Last Error: Hold Timer Expired Error Options: <Preference AddressFamily PeerAS Refresh> Options: <MtuDiscovery> Options: <RouteServerClient> Address families configured: inet-unicast Holdtime: 90 Preference: 170 Number of flaps: 1 Last flap event: HoldTime Error: ‘Hold Timer Expired Error’ Sent: 1 Recv: 0 Peer ID: 192.0.2.1 Local ID: 192.0.2.254 Active Holdtime: 90 [...Output truncated...]`
Supervisar la distribución de rutas
El siguiente comando SHOW muestra el número total de rutas presentes en el cliente de’servidor de enrutamiento RIB de C3, junto con las costillas en las que se importan:
root@rs1> show route export C3.inet.0 detail C3.inet.0 Routes: 31 Import: [ C1.inet.0 C2.inet.0 C3.inet.0 ]
Para ver rutas específicas en C3’que se exportarán a C1, basándose en la Directiva IXP global, vea el nervio de origen y filtre utilizando la comunidad de destino:
root@rs1> show route protocol bgp community 64498:1 table C3.inet.0 C3.inet.0: 31 destinations, 31 routes (31 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 198.51.100.0/24 *[BGP/170] 2w0d 20:13:27, localpref 100 AS path: 3 I, validation-state: unverified > to 192.0.2.3 via ge-0/0/1.0 203.0.113.0/24 *[BGP/170] 2w0d 20:13:27, localpref 100 AS path: 3 I, validation-state: unverified > to 192.0.2.3 via ge-0/0/1.0 [...Output truncated...]
Una vista ligeramente diferente, o más bien una validación del comando anterior, es mirar el contenido de las costillas de todas las costillas del cliente desde la perspectiva de qué rutas se han recibido de un cliente de servidor de enrutamiento específico. En el siguiente ejemplo, 192.0.2.3 es el par BGP asociado con la instancia de ruta C3:
root@rs1> show route receive-protocol bgp 192.0.2.3 | except inet.0 inet.3: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden) C1.inet.0: 31 destinations, 31 routes (31 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 198.51.100.0/24 192.0.2.3 3 I * 203.0.113.0/24 192.0.2.3 3 I [...Output truncated...] C3.inet.0: 31 destinations, 31 routes (31 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 198.51.100.0/24 192.0.2.3 3 I * 203.0.113.0/24 192.0.2.3 3 I [...Output truncated...]
Los prefijos específicos también se pueden buscar para la ayuda de solución de problemas:
regress@RS1> show route receive-protocol bgp 192.0.2.3 198.51.100.0 |except inet.0 C1.inet.0: 31 destinations, 31 routes (31 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 198.51.100.0/24 192.0.2.3 3 I C1.inet.0: 31 destinations, 31 routes (31 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 198.51.100.0/24 192.0.2.3 3 I
Las rutas también se pueden buscar por valor de la comunidad o por nombre. La búsqueda da como resultado la recuperación de todos’ los clientes con una coincidencia, por lo que se puede hacer un seguimiento de la propagación de ruta entre las costillas del cliente:
regress@RS1> show route protocol bgp community-name as64498_comms 198.51.100.0 inet.0: 41 destinations, 41 routes (40 active, 0 holddown, 1 hidden) C1.inet.0: 93 destinations, 93 routes (93 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 198.51.100.0/24 *[BGP/170] 2w2d 19:32:26, localpref 100 AS path: 3 I, validation-state: unverified > to 192.0.2.3 via ge-0/0/1.0 C3.inet.0: 62 destinations, 62 routes (62 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 198.51.100.0/24 *[BGP/170] 2w2d 19:32:26, localpref 100 AS path: 3 I, validation-state: unverified > to 192.0.2.3 via ge-0/0/1.0
Herramientas de supervisión: HealthBot
HealthBot es una herramienta de análisis de redes y diagnósticos de nivel de dispositivo altamente automatizada y programable que proporciona inteligencia operativa coherente y coherente en todas las implementaciones de la red. Integrado con varios métodos de recopilación de datos (como Junos interfaz de telemetría, NETCONF y SNMP), HealthBot agrega y correlaciona grandes volúmenes de datos de telemetría sensibles al tiempo, lo que proporciona una vista multidimensional y predictiva de la red. Además, HealthBot traduce la solución de problemas, el mantenimiento y los análisis en tiempo real a una experiencia de usuario intuitiva que permite a los operadores de red obtener información sobre la salud de un dispositivo individual y la red global.
HealthBot BGP KPI, que se encuentran en https://github.com/Juniper/healthbot-rules/Tree/Master/juniper_official/Protocols/BGP, contienen guías y reglas de HealthBot de uso fácil de utilizar, que son específicas de BGP indicadores clave de rendimiento (KPI).

BGP reglas de KPI recopilan las estadísticas de los dispositivos de red y luego analiza los datos y actúa. Una BGP guía de KPI es un conjunto de reglas, cada regla se define con un conjunto de KPI. Las guías contienen BGP estado de sesión, la detección de las oscilaciones de vecinos, las rutas recibidas con umbral estático y las rutas recibidas con reglas de umbral dinámico.
Las reglas se definen con valores de variables predeterminados que pueden cambiarse al desplegar guías.
HealthBot de los KPI de COSTILLAs, situadas en https://github.com/Juniper/healthbot-rules/Tree/Master/juniper_official/Protocols/rib, contienen guías y reglas de HealthBot que son de fácil uso y que son específicas de los KPI de Resumen de ruta de nervio. Reglas de KPI de Resumen de ruta de nervio recopilan las estadísticas de los dispositivos de red y analizan los datos y actúan de manera adecuada. La guía de KPI Resumen de ruta de nervio es un conjunto de reglas, cada regla se define con un conjunto de KPI. Las guías contienen resúmenes de tablas de ruta para determinar rutas y reglas de Resumen de rutas de protocolo con umbrales dinámicos. Las reglas se definen con valores de variables predeterminados que se pueden cambiar mientras se implementa la guía.
HealthBot de los KPI de sistemas, que se encuentra en https://github.com/Juniper/healthbot-rules/Tree/Master/juniper_official/System, contiene guías y reglas de HealthBot que son de fácil uso y que son específicas de los KPI de sistema. Las reglas de KPI del sistema recopilan las estadísticas de los dispositivos de red, luego analizan los datos y actúan. La guía de KPI del sistema es un conjunto de reglas, donde cada regla se define con un conjunto de KPI. Las guías contienen la CPU del motor de enrutamiento, la memoria del motor de enrutamiento Junos procesa la CPU, la detección de pérdida de memoria y las reglas de almacenamiento del sistema.
Las reglas se definen con valores de variables predeterminados, que se pueden cambiar mientras se implementa la guía.