Distribución de flujo y orden de paquetes
En este tema se describe la distribución de la carga y el orden de los paquetes en dispositivos SRX5000 Line.
Descripción de la distribución de carga en dispositivos de línea SRX5000
El algoritmo de distribución de carga, compatible con los dispositivos SRX5800, SRX5600 y SRX5400, se ajusta en función de la capacidad de sesión y la potencia de procesamiento. (La compatibilidad real de la plataforma depende de la versión de Junos OS en su instalación).
La distribución de sesiones basada en hash utiliza una tabla hash. La tabla de peso de sesión de SPU se utiliza para asignar un ID de SPU a cada índice hash en la tabla hash de distribución de sesión. De esta manera, el número de sesiones creadas en cada SPU mediante la distribución basada en hash es proporcional al peso de la SPU en la tabla de peso de sesión de SPU. Cada NPU también mantiene una tabla de peso de sesión de SPU idéntica y una tabla hash de distribución de sesión que utiliza para seleccionar una SPU para reenviar paquetes que no coinciden con una sesión de NPU.
En caso de que se produzca un error en la SPU, el motor de enrutamiento restablecerá todas las tarjetas del plano de datos, incluidas las IOC y las NPC, a fin de mantener la coherencia de la tabla hash para la distribución de sesiones.
En la distribución de sesiones basada en hash, las ponderaciones se basan en la capacidad de la sesión. Recomendamos el modo de distribución de sesiones hash cuando se requiere una alta capacidad de sesión.
La distribución de carga en los dispositivos de la línea SRX5000 siempre se basa en hash.
La inserción y eliminación de SPC provoca un nuevo cálculo de la tabla de peso de la sesión de SPU en el momento de inicialización del punto central, ya que el chasis debe reiniciarse después de la inserción.
Las mejoras en la arquitectura del punto central impiden que los paquetes de datos pasen por el punto central mediante la descarga de la administración de tráfico a las SPU. La capacidad de sesión del sistema se amplía a medida que se elimina el límite de sesiones en el punto central.
- Calcular el ID de SPU
- Reenvío basado en hash en SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) y SRX5K-MPC3-100G10G (IOC3)
Calcular el ID de SPU
El ID de SPU para un dispositivo equipado con SRX3K-SPC-1-10-40, SRX5K-SPC-2-10-40 o SRX5K-SPC3 Services Processing Card (SPC) se calcula de la siguiente manera:
SPU ID = (FPC ID X 4) + PIC ID
Las SRX5K-SPC-2-10-40 y SRX5K-SPC3 contienen dos PIC por tarjeta, cuatro PIC por tarjeta (FPC) y dos PIC por tarjeta, respectivamente. Por ejemplo, si un dispositivo contiene 2 tarjetas en la ranura 1 (FPC ID 0) y la ranura 2 (FPC ID 1), los ID de SPU esperados son los siguientes:
Para SPC1: (0, 1) y (4, 5), total de 4 SPU en 2 tarjetas.
Para SPC2: (0, 1, 2, 3) y (4, 5, 6, 7), un total de 8 SPU en 2 tarjetas.
Para SPC3: (0, 1) y (4, 5), total 4 SPU en 2 tarjetas.
Para FPC1 (la segunda tarjeta) y PIC1 (la segunda PIC de la tarjeta), el ID de SPU se calcula como:
SPU ID = (FPC ID X 4) + PIC ID
= (1 X 4) + 1
= 4 + 1
= 5
Utilice esta convención al hacer referencia al ID de SPU para CLI y SNMP.
Reenvío basado en hash en SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) y SRX5K-MPC3-100G10G (IOC3)
En estos firewalls de la serie SRX, un paquete pasa por una serie de eventos que implican diferentes componentes a medida que avanza desde el procesamiento de entrada hasta el de salida. Con la función de reenvío de paquetes de ruta de datos, puede obtener una entrega rápida del tráfico de E/S a través de la línea de dispositivos SRX 5000.
Las SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) y SRX5K-MPC3-100G10G (IOC3) son tarjetas de interfaz compatibles con los dispositivos SRX5400, SRX5600 y SRX5800. El concentrador de puerto modular (MPC) proporciona servicios de equilibrio de carga para las unidades de procesamiento de servicios (SPU) mediante el método de reenvío basado en hash.
En el reenvío basado en hash, la MPC puede reenviar el paquete a una SPU seleccionada (DCP) en lugar del punto central. Este enfoque mejora el escalado de la sesión y evita la sobrecarga del punto central.
El cálculo del valor hash implica los siguientes pasos:
En el caso de los paquetes IPv4, el módulo de reenvío basado en hash genera el valor hash en función de la información de las capas 3 y 4, según los distintos tipos de protocolo de capa 4.
Para los protocolos de protocolo de control de transmisión de flujo (SCTP), TCP, UDP, encabezado de autenticación (AH), proveedor de servicios de borde (ESP) y protocolo de mensajes de control de Internet (ICMP), el módulo hash utiliza información de capa 4 para generar el valor hash. Para cualquier otro protocolo, solo se utiliza la información de la capa 3 en la generación de hash.
En el caso de los paquetes de fragmentos IPv4, el valor hash se calcula utilizando únicamente la información de la capa 3. Esto también se aplica al primer fragmento del paquete.
En el caso de los paquetes que no son IP, el módulo de reenvío basado en hash utiliza la información de capa 2 para calcular el valor hash.
Una vez que se calcula un valor hash de acuerdo con la información de capa 2, capa 3 o capa 4 del paquete, se asigna un ID de SPU a cada índice hash en la tabla hash de distribución de sesiones.
Las SRX5K-MPC (IOC2), SRX5K-MPC3-40G10G (IOC3) y SRX5K-MPC3-100G10G (IOC3) solo se pueden usar en dispositivos SRX5400, SRX5600 y SRX5800 configurados para la distribución de sesiones basada en hash.
Cuando se habilita el modo de distribución de sesiones basado en hash, el sistema cambia su comportamiento al modo basado en alta capacidad de sesión cuando SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) y SRX5K-MPC3-100G10G (IOC3) están instalados en el dispositivo.
En dispositivos de la línea SRX5000 con una SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) o SRX5K-MPC3-100G10G (IOC3) instalada, durante un reinicio del sistema o de una SPU, cuando el modo de distribución de sesiones basado en hash está habilitado, el tráfico solo pasará cuando todas las SPU estén activas después del reinicio.
Las MPC en la IOC3 proporcionan servicios de equilibrio de carga para SPU mediante la realización de un reenvío de paquetes de ruta de datos basado en hash para interconectarse con todas las IOC y SPC existentes.
La IOC3 procesa los paquetes de entrada y salida. La IOC3 analiza el paquete de entrada y lo envía a la SPU para su posterior procesamiento de seguridad, como la búsqueda de sesión de flujo, la comprobación de zonas y políticas, VPN, ALG, etc.
La IOC3 administra la memoria de datos de los paquetes y las colas de estructura para las funciones de búsqueda y encapsulación de paquetes.
La IOC3 configura una tabla de flujo de seguridad (IPv4 e IPv6) que incluye la clave, la tabla de resultados y la memoria de paquetes.
La tabla de flujo proporciona las siguientes funciones:
Búsqueda de flujo
Inserción y eliminación de flujo
El flujo de seguridad se agota
Estadísticas de flujo de seguridad
Descripción de la función de orden de paquetes en dispositivos de línea SRX5000
La función de orden de paquetes, compatible con los dispositivos SRX5400, SRX5600 y SRX5800, y el firewall virtual vSRX, mejora el rendimiento del dispositivo mediante la activación de la función de orden de paquetes integrada del motor de orden de paquetes en el procesador XLP en el punto central de la aplicación.
Se admiten dos tipos de modos de orden de paquetes: hardware y software.
Si la función de orden de paquetes se establece en hardware, el subproceso de equilibrio de carga (LBT) y el subproceso de orden de paquetes (POT) se descargan en el motor de pedido de paquetes y se liberan recursos para llevar a cabo el procesamiento de paquetes. Si la función de orden de paquetes se establece en software, el subproceso de equilibrio de carga (LBT) y el subproceso de pedido de paquetes (POT) se ejecutan en la SPU. De forma predeterminada, el modo de orden de paquetes con el motor de pedido de paquetes (hardware) está habilitado en el dispositivo. Puede deshabilitarlo con un cambio de configuración que requiera un reinicio.
El subproceso de flujo recibe los paquetes, los procesa y los envía o descarta. En el caso de los paquetes que no requieren orden, el subproceso de flujo notifica a la salida del motor de aceleración de red (NAE) que envíe o descarte los paquetes. En el caso de los paquetes que requieren ordenación, la hebra de flujo notifica al motor de ordenación de paquetes que quite de la cola los paquetes de la lista de pedidos y que envíe o descarte los paquetes en orden.
Cambiar el modo de orden de paquetes en dispositivos de línea SRX5000
La funcionalidad de orden de paquetes mediante el motor de orden de paquetes se admite en dispositivos SRX5400, SRX5800 y SRX5600 con SPC de última generación. (La compatibilidad de plataforma depende de la versión de Junos OS en su instalación). De forma predeterminada, el modo de orden de paquetes mediante el motor de pedido de paquetes está habilitado. Para deshabilitar la funcionalidad de orden de paquetes mediante el motor de pedido de paquetes, debe actualizar el modo de orden de paquetes en el dispositivo.
Se admiten los siguientes modos de orden de paquetes:
software: deshabilita el modo de pedido de paquetes mediante el motor de pedido de paquetes.
hardware: habilita el modo de orden de paquetes mediante el motor de pedido de paquetes. Esta es la opción predeterminada.
Para deshabilitar el modo de orden de paquetes mediante el motor de pedido de paquetes:
Escriba el comando siguiente en el símbolo del sistema de configuración de la CLI para especificar el modo de orden de paquetes.
[edit] user@host# set security forwarding-process application-services packet-ordering-mode software
Utilice el comando para revisar su
show security forwarding-processconfiguración.[edit] user@host# show security forwarding-process application-services{ packet-ordering-mode software; }Compruebe los cambios en la configuración antes de confirmar.
[edit] user@host# commit check
warning: System packet ordering mode changed, reboot is required to take effect. If you have deployed a cluster, be sure to reboot all nodes. configuration check succeeds
Confirmar la configuración.
[edit] user@host# commit
warning: System packet ordering mode changed, reboot is required to take effect. If you have deployed a cluster, be sure to reboot all nodes. commit complete
Reinicie el dispositivo en el momento adecuado.
Utilice el
show security flow statuscomando para comprobar el modo de orden de paquetes.user@host> show security flow statusFlow forwarding mode: Inet forwarding mode: flow based Inet6 forwarding mode: drop MPLS forwarding mode: drop ISO forwarding mode: drop Flow trace status Flow tracing status: off Flow session distribution Distribution mode: RR-based Flow packet orderingOrdering mode: Software (reboot needed to change to Software)
Descripción de la distribución de sesiones en dispositivos de línea SRX5000 en modo adaptativo
A partir de Junos OS versión 15.1X49-D30 y Junos OS versión 17.3R1, la distribución de sesiones en modo adaptable se reemplazó por mejoras en la arquitectura del punto central.
La distribución de sesiones en modo adaptativo se implementó en los dispositivos de la línea SRX5000 que se ejecutan en modo mixto antes de Junos OS versión 15.1X49-D30 y Junos OS versión 17.1R1. La distribución de sesiones en modo adaptativo maximiza el uso de los recursos del sistema al tener en cuenta la capacidad de una unidad de procesamiento de servicios (SPU) y sus recursos disponibles. Está habilitado solo en dispositivos de la línea SRX5000 que se ejecutan en modo mixto XLR/XLP, es decir, en implementaciones de chasis en las que se utilizan diferentes tipos de SPU en diferentes combinaciones. Si un dispositivo SRX5800, SRX5600 o SRX5400 contiene una combinación de tarjetas de procesamiento de servicios (SPC) de última generación y SPC existentes, se asume la distribución de sesiones en modo adaptable como predeterminada. Para los dispositivos de la línea SRX5000 que no se ejecutan en modo mixto, el equilibrio de carga basado en hash es el valor predeterminado.
Una tarjeta de procesamiento de servicios (SPC) contiene una o más SPU, cada una de las cuales procesa los paquetes de un flujo de acuerdo con las características de seguridad y otros servicios configurados para las sesiones que le distribuye el punto central (CP). La carga de la CPU de una SPU cambia de vez en cuando. Para aprovechar al máximo los cambios en la capacidad disponible y adaptar la distribución de sesiones en consecuencia, en el modo adaptativo el sistema asigna un peso a todas las SPU de forma dinámica. Es el peso de las SPU lo que determina la distribución de la sesión.
Cada SPU envía su información de uso de CPU al punto central (CP) periódicamente. El punto central comprueba estos valores, calcula el peso cada 1 segundo y distribuye las sesiones de forma que se maximice el rendimiento general del sistema. En otras palabras, en el modo adaptativo, la distribución de la sesión se basa en un sistema de asignación ponderada dinámica que se calcula en tiempo real, lo que permite la utilización completa de la capacidad de las CPU de todas las SPU, independientemente de su tipo.
Es el cálculo dinámico de pesos lo que distingue la distribución de sesiones en modo adaptativo de la distribución de sesiones ponderada en turnos rotativos (WRR). Mientras que WRR diferencia las SPU y su capacidad de CPU calculando y asignando pesos a los diferentes tipos de SPU, el cálculo y la asignación son estáticos, es decir, se realiza solo una vez, en la inicialización. El modo adaptativo mejora el proceso de distribución de sesiones de relación fija de WRR. El WRR conduce a una subutilización de los recursos del sistema porque los límites de procesamiento de la sesión se establecen únicamente en función del tipo de SPU y su capacidad de CPU, sin tener en cuenta su potencia de procesamiento disponible.
Para la distribución de sesiones en modo adaptable, se utiliza la siguiente fórmula para calcular el peso asignado a una SPU:
Wi = Suma(W1-n)*Ci*Si/Suma(C1-n*S1-n)
Donde:
Wi— peso asignado a la SPU.Sum(W1-n)— Peso total del sistema. Este valor es constante.n: número total de SPU.Ci—potencia de cálculo de la CPU disponible de la SPU.Si—Capacidad de sesión disponible de SPU.
En el modo adaptativo, cuando el uso de CPU en una SPU es alto, se distribuyen menos sesiones a esa SPU. En los ejemplos siguientes se explica el cálculo.
Considere un dispositivo con dos SPU. La capacidad de sesión de cada SPU es de 1 millón.
Durante un tiempo determinado:
Cuando SPU1 tiene 500 000 sesiones, el uso de CPU es del 10 por ciento:
Capacidad de CPU disponible de SPU1 (C1) = 1-10 por ciento = 90 (por ciento).
Capacidad de sesión disponible de SPU1 (S1) = 1-500 000/1 M = 50 (porcentaje).
Cuando SPU2 tiene 400 000 sesiones, el uso de la CPU es del 20 por ciento:
Capacidad disponible de SPU2 (C2) = 1-20 por ciento = 80 (por ciento).
Capacidad de sesión disponible de SPU2 (S2)= 1-400 000/1 M= 60 (porcentaje).
Si el peso de todo el sistema es 100, los valores de peso separados para cada SPU son:
Peso de SPU1 (W1) = 100*90*50/(50*90+80*60) = 48
Peso de SPU2 (W2) = 100 * 80 * 60 / (50 * 90 + 80 * 60) = 52
Para las sesiones entrantes, el 48 por ciento de las sesiones se asignan a SPU1, mientras que el 52 por ciento de los paquetes se asignan a SPU2.
Los números ponderados pueden surtir efecto en el sistema en un breve período antes de que el punto central compruebe la información de uso en tiempo de ejecución y ajuste las ponderaciones a un nuevo valor.
Tabla de historial de cambios
La compatibilidad de la función depende de la plataforma y la versión que utilice. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.